#ifndef _IFDEF_ #define _IFDEF_ #define IF_MAX_STRING_SIZE 256 #define IF_MAX_PHYS_ADDRESS_LENGTH 32 typedef union _NET_LUID_LH { ULONG64 Value; struct { ULONG64 Reserved:24; ULONG64 NetLuidIndex:24; ULONG64 IfType:16; }Info; } NET_LUID_LH, *PNET_LUID_LH; typedef NET_LUID_LH NET_LUID; typedef NET_LUID* PNET_LUID; typedef ULONG NET_IFINDEX, *PNET_IFINDEX; typedef ULONG IFTYPE; typedef GUID NET_IF_NETWORK_GUID, *PNET_IF_NETWORK_GUID; typedef enum { TUNNEL_TYPE_NONE = 0, TUNNEL_TYPE_OTHER = 1, TUNNEL_TYPE_DIRECT = 2, TUNNEL_TYPE_6TO4 = 11, TUNNEL_TYPE_ISATAP = 13, TUNNEL_TYPE_TEREDO = 14, } TUNNEL_TYPE, *PTUNNEL_TYPE; typedef enum _NET_IF_ACCESS_TYPE { NET_IF_ACCESS_LOOPBACK = 1, NET_IF_ACCESS_BROADCAST = 2, NET_IF_ACCESS_POINT_TO_POINT = 3, NET_IF_ACCESS_POINT_TO_MULTI_POINT = 4, NET_IF_ACCESS_MAXIMUM = 5 } NET_IF_ACCESS_TYPE, *PNET_IF_ACCESS_TYPE; typedef enum _NET_IF_DIRECTION_TYPE { NET_IF_DIRECTION_SENDRECEIVE, NET_IF_DIRECTION_SENDONLY, NET_IF_DIRECTION_RECEIVEONLY, NET_IF_DIRECTION_MAXIMUM } NET_IF_DIRECTION_TYPE, *PNET_IF_DIRECTION_TYPE; typedef enum _NET_IF_ADMIN_STATUS { NET_IF_ADMIN_STATUS_UP = 1, NET_IF_ADMIN_STATUS_DOWN = 2, NET_IF_ADMIN_STATUS_TESTING = 3 } NET_IF_ADMIN_STATUS, *PNET_IF_ADMIN_STATUS; typedef enum _NET_IF_MEDIA_CONNECT_STATE { MediaConnectStateUnknown, MediaConnectStateConnected, MediaConnectStateDisconnected } NET_IF_MEDIA_CONNECT_STATE, *PNET_IF_MEDIA_CONNECT_STATE; typedef enum _NET_IF_CONNECTION_TYPE { NET_IF_CONNECTION_DEDICATED = 1, NET_IF_CONNECTION_PASSIVE = 2, NET_IF_CONNECTION_DEMAND = 3, NET_IF_CONNECTION_MAXIMUM = 4 } NET_IF_CONNECTION_TYPE, *PNET_IF_CONNECTION_TYPE; typedef enum { IfOperStatusUp = 1, IfOperStatusDown, IfOperStatusTesting, IfOperStatusUnknown, IfOperStatusDormant, IfOperStatusNotPresent, IfOperStatusLowerLayerDown } IF_OPER_STATUS; #endif /* _IFDEF_ */