Changeset 6a753a9c in mainline
- Timestamp:
- 2024-09-25T16:47:10Z (4 months ago)
- Branches:
- master
- Children:
- 09f41d3
- Parents:
- d3109ff
- Location:
- uspace/srv/hid/remcons
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/hid/remcons/remcons.c
rd3109ff r6a753a9c 59 59 #define APP_SHELL "/app/bdsh" 60 60 61 #define DEF_PORT 2223 62 61 63 /** Telnet commands to force character mode 62 64 * (redundant to be on the safe side). … … 122 124 123 125 static loc_srv_t *remcons_srv; 126 static bool no_ctl; 127 static bool no_rgb; 124 128 125 129 static telnet_user_t *srv_to_user(con_srv_t *srv) … … 432 436 assert(user); 433 437 434 remcons->enable_ctl = true;438 remcons->enable_ctl = !no_ctl; 435 439 remcons->user = user; 436 440 … … 444 448 remcons_vt_putchar, remcons_vt_cputs, remcons_vt_flush); 445 449 assert(remcons->vt != NULL); // XXX 446 remcons->vt->enable_rgb = true;450 remcons->vt->enable_rgb = !no_rgb; 447 451 448 452 if (remcons->enable_ctl) { … … 504 508 } 505 509 510 static void print_syntax(void) 511 { 512 fprintf(stderr, "syntax: remcons [<options>]\n"); 513 fprintf(stderr, "\t--no-ctl Disable all terminal control sequences\n"); 514 fprintf(stderr, "\t--no-rgb Disable RGB colors\n"); 515 fprintf(stderr, "\t--port <port> Listening port (default: %u)\n", 516 DEF_PORT); 517 } 518 506 519 int main(int argc, char *argv[]) 507 520 { … … 510 523 tcp_t *tcp; 511 524 inet_ep_t ep; 525 uint16_t port; 526 int i; 527 528 port = DEF_PORT; 529 530 i = 1; 531 while (i < argc) { 532 if (argv[i][0] == '-') { 533 if (str_cmp(argv[i], "--no-ctl") == 0) { 534 no_ctl = true; 535 } else if (str_cmp(argv[i], "--no-rgb") == 0) { 536 no_rgb = true; 537 } else if (str_cmp(argv[i], "--port") == 0) { 538 ++i; 539 if (i >= argc) { 540 fprintf(stderr, "Option argument " 541 "missing.\n"); 542 print_syntax(); 543 return EINVAL; 544 } 545 rc = str_uint16_t(argv[i], NULL, 10, true, &port); 546 if (rc != EOK) { 547 fprintf(stderr, "Invalid port number " 548 "'%s'.\n", argv[i]); 549 print_syntax(); 550 return EINVAL; 551 } 552 } else { 553 fprintf(stderr, "Unknown option '%s'.\n", 554 argv[i]); 555 print_syntax(); 556 return EINVAL; 557 } 558 } else { 559 fprintf(stderr, "Unexpected argument.\n"); 560 print_syntax(); 561 return EINVAL; 562 } 563 564 ++i; 565 } 512 566 513 567 async_set_fallback_port_handler(client_connection, NULL); … … 525 579 526 580 inet_ep_init(&ep); 527 ep.port = 2223;581 ep.port = port; 528 582 529 583 rc = tcp_listener_create(tcp, &ep, &listen_cb, NULL, &conn_cb, NULL, -
uspace/srv/hid/remcons/user.c
rd3109ff r6a753a9c 73 73 user->id = ++telnet_user_id_counter; 74 74 75 int rc = asprintf(&user->service_name, "%s/telnet%d", NAMESPACE, user->id); 75 int rc = asprintf(&user->service_name, "%s/telnet%u.%d", NAMESPACE, 76 (unsigned)task_get_id(), user->id); 76 77 if (rc < 0) { 77 78 free(user);
Note:
See TracChangeset
for help on using the changeset viewer.