Leaked source code of windows server 2003
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.1 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