epacket.h
上传用户:hzhsqp
上传日期:2007-01-06
资源大小:1600k
文件大小:2k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. /*
  2.  * epacket.h
  3.  *
  4.  * Ethernet Packet Interface to NDIS drivers.
  5.  *
  6.  * Copyright 1998 Equivalence Pty. Ltd.
  7.  *
  8.  * Original code by William Ingle (address unknown)
  9.  *
  10.  * $Log: epacket.h,v $
  11.  * Revision 1.5  1999/02/16 08:10:33  robertj
  12.  * MSVC 6.0 compatibility changes.
  13.  *
  14.  * Revision 1.4  1998/10/23 04:09:07  robertj
  15.  * Fixes for NT support.
  16.  * Allowed both old and new driver by compilation option.
  17.  *
  18.  * Revision 1.3  1998/10/06 10:24:40  robertj
  19.  * Fixed hang when using reset command, removed the command!
  20.  *
  21.  * Revision 1.2  1998/10/01 09:06:29  robertj
  22.  * NT driver compatibility.
  23.  *
  24.  * Revision 1.1  1998/09/28 08:10:33  robertj
  25.  * Initial revision
  26.  *
  27.  */
  28. #ifndef __EPACKET_H
  29. #define __EPACKET_H
  30. #ifndef CTL_CODE
  31. #pragma warning(disable:4201)
  32. #include <winioctl.h>
  33. #pragma warning(default:4201)
  34. #endif
  35. #ifdef USE_VPACKET
  36. #define FILE_DEVICE_EPACKET 0x8000
  37. #define IOCTL_EPACKET_QUERY_OID  (UINT)CTL_CODE(FILE_DEVICE_EPACKET, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
  38. #define IOCTL_EPACKET_SET_OID    (UINT)CTL_CODE(FILE_DEVICE_EPACKET, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
  39. #define IOCTL_EPACKET_STATISTICS (UINT)CTL_CODE(FILE_DEVICE_EPACKET, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
  40. #define IOCTL_EPACKET_READ       (UINT)CTL_CODE(FILE_DEVICE_EPACKET, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
  41. #define IOCTL_EPACKET_WRITE      (UINT)CTL_CODE(FILE_DEVICE_EPACKET, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
  42. #define IOCTL_EPACKET_BIND       (UINT)CTL_CODE(FILE_DEVICE_EPACKET, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
  43. #else
  44. #define FILE_DEVICE_EPACKET 0x1000
  45. #define IOCTL_EPACKET_VERSION   CTL_CODE(FILE_DEVICE_EPACKET, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
  46. #define IOCTL_EPACKET_BIND      CTL_CODE(FILE_DEVICE_EPACKET, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
  47. #define IOCTL_EPACKET_QUERY_OID CTL_CODE(FILE_DEVICE_EPACKET, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
  48. #define IOCTL_EPACKET_SET_OID   CTL_CODE(FILE_DEVICE_EPACKET, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
  49. #define IOCTL_EPACKET_READ      CTL_CODE(FILE_DEVICE_EPACKET, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
  50. #define IOCTL_EPACKET_WRITE     CTL_CODE(FILE_DEVICE_EPACKET, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
  51. #endif
  52. #pragma pack(1)
  53. typedef struct _EPACKET_OID {
  54.   ULONG Oid;
  55.   ULONG Length;
  56.   UCHAR Data[1];
  57. } EPACKET_OID;
  58. #pragma pack()
  59. #endif // __EPACKET_H
  60. // End of File ////////////////////////////////////////////////////////////////