af062818b47340eef15700d2f0211576ba3506eevboxsync/*
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright 2005 Ulrich Czekalla (For CodeWeavers)
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * a choice of LGPL license versions is made available with the language indicating
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * of the LGPL is applied is otherwise unspecified.
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync */
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifndef __WINE_WTSAPI32_H
af062818b47340eef15700d2f0211576ba3506eevboxsync#define __WINE_WTSAPI32_H
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef __cplusplus
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern "C" {
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagWTS_INFO_CLASS
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSInitialProgram,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSApplicationName,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSWorkingDirectory,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSOEMId,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSSessionId,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserName,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSWinStationName,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSDomainName,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSConnectState,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSClientBuildNumber,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSClientName,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSClientDirectory,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSClientProductId,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSClientHardwareId,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSClientAddress,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSClientDisplay,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSClientProtocolType,
af062818b47340eef15700d2f0211576ba3506eevboxsync} WTS_INFO_CLASS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum _WTS_CONNECTSTATE_CLASS
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSActive,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSConnected,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSConnectQuery,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSShadow,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSDisconnected,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSIdle,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSListen,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSReset,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSDown,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSInit
af062818b47340eef15700d2f0211576ba3506eevboxsync} WTS_CONNECTSTATE_CLASS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum _WTS_CONFIG_CLASS
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigInitialProgram,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigWorkingDirectory,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigInheritInitialProgram,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigAllowLogonTerminalServer,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigTimeoutSettingsConnections,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigTimeoutSettingsDisconnections,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigTimeoutSettingsIdle,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigDeviceClientDrives,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigDeviceClientPrinters,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigDeviceClientDefaultPrinter,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigBrokenTimeoutSettings,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigModemCallbackSettings,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigModemCallbackPhoneNumber,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigShadowSettings,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigTerminalServerProfilePath,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigTerminalServerHomeDirectory,
af062818b47340eef15700d2f0211576ba3506eevboxsync WTSUserConfigfTerminalServerRemoteHomeDir
af062818b47340eef15700d2f0211576ba3506eevboxsync} WTS_CONFIG_CLASS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _WTS_PROCESS_INFOA
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD SessionId;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD ProcessId;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pProcessName;
af062818b47340eef15700d2f0211576ba3506eevboxsync PSID pUserSid;
af062818b47340eef15700d2f0211576ba3506eevboxsync} WTS_PROCESS_INFOA, *PWTS_PROCESS_INFOA;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _WTS_PROCESS_INFOW
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD SessionId;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD ProcessId;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPWSTR pProcessName;
af062818b47340eef15700d2f0211576ba3506eevboxsync PSID pUserSid;
af062818b47340eef15700d2f0211576ba3506eevboxsync} WTS_PROCESS_INFOW, *PWTS_PROCESS_INFOW;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECL_WINELIB_TYPE_AW(WTS_PROCESS_INFO)
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECL_WINELIB_TYPE_AW(PWTS_PROCESS_INFO)
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _WTS_SESSION_INFOA
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD SessionId;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pWinStationName;
af062818b47340eef15700d2f0211576ba3506eevboxsync WTS_CONNECTSTATE_CLASS State;
af062818b47340eef15700d2f0211576ba3506eevboxsync} WTS_SESSION_INFOA, *PWTS_SESSION_INFOA;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _WTS_SESSION_INFOW
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD SessionId;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPWSTR pWinStationName;
af062818b47340eef15700d2f0211576ba3506eevboxsync WTS_CONNECTSTATE_CLASS State;
af062818b47340eef15700d2f0211576ba3506eevboxsync} WTS_SESSION_INFOW, *PWTS_SESSION_INFOW;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECL_WINELIB_TYPE_AW(WTS_SESSION_INFO)
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECL_WINELIB_TYPE_AW(PWTS_SESSION_INFO)
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _WTS_SERVER_INFOA
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync LPSTR pServerName;
af062818b47340eef15700d2f0211576ba3506eevboxsync} WTS_SERVER_INFOA, *PWTS_SERVER_INFOA;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _WTS_SERVER_INFOW
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync LPWSTR pServerName;
af062818b47340eef15700d2f0211576ba3506eevboxsync} WTS_SERVER_INFOW, *PWTS_SERVER_INFOW;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECL_WINELIB_TYPE_AW(WTS_SERVER_INFO)
af062818b47340eef15700d2f0211576ba3506eevboxsyncDECL_WINELIB_TYPE_AW(PWTS_SERVER_INFO)
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncvoid WINAPI WTSCloseServer(HANDLE);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSDisconnectSession(HANDLE, DWORD, BOOL);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSEnumerateProcessesA(HANDLE, DWORD, DWORD, PWTS_PROCESS_INFOA *, DWORD *);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSEnumerateProcessesW(HANDLE, DWORD, DWORD, PWTS_PROCESS_INFOW *, DWORD *);
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WTSEnumerateProcesses WINELIB_NAME_AW(WTSEnumerateProcesses)
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSEnumerateServersA( LPSTR, DWORD, DWORD, PWTS_SERVER_INFOA*, DWORD*);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSEnumerateServersW( LPWSTR, DWORD, DWORD, PWTS_SERVER_INFOW*, DWORD*);
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WTSEnumerateServers WINELIB_NAME_AW(WTSEnumerateServers)
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSEnumerateSessionsA(HANDLE, DWORD, DWORD, PWTS_SESSION_INFOA *, DWORD *);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSEnumerateSessionsW(HANDLE, DWORD, DWORD, PWTS_SESSION_INFOW *, DWORD *);
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WTSEnumerateSessions WINELIB_NAME_AW(WTSEnumerateSessions)
af062818b47340eef15700d2f0211576ba3506eevboxsyncvoid WINAPI WTSFreeMemory(PVOID);
af062818b47340eef15700d2f0211576ba3506eevboxsyncHANDLE WINAPI WTSOpenServerA(LPSTR);
af062818b47340eef15700d2f0211576ba3506eevboxsyncHANDLE WINAPI WTSOpenServerW(LPWSTR);
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WTSOpenServer WINELIB_NAME_AW(WTSOpenServer)
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSQuerySessionInformationA(HANDLE, DWORD, WTS_INFO_CLASS, LPSTR *, DWORD *);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSQuerySessionInformationW(HANDLE, DWORD, WTS_INFO_CLASS, LPWSTR *, DWORD *);
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WTSQuerySessionInformation WINELIB_NAME_AW(WTSQuerySessionInformation)
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSQueryUserConfigA(LPSTR,LPSTR,WTS_CONFIG_CLASS,LPSTR*,DWORD*);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSQueryUserConfigW(LPWSTR,LPWSTR,WTS_CONFIG_CLASS,LPWSTR*,DWORD*);
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WTSQueryUserConfig WINELIB_NAME_AW(WTSQueryUserConfig)
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSQueryUserToken(ULONG, PHANDLE);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSRegisterSessionNotification(HWND, DWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSRegisterSessionNotificationEx(HANDLE, HWND, DWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSTerminateProcess(HANDLE, DWORD, DWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSUnRegisterSessionNotification(HWND);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSUnRegisterSessionNotificationEx(HANDLE, HWND);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WTSWaitSystemEvent(HANDLE, DWORD, DWORD*);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef __cplusplus
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif