Blame include/freerdp/client/file.h

Packit Service fa4841
/**
Packit Service fa4841
 * FreeRDP: A Remote Desktop Protocol Implementation
Packit Service fa4841
 * .rdp file
Packit Service fa4841
 *
Packit Service fa4841
 * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
Packit Service fa4841
 *
Packit Service fa4841
 * Licensed under the Apache License, Version 2.0 (the "License");
Packit Service fa4841
 * you may not use this file except in compliance with the License.
Packit Service fa4841
 * You may obtain a copy of the License at
Packit Service fa4841
 *
Packit Service fa4841
 *     http://www.apache.org/licenses/LICENSE-2.0
Packit Service fa4841
 *
Packit Service fa4841
 * Unless required by applicable law or agreed to in writing, software
Packit Service fa4841
 * distributed under the License is distributed on an "AS IS" BASIS,
Packit Service fa4841
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Packit Service fa4841
 * See the License for the specific language governing permissions and
Packit Service fa4841
 * limitations under the License.
Packit Service fa4841
 */
Packit Service fa4841
Packit Service fa4841
#ifndef FREERDP_CLIENT_RDP_FILE_H
Packit Service fa4841
#define FREERDP_CLIENT_RDP_FILE_H
Packit Service fa4841
Packit Service fa4841
#include <freerdp/api.h>
Packit Service fa4841
#include <freerdp/freerdp.h>
Packit Service fa4841
Packit Service bb5c11
#define RDP_FILE_LINE_FLAG_FORMATTED		0x00000001
Packit Service bb5c11
#define RDP_FILE_LINE_FLAG_STANDARD		0x00000002
Packit Service bb5c11
#define RDP_FILE_LINE_FLAG_TYPE_STRING		0x00000010
Packit Service bb5c11
#define RDP_FILE_LINE_FLAG_TYPE_INTEGER		0x00000020
Packit Service bb5c11
#define RDP_FILE_LINE_FLAG_TYPE_BINARY		0x00000040
Packit Service bb5c11
Packit Service bb5c11
struct rdp_file_line
Packit Service bb5c11
{
Packit Service bb5c11
	int index;
Packit Service bb5c11
	char* text;
Packit Service bb5c11
	DWORD flags;
Packit Service bb5c11
	char* name;
Packit Service bb5c11
	LPSTR sValue;
Packit Service bb5c11
	DWORD iValue;
Packit Service bb5c11
	PBYTE bValue;
Packit Service bb5c11
	int valueLength;
Packit Service bb5c11
};
Packit Service bb5c11
typedef struct rdp_file_line rdpFileLine;
Packit Service bb5c11
Packit Service bb5c11
struct rdp_file
Packit Service bb5c11
{
Packit Service bb5c11
	DWORD UseMultiMon; /* use multimon */
Packit Service bb5c11
	DWORD ScreenModeId; /* screen mode id */
Packit Service bb5c11
	DWORD SpanMonitors; /* span monitors */
Packit Service bb5c11
	DWORD SmartSizing; /* smartsizing */
Packit Service bb5c11
	DWORD EnableSuperSpan; /* enablesuperpan */
Packit Service bb5c11
	DWORD SuperSpanAccelerationFactor; /* superpanaccelerationfactor */
Packit Service bb5c11
Packit Service bb5c11
	DWORD DesktopWidth; /* desktopwidth */
Packit Service bb5c11
	DWORD DesktopHeight; /* desktopheight */
Packit Service bb5c11
	DWORD DesktopSizeId; /* desktop size id */
Packit Service bb5c11
	DWORD SessionBpp; /* session bpp */
Packit Service bb5c11
Packit Service bb5c11
	DWORD Compression; /* compression */
Packit Service bb5c11
	DWORD KeyboardHook; /* keyboardhook */
Packit Service bb5c11
	DWORD DisableCtrlAltDel; /* disable ctrl+alt+del */
Packit Service bb5c11
Packit Service bb5c11
	DWORD AudioMode; /* audiomode */
Packit Service bb5c11
	DWORD AudioQualityMode; /* audioqualitymode */
Packit Service bb5c11
	DWORD AudioCaptureMode; /* audiocapturemode */
Packit Service bb5c11
	DWORD VideoPlaybackMode; /* videoplaybackmode */
Packit Service bb5c11
Packit Service bb5c11
	DWORD ConnectionType; /* connection type */
Packit Service bb5c11
Packit Service bb5c11
	DWORD NetworkAutoDetect; /* networkautodetect */
Packit Service bb5c11
	DWORD BandwidthAutoDetect; /* bandwidthautodetect */
Packit Service bb5c11
Packit Service bb5c11
	DWORD PinConnectionBar; /* pinconnectionbar */
Packit Service bb5c11
	DWORD DisplayConnectionBar; /* displayconnectionbar */
Packit Service bb5c11
Packit Service bb5c11
	DWORD WorkspaceId; /* workspaceid */
Packit Service bb5c11
	DWORD EnableWorkspaceReconnect; /* enableworkspacereconnect */
Packit Service bb5c11
Packit Service bb5c11
	DWORD DisableWallpaper; /* disable wallpaper */
Packit Service bb5c11
	DWORD AllowFontSmoothing; /* allow font smoothing */
Packit Service bb5c11
	DWORD AllowDesktopComposition; /* allow desktop composition */
Packit Service bb5c11
	DWORD DisableFullWindowDrag; /* disable full window drag */
Packit Service bb5c11
	DWORD DisableMenuAnims; /* disable menu anims */
Packit Service bb5c11
	DWORD DisableThemes; /* disable themes */
Packit Service bb5c11
	DWORD DisableCursorSetting; /* disable cursor setting */
Packit Service bb5c11
Packit Service bb5c11
	DWORD BitmapCacheSize; /* bitmapcachesize */
Packit Service bb5c11
	DWORD BitmapCachePersistEnable; /* bitmapcachepersistenable */
Packit Service bb5c11
Packit Service bb5c11
	LPSTR Username; /* username */
Packit Service bb5c11
	LPSTR Domain; /* domain */
Packit Service bb5c11
	LPSTR Password; /*password*/
Packit Service bb5c11
	PBYTE Password51; /* password 51 */
Packit Service bb5c11
Packit Service bb5c11
	LPSTR FullAddress; /* full address */
Packit Service bb5c11
	LPSTR AlternateFullAddress; /* alternate full address */
Packit Service bb5c11
	DWORD ServerPort; /* server port */
Packit Service bb5c11
Packit Service bb5c11
	DWORD RedirectDrives; /* redirectdrives */
Packit Service bb5c11
	DWORD RedirectPrinters; /* redirectprinters */
Packit Service bb5c11
	DWORD RedirectComPorts; /* redirectcomports */
Packit Service bb5c11
	DWORD RedirectSmartCards; /* redirectsmartcards */
Packit Service bb5c11
	DWORD RedirectClipboard; /* redirectclipboard */
Packit Service bb5c11
	DWORD RedirectPosDevices; /* redirectposdevices */
Packit Service bb5c11
	DWORD RedirectDirectX; /* redirectdirectx */
Packit Service bb5c11
	DWORD DisablePrinterRedirection; /* disableprinterredirection */
Packit Service bb5c11
	DWORD DisableClipboardRedirection; /* disableclipboardredirection */
Packit Service bb5c11
	LPSTR UsbDevicesToRedirect; /* usbdevicestoredirect */
Packit Service bb5c11
Packit Service bb5c11
	DWORD ConnectToConsole; /* connect to console */
Packit Service bb5c11
	DWORD AdministrativeSession; /* administrative session */
Packit Service bb5c11
	DWORD AutoReconnectionEnabled; /* autoreconnection enabled */
Packit Service bb5c11
	DWORD AutoReconnectMaxRetries; /* autoreconnect max retries */
Packit Service bb5c11
Packit Service bb5c11
	DWORD PublicMode; /* public mode */
Packit Service bb5c11
	DWORD AuthenticationLevel; /* authentication level */
Packit Service bb5c11
	DWORD PromptCredentialOnce; /* promptcredentialonce */
Packit Service bb5c11
	DWORD PromptForCredentials; /* prompt for credentials */
Packit Service bb5c11
	DWORD PromptForCredentialsOnce; /* promptcredentialonce */
Packit Service bb5c11
	DWORD NegotiateSecurityLayer; /* negotiate security layer */
Packit Service bb5c11
	DWORD EnableCredSSPSupport; /* enablecredsspsupport */
Packit Service bb5c11
	LPSTR LoadBalanceInfo; /* loadbalanceinfo */
Packit Service bb5c11
Packit Service bb5c11
	DWORD RemoteApplicationMode; /* remoteapplicationmode */
Packit Service bb5c11
	LPSTR RemoteApplicationName; /* remoteapplicationname */
Packit Service bb5c11
	LPSTR RemoteApplicationIcon; /* remoteapplicationicon */
Packit Service bb5c11
	LPSTR RemoteApplicationProgram; /* remoteapplicationprogram */
Packit Service bb5c11
	LPSTR RemoteApplicationFile; /* remoteapplicationfile */
Packit Service bb5c11
	LPSTR RemoteApplicationGuid; /* remoteapplicationguid */
Packit Service bb5c11
	LPSTR RemoteApplicationCmdLine; /* remoteapplicationcmdline */
Packit Service bb5c11
	DWORD RemoteApplicationExpandCmdLine; /* remoteapplicationexpandcmdline */
Packit Service bb5c11
	DWORD RemoteApplicationExpandWorkingDir; /* remoteapplicationexpandworkingdir */
Packit Service bb5c11
	DWORD DisableConnectionSharing; /* disableconnectionsharing */
Packit Service bb5c11
	DWORD DisableRemoteAppCapsCheck; /* disableremoteappcapscheck */
Packit Service bb5c11
Packit Service bb5c11
	LPSTR AlternateShell; /* alternate shell */
Packit Service bb5c11
	LPSTR ShellWorkingDirectory; /* shell working directory */
Packit Service bb5c11
Packit Service bb5c11
	LPSTR GatewayHostname; /* gatewayhostname */
Packit Service bb5c11
	DWORD GatewayUsageMethod; /* gatewayusagemethod */
Packit Service bb5c11
	DWORD GatewayProfileUsageMethod; /* gatewayprofileusagemethod */
Packit Service bb5c11
	DWORD GatewayCredentialsSource; /* gatewaycredentialssource */
Packit Service bb5c11
	LPSTR GatewayAccessToken; /* gatewayaccesstoken */
Packit Service bb5c11
Packit Service bb5c11
	DWORD UseRedirectionServerName; /* use redirection server name */
Packit Service bb5c11
Packit Service bb5c11
	DWORD RdgIsKdcProxy; /* rdgiskdcproxy */
Packit Service bb5c11
	LPSTR KdcProxyName; /* kdcproxyname */
Packit Service bb5c11
Packit Service bb5c11
	LPSTR DrivesToRedirect; /* drivestoredirect */
Packit Service bb5c11
	LPSTR DevicesToRedirect; /* devicestoredirect */
Packit Service bb5c11
	LPSTR WinPosStr; /* winposstr */
Packit Service bb5c11
Packit Service bb5c11
	LPSTR PreconnectionBlob; /* pcb */
Packit Service bb5c11
Packit Service bb5c11
	int lineCount;
Packit Service bb5c11
	int lineSize;
Packit Service bb5c11
	rdpFileLine* lines;
Packit Service bb5c11
Packit Service bb5c11
	int argc;
Packit Service bb5c11
	char** argv;
Packit Service bb5c11
	int argSize;
Packit Service bb5c11
};
Packit Service fa4841
Packit Service fa4841
typedef struct rdp_file rdpFile;
Packit Service fa4841
Packit Service fa4841
#ifdef __cplusplus
Packit Service bb5c11
extern "C" {
Packit Service fa4841
#endif
Packit Service fa4841
Packit Service bb5c11
FREERDP_API BOOL freerdp_client_parse_rdp_file(rdpFile* file, const char* name);
Packit Service bb5c11
FREERDP_API BOOL freerdp_client_parse_rdp_file_buffer(rdpFile* file, const BYTE* buffer, size_t size);
Packit Service bb5c11
FREERDP_API BOOL freerdp_client_populate_settings_from_rdp_file(rdpFile* file, rdpSettings* settings);
Packit Service bb5c11
Packit Service bb5c11
FREERDP_API BOOL freerdp_client_populate_rdp_file_from_settings(rdpFile* file, const rdpSettings* settings);
Packit Service bb5c11
FREERDP_API BOOL freerdp_client_write_rdp_file(const rdpFile* file, const char* name, BOOL unicode);
Packit Service bb5c11
FREERDP_API size_t freerdp_client_write_rdp_file_buffer(const rdpFile* file, char* buffer, size_t size);
Packit Service bb5c11
Packit Service bb5c11
FREERDP_API int freerdp_client_rdp_file_set_string_option(rdpFile* file, const char* name, const char* value);
Packit Service bb5c11
FREERDP_API const char* freerdp_client_rdp_file_get_string_option(rdpFile* file, const char* name);
Packit Service bb5c11
Packit Service bb5c11
FREERDP_API int freerdp_client_rdp_file_set_integer_option(rdpFile* file, const char* name, int value);
Packit Service bb5c11
FREERDP_API int freerdp_client_rdp_file_get_integer_option(rdpFile* file, const char* name);
Packit Service bb5c11
Packit Service bb5c11
FREERDP_API rdpFile* freerdp_client_rdp_file_new(void);
Packit Service bb5c11
FREERDP_API void freerdp_client_rdp_file_free(rdpFile* file);
Packit Service fa4841
Packit Service fa4841
#ifdef __cplusplus
Packit Service fa4841
}
Packit Service fa4841
#endif
Packit Service fa4841
Packit Service fa4841
#endif /* FREERDP_CLIENT_RDP_FILE_H */