64 |
fprintf(stderr, "Version " VERSION ". Copyright (C) 1999-2002 Matt Chapman.\n"); |
fprintf(stderr, "Version " VERSION ". Copyright (C) 1999-2002 Matt Chapman.\n"); |
65 |
fprintf(stderr, "See http://www.rdesktop.org/ for more information.\n\n"); |
fprintf(stderr, "See http://www.rdesktop.org/ for more information.\n\n"); |
66 |
|
|
67 |
fprintf(stderr, "Usage: %s [options] server\n", program); |
fprintf(stderr, "Usage: %s [options] server[:port]\n", program); |
68 |
fprintf(stderr, " -u: user name\n"); |
fprintf(stderr, " -u: user name\n"); |
69 |
fprintf(stderr, " -d: domain\n"); |
fprintf(stderr, " -d: domain\n"); |
70 |
fprintf(stderr, " -s: shell\n"); |
fprintf(stderr, " -s: shell\n"); |
77 |
fprintf(stderr, " -b: force bitmap updates\n"); |
fprintf(stderr, " -b: force bitmap updates\n"); |
78 |
fprintf(stderr, " -e: disable encryption (French TS)\n"); |
fprintf(stderr, " -e: disable encryption (French TS)\n"); |
79 |
fprintf(stderr, " -m: do not send motion events\n"); |
fprintf(stderr, " -m: do not send motion events\n"); |
|
fprintf(stderr, " -t: rdp tcp port\n"); |
|
80 |
fprintf(stderr, " -K: keep window manager key bindings\n"); |
fprintf(stderr, " -K: keep window manager key bindings\n"); |
81 |
fprintf(stderr, " -w: window title\n"); |
fprintf(stderr, " -w: window title\n"); |
82 |
} |
} |
121 |
int |
int |
122 |
main(int argc, char *argv[]) |
main(int argc, char *argv[]) |
123 |
{ |
{ |
124 |
|
char server[64]; |
125 |
char fullhostname[64]; |
char fullhostname[64]; |
126 |
char domain[16]; |
char domain[16]; |
127 |
char password[16]; |
char password[16]; |
129 |
char directory[32]; |
char directory[32]; |
130 |
BOOL prompt_password; |
BOOL prompt_password; |
131 |
struct passwd *pw; |
struct passwd *pw; |
|
char *server, *p; |
|
132 |
uint32 flags; |
uint32 flags; |
133 |
|
char *p; |
134 |
int c; |
int c; |
135 |
|
|
136 |
flags = RDP_LOGON_NORMAL; |
flags = RDP_LOGON_NORMAL; |
138 |
domain[0] = password[0] = shell[0] = directory[0] = 0; |
domain[0] = password[0] = shell[0] = directory[0] = 0; |
139 |
strcpy(keymapname, "us"); |
strcpy(keymapname, "us"); |
140 |
|
|
141 |
while ((c = getopt(argc, argv, "u:d:s:c:p:n:k:g:t:fbemKw:h?")) != -1) |
while ((c = getopt(argc, argv, "u:d:s:c:p:n:k:g:fbemKw:h?")) != -1) |
142 |
{ |
{ |
143 |
switch (c) |
switch (c) |
144 |
{ |
{ |
210 |
sendmotion = False; |
sendmotion = False; |
211 |
break; |
break; |
212 |
|
|
|
case 't': |
|
|
tcp_port_rdp = strtol(optarg, NULL, 10); |
|
|
break; |
|
|
|
|
213 |
case 'K': |
case 'K': |
214 |
grab_keyboard = False; |
grab_keyboard = False; |
215 |
break; |
break; |
216 |
|
|
217 |
case 'w': |
case 'w': |
218 |
strncpy(title, optarg, sizeof(title)); |
STRNCPY(title, optarg, sizeof(title)); |
219 |
break; |
break; |
220 |
|
|
221 |
case 'h': |
case 'h': |
232 |
return 1; |
return 1; |
233 |
} |
} |
234 |
|
|
235 |
server = argv[optind]; |
STRNCPY(server, argv[optind], sizeof(server)); |
236 |
|
p = strchr(server, ':'); |
237 |
|
if (p != NULL) |
238 |
|
{ |
239 |
|
tcp_port_rdp = strtol(p + 1, NULL, 10); |
240 |
|
*p = 0; |
241 |
|
} |
242 |
|
|
243 |
if (username[0] == 0) |
if (username[0] == 0) |
244 |
{ |
{ |