105 lines
2 KiB
C
105 lines
2 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1995 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
net\routing\ipx\sap\netio.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Header file for net io module.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Vadim Eydelman 05-15-1995
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
#ifndef _SAP_NETIO_
|
||
|
#define _SAP_NETIO_
|
||
|
|
||
|
// Param block to enqueue io requests
|
||
|
typedef struct _IO_PARAM_BLOCK IO_PARAM_BLOCK, *PIO_PARAM_BLOCK;
|
||
|
struct _IO_PARAM_BLOCK {
|
||
|
LIST_ENTRY link; // Link in internal queues
|
||
|
ULONG adpt; // Adapter index
|
||
|
PUCHAR buffer; // Data to send/buffer to recv into
|
||
|
DWORD cbBuffer; // Size of data/buffer
|
||
|
DWORD status; // Result of IO operation
|
||
|
DWORD compTime; // Time (windows time in msec)
|
||
|
// the request was completed
|
||
|
OVERLAPPED ovlp;
|
||
|
VOID (CALLBACK *comp)
|
||
|
(DWORD,DWORD,PIO_PARAM_BLOCK);
|
||
|
ADDRESS_RESERVED rsvd;
|
||
|
};
|
||
|
|
||
|
DWORD
|
||
|
CreateIOQueue (
|
||
|
HANDLE *RecvEvent
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
DeleteIOQueue (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
StartIO (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
StopIO (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
|
||
|
|
||
|
/*++
|
||
|
*******************************************************************
|
||
|
E n q u e u e S e n d R e q u e s t
|
||
|
|
||
|
Routine Description:
|
||
|
Sets adapter id field in request io param block and enqueues
|
||
|
send request to adapter's driver.
|
||
|
Arguments:
|
||
|
sreq - io parameter block, the following fields must be set:
|
||
|
intf - pointer to interface external data
|
||
|
buffer - pointer to buffer that contains data to be sent
|
||
|
cbBuffer - count of bytes of data in the buffer
|
||
|
Return Value:
|
||
|
None
|
||
|
|
||
|
*******************************************************************
|
||
|
--*/
|
||
|
VOID
|
||
|
EnqueueSendRequest (
|
||
|
IN PIO_PARAM_BLOCK sreq
|
||
|
);
|
||
|
|
||
|
|
||
|
/*++
|
||
|
*******************************************************************
|
||
|
E n q u e u e R e c v R e q u e s t
|
||
|
|
||
|
Routine Description:
|
||
|
Enqueues recv request to be posted to the network driver.
|
||
|
Arguments:
|
||
|
rreq - io parameter block, the following fields must be set:
|
||
|
buffer - pointer to buffer to receive data
|
||
|
cbBuffer - size of the buffer
|
||
|
Return Value:
|
||
|
None
|
||
|
|
||
|
*******************************************************************
|
||
|
--*/
|
||
|
VOID
|
||
|
EnqueueRecvRequest (
|
||
|
PIO_PARAM_BLOCK rreq
|
||
|
);
|
||
|
|
||
|
#endif
|