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.
267 lines
6.8 KiB
267 lines
6.8 KiB
typedef struct _LLC_TEST_CCB_POOL {
|
|
PLLC_CCB pCcbList;
|
|
ULONG CompletionFlag;
|
|
UCHAR DefautlAdapter;
|
|
UCHAR DefautlCommand;
|
|
} LLC_TEST_CCB_POOL, *PLLC_TEST_CCB_POOL;
|
|
|
|
#define CcbPoolFree( pPool, pCcb ) \
|
|
if ((pCcb)->uchDlcStatus == -2) { \
|
|
puts("Circular list!"); \
|
|
(pCcb)->pNext = NULL; \
|
|
} \
|
|
else { \
|
|
(pCcb)->uchDlcStatus = -2; \
|
|
(pCcb)->pNext = (pPool)->pCcbList; \
|
|
(pPool)->pCcbList = pCcb;\
|
|
}
|
|
|
|
VOID
|
|
CcbPoolDelete(
|
|
PLLC_TEST_CCB_POOL pTranmitCcbPool
|
|
);
|
|
PLLC_CCB
|
|
CcbPoolAlloc(
|
|
IN PLLC_TEST_CCB_POOL pTranmitCcbPool
|
|
);
|
|
VOID
|
|
CcbPoolInitialize(
|
|
PLLC_TEST_CCB_POOL pTranmitCcbPool,
|
|
UCHAR DefaultAdapter,
|
|
UCHAR DefaultCommand,
|
|
ULONG CompletionFlag
|
|
);
|
|
|
|
UINT
|
|
BufferFree(
|
|
IN UINT AdapterNumber,
|
|
IN PVOID pFirstBuffer,
|
|
OUT PUINT puiBuffersLeft
|
|
);
|
|
UINT
|
|
BufferGet(
|
|
IN UINT AdapterNumber,
|
|
IN UINT cBuffersToGet,
|
|
IN UINT cbSegmetSize,
|
|
OUT PLLC_BUFFER *ppFirstBuffer,
|
|
OUT PUINT puiBuffersLeft
|
|
);
|
|
UINT
|
|
BufferCreate(
|
|
IN UINT AdapterNumber,
|
|
IN PVOID pVirtualMemoryBuffer,
|
|
IN ULONG ulVirtualMemorySize,
|
|
IN ULONG ulMaxFreeSizeTreshold,
|
|
IN ULONG ulMinFreeSizeTreshold,
|
|
OUT HANDLE *phBufferPoolHandle
|
|
);
|
|
UINT
|
|
LlcDirOpenAdapter(
|
|
IN UINT AdapterNumber,
|
|
IN PVOID SecurityDescriptor OPTIONAL,
|
|
IN PVOID hBufferPool OPTIONAL,
|
|
OUT PUINT usOpenErrorCode,
|
|
OUT PVOID pNodeAddress OPTIONAL,
|
|
OUT PUINT puiMaxFrameLength,
|
|
OUT PLLC_DLC_PARMS pDlcParameters OPTIONAL
|
|
);
|
|
UINT
|
|
LlcDirSetExceptionFlags(
|
|
IN UINT AdapterNumber,
|
|
IN ULONG ulAdapterCheckFlag,
|
|
IN ULONG ulNetworkStatusFlag,
|
|
IN ULONG ulPcErrorFlag,
|
|
IN ULONG ulSystemActionFlag
|
|
);
|
|
UINT
|
|
DirStatus(
|
|
IN UINT AdapterNumber,
|
|
OUT PLLC_DIR_STATUS_PARMS pDirStatus
|
|
);
|
|
UINT
|
|
DirReadLog(
|
|
IN UINT AdapterNumber,
|
|
IN UINT TypeId,
|
|
OUT PLLC_DIR_READ_LOG_BUFFER pReadDirLog
|
|
);
|
|
UINT
|
|
DlcModify(
|
|
IN UINT AdapterNumber,
|
|
IN USHORT StationId,
|
|
IN PLLC_DLC_MODIFY_PARMS pDlcModify
|
|
);
|
|
UINT
|
|
LlcDlcOpenSap(
|
|
IN UINT AdapterNumber,
|
|
IN UINT usMaxI_Field,
|
|
IN UCHAR uchSapValue,
|
|
IN UINT Options,
|
|
IN UINT uchcStationCount,
|
|
IN UINT cGroupCount OPTIONAL,
|
|
IN PUCHAR pGroupList OPTIONAL,
|
|
IN ULONG DlcStatusFlags OPTIONAL,
|
|
IN PLLC_DLC_OPEN_SAP_PARMS pSapParms OPTIONAL,
|
|
OUT PUSHORT pusStationId,
|
|
OUT PUCHAR pcLinkStationsAvail
|
|
);
|
|
UINT
|
|
DlcOpenStation(
|
|
IN UINT AdapterNumber,
|
|
IN USHORT usSapStationId,
|
|
IN UCHAR uchRemoteSap,
|
|
IN PVOID pRemoteNodeAddress,
|
|
IN PVOID pStationParms,
|
|
OUT PUSHORT pusLinkStationId
|
|
);
|
|
UINT
|
|
LlcDlcReallocate(
|
|
IN UINT AdapterNumber,
|
|
IN USHORT usStationId,
|
|
IN UINT Option,
|
|
IN UCHAR uchStationCount,
|
|
OUT PUCHAR puchStationsAvailOnAdapter,
|
|
OUT PUCHAR puchStationsAvailOnSap,
|
|
OUT PUCHAR puchTotalStationsOnAdapter,
|
|
OUT PUCHAR puchTotalStationsOnSap
|
|
);
|
|
UINT
|
|
DlcStatistics(
|
|
IN UINT AdapterNumber,
|
|
IN USHORT usStationId,
|
|
IN PLLC_DLC_LOG_BUFFER pLogBuf,
|
|
IN UINT Options
|
|
);
|
|
UINT
|
|
LlcDirInitialize(
|
|
IN UINT AdapterNumber,
|
|
OUT PUSHORT pusBringUps
|
|
);
|
|
UINT
|
|
LlcDirOpenDirect(
|
|
IN UINT AdapterNumber,
|
|
IN UINT OpenOptions,
|
|
IN UINT EthernetType OPTIONAL
|
|
);
|
|
UINT
|
|
LlcCommand(
|
|
IN UINT AdapterNumber,
|
|
IN UCHAR Command,
|
|
IN ULONG Parameter
|
|
);
|
|
PLLC_CCB
|
|
LlcCommandInit(
|
|
IN UINT AdapterNumber,
|
|
IN UCHAR Command,
|
|
IN ULONG Parameter,
|
|
IN ULONG CompletionFlag
|
|
);
|
|
PLLC_CCB
|
|
DlcConnectStationInit(
|
|
IN UCHAR Adapter,
|
|
IN ULONG CompletionFlag,
|
|
IN USHORT usStationId,
|
|
IN PVOID pRoutingInfo
|
|
);
|
|
PLLC_CCB
|
|
ReadInit(
|
|
IN UCHAR Adapter,
|
|
IN USHORT usStationId,
|
|
IN UINT OptionIndicator,
|
|
IN UINT EventSet
|
|
);
|
|
PLLC_CCB
|
|
ReceiveInit(
|
|
IN UCHAR Adapter,
|
|
IN ULONG CompletionFlag,
|
|
IN USHORT usStationId,
|
|
IN USHORT UserLength,
|
|
IN ULONG ReceiveFlag,
|
|
IN UINT Options,
|
|
IN UINT RcvReadOptions
|
|
);
|
|
PLLC_CCB
|
|
TransmitInit(
|
|
IN UCHAR Adapter,
|
|
IN UINT Command,
|
|
IN ULONG CompletionFlag,
|
|
IN USHORT StationId,
|
|
IN UCHAR RemoteSap,
|
|
IN UINT XmitReadOption
|
|
);
|
|
PLLC_CCB
|
|
DirTimerSetInit(
|
|
IN UCHAR Adapter,
|
|
IN ULONG CompletionFlag,
|
|
IN USHORT HalfSeconds
|
|
);
|
|
PLLC_CCB
|
|
LlcCloseInit(
|
|
IN UINT Adapter,
|
|
IN ULONG CompletionFlag,
|
|
IN UINT DlcCommand,
|
|
IN USHORT StationId
|
|
);
|
|
PLLC_CCB
|
|
AllocCcb(
|
|
IN UINT Adapter,
|
|
IN UINT DlcCommand,
|
|
IN ULONG CompletionFlag
|
|
);
|
|
VOID
|
|
FreeCcb(
|
|
IN PLLC_CCB pCcb
|
|
);
|
|
VOID
|
|
PrintHex(
|
|
IN PUCHAR pString,
|
|
IN UINT Len
|
|
);
|
|
|
|
#define DirInterrupt( Adapter ) \
|
|
LlcCommand( Adapter, LLC_DIR_INTERRUPT, 0)
|
|
|
|
#define DirTimerCancel( pCcb ) \
|
|
LlcCommand( pCcb->uchAdapterNumber, LLC_DIR_TIMER_CANCEL, (ULONG)pCcb)
|
|
|
|
#define DirTimerCancelGroup( Adapter, Flag )\
|
|
LlcCommand( Adapter, LLC_DIR_TIMER_CANCEL_GROUP, Flag )
|
|
|
|
#define DirTimerCancelGroupInit( Adapter, Flag )\
|
|
LlcCommandInit( Adapter, LLC_DIR_TIMER_CANCEL_GROUP, Flag, \
|
|
TEST_COMMAND_COMPLETION_FLAG )
|
|
|
|
|
|
#define DirSetGroupAddress( Adapter, AddressBits )\
|
|
LlcCommand( Adapter, LLC_DIR_SET_GROUP_ADDRESS, \
|
|
*((PULONG)AddressBits) )
|
|
|
|
#define DirSetFunctionalAddress( Adapter, AddressBits )\
|
|
LlcCommand( Adapter, LLC_DIR_SET_FUNCTIONAL_ADDRESS, \
|
|
*((PULONG)AddressBits) )
|
|
|
|
#define DlcFlowControl( Adapter, StationId, Options )\
|
|
LlcCommand( Adapter, LLC_DLC_FLOW_CONTROL, \
|
|
((ULONG)Options << 16) + StationId)
|
|
|
|
#define ReadCancel( pCcb ) \
|
|
LlcCommand( pCcb->uchAdapterNumber, LLC_READ_CANCEL, (ULONG)pCcb)
|
|
|
|
#define ReceiveCancel( pCcb ) \
|
|
LlcCommand( pCcb->uchAdapterNumber, LLC_RECEIVE_CANCEL, (ULONG)pCcb)
|
|
|
|
UINT AcslanAssert( UINT AcslanStatus, UCHAR DlcStatus );
|
|
|
|
#define ACSLAN_ASSERT( a, b ) b
|
|
//#define ACSLAN_ASSERT( a, b ) AcslanAssert( a, b )
|
|
|
|
#define InitializeCcb( pCcb, AdapterNumber, Command, pParameter ) \
|
|
RtlZeroMemory( (pCcb), sizeof(*(pCcb)));\
|
|
RtlZeroMemory( (pParameter), sizeof(*(pParameter)));\
|
|
(pCcb)->uchAdapterNumber = (UCHAR)AdapterNumber;\
|
|
(pCcb)->uchDlcCommand = (UCHAR)Command;\
|
|
(pCcb)->u.pParameterTable = (PLLC_PARMS)(pParameter)
|
|
|
|
#define InitializeCcb2( pCcb, AdapterNumber, Command ) \
|
|
RtlZeroMemory( (pCcb), sizeof(*(pCcb)));\
|
|
(pCcb)->uchAdapterNumber = (UCHAR)AdapterNumber;\
|
|
(pCcb)->uchDlcCommand = (UCHAR)Command;
|