mirror of https://github.com/lianthony/NT4.0
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
161 lines
4.0 KiB
/*
|
|
************************************************************************
|
|
*
|
|
* EXTERNS.h
|
|
*
|
|
* IRMINI Infrared Serial NDIS Miniport driver.
|
|
*
|
|
* (C) Copyright 1996 Microsoft Corp.
|
|
*
|
|
*
|
|
* (ep)
|
|
*
|
|
*************************************************************************
|
|
*/
|
|
|
|
|
|
|
|
#ifndef EXTERNS_H
|
|
#define EXTERNS_H
|
|
|
|
|
|
#ifndef IRMINILIB
|
|
/*
|
|
* Include externs for dongle modules
|
|
*/
|
|
#include "actisys.h"
|
|
#include "adaptec.h"
|
|
#include "crystal.h"
|
|
#include "esi.h"
|
|
#include "parallax.h"
|
|
#include "nscdemo.h"
|
|
#endif
|
|
|
|
|
|
/*
|
|
* Externs for required miniport export functions
|
|
*/
|
|
BOOLEAN MiniportCheckForHang(IN NDIS_HANDLE MiniportAdapterContext);
|
|
VOID MiniportDisableInterrupt(IN NDIS_HANDLE MiniportAdapterContext);
|
|
VOID MiniportEnableInterrupt(IN NDIS_HANDLE MiniportAdapterContext);
|
|
VOID MiniportHalt(IN NDIS_HANDLE MiniportAdapterContext);
|
|
VOID MiniportHandleInterrupt(IN NDIS_HANDLE MiniportAdapterContext);
|
|
NDIS_STATUS MiniportInitialize(
|
|
OUT PNDIS_STATUS OpenErrorStatus,
|
|
OUT PUINT SelectedMediumIndex,
|
|
IN PNDIS_MEDIUM MediumArray,
|
|
IN UINT MediumArraySize,
|
|
IN NDIS_HANDLE MiniportAdapterHandle,
|
|
IN NDIS_HANDLE WrapperConfigurationContext
|
|
);
|
|
VOID MiniportISR(
|
|
OUT PBOOLEAN InterruptRecognized,
|
|
OUT PBOOLEAN QueueMiniportHandleInterrupt,
|
|
IN NDIS_HANDLE MiniportAdapterContext
|
|
);
|
|
NDIS_STATUS MiniportQueryInformation(
|
|
IN NDIS_HANDLE MiniportAdapterContext,
|
|
IN NDIS_OID Oid,
|
|
IN PVOID InformationBuffer,
|
|
IN ULONG InformationBufferLength,
|
|
OUT PULONG BytesWritten,
|
|
OUT PULONG BytesNeeded
|
|
);
|
|
NDIS_STATUS MiniportReconfigure(
|
|
OUT PNDIS_STATUS OpenErrorStatus,
|
|
IN NDIS_HANDLE MiniportAdapterContext,
|
|
IN NDIS_HANDLE WrapperConfigurationContext
|
|
);
|
|
NDIS_STATUS MiniportReset(
|
|
IN NDIS_HANDLE MiniportAdapterContext,
|
|
OUT PBOOLEAN AddressingReset
|
|
);
|
|
NDIS_STATUS MiniportSend(
|
|
IN NDIS_HANDLE MiniportAdapterContext,
|
|
IN PNDIS_PACKET Packet,
|
|
IN UINT Flags
|
|
);
|
|
NDIS_STATUS MiniportSetInformation(
|
|
IN NDIS_HANDLE MiniportAdapterContext,
|
|
IN NDIS_OID Oid,
|
|
IN PVOID InformationBuffer,
|
|
IN ULONG InformationBufferLength,
|
|
OUT PULONG BytesRead,
|
|
OUT PULONG BytesNeeded
|
|
);
|
|
NDIS_STATUS MiniportTransferData (
|
|
OUT PNDIS_PACKET Packet,
|
|
OUT PUINT BytesTransferred,
|
|
IN NDIS_HANDLE MiniportAdapterContext,
|
|
IN NDIS_HANDLE MiniportReceiveContext,
|
|
IN UINT ByteOffset,
|
|
IN UINT BytesToTransfer
|
|
);
|
|
|
|
|
|
|
|
/*
|
|
* Other function externs
|
|
*/
|
|
VOID InitDevice(IrDevice *thisDev);
|
|
BOOLEAN OpenDevice(IrDevice *dev);
|
|
VOID CloseDevice(IrDevice *dev);
|
|
VOID FreeAll();
|
|
PVOID MyMemAlloc(UINT size);
|
|
VOID MyMemFree(PVOID memptr, UINT size);
|
|
IrDevice *NewDevice();
|
|
VOID FreeDevice(IrDevice *dev);
|
|
USHORT ComputeFCS(UCHAR *data, UINT dataLen);
|
|
BOOLEAN NdisToIrPacket( IrDevice *thisDev,
|
|
PNDIS_PACKET Packet,
|
|
UCHAR *irPacketBuf,
|
|
UINT irPacketBufLen,
|
|
UINT *irPacketLen);
|
|
|
|
|
|
/*
|
|
* Externs for global data objects
|
|
*/
|
|
struct IrDevice;
|
|
extern struct IrDevice *firstIrDevice;
|
|
|
|
|
|
|
|
/*
|
|
* From COMM.C
|
|
*/
|
|
BOOLEAN DoOpen(struct IrDevice *thisDev);
|
|
VOID DoClose(IrDevice *thisDev);
|
|
BOOLEAN DoSend(IrDevice *thisDev, PNDIS_PACKET packetToSend);
|
|
BOOLEAN SetSpeed(IrDevice *thisDev);
|
|
BOOLEAN IsCommReadyForTransmit(IrDevice *thisDev);
|
|
BOOLEAN PortReadyForWrite(struct IrDevice *thisDev, BOOLEAN firstBufIsPending);
|
|
UINT Call_Get_System_Time();
|
|
VOID COM_ISR(struct IrDevice *thisDev, BOOLEAN *claimingInterrupt, BOOLEAN *requireDeferredCallback);
|
|
VOID QueueReceivePacket(struct IrDevice *thisDev, PUCHAR *data, UINT dataLen);
|
|
UINT DoRcvDirect(UINT ioBase, UCHAR *data, UINT maxBytes);
|
|
VOID CloseCOM(IrDevice *thisDev);
|
|
BOOLEAN OpenCOM(IrDevice *thisDev);
|
|
VOID SetCOMInterrupts(IrDevice *thisDev, BOOLEAN enable);
|
|
|
|
extern USHORT comPortIRQ[];
|
|
extern USHORT comPortIOBase[];
|
|
|
|
|
|
/*
|
|
* From SETTINGS.C
|
|
*/
|
|
extern baudRateInfo supportedBaudRateTable[NUM_BAUDRATES];
|
|
|
|
|
|
#ifdef IRMINILIB
|
|
/*
|
|
* To be defined in OEM's dongle-specific module
|
|
*/
|
|
extern IRMINI_Dongle_Interface OEM_Interface;
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#endif EXTERNS_H
|