windows-nt/Source/XPSP1/NT/net/rras/ipx/sap/lpcmgr.h
2020-09-26 16:20:57 +08:00

154 lines
3.2 KiB
C

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
net\routing\ipx\sap\lpcmgr.h
Abstract:
Header for SAP LPC manager
Author:
Vadim Eydelman 05-15-1995
Revision History:
--*/
#ifndef _SAP_LPCMGR_
#define _SAP_LPCMGR_
#include "nwsap.h"
#include "saplpc.h"
// LPC parameters associated with LPC request
typedef struct _LPC_PARAM_BLOCK {
HANDLE client; // Client context
PNWSAP_REQUEST_MESSAGE request;// Request block
} LPC_PARAM_BLOCK, *PLPC_PARAM_BLOCK;
/*++
*******************************************************************
I n i t i a l i z e L P C S t u f f
Routine Description:
Allocates resources neccessary to implement LPC interface
Arguments:
None
Return Value:
NO_ERROR - port was created OK
other - operation failed (windows error code)
*******************************************************************
--*/
DWORD
InitializeLPCStuff (
void
);
/*++
*******************************************************************
S t a r t L P C
Routine Description:
Start SAP LPC interface
Arguments:
None
Return Value:
NO_ERROR - LPC interface was started OK
other - operation failed (windows error code)
*******************************************************************
--*/
DWORD
StartLPC (
void
);
/*++
*******************************************************************
S h u t d o w n L P C
Routine Description:
Shuts SAP LPC interface down, closes all active sessions
Arguments:
None
Return Value:
NO_ERROR - LPC interface was shutdown OK
other - operation failed (windows error code)
*******************************************************************
--*/
DWORD
ShutdownLPC (
void
);
/*++
*******************************************************************
D e l e t e L P C S t u f f
Routine Description:
Disposes of resources allocated for LPC interface
Arguments:
None
Return Value:
None
*******************************************************************
--*/
VOID
DeleteLPCStuff (
void
);
/*++
*******************************************************************
P r o c e s s L P C R e q u e s t s
Routine Description:
Waits for requests on LPC port and processes them
Client requests that require additional processing by other SAP
components are enqued into completion queue.
This routine returns only when it encounters a request that requires
additional processing or when error occurs
Arguments:
lreq - LPC parameter block to be filled and posted to completions queue
Return Value:
NO_ERROR - LPC request was received and posted to completio queue
other - operation failed (LPC supplied error code)
*******************************************************************
--*/
DWORD
ProcessLPCRequests (
PLPC_PARAM_BLOCK item
);
/*++
*******************************************************************
S e n d L P C R e p l y
Routine Description:
Send reply for LPC request
Arguments:
client - context associated with client to reply to
request - request to which to reply
reply - reply to send
Return Value:
NO_ERROR - LPC reply was sent OK
other - operation failed (LPC supplied error code)
*******************************************************************
--*/
DWORD
SendLPCReply (
HANDLE client,
PNWSAP_REQUEST_MESSAGE request,
PNWSAP_REPLY_MESSAGE reply
);
#endif