const FILE_DEVICE_NDISRD: u32 = 0x00008300;
const NDISRD_IOCTL_INDEX: u32 = 0x830;
const METHOD_BUFFERED: u32 = 0;
const FILE_ANY_ACCESS: u32 = 0;
const fn ctl_code(device_type: u32, function: u32, method: u32, access: u32) -> u32 {
(device_type << 16) | (access << 14) | (function << 2) | method
}
pub const IOCTL_NDISRD_GET_VERSION: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_GET_TCPIP_INTERFACES: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 1,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SEND_PACKET_TO_ADAPTER: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 2,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SEND_PACKET_TO_MSTCP: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 3,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_READ_PACKET: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 4,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SET_ADAPTER_MODE: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 5,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_FLUSH_ADAPTER_QUEUE: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 6,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SET_EVENT: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 7,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_NDIS_SET_REQUEST: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 8,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_NDIS_GET_REQUEST: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 9,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SET_WAN_EVENT: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 10,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SET_ADAPTER_EVENT: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 11,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_ADAPTER_QUEUE_SIZE: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 12,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_GET_ADAPTER_MODE: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 13,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SET_PACKET_FILTERS: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 14,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_RESET_PACKET_FILTERS: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 15,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_GET_PACKET_FILTERS_TABLESIZE: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 16,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_GET_PACKET_FILTERS: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 17,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_GET_PACKET_FILTERS_RESET_STATS: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 18,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_GET_RAS_LINKS: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 19,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SEND_PACKETS_TO_ADAPTER: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 20,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SEND_PACKETS_TO_MSTCP: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 21,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_READ_PACKETS: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 22,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SET_ADAPTER_HWFILTER_EVENT: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 23,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_INITIALIZE_FAST_IO: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 24,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_READ_PACKETS_UNSORTED: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 25,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SEND_PACKET_TO_ADAPTER_UNSORTED: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 26,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_SEND_PACKET_TO_MSTCP_UNSORTED: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 27,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_ADD_SECOND_FAST_IO_SECTION: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 28,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);
pub const IOCTL_NDISRD_QUERY_IB_POOL_SIZE: u32 = ctl_code(
FILE_DEVICE_NDISRD,
NDISRD_IOCTL_INDEX + 29,
METHOD_BUFFERED,
FILE_ANY_ACCESS,
);