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

/*
************************************************************************
*
* 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