// #include <ntddndis.h>

#ifndef __NTDDPACKET
#define __NTDDPACKET 1

// #include <devioctl.h>

#define        MAX_LINK_NAME_LENGTH   124

#pragma pack(1)
typedef struct _PACKET_OID_DATA {
	ULONG           Oid;
	ULONG           Length;
	UCHAR           Data[1];
} ATTRIBUTE_PACKED  PACKET_OID_DATA, *PPACKET_OID_DATA;
#pragma pack()


#define FILE_DEVICE_PROTOCOL        0x8000



#define IOCTL_PROTOCOL_SET_OID					CTL_CODE(FILE_DEVICE_PROTOCOL, 0 , METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_PROTOCOL_QUERY_OID				CTL_CODE(FILE_DEVICE_PROTOCOL, 1 , METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_PROTOCOL_RESET						CTL_CODE(FILE_DEVICE_PROTOCOL, 2 , METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_PROTOCOL_READ							CTL_CODE(FILE_DEVICE_PROTOCOL, 3 , METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_PROTOCOL_WRITE						CTL_CODE(FILE_DEVICE_PROTOCOL, 4 , METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_PROTOCOL_MACNAME					CTL_CODE(FILE_DEVICE_PROTOCOL, 5 , METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_PROTOCOL_SELECT_BY_NAME		CTL_CODE(FILE_DEVICE_PROTOCOL, 6 , METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_ENUM_ADAPTERS							CTL_CODE(FILE_DEVICE_PROTOCOL, 7 , METHOD_BUFFERED, FILE_ANY_ACCESS)

#endif
