Windows NT 4.0 source code leak
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.

80 lines
2.1 KiB

4 years ago
  1. /*
  2. * DONGLE.H
  3. *
  4. *
  5. *
  6. */
  7. #ifndef DONGLE_H
  8. #define DONGLE_H
  9. #define NDIS_IRDA_SPEED_2400 (UINT)(1 << 0) // SLOW IR ...
  10. #define NDIS_IRDA_SPEED_9600 (UINT)(1 << 1)
  11. #define NDIS_IRDA_SPEED_19200 (UINT)(1 << 2)
  12. #define NDIS_IRDA_SPEED_38400 (UINT)(1 << 3)
  13. #define NDIS_IRDA_SPEED_57600 (UINT)(1 << 4)
  14. #define NDIS_IRDA_SPEED_115200 (UINT)(1 << 5)
  15. #define NDIS_IRDA_SPEED_576K (UINT)(1 << 6) // MEDIUM IR ...
  16. #define NDIS_IRDA_SPEED_1152K (UINT)(1 << 7)
  17. #define NDIS_IRDA_SPEED_4M (UINT)(1 << 8) // FAST IR
  18. typedef unsigned int UINT;
  19. typedef unsigned char UCHAR;
  20. typedef unsigned char BOOLEAN;
  21. #undef VOID
  22. #define VOID void
  23. #undef FALSE
  24. #define FALSE ((BOOLEAN)0)
  25. #undef TRUE
  26. #define TRUE (!FALSE)
  27. typedef struct dongleCapabilities {
  28. /*
  29. * This is a mask of NDIS_IRDA_SPEED_xxx bit values.
  30. *
  31. */
  32. UINT supportedSpeedsMask;
  33. /*
  34. * Time (in microseconds) that must transpire between
  35. * a transmit and the next receive.
  36. */
  37. UINT turnAroundTime_usec;
  38. /*
  39. * Extra BOF (Beginning Of Frame) characters required
  40. * at the start of each received frame.
  41. */
  42. UINT extraBOFsRequired;
  43. } dongleCapabilities;
  44. typedef BOOLEAN (_stdcall *IRMINI_INIT_HANDLER)
  45. (UINT comBase, dongleCapabilities *caps, UINT *context);
  46. typedef void (_stdcall *IRMINI_DEINIT_HANDLER)
  47. (UINT comBase, UINT context);
  48. typedef BOOLEAN (_stdcall *IRMINI_SETSPEED_HANDLER)
  49. (UINT comBase, UINT bitsPerSec, UINT context);
  50. typedef struct IRMINI_Dongle_Interface
  51. {
  52. IRMINI_INIT_HANDLER initHandler;
  53. IRMINI_SETSPEED_HANDLER setSpeedHandler;
  54. IRMINI_DEINIT_HANDLER deinitHandler;
  55. } IRMINI_Dongle_Interface;
  56. /*
  57. * A dongle module should not use any NDIS functions directly.
  58. * It should only use these wrapper functions to access hardware.
  59. */
  60. extern void _cdecl IRMINI_RawReadPort(UINT IOaddr, UCHAR *val);
  61. extern void _cdecl IRMINI_RawWritePort(UINT IOaddr, UCHAR val);
  62. extern void _cdecl IRMINI_StallExecution(UINT usec);
  63. extern UINT _cdecl IRMINI_GetSystemTime_msec();
  64. #endif DONGLE_H