/***************************************************************************** * * Copyright (c) 1996-1999 Microsoft Corporation * * @doc * @module externs.h | IrSIR NDIS Miniport Driver * @comm * *----------------------------------------------------------------------------- * * Author: Scott Holden (sholden) * * Date: 10/9/1996 (created) * * Contents: * *****************************************************************************/ #ifndef EXTERNS_H #define EXTERNS_H // // Include externs for dongle modules // #include "esi.h" #include "parallax.h" #include "actisys.h" #include "tekram.h" #include "crystal.h" #include "temic.h" #include "girbil.h" // #include "adaptec.h" // #include "nscdemo.h" // // Externs for required miniport export functions // VOID IrsirHalt( IN NDIS_HANDLE MiniportAdapterContext ); NDIS_STATUS IrsirInitialize( OUT PNDIS_STATUS OpenErrorStatus, OUT PUINT SelectedMediumIndex, IN PNDIS_MEDIUM MediumArray, IN UINT MediumArraySize, IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_HANDLE WrapperConfigurationContext ); NDIS_STATUS IrsirQueryInformation( IN NDIS_HANDLE MiniportAdapterContext, IN NDIS_OID Oid, IN PVOID InformationBuffer, IN ULONG InformationBufferLength, OUT PULONG BytesWritten, OUT PULONG BytesNeeded ); NDIS_STATUS IrsirSend( IN NDIS_HANDLE MiniportAdapterContext, IN PNDIS_PACKET Packet, IN UINT Flags ); NDIS_STATUS IrsirReset( OUT PBOOLEAN AddressingReset, IN NDIS_HANDLE MiniportAdapterContext ); NDIS_STATUS ResetIrDevice( IN OUT PIR_DEVICE pThisDev ); NDIS_STATUS IrsirSetInformation( IN NDIS_HANDLE MiniportAdapterContext, IN NDIS_OID Oid, IN PVOID InformationBuffer, IN ULONG InformationBufferLength, OUT PULONG BytesRead, OUT PULONG BytesNeeded ); VOID IrsirReturnPacket( IN NDIS_HANDLE MiniportAdapterContext, IN PNDIS_PACKET Packet ); VOID PassiveLevelThread( IN PVOID Context ); NTSTATUS SetIrFunctions(PIR_DEVICE pThisDev); extern PDRIVER_OBJECT DriverObject; // // exported from openclos.c // NDIS_STATUS InitializeDevice( IN OUT PIR_DEVICE dev ); NDIS_STATUS DeinitializeDevice( IN OUT PIR_DEVICE dev ); NDIS_STATUS GetDeviceConfiguration( IN OUT PIR_DEVICE dev, IN NDIS_HANDLE WrapperConfigurationContext ); NDIS_STATUS SerialOpen( IN PIR_DEVICE pThisDev ); NDIS_STATUS SerialClose( IN PIR_DEVICE pThisDev ); NTSTATUS GetComPortNtDeviceName(IN PUNICODE_STRING SerialDosName, IN OUT PUNICODE_STRING NtDevName); // // exported from receive.c // NDIS_STATUS InitializeReceive( IN OUT PIR_DEVICE pThisDev ); // // exported from resources.c // #if 0 // Defined in debug.h PVOID MyMemAlloc( IN UINT size ); #endif VOID MyMemFree( IN PVOID memptr, IN UINT size ); PIR_DEVICE NewDevice(); VOID FreeDevice( IN PIR_DEVICE dev ); PIRP SerialBuildReadWriteIrp( IN PDEVICE_OBJECT pSerialDevObj, IN ULONG MajorFunction, IN OUT PVOID pBuffer, IN ULONG BufferLength, IN PIO_STATUS_BLOCK pIosb ); NTSTATUS SerialSynchronousWrite( IN PDEVICE_OBJECT pSerialDevObj, IN PVOID pBuffer, IN ULONG dwLength, OUT PULONG pdwBytesWritten); NTSTATUS SerialSynchronousRead( IN PDEVICE_OBJECT pSerialDevObj, OUT PVOID pBuffer, IN ULONG dwLength, OUT PULONG pdwBytesRead); NDIS_STATUS ScheduleWorkItem(PASSIVE_PRIMITIVE Prim, PIR_DEVICE pDevice, WORK_PROC Callback, PVOID InfoBuf, ULONG InfoBufLen); VOID FreeWorkItem( IN PIR_WORK_ITEM pItem ); // // exported from fcs.c // USHORT ComputeFCS( IN UCHAR *data, IN UINT dataLen ); // // exported from convert.c // BOOLEAN NdisToIrPacket( IN PIR_DEVICE thisDev, IN PNDIS_PACKET Packet, OUT UCHAR *irPacketBuf, IN UINT irPacketBufLen, OUT UINT *irPacketLen ); // // Externs for global data objects // extern PIR_DEVICE firstIrDevice; // // exported from comm.c // NTSTATUS SetSpeed( IN OUT PIR_DEVICE thisDev ); VOID SetSpeedCallback(PIR_WORK_ITEM pWorkItem); // // exported from settings.c // extern baudRateInfo supportedBaudRateTable[NUM_BAUDRATES]; #endif EXTERNS_H