windows-nt/Source/XPSP1/NT/net/rras/ipx/sap/netio.h

105 lines
2 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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