windows-nt/Source/XPSP1/NT/net/irda/samples/nscirda/externs.h

154 lines
5 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*
************************************************************************
*
* EXTERNS.h
*
*
* Portions Copyright (C) 1996-1998 National Semiconductor Corp.
* All rights reserved.
* Copyright (C) 1996-1998 Microsoft Corporation. All Rights Reserved.
*
*
*
*************************************************************************
*/
#ifndef EXTERNS_H
#define EXTERNS_H
#include "nscdemo.h"
/*
* 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(PBOOLEAN AddressingReset,
NDIS_HANDLE MiniportAdapterContext);
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();
UCHAR GetCOMPort(PUCHAR comBase, comPortRegOffset portOffset);
VOID SetCOMPort(PUCHAR comBase, comPortRegOffset portOffset, UCHAR val);
PNDIS_IRDA_PACKET_INFO GetPacketInfo(PNDIS_PACKET packet);
PVOID MyMemAlloc(UINT size, BOOLEAN isDmaBuf);
VOID MyMemFree(PVOID memptr, UINT size, BOOLEAN isDmaBuf);
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);
BOOLEAN FIR_MegaSend(IrDevice *thisDev);
BOOLEAN FIR_NewMegaSend(IrDevice *thisDev);
void TurnaroundDelay(IrDevice *thisDev);
void FIR_NewMegaSendComplete(IrDevice *thisDev);
void FIR_MegaSendComplete(IrDevice *thisDev);
BOOLEAN NSC_Setup(IrDevice *thisDev);
void NSC_Shutdown(IrDevice *thisDev);
BOOLEAN NdisToFirPacket(IrDevice *thisDev, PNDIS_PACKET Packet,
UCHAR *irPacketBuf, UINT irPacketBufLen,
UINT *irPacketLen);
void FIR_DeliverFrames(IrDevice *thisDev);
VOID NSC_FIR_ISR(IrDevice *thisDev, BOOLEAN *claimingInterrupt,
BOOLEAN *requireDeferredCallback);
BOOLEAN FindLargestSpace(IN IrDevice *thisDev,
OUT PULONG_PTR pOffset,
OUT PULONG_PTR pLength);
void SetupRecv(IrDevice *thisDev);
/*
* Externs for global data objects
*/
struct IrDevice;
extern struct DebugCounters RegStats;
/*
* 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 PermissionToTransmitComm(IrDevice *thisDev);
NDIS_STATUS 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, BOOLEAN IsFIR);
UINT DoRcvDirect(PUCHAR ioBase, UCHAR *data, UINT maxBytes);
VOID CloseCOM(IrDevice *thisDev);
BOOLEAN OpenCOM(IrDevice *thisDev);
VOID SetCOMInterrupts(IrDevice *thisDev, BOOLEAN enable);
VOID DelayedWrite(IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
IN PVOID SystemSpecific3);
/*
* From SETTINGS.C
*/
void LogEvent(char *msg, UINT val);
void DumpLog();
extern const baudRateInfo supportedBaudRateTable[NUM_BAUDRATES];
/*
* From INIT.C
*/
UCHAR NSC_ReadBankReg(PUCHAR comBase, UINT bankNum, UINT regNum);
void NSC_WriteBankReg(PUCHAR comBase, UINT bankNum, UINT regNum,
UCHAR val);
#endif EXTERNS_H