VirtualBox

Ignore:
Timestamp:
Apr 8, 2015 9:40:02 AM (10 years ago)
Author:
vboxsync
Message:

rdesktop 1.8.3 modified for VBox

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/RDP/client-1.8.3/rdesktop.c

    r55121 r55123  
    1919   along with this program.  If not, see <http://www.gnu.org/licenses/>.
    2020*/
     21
     22/*
     23 * Oracle GPL Disclaimer: For the avoidance of doubt, except that if any license choice
     24 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
     25 * the General Public License version 2 (GPLv2) at this time for any software where
     26 * a choice of GPL license versions is made available with the language indicating
     27 * that GPLv2 or any later version may be used, or where a choice of which version
     28 * of the GPL is applied is otherwise unspecified.
     29 */
    2130
    2231#include <stdarg.h>             /* va_list va_start va_end */
     
    3342#include <signal.h>
    3443#include "rdesktop.h"
     44
     45#ifdef VBOX
     46# include <VBox/version.h>
     47# include <iprt/log.h>
     48#endif
    3549
    3650#ifdef HAVE_LOCALE_H
     
    102116RD_BOOL g_rdpclip = True;
    103117RD_BOOL g_console_session = False;
     118#ifndef VBOX
    104119RD_BOOL g_numlock_sync = False;
     120#else /* VBOX */
     121/* Always use numlock synchronization with VRDP. */
     122RD_BOOL g_numlock_sync = True;
     123#endif /* VBOX */
    105124RD_BOOL g_lspci_enabled = False;
    106125RD_BOOL g_owncolmap = False;
     
    142161#endif
    143162
     163#ifdef WITH_RDPUSB
     164RD_BOOL g_rdpusb = False;
     165#endif
     166
     167#ifdef WITH_BIRD_VD_HACKS
     168RD_BOOL g_keep_virtual_desktop_shortcuts = False;
     169#endif
     170
    144171#ifdef HAVE_ICONV
    145172char g_codepage[16] = "";
     
    169196        fprintf(stderr,
    170197                "Version " PACKAGE_VERSION ". Copyright (C) 1999-2011 Matthew Chapman et al.\n");
     198#ifdef VBOX
     199        fprintf(stderr, "Modified for VirtualBox by " VBOX_VENDOR "\n");
     200#endif
    171201        fprintf(stderr, "See http://www.rdesktop.org/ for more information.\n\n");
    172202
     
    231261        rdpsnd_show_help();
    232262#endif
     263#ifdef WITH_RDPUSB
     264        fprintf(stderr,
     265                "         '-r usb': enable USB redirection\n");
     266#endif
    233267        fprintf(stderr,
    234268                "         '-r clipboard:[off|PRIMARYCLIPBOARD|CLIPBOARD]': enable clipboard\n");
     
    256290        fprintf(stderr, "   -4: use RDP version 4\n");
    257291        fprintf(stderr, "   -5: use RDP version 5 (default)\n");
     292#ifdef WITH_BIRD_VD_HACKS
     293    fprintf(stderr, "   -H keep-virtual-desktop-shortcuts: Keep keyboard shortcuts typical\n"
     294                    "      for switching virtual desktops (C-A-Left/Right). \n");
     295#endif
    258296#ifdef WITH_SCARD
    259297        fprintf(stderr, "   -o: name=value: Adds an additional option to rdesktop.\n");
     
    516554
    517555}
     556
     557#ifdef VBOX
     558/* This disables iprt logging */
     559DECLEXPORT(PRTLOGGER) RTLogDefaultInit(void)
     560{
     561    return NULL;
     562}
     563#endif
    518564
    519565/* Client program */
     
    571617#define VNCOPT
    572618#endif
     619#ifdef WITH_BIRD_VD_HACKS
     620#define VDHOPT "H:"
     621#else
     622#define VDHOPT
     623#endif
     624
    573625        while ((c = getopt(argc, argv,
    574                            VNCOPT "A:u:L:d:s:c:p:n:k:g:o:fbBeEitmzCDKS:T:NX:a:x:Pr:045h?")) != -1)
     626                           VNCOPT VDHOPT "A:u:L:d:s:c:p:n:k:g:o:fbBeEitmzCDKS:T:NX:a:x:Pr:045h?")) != -1)
    575627        {
    576628                switch (c)
     
    853905#endif
    854906                                        }
     907                                }
     908                                else if (str_startswith(optarg, "usb"))
     909                                {
     910#ifdef WITH_RDPUSB
     911                                        g_rdpusb = True;
     912#else
     913                                        warning("Not compiled with USB support\n");
     914#endif
    855915                                }
    856916                                else if (str_startswith(optarg, "disk"))
     
    9501010                                break;
    9511011#endif
     1012
     1013#ifdef WITH_BIRD_VD_HACKS
     1014                        case 'H': /* hacks */
     1015                                if (!strcmp(optarg, "keep-virtual-desktop-shortcuts"))
     1016                                        g_keep_virtual_desktop_shortcuts = True;
     1017                                else
     1018                                        error("Unknown -H argument\n\n\tPossible argument is: keep-virtual-desktop-shortcuts\n");
     1019                                break;
     1020#endif
     1021
    9521022                        case 'h':
    9531023                        case '?':
     
    11111181#endif
    11121182
    1113         if (g_lspci_enabled)
     1183#ifdef WITH_RDPUSB
     1184        if (g_rdpusb)
     1185                rdpusb_init();
     1186#endif
     1187
     1188        if (g_lspci_enabled)
    11141189                lspci_init();
    11151190
     
    12151290        cache_save_state();
    12161291        ui_deinit();
     1292
     1293#ifdef WITH_RDPUSB
     1294        if (g_rdpusb)
     1295                rdpusb_close();
     1296#endif
    12171297
    12181298        if (g_user_quit)
     
    17941874                return False;
    17951875
     1876#ifdef VBOX
     1877        snprintf(bmpcache_dir, sizeof(bmpcache_dir), "%s/%s", home, ".rdesktop");
     1878#else
    17961879        sprintf(bmpcache_dir, "%s/%s", home, ".rdesktop");
     1880#endif
    17971881
    17981882        if ((mkdir(bmpcache_dir, S_IRWXU) == -1) && errno != EEXIST)
     
    18021886        }
    18031887
     1888#ifdef VBOX
     1889        snprintf(bmpcache_dir, sizeof(bmpcache_dir), "%s/%s", home, ".rdesktop/cache");
     1890#else
    18041891        sprintf(bmpcache_dir, "%s/%s", home, ".rdesktop/cache");
     1892#endif
    18051893
    18061894        if ((mkdir(bmpcache_dir, S_IRWXU) == -1) && errno != EEXIST)
     
    18241912        if (home == NULL)
    18251913                return -1;
     1914#ifdef VBOX
     1915        snprintf(fn, sizeof(fn), "%s/.rdesktop/%s", home, filename);
     1916#else
    18261917        sprintf(fn, "%s/.rdesktop/%s", home, filename);
     1918#endif
    18271919        fd = open(fn, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
    18281920        if (fd == -1)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette