540d550a38
d4iface.h, ddkmapi.h, hidclass.h, hidpi.h, hidusage.h, mcd.h, miniport.h, minitape.h, mountdev.h, mountmgr.h, ndis.h, ndisquid.h, ndistapi.h, ndisvan.h, netevent.h, netpnp.h, netdev.h, ntapi.h, ntdd8042.h, ntddbeep.h, ntddcdrm.h, ntddcdvd.h, ntddchgr.h, ntdddisk.h, ntddk.h, ntddkbd.h, ntddmou.h, ntddndis.h, ntddpar.h, ntddpcm.h, ntddscsi.h, ntddser.h, ntddstor.h, ntddtape.h, ntddtdi.h, ntddvdeo.h, ntddvol.h, ntifs.h, ntpoapi.h, ntstatus.h, parallel.h, pfhook.h, poclass.h, scsi.h, scsiscan.h, scsiwmi.h, smbus.h, srb.h, storport.h, tdi.h, tdiinfo.h, tdikrnl.h, tdistat.h, tvout.h, upssvc.h, usb.h, usb100.h, usbcamdi.h, usbdi.h, usbioctl.h, usbiodef.h, usbscan.h, usbuser.h, video.h, videoagp.h, win2k.h, winddi.h, winddk.h, winnt4.h, winxp.h, ws2san.h, xfilter.h): Change comment to refer w32api package, not MinGW.
116 lines
3.1 KiB
C
116 lines
3.1 KiB
C
/*
|
|
* tdiinfo.h
|
|
*
|
|
* TDI set and query information interface
|
|
*
|
|
* This file is part of the w32api package.
|
|
*
|
|
* Contributors:
|
|
* Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
|
|
*
|
|
* THIS SOFTWARE IS NOT COPYRIGHTED
|
|
*
|
|
* This source code is offered for use in the public domain. You may
|
|
* use, modify or distribute it freely.
|
|
*
|
|
* This code is distributed in the hope that it will be useful but
|
|
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
|
* DISCLAIMED. This includes but is not limited to warranties of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
*
|
|
*/
|
|
|
|
#ifndef __TDIINFO_H
|
|
#define __TDIINFO_H
|
|
|
|
#if __GNUC__ >=3
|
|
#pragma GCC system_header
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#pragma pack(push,4)
|
|
|
|
#include "ntddk.h"
|
|
|
|
|
|
typedef struct TDIEntityID {
|
|
ULONG tei_entity;
|
|
ULONG tei_instance;
|
|
} TDIEntityID;
|
|
|
|
#define MAX_TDI_ENTITIES 4096
|
|
#define INVALID_ENTITY_INSTANCE -1
|
|
#define GENERIC_ENTITY 0
|
|
#define ENTITY_LIST_ID 0
|
|
#define ENTITY_TYPE_ID 1
|
|
|
|
#define AT_ENTITY 0x280
|
|
#define CL_NL_ENTITY 0x301
|
|
#define CL_TL_ENTITY 0x401
|
|
#define CO_NL_ENTITY 0x300
|
|
#define CO_TL_ENTITY 0x400
|
|
#define ER_ENTITY 0x380
|
|
#define IF_ENTITY 0x200
|
|
|
|
#define AT_ARP 0x280
|
|
#define AT_NULL 0x282
|
|
#define CL_TL_NBF 0x401
|
|
#define CL_TL_UDP 0x403
|
|
#define CL_NL_IPX 0x301
|
|
#define CL_NL_IP 0x303
|
|
#define CO_TL_NBF 0x400
|
|
#define CO_TL_SPX 0x402
|
|
#define CO_TL_TCP 0x404
|
|
#define CO_TL_SPP 0x406
|
|
#define ER_ICMP 0x380
|
|
#define IF_GENERIC 0x200
|
|
#define IF_MIB 0x202
|
|
|
|
/* TDIObjectID.toi_class constants */
|
|
#define INFO_CLASS_GENERIC 0x100
|
|
#define INFO_CLASS_PROTOCOL 0x200
|
|
#define INFO_CLASS_IMPLEMENTATION 0x300
|
|
|
|
/* TDIObjectID.toi_type constants */
|
|
#define INFO_TYPE_PROVIDER 0x100
|
|
#define INFO_TYPE_ADDRESS_OBJECT 0x200
|
|
#define INFO_TYPE_CONNECTION 0x300
|
|
|
|
typedef struct _TDIObjectID {
|
|
TDIEntityID toi_entity;
|
|
ULONG toi_class;
|
|
ULONG toi_type;
|
|
ULONG toi_id;
|
|
} TDIObjectID;
|
|
|
|
#define CONTEXT_SIZE 16
|
|
|
|
typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX {
|
|
TDIObjectID ID;
|
|
ULONG_PTR Context[CONTEXT_SIZE / sizeof(ULONG_PTR)];
|
|
} TCP_REQUEST_QUERY_INFORMATION_EX, *PTCP_REQUEST_QUERY_INFORMATION_EX;
|
|
|
|
#if defined(_WIN64)
|
|
typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX32 {
|
|
TDIObjectID ID;
|
|
ULONG32 Context[CONTEXT_SIZE / sizeof(ULONG32)];
|
|
} TCP_REQUEST_QUERY_INFORMATION_EX32, *PTCP_REQUEST_QUERY_INFORMATION_EX32;
|
|
#endif /* _WIN64 */
|
|
|
|
typedef struct _TCP_REQUEST_SET_INFORMATION_EX {
|
|
TDIObjectID ID;
|
|
UINT BufferSize;
|
|
UCHAR Buffer[1];
|
|
} TCP_REQUEST_SET_INFORMATION_EX, *PTCP_REQUEST_SET_INFORMATION_EX;
|
|
|
|
#pragma pack(pop)
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __TDIINFO_H */
|