Go to the documentation of this file.00001 #ifndef _IFDEF_
00002 #define _IFDEF_
00003
00004 #define IF_MAX_STRING_SIZE 256
00005 #define IF_MAX_PHYS_ADDRESS_LENGTH 32
00006
00007 typedef union _NET_LUID_LH
00008 {
00009 ULONG64 Value;
00010 struct
00011 {
00012 ULONG64 Reserved:24;
00013 ULONG64 NetLuidIndex:24;
00014 ULONG64 IfType:16;
00015 }Info;
00016 } NET_LUID_LH, *PNET_LUID_LH;
00017
00018 typedef NET_LUID_LH NET_LUID;
00019 typedef NET_LUID* PNET_LUID;
00020
00021 typedef ULONG NET_IFINDEX, *PNET_IFINDEX;
00022 typedef ULONG IFTYPE;
00023 typedef GUID NET_IF_NETWORK_GUID, *PNET_IF_NETWORK_GUID;
00024
00025 typedef enum {
00026 TUNNEL_TYPE_NONE = 0,
00027 TUNNEL_TYPE_OTHER = 1,
00028 TUNNEL_TYPE_DIRECT = 2,
00029 TUNNEL_TYPE_6TO4 = 11,
00030 TUNNEL_TYPE_ISATAP = 13,
00031 TUNNEL_TYPE_TEREDO = 14,
00032 } TUNNEL_TYPE, *PTUNNEL_TYPE;
00033
00034 typedef enum _NET_IF_ACCESS_TYPE
00035 {
00036 NET_IF_ACCESS_LOOPBACK = 1,
00037 NET_IF_ACCESS_BROADCAST = 2,
00038 NET_IF_ACCESS_POINT_TO_POINT = 3,
00039 NET_IF_ACCESS_POINT_TO_MULTI_POINT = 4,
00040 NET_IF_ACCESS_MAXIMUM = 5
00041 } NET_IF_ACCESS_TYPE, *PNET_IF_ACCESS_TYPE;
00042
00043 typedef enum _NET_IF_DIRECTION_TYPE
00044 {
00045 NET_IF_DIRECTION_SENDRECEIVE,
00046 NET_IF_DIRECTION_SENDONLY,
00047 NET_IF_DIRECTION_RECEIVEONLY,
00048 NET_IF_DIRECTION_MAXIMUM
00049 } NET_IF_DIRECTION_TYPE, *PNET_IF_DIRECTION_TYPE;
00050
00051 typedef enum _NET_IF_ADMIN_STATUS
00052 {
00053 NET_IF_ADMIN_STATUS_UP = 1,
00054 NET_IF_ADMIN_STATUS_DOWN = 2,
00055 NET_IF_ADMIN_STATUS_TESTING = 3
00056 } NET_IF_ADMIN_STATUS, *PNET_IF_ADMIN_STATUS;
00057
00058 typedef enum _NET_IF_MEDIA_CONNECT_STATE
00059 {
00060 MediaConnectStateUnknown,
00061 MediaConnectStateConnected,
00062 MediaConnectStateDisconnected
00063 } NET_IF_MEDIA_CONNECT_STATE, *PNET_IF_MEDIA_CONNECT_STATE;
00064
00065 typedef enum _NET_IF_CONNECTION_TYPE
00066 {
00067 NET_IF_CONNECTION_DEDICATED = 1,
00068 NET_IF_CONNECTION_PASSIVE = 2,
00069 NET_IF_CONNECTION_DEMAND = 3,
00070 NET_IF_CONNECTION_MAXIMUM = 4
00071 } NET_IF_CONNECTION_TYPE, *PNET_IF_CONNECTION_TYPE;
00072
00073 typedef enum {
00074 IfOperStatusUp = 1,
00075 IfOperStatusDown,
00076 IfOperStatusTesting,
00077 IfOperStatusUnknown,
00078 IfOperStatusDormant,
00079 IfOperStatusNotPresent,
00080 IfOperStatusLowerLayerDown
00081 } IF_OPER_STATUS;
00082
00083 #endif