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.
651 lines
9.1 KiB
651 lines
9.1 KiB
// prototypes
|
|
|
|
NTSTATUS
|
|
ArapProcessIoctl(
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
BOOLEAN
|
|
ArapAcceptIrp(
|
|
IN PIRP pIrp,
|
|
IN ULONG IoControlCode,
|
|
IN BOOLEAN *pfDerefDefPort
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapCancelIrp(
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapGetSelectIrp(
|
|
IN PIRP *ppIrp
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
ArapExchangeParms(
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
ArapConnect(
|
|
IN PIRP pIrp,
|
|
IN ULONG IoControlCode
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
ArapDisconnect(
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
ArapGetStats(
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
ArapGetAddr(
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
ArapProcessSelect(
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
PARAPCONN
|
|
FindArapConnByContx(
|
|
IN PVOID pDllContext
|
|
);
|
|
|
|
|
|
PARAPCONN
|
|
FindAndRefArapConnByAddr(
|
|
IN ATALK_NODEADDR destNode,
|
|
OUT DWORD *pdwFlags
|
|
);
|
|
|
|
|
|
PVOID
|
|
FindAndRefRasConnByAddr(
|
|
IN ATALK_NODEADDR destNode,
|
|
OUT DWORD *pdwFlags,
|
|
OUT BOOLEAN *pfThisIsPPP
|
|
);
|
|
|
|
|
|
BOOLEAN
|
|
ArapConnIsValid(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
VOID
|
|
DerefArapConn(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
VOID
|
|
DerefMnpSendBuf(
|
|
IN PMNPSENDBUF pMnpSendBuf,
|
|
IN BOOLEAN fNdisSendComplete
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapReleaseAddr(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
ArapIoctlSend(
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
ArapIoctlRecv(
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapDelayedNotify(
|
|
OUT PARAPCONN *ppDiscArapConn,
|
|
OUT PARAPCONN *ppRecvArapConn
|
|
);
|
|
|
|
|
|
DWORD
|
|
ArapSendPrepare(
|
|
IN PARAPCONN pArapConn,
|
|
IN PBUFFER_DESC pOrgBuffDesc,
|
|
IN DWORD Priority
|
|
);
|
|
|
|
VOID
|
|
ArapIoctlSendComplete(
|
|
IN DWORD StatusCode,
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapRcvIndication(
|
|
IN PARAPCONN pArapConn,
|
|
IN PVOID LkBuf,
|
|
IN UINT LkBufSize
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapRcvComplete(
|
|
IN VOID
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapPerConnRcvProcess(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapNdisSend(
|
|
IN PARAPCONN pArapConn,
|
|
IN PLIST_ENTRY pSendHead
|
|
);
|
|
|
|
|
|
DWORD
|
|
ArapGetNdisPacket(
|
|
IN PMNPSENDBUF pMnpSendBuf
|
|
);
|
|
|
|
|
|
BOOLEAN
|
|
ArapRefillSendQ(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapNdisSendComplete(
|
|
IN NDIS_STATUS Status,
|
|
IN PBUFFER_DESC pBufferDesc,
|
|
IN PSEND_COMPL_INFO pSendInfo
|
|
);
|
|
|
|
|
|
VOID
|
|
RasStatusIndication(
|
|
IN NDIS_STATUS GeneralStatus,
|
|
IN PVOID StatusBuf,
|
|
IN UINT StatusBufLen
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapRetransmitComplete(
|
|
NDIS_STATUS Status,
|
|
PBUFFER_DESC pBuffDesc,
|
|
PSEND_COMPL_INFO pArapSendInfo
|
|
);
|
|
|
|
|
|
VOID ArapMnpSendComplete(
|
|
IN PMNPSENDBUF pMnpSendBuf,
|
|
IN DWORD Status
|
|
);
|
|
|
|
|
|
PARAPBUF
|
|
ArapExtractAtalkSRP(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
PBYTE
|
|
ArapAllocDecompMemory(
|
|
IN DWORD BufferSize
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapFreeDecompMemory(
|
|
IN PBYTE pDecompMemory
|
|
);
|
|
|
|
|
|
DWORD
|
|
ArapQueueSendBytes(
|
|
IN PARAPCONN pArapConn,
|
|
IN PBYTE pCompressedDataBuffer,
|
|
IN DWORD CompressedDataLen,
|
|
IN DWORD Priority
|
|
);
|
|
|
|
|
|
PMNPSENDBUF
|
|
ArapGetSendBuf(
|
|
IN PARAPCONN pArapConn,
|
|
IN DWORD Priority
|
|
);
|
|
|
|
|
|
DWORD
|
|
PrepareConnectionResponse(
|
|
IN PARAPCONN pArapConn,
|
|
IN PBYTE pReq,
|
|
IN DWORD ReqLen,
|
|
IN PBYTE pFrame,
|
|
IN USHORT * pMnpLen
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
ArapMarkConnectionForCallback(
|
|
IN PIRP pIrp,
|
|
IN ULONG IoControlCode
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
ArapMarkConnectionUp(
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
PLIST_ENTRY
|
|
ArapRearrangePackets(
|
|
IN PARAPCONN pArapConn,
|
|
IN PLIST_ENTRY pRcvList
|
|
);
|
|
|
|
|
|
VOID
|
|
MnpSendAckIfReqd(
|
|
IN PARAPCONN pArapConn,
|
|
IN BOOLEAN fForceAck
|
|
);
|
|
|
|
|
|
VOID
|
|
MnpSendLNAck(
|
|
IN PARAPCONN pArapConn,
|
|
IN BYTE LnSeqToAck
|
|
);
|
|
|
|
|
|
DWORD
|
|
ArapSendLDPacket(
|
|
IN PARAPCONN pArapConn,
|
|
IN BYTE UserCode
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapConnectComplete(
|
|
IN PMNPSENDBUF pMnpSendBuf,
|
|
IN DWORD Status
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapCleanup(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
DWORD
|
|
ArapDataToDll(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
VOID
|
|
MnpSendAckComplete(
|
|
IN NDIS_STATUS Status,
|
|
IN PBUFFER_DESC pBuffDesc,
|
|
IN PSEND_COMPL_INFO pInfo
|
|
);
|
|
|
|
|
|
DWORD
|
|
ArapGetStaticAddr(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
DWORD
|
|
ArapGetDynamicAddr(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
PARAPCONN
|
|
AllocArapConn(
|
|
IN ULONG LinkSpeed
|
|
);
|
|
|
|
|
|
DWORD
|
|
ArapUnblockSelect(
|
|
IN VOID
|
|
);
|
|
|
|
|
|
DWORD
|
|
ArapReleaseResources(
|
|
IN VOID
|
|
);
|
|
|
|
|
|
BOOLEAN
|
|
AtalkReferenceRasDefPort(
|
|
IN VOID
|
|
);
|
|
|
|
|
|
VOID
|
|
AtalkPnPInformRas(
|
|
IN BOOLEAN fEnableRas
|
|
);
|
|
|
|
|
|
DWORD
|
|
ArapScheduleWorkerEvent(
|
|
IN DWORD Action,
|
|
IN PVOID Context1,
|
|
IN PVOID Context2
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapDelayedEventHandler(
|
|
IN PARAPQITEM pArapQItem
|
|
);
|
|
|
|
|
|
LONG FASTCALL
|
|
ArapRetryTimer(
|
|
IN PTIMERLIST pTimer,
|
|
IN BOOLEAN TimerShuttingDown
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapRoutePacketFromWan(
|
|
IN PARAPCONN pArapConn,
|
|
IN PARAPBUF pArapBuf
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapRoutePacketToWan(
|
|
IN ATALK_ADDR *pDestAddr,
|
|
IN ATALK_ADDR *pSrcAddr,
|
|
IN BYTE Protocol,
|
|
IN PBYTE packet,
|
|
IN USHORT PktLen,
|
|
IN BOOLEAN broadcast,
|
|
OUT PBOOLEAN pDelivered
|
|
);
|
|
|
|
|
|
BOOLEAN
|
|
ArapOkToForward(
|
|
IN PARAPCONN pArapConn,
|
|
IN PBYTE packet,
|
|
IN USHORT packetLen,
|
|
OUT DWORD *pPriority
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapAddArapRoute(
|
|
IN VOID
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapDeleteArapRoute(
|
|
IN VOID
|
|
);
|
|
|
|
|
|
|
|
VOID
|
|
ArapZipGetZoneStat(
|
|
IN OUT PZONESTAT pZoneStat
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapZipGetZoneStatCompletion(
|
|
IN ATALK_ERROR ErrorCode,
|
|
IN PACTREQ pActReq
|
|
);
|
|
|
|
|
|
BOOLEAN
|
|
ArapValidNetrange(
|
|
IN NETWORKRANGE NetRange
|
|
);
|
|
|
|
BOOLEAN
|
|
v42bisInit(
|
|
IN PARAPCONN pArapConn,
|
|
IN PBYTE pReq,
|
|
OUT DWORD *dwReqToSkip,
|
|
OUT PBYTE pFrame,
|
|
OUT DWORD *dwFrameToSkip
|
|
);
|
|
|
|
|
|
DWORD
|
|
v42bisCompress(
|
|
IN PARAPCONN pArapConn,
|
|
IN PUCHAR pUncompressedData,
|
|
IN DWORD UnCompressedDataLen,
|
|
OUT PUCHAR pCompressedData,
|
|
OUT DWORD CompressedDataBufSize,
|
|
OUT DWORD *pCompressedDataLen
|
|
);
|
|
|
|
|
|
DWORD
|
|
v42bisDecompress(
|
|
IN PARAPCONN pArapConn,
|
|
IN PUCHAR pCompressedData,
|
|
IN DWORD CompressedDataLen,
|
|
OUT PUCHAR pDecompressedData,
|
|
OUT DWORD DecompressedDataBufSize,
|
|
OUT DWORD *pByteStillToDecompress,
|
|
OUT DWORD *pDecompressedDataLen
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapCaptureSniff(
|
|
IN PARAPCONN pArapConn,
|
|
IN PBUFFER_DESC pBufferDescr,
|
|
IN BYTE FirstSeq,
|
|
IN BYTE LastSeq
|
|
);
|
|
|
|
|
|
//
|
|
// PPP specific routines
|
|
//
|
|
|
|
PATCPCONN
|
|
AllocPPPConn(
|
|
IN VOID
|
|
);
|
|
|
|
|
|
NTSTATUS FASTCALL
|
|
PPPProcessIoctl(
|
|
IN PIRP pIrp,
|
|
IN OUT PARAP_SEND_RECV_INFO pSndRcvInfo,
|
|
IN ULONG IoControlCode,
|
|
IN PATCPCONN pIncomingAtcpConn
|
|
);
|
|
|
|
|
|
VOID
|
|
DerefPPPConn(
|
|
IN PATCPCONN pAtcpConn
|
|
);
|
|
|
|
|
|
PATCPCONN
|
|
FindAndRefPPPConnByAddr(
|
|
IN ATALK_NODEADDR destNode,
|
|
OUT DWORD *pdwFlags
|
|
);
|
|
|
|
|
|
|
|
VOID
|
|
PPPRoutePacketToWan(
|
|
IN ATALK_ADDR *pDestAddr,
|
|
IN ATALK_ADDR *pSrcAddr,
|
|
IN BYTE Protocol,
|
|
IN PBYTE packet,
|
|
IN USHORT PktLen,
|
|
IN USHORT HopCount,
|
|
IN BOOLEAN broadcast,
|
|
OUT PBOOLEAN pDelivered
|
|
);
|
|
|
|
|
|
VOID FASTCALL
|
|
PPPTransmit(
|
|
IN PATCPCONN pAtcpConn,
|
|
IN ATALK_ADDR *pDestAddr,
|
|
IN ATALK_ADDR *pSrcAddr,
|
|
IN BYTE Protocol,
|
|
IN PBYTE packet,
|
|
IN USHORT PktLen,
|
|
IN USHORT HopCount
|
|
);
|
|
|
|
|
|
VOID FASTCALL
|
|
PPPTransmitCompletion(
|
|
IN NDIS_STATUS Status,
|
|
IN PSEND_COMPL_INFO pSendInfo
|
|
);
|
|
|
|
|
|
DWORD
|
|
PPPGetDynamicAddr(
|
|
IN PATCPCONN pAtcpConn
|
|
);
|
|
|
|
|
|
//
|
|
// Debug-only routines
|
|
//
|
|
|
|
#if DBG
|
|
|
|
NTSTATUS
|
|
ArapProcessSniff(
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
BOOLEAN
|
|
DbgChkRcvQIntegrity(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
VOID
|
|
DbgDumpBytes(
|
|
IN PBYTE pDbgMsg,
|
|
IN PBYTE pBuffer,
|
|
IN DWORD BufLen,
|
|
IN DWORD DumpLevel
|
|
);
|
|
|
|
VOID
|
|
DbgDumpBytesPart2(
|
|
IN PBYTE pBuffer,
|
|
OUT PBYTE OutBuf,
|
|
IN DWORD BufLen,
|
|
OUT DWORD *NextIndex
|
|
);
|
|
|
|
VOID
|
|
DbgDumpNetworkNumbers(
|
|
IN VOID
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapDbgTrace(
|
|
IN PARAPCONN pArapConn,
|
|
IN DWORD Location,
|
|
IN PVOID Context,
|
|
IN DWORD dwInfo1,
|
|
IN DWORD dwInfo2,
|
|
IN DWORD dwInfo3
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapDbgMnpHist(
|
|
IN PARAPCONN pArapConn,
|
|
IN BYTE Seq,
|
|
IN BYTE FrameType
|
|
);
|
|
|
|
VOID
|
|
ArapDbgDumpMnpHist(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
BOOLEAN
|
|
ArapDumpSniffInfo(
|
|
IN PARAPCONN pArapConn
|
|
);
|
|
|
|
|
|
DWORD
|
|
ArapFillIrpWithSniffInfo(
|
|
IN PARAPCONN pArapConn,
|
|
IN PIRP pIrp
|
|
);
|
|
|
|
|
|
VOID
|
|
DbgTrackInfo(
|
|
IN PARAPCONN pArapConn,
|
|
IN DWORD Size,
|
|
IN DWORD TrackingWhat
|
|
);
|
|
|
|
|
|
VOID
|
|
ArapDumpNdisPktInfo(
|
|
IN VOID
|
|
);
|
|
|
|
#endif
|
|
|