Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
3.8 KiB

  1. /*++ BUILD Version: 0001 // Increment this if a change has global effects
  2. Copyright (c) 1991-1999 Microsoft Corporation
  3. (c) 1991 Nokia Data Systems AB
  4. Module Name:
  5. ntdddlc.h
  6. Abstract:
  7. This is the include file that defines all constants and types for
  8. accessing the DLC driver interface device.
  9. Author:
  10. Antti Saarenheimo (o-anttis) 08-JUNE-1991
  11. Revision History:
  12. --*/
  13. #ifndef _NTDDDLC_
  14. #define _NTDDDLC_
  15. #if _MSC_VER > 1000
  16. #pragma once
  17. #endif
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. //
  22. // Device Name - this string is the name of the device. It is the name
  23. // that should be passed to NtOpenFile when accessing the device.
  24. //
  25. // Note: For devices that support multiple units, it should be suffixed
  26. // with the Ascii representation of the unit number.
  27. //
  28. #define FILE_DEVICE_DLC FILE_DEVICE_TRANSPORT
  29. #define DD_DLC_DEVICE_NAME L"\\Device\\Dlc"
  30. //
  31. // NtDeviceIoControlFile IoControlCode values for this device.
  32. //
  33. // Warning: Remember that the low two bits of the code specify how the
  34. // buffers are passed to the driver!
  35. //
  36. #define _DLC_CONTROL_CODE(request,method) \
  37. CTL_CODE(FILE_DEVICE_DLC, request, method, FILE_ANY_ACCESS)
  38. #define IOCTL_DLC_READ _DLC_CONTROL_CODE(0, METHOD_BUFFERED)
  39. #define IOCTL_DLC_RECEIVE _DLC_CONTROL_CODE(1, METHOD_BUFFERED)
  40. #define IOCTL_DLC_TRANSMIT _DLC_CONTROL_CODE(2, METHOD_OUT_DIRECT)
  41. #define IOCTL_DLC_BUFFER_FREE _DLC_CONTROL_CODE(3, METHOD_BUFFERED)
  42. #define IOCTL_DLC_BUFFER_GET _DLC_CONTROL_CODE(4, METHOD_BUFFERED)
  43. #define IOCTL_DLC_BUFFER_CREATE _DLC_CONTROL_CODE(5, METHOD_BUFFERED)
  44. #define IOCTL_DLC_SET_EXCEPTION_FLAGS _DLC_CONTROL_CODE(6, METHOD_BUFFERED)
  45. #define IOCTL_DLC_CLOSE_STATION _DLC_CONTROL_CODE(7, METHOD_OUT_DIRECT)
  46. #define IOCTL_DLC_CONNECT_STATION _DLC_CONTROL_CODE(8, METHOD_BUFFERED)
  47. #define IOCTL_DLC_FLOW_CONTROL _DLC_CONTROL_CODE(9, METHOD_BUFFERED)
  48. #define IOCTL_DLC_OPEN_STATION _DLC_CONTROL_CODE(10, METHOD_BUFFERED)
  49. #define IOCTL_DLC_RESET _DLC_CONTROL_CODE(11, METHOD_OUT_DIRECT)
  50. #define IOCTL_DLC_READ_CANCEL _DLC_CONTROL_CODE(12, METHOD_BUFFERED)
  51. #define IOCTL_DLC_RECEIVE_CANCEL _DLC_CONTROL_CODE(13, METHOD_BUFFERED)
  52. #define IOCTL_DLC_QUERY_INFORMATION _DLC_CONTROL_CODE(14, METHOD_BUFFERED)
  53. #define IOCTL_DLC_SET_INFORMATION _DLC_CONTROL_CODE(15, METHOD_BUFFERED)
  54. #define IOCTL_DLC_TIMER_CANCEL _DLC_CONTROL_CODE(16, METHOD_BUFFERED)
  55. #define IOCTL_DLC_TIMER_CANCEL_GROUP _DLC_CONTROL_CODE(17, METHOD_BUFFERED)
  56. #define IOCTL_DLC_TIMER_SET _DLC_CONTROL_CODE(18, METHOD_BUFFERED)
  57. #define IOCTL_DLC_OPEN_SAP _DLC_CONTROL_CODE(19, METHOD_BUFFERED)
  58. #define IOCTL_DLC_CLOSE_SAP _DLC_CONTROL_CODE(20, METHOD_OUT_DIRECT)
  59. #define IOCTL_DLC_OPEN_DIRECT _DLC_CONTROL_CODE(21, METHOD_BUFFERED)
  60. #define IOCTL_DLC_CLOSE_DIRECT _DLC_CONTROL_CODE(22, METHOD_OUT_DIRECT)
  61. #define IOCTL_DLC_OPEN_ADAPTER _DLC_CONTROL_CODE(23, METHOD_BUFFERED)
  62. #define IOCTL_DLC_CLOSE_ADAPTER _DLC_CONTROL_CODE(24, METHOD_BUFFERED)
  63. #define IOCTL_DLC_REALLOCTE_STATION _DLC_CONTROL_CODE(25, METHOD_BUFFERED)
  64. #define IOCTL_DLC_READ2 _DLC_CONTROL_CODE(26, METHOD_BUFFERED)
  65. #define IOCTL_DLC_RECEIVE2 _DLC_CONTROL_CODE(27, METHOD_BUFFERED)
  66. #define IOCTL_DLC_TRANSMIT2 _DLC_CONTROL_CODE(28, METHOD_BUFFERED)
  67. #define IOCTL_DLC_COMPLETE_COMMAND _DLC_CONTROL_CODE(29, METHOD_BUFFERED)
  68. #define IOCTL_DLC_TRACE_INITIALIZE _DLC_CONTROL_CODE(30, METHOD_OUT_DIRECT)
  69. #define IOCTL_DLC_MAX _DLC_CONTROL_CODE(30, METHOD_BUFFERED)
  70. #define IOCTL_DLC_LAST_COMMAND 31 // for xlation tables
  71. #ifdef __cplusplus
  72. }
  73. #endif
  74. #endif // _NTDDDLC_