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.

161 lines
4.0 KiB

4 years ago
  1. /*
  2. ************************************************************************
  3. *
  4. * EXTERNS.h
  5. *
  6. * IRMINI Infrared Serial NDIS Miniport driver.
  7. *
  8. * (C) Copyright 1996 Microsoft Corp.
  9. *
  10. *
  11. * (ep)
  12. *
  13. *************************************************************************
  14. */
  15. #ifndef EXTERNS_H
  16. #define EXTERNS_H
  17. #ifndef IRMINILIB
  18. /*
  19. * Include externs for dongle modules
  20. */
  21. #include "actisys.h"
  22. #include "adaptec.h"
  23. #include "crystal.h"
  24. #include "esi.h"
  25. #include "parallax.h"
  26. #include "nscdemo.h"
  27. #endif
  28. /*
  29. * Externs for required miniport export functions
  30. */
  31. BOOLEAN MiniportCheckForHang(IN NDIS_HANDLE MiniportAdapterContext);
  32. VOID MiniportDisableInterrupt(IN NDIS_HANDLE MiniportAdapterContext);
  33. VOID MiniportEnableInterrupt(IN NDIS_HANDLE MiniportAdapterContext);
  34. VOID MiniportHalt(IN NDIS_HANDLE MiniportAdapterContext);
  35. VOID MiniportHandleInterrupt(IN NDIS_HANDLE MiniportAdapterContext);
  36. NDIS_STATUS MiniportInitialize(
  37. OUT PNDIS_STATUS OpenErrorStatus,
  38. OUT PUINT SelectedMediumIndex,
  39. IN PNDIS_MEDIUM MediumArray,
  40. IN UINT MediumArraySize,
  41. IN NDIS_HANDLE MiniportAdapterHandle,
  42. IN NDIS_HANDLE WrapperConfigurationContext
  43. );
  44. VOID MiniportISR(
  45. OUT PBOOLEAN InterruptRecognized,
  46. OUT PBOOLEAN QueueMiniportHandleInterrupt,
  47. IN NDIS_HANDLE MiniportAdapterContext
  48. );
  49. NDIS_STATUS MiniportQueryInformation(
  50. IN NDIS_HANDLE MiniportAdapterContext,
  51. IN NDIS_OID Oid,
  52. IN PVOID InformationBuffer,
  53. IN ULONG InformationBufferLength,
  54. OUT PULONG BytesWritten,
  55. OUT PULONG BytesNeeded
  56. );
  57. NDIS_STATUS MiniportReconfigure(
  58. OUT PNDIS_STATUS OpenErrorStatus,
  59. IN NDIS_HANDLE MiniportAdapterContext,
  60. IN NDIS_HANDLE WrapperConfigurationContext
  61. );
  62. NDIS_STATUS MiniportReset(
  63. IN NDIS_HANDLE MiniportAdapterContext,
  64. OUT PBOOLEAN AddressingReset
  65. );
  66. NDIS_STATUS MiniportSend(
  67. IN NDIS_HANDLE MiniportAdapterContext,
  68. IN PNDIS_PACKET Packet,
  69. IN UINT Flags
  70. );
  71. NDIS_STATUS MiniportSetInformation(
  72. IN NDIS_HANDLE MiniportAdapterContext,
  73. IN NDIS_OID Oid,
  74. IN PVOID InformationBuffer,
  75. IN ULONG InformationBufferLength,
  76. OUT PULONG BytesRead,
  77. OUT PULONG BytesNeeded
  78. );
  79. NDIS_STATUS MiniportTransferData (
  80. OUT PNDIS_PACKET Packet,
  81. OUT PUINT BytesTransferred,
  82. IN NDIS_HANDLE MiniportAdapterContext,
  83. IN NDIS_HANDLE MiniportReceiveContext,
  84. IN UINT ByteOffset,
  85. IN UINT BytesToTransfer
  86. );
  87. /*
  88. * Other function externs
  89. */
  90. VOID InitDevice(IrDevice *thisDev);
  91. BOOLEAN OpenDevice(IrDevice *dev);
  92. VOID CloseDevice(IrDevice *dev);
  93. VOID FreeAll();
  94. PVOID MyMemAlloc(UINT size);
  95. VOID MyMemFree(PVOID memptr, UINT size);
  96. IrDevice *NewDevice();
  97. VOID FreeDevice(IrDevice *dev);
  98. USHORT ComputeFCS(UCHAR *data, UINT dataLen);
  99. BOOLEAN NdisToIrPacket( IrDevice *thisDev,
  100. PNDIS_PACKET Packet,
  101. UCHAR *irPacketBuf,
  102. UINT irPacketBufLen,
  103. UINT *irPacketLen);
  104. /*
  105. * Externs for global data objects
  106. */
  107. struct IrDevice;
  108. extern struct IrDevice *firstIrDevice;
  109. /*
  110. * From COMM.C
  111. */
  112. BOOLEAN DoOpen(struct IrDevice *thisDev);
  113. VOID DoClose(IrDevice *thisDev);
  114. BOOLEAN DoSend(IrDevice *thisDev, PNDIS_PACKET packetToSend);
  115. BOOLEAN SetSpeed(IrDevice *thisDev);
  116. BOOLEAN IsCommReadyForTransmit(IrDevice *thisDev);
  117. BOOLEAN PortReadyForWrite(struct IrDevice *thisDev, BOOLEAN firstBufIsPending);
  118. UINT Call_Get_System_Time();
  119. VOID COM_ISR(struct IrDevice *thisDev, BOOLEAN *claimingInterrupt, BOOLEAN *requireDeferredCallback);
  120. VOID QueueReceivePacket(struct IrDevice *thisDev, PUCHAR *data, UINT dataLen);
  121. UINT DoRcvDirect(UINT ioBase, UCHAR *data, UINT maxBytes);
  122. VOID CloseCOM(IrDevice *thisDev);
  123. BOOLEAN OpenCOM(IrDevice *thisDev);
  124. VOID SetCOMInterrupts(IrDevice *thisDev, BOOLEAN enable);
  125. extern USHORT comPortIRQ[];
  126. extern USHORT comPortIOBase[];
  127. /*
  128. * From SETTINGS.C
  129. */
  130. extern baudRateInfo supportedBaudRateTable[NUM_BAUDRATES];
  131. #ifdef IRMINILIB
  132. /*
  133. * To be defined in OEM's dongle-specific module
  134. */
  135. extern IRMINI_Dongle_Interface OEM_Interface;
  136. #endif
  137. #endif EXTERNS_H