mirror of https://github.com/tongzx/nt5src
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.
104 lines
2.0 KiB
104 lines
2.0 KiB
/*++
|
|
|
|
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
|