/****************************************************************************/ // anmapi.h // // RDP Network Manager // // Copyright (C) 1997-1999 Microsoft Corporation /****************************************************************************/ #ifndef _H_ANMAPI #define _H_ANMAPI #include /****************************************************************************/ /* Connection reason codes */ /****************************************************************************/ #define NM_CB_CONN_OK 0 /* Connected successfully */ #define NM_CB_CONN_ERR 1 /* Failed to connect */ /****************************************************************************/ /* Disconnection reason codes */ /****************************************************************************/ #define NM_CB_DISC_SERVER 1 /* Server-initiated disconnection */ #define NM_CB_DISC_LOGOFF 2 /* Logoff */ #define NM_CB_DISC_CLIENT 3 /* Client-initiated disconnection */ #define NM_CB_DISC_NETWORK 4 /* Network error */ /****************************************************************************/ // NM_SendData fast-path output flags. Used in conjunction with some // TS flags in different bits. /****************************************************************************/ #define NM_SEND_FASTPATH_OUTPUT 0x01 #define NM_NO_SECURITY_HEADER 0x02 /****************************************************************************/ /* Structure: NM_CHANNEL_DATA */ /* */ /* Description: Data held for each virtual channel */ /****************************************************************************/ typedef struct tagNM_CHANNEL_DATA { char name[CHANNEL_NAME_LEN + 1]; UINT16 MCSChannelID; ULONG flags; PBYTE pData; PBYTE pNext; unsigned dataLength; unsigned lengthSoFar; } NM_CHANNEL_DATA, *PNM_CHANNEL_DATA, **PPNM_CHANNEL_DATA; /****************************************************************************/ /* FUNCTIONS */ /****************************************************************************/ unsigned RDPCALL NM_GetDataSize(void); BOOL RDPCALL NM_Init(PVOID pNMHandle, PVOID pSMHandle, PTSHARE_WD pWDHandle, DomainHandle hDomainKernel); void RDPCALL NM_Term(PVOID pNMHandle); BOOL RDPCALL NM_Connect(PVOID pNMHandle, PRNS_UD_CS_NET pUserData); BOOL RDPCALL NM_Disconnect(PVOID pNMHandle); NTSTATUS __fastcall NM_AllocBuffer(PVOID pNMHandle, PPVOID ppBuffer, UINT32 bufferSize, BOOLEAN fWait); void __fastcall NM_FreeBuffer(PVOID pNMHandle, PVOID pBuffer); BOOL __fastcall NM_SendData(PVOID, PBYTE, UINT32, UINT32, UINT32, UINT32); void __stdcall NM_MCSUserCallback(UserHandle hUser, unsigned Message, void *Params, void *UserDefined); void RDPCALL NM_Dead(PVOID pNMHandle, BOOL dead); NTSTATUS RDPCALL NM_VirtualQueryBindings(PVOID, PSD_VCBIND, ULONG, PULONG); VIRTUALCHANNELCLASS RDPCALL NM_MCSChannelToVirtual(PVOID, UINT16, PPNM_CHANNEL_DATA); INT16 RDPCALL NM_VirtualChannelToMCS(PVOID, VIRTUALCHANNELCLASS, PPNM_CHANNEL_DATA); NTSTATUS RDPCALL NM_QueryChannels(PVOID, PVOID, unsigned, PULONG); #endif /* _H_ANMAPI */