]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/net/if_utun.h
xnu-3789.51.2.tar.gz
[apple/xnu.git] / bsd / net / if_utun.h
index 32379a8824f870a8d5360e8024f19e2388108ed7..b75476582f0c41d079296fd20aafa1f45fa65377 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008-2011 Apple Inc. All rights reserved.
+ * Copyright (c) 2008-2016 Apple Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
@@ -30,8 +30,6 @@
 #ifndef        _NET_IF_UTUN_H_
 #define        _NET_IF_UTUN_H_
 
-#include <net/if_utun_crypto.h>
-
 #ifdef KERNEL_PRIVATE
 
 #include <sys/kern_control.h>
@@ -43,7 +41,11 @@ struct utun_pcb {
        u_int32_t               utun_unit;
        u_int32_t               utun_flags;
        int                             utun_ext_ifdata_stats;
-       utun_crypto_ctx_t utun_crypto_ctx[UTUN_CRYPTO_CTX_NUM_DIRS];
+       u_int32_t               utun_max_pending_packets;
+       int       utun_channel_enabled;
+       uuid_t          utun_channel_uuid;
+       void *          utun_channel_rxring;
+       u_int32_t       utun_channel_max_pktlen;
 };
 
 void* utun_alloc(size_t size);
@@ -64,30 +66,19 @@ errno_t utun_register_control(void);
 #define UTUN_OPT_IFNAME                                                        2
 #define UTUN_OPT_EXT_IFDATA_STATS                              3       /* get|set (type int) */
 #define UTUN_OPT_INC_IFDATA_STATS_IN                   4       /* set to increment stat counters (type struct utun_stats_param) */ 
-#define UTUN_OPT_INC_IFDATA_STATS_OUT                  5       /* set to increment stat counters (type struct utun_stats_param) */ 
-#define UTUN_OPT_ENABLE_CRYPTO                                 6
-#define UTUN_OPT_CONFIG_CRYPTO_KEYS                            7
-#define UTUN_OPT_UNCONFIG_CRYPTO_KEYS                  8
-#define UTUN_OPT_GENERATE_CRYPTO_KEYS_IDX              9
-#define UTUN_OPT_DISABLE_CRYPTO                                        10
-#define UTUN_OPT_STOP_CRYPTO_DATA_TRAFFIC              11
-#define UTUN_OPT_START_CRYPTO_DATA_TRAFFIC             12
+#define UTUN_OPT_INC_IFDATA_STATS_OUT                  5       /* set to increment stat counters (type struct utun_stats_param) */
 
+#define UTUN_OPT_SET_DELEGATE_INTERFACE                        15      /* set the delegate interface (char[]) */
+#define UTUN_OPT_MAX_PENDING_PACKETS                   16      /* the number of packets that can be waiting to be read
+                                                                                                                       from the control socket at a time */
+#define UTUN_OPT_ENABLE_CHANNEL                                17
+#define UTUN_OPT_GET_CHANNEL_UUID                      18
 /*
  * Flags for by UTUN_OPT_FLAGS 
  */
 #define        UTUN_FLAGS_NO_OUTPUT            0x0001
 #define UTUN_FLAGS_NO_INPUT                    0x0002
-#define UTUN_FLAGS_CRYPTO                      0x0004
-#define UTUN_FLAGS_CRYPTO_STOP_DATA_TRAFFIC    0x0008
-
-/*
- * utun packet type flags
- */
-#define UTUN_PKT_TYPE_KEEPALIVE                                        0x0001
-#define UTUN_PKT_TYPE_IPSEC                                            0x0002
-#define UTUN_PKT_TYPE_DTLS                                             0x0004
-
+#define UTUN_FLAGS_ENABLE_PROC_UUID    0x0004
 
 /*
  * utun stats parameter structure