/* (C) 1996-1997 Microsoft Corp. * * file : MCS.h * author : Erik Mavrinac * * description: User mode MCS node controller and user attachment interface * definitions, defined in addition to the common interface functions * defined in MCSCommn.h. */ #ifndef __MCS_H #define __MCS_H #include "MCSCommn.h" /* * Exported API Routines */ #ifdef __cplusplus extern "C" { #endif // User-mode-only entry points. MCSError APIENTRY MCSInitialize(MCSNodeControllerCallback NCCallback); MCSError APIENTRY MCSCleanup(void); MCSError APIENTRY MCSCreateDomain( HANDLE hIca, HANDLE hIcaStack, void *pContext, DomainHandle *phDomain); MCSError APIENTRY MCSDeleteDomain( HANDLE hIca, DomainHandle hDomain, MCSReason Reason); MCSError APIENTRY MCSGetBufferRequest( UserHandle hUser, unsigned Size, void **ppBuffer); MCSError APIENTRY MCSFreeBufferRequest( UserHandle hUser, void *pBuffer); // These functions mirror T.122 primitives. MCSError APIENTRY MCSConnectProviderRequest( DomainSelector CallingDomain, unsigned CallingLength, DomainSelector CalledDomain, unsigned CalledLength, BOOL bUpwardConnection, PDomainParameters pDomainParams, BYTE *pUserData, unsigned UserDataLength, DomainHandle *phDomain, ConnectionHandle *phConn); MCSError APIENTRY MCSConnectProviderResponse( ConnectionHandle hConn, MCSResult Result, BYTE *pUserData, unsigned UserDataLength); MCSError APIENTRY MCSDisconnectProviderRequest( HANDLE hIca, ConnectionHandle hConn, MCSReason Reason); MCSError APIENTRY MCSSendDataRequest( UserHandle hUser, DataRequestType RequestType, ChannelHandle hChannel, ChannelID ChannelID, MCSPriority Priority, Segmentation Segmentation, BYTE *pData, unsigned DataLength); // These are not implemented and may be common to kernel and user // modes but will stay here for now. There are stubs in user mode. MCSError APIENTRY MCSChannelConveneRequest( UserHandle hUser); MCSError APIENTRY MCSChannelDisbandRequest( UserHandle hUser, ChannelID ChannelID); MCSError APIENTRY MCSChannelAdmitRequest( UserHandle hUser, ChannelID ChannelID, UserID *UserIDList, unsigned UserIDCount); MCSError APIENTRY MCSChannelExpelRequest( UserHandle hUser, ChannelID ChannelID, UserID *UserIDList, unsigned UserIDCount); MCSError APIENTRY MCSTokenGrabRequest( UserHandle hUser, TokenID TokenID); MCSError APIENTRY MCSTokenInhibitRequest( UserHandle hUser, TokenID TokenID); MCSError APIENTRY MCSTokenGiveRequest( UserHandle hUser, TokenID TokenID, UserID ReceiverID); MCSError APIENTRY MCSTokenGiveResponse( UserHandle hUser, TokenID TokenID, MCSResult Result); MCSError APIENTRY MCSTokenPleaseRequest( UserHandle hUser, TokenID TokenID); MCSError APIENTRY MCSTokenReleaseRequest( UserHandle hUser, TokenID TokenID); MCSError APIENTRY MCSTokenTestRequest( UserHandle hUser, TokenID TokenID); #ifdef __cplusplus } // End extern "C" block. #endif #endif // !defined(__MCS_H)