123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _INC_IFDEF
- #define _INC_IFDEF
- #include <ipifcons.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define IF_MAX_STRING_SIZE 256
- #define IF_MAX_PHYS_ADDRESS_LENGTH 32
- typedef UINT32 NET_IF_COMPARTMENT_ID, *PNET_IF_COMPARTMENT_ID;
- typedef ULONG NET_IFINDEX, *PNET_IFINDEX;
- typedef UINT16 NET_IFTYPE, *PNET_IFTYPE;
- typedef NET_IFINDEX IF_INDEX, *PIF_INDEX;
- typedef GUID NET_IF_NETWORK_GUID;
- typedef enum _IF_OPER_STATUS {
- IfOperStatusUp = 1,
- IfOperStatusDown,
- IfOperStatusTesting,
- IfOperStatusUnknown,
- IfOperStatusDormant,
- IfOperStatusNotPresent,
- IfOperStatusLowerLayerDown
- } IF_OPER_STATUS;
- typedef enum _NET_IF_OPER_STATUS {
- NET_IF_OPER_STATUS_UP = 1,
- NET_IF_OPER_STATUS_DOWN,
- NET_IF_OPER_STATUS_TESTING,
- NET_IF_OPER_STATUS_UNKNOWN,
- NET_IF_OPER_STATUS_DORMANT,
- NET_IF_OPER_STATUS_NOT_PRESENT,
- NET_IF_OPER_STATUS_LOWER_LAYER_DOWN
- } NET_IF_OPER_STATUS, *PNET_IF_OPER_STATUS;
- typedef enum _NET_IF_ADMIN_STATUS {
- NET_IF_ADMIN_STATUS_UP = 1,
- NET_IF_ADMIN_STATUS_DOWN,
- NET_IF_ADMIN_STATUS_TESTING
- } 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_ACCESS_TYPE {
- NET_IF_ACCESS_LOOPBACK = 1,
- NET_IF_ACCESS_BROADCAST,
- NET_IF_ACCESS_POINT_TO_POINT,
- NET_IF_ACCESS_POINT_TO_MULTI_POINT,
- NET_IF_ACCESS_MAXIMUM
- } NET_IF_ACCESS_TYPE, *PNET_IF_ACCESS_TYPE;
- typedef enum _NET_IF_CONNECTION_TYPE {
- NET_IF_CONNECTION_DEDICATED = 1,
- NET_IF_CONNECTION_PASSIVE,
- NET_IF_CONNECTION_DEMAND,
- NET_IF_CONNECTION_MAXIMUM
- } NET_IF_CONNECTION_TYPE, *PNET_IF_CONNECTION_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_MEDIA_DUPLEX_STATE {
- MediaDuplexStateUnknown,
- MediaDuplexStateHalf,
- MediaDuplexStateFull
- } NET_IF_MEDIA_DUPLEX_STATE, *PNET_IF_MEDIA_DUPLEX_STATE;
- typedef enum _TUNNEL_TYPE {
- 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_IPHTTPS = 15
- } TUNNEL_TYPE, *PTUNNEL_TYPE;
- typedef union _NET_LUID {
- ULONG64 Value;
- __C89_NAMELESS struct { /* bitfield with 64 bit types. */
- ULONG64 Reserved :24;
- ULONG64 NetLuidIndex :24;
- ULONG64 IfType :16;
- } Info;
- } NET_LUID, *PNET_LUID;
- typedef NET_LUID IF_LUID, *PIF_LUID;
- typedef struct _IF_COUNTED_STRING_LH {
- USHORT Length;
- WCHAR String[IF_MAX_STRING_SIZE + 1];
- } IF_COUNTED_STRING_LH, *PIF_COUNTED_STRING_LH;
- typedef IF_COUNTED_STRING_LH IF_COUNTED_STRING;
- typedef IF_COUNTED_STRING *PIF_COUNTED_STRING;
- typedef struct _IF_PHYSICAL_ADDRESS_LH {
- USHORT Length;
- UCHAR Address[IF_MAX_PHYS_ADDRESS_LENGTH];
- } IF_PHYSICAL_ADDRESS_LH, *PIF_PHYSICAL_ADDRESS_LH;
- typedef IF_PHYSICAL_ADDRESS_LH IF_PHYSICAL_ADDRESS;
- typedef IF_PHYSICAL_ADDRESS *PIF_PHYSICAL_ADDRESS;
- #ifdef __cplusplus
- }
- #endif
- #endif /* _INC_IFDEF */
|