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