1/*
2 * ntddtdi.h
3 *
4 * Contributors:
5 *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
6 *
7 * THIS SOFTWARE IS NOT COPYRIGHTED
8 *
9 * This source code is offered for use in the public domain. You may
10 * use, modify or distribute it freely.
11 *
12 * This code is distributed in the hope that it will be useful but
13 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
14 * DISCLAIMED. This includes but is not limited to warranties of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 *
17 */
18
19#ifndef _NTDDTDI_
20#define _NTDDTDI_
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26#define DD_TDI_DEVICE_NAME "\\Device\\UNKNOWN"
27#define _TDI_CONTROL_CODE(request,method)   CTL_CODE(FILE_DEVICE_TRANSPORT, request, method, FILE_ANY_ACCESS)
28#define IOCTL_TDI_ACCEPT                    _TDI_CONTROL_CODE( 0, METHOD_BUFFERED )
29#define IOCTL_TDI_CONNECT                   _TDI_CONTROL_CODE( 1, METHOD_BUFFERED )
30#define IOCTL_TDI_DISCONNECT                _TDI_CONTROL_CODE( 2, METHOD_BUFFERED )
31#define IOCTL_TDI_LISTEN                    _TDI_CONTROL_CODE( 3, METHOD_BUFFERED )
32#define IOCTL_TDI_QUERY_INFORMATION         _TDI_CONTROL_CODE( 4, METHOD_OUT_DIRECT )
33#define IOCTL_TDI_RECEIVE                   _TDI_CONTROL_CODE( 5, METHOD_OUT_DIRECT )
34#define IOCTL_TDI_RECEIVE_DATAGRAM          _TDI_CONTROL_CODE( 6, METHOD_OUT_DIRECT )
35#define IOCTL_TDI_SEND                      _TDI_CONTROL_CODE( 7, METHOD_IN_DIRECT )
36#define IOCTL_TDI_SEND_DATAGRAM             _TDI_CONTROL_CODE( 8, METHOD_IN_DIRECT )
37#define IOCTL_TDI_SET_EVENT_HANDLER         _TDI_CONTROL_CODE( 9, METHOD_BUFFERED )
38#define IOCTL_TDI_SET_INFORMATION           _TDI_CONTROL_CODE( 10, METHOD_IN_DIRECT )
39#define IOCTL_TDI_ASSOCIATE_ADDRESS         _TDI_CONTROL_CODE( 11, METHOD_BUFFERED )
40#define IOCTL_TDI_DISASSOCIATE_ADDRESS      _TDI_CONTROL_CODE( 12, METHOD_BUFFERED )
41#define IOCTL_TDI_ACTION                    _TDI_CONTROL_CODE( 13, METHOD_OUT_DIRECT )
42
43#ifdef __cplusplus
44}
45#endif
46
47#endif /* _NTDDTDI_ */
48
49