access 116 src/dps8/uvutil.c uv_access * access = (uv_access *) stream->data; access 126 src/dps8/uvutil.c if (access->telnetp) access 128 src/dps8/uvutil.c telnet_recv (access->telnetp, buf->base, (size_t) nread); access 198 src/dps8/uvutil.c uv_access * access = (uv_access *) client->data; access 199 src/dps8/uvutil.c if (access->telnetp) access 200 src/dps8/uvutil.c telnet_send (access->telnetp, data, (size_t) datalen); access 205 src/dps8/uvutil.c static void accessPutCharForce (uv_access * access, char ch) access 208 src/dps8/uvutil.c accessStartWrite (access->client, & ch, 1); access 211 src/dps8/uvutil.c static void accessPutStrForce (uv_access * access, char * str) access 214 src/dps8/uvutil.c accessStartWrite (access->client, str, (ssize_t) l); access 222 src/dps8/uvutil.c static void accessLogon (uv_access * access, unsigned char * buf, ssize_t nread) access 228 src/dps8/uvutil.c if ((unsigned long) access->pwPos >= sizeof (access->pwBuffer) - 1) access 237 src/dps8/uvutil.c accessPutStrForce (access, "\b \b"); access 238 src/dps8/uvutil.c access->pwBuffer[access->pwPos] = 0; // remove char from buffer access 239 src/dps8/uvutil.c if (access->pwPos > 0) access 240 src/dps8/uvutil.c access->pwPos -= 1; // back up buffer pointer access 247 src/dps8/uvutil.c access->pwBuffer[access->pwPos] = 0; access 253 src/dps8/uvutil.c accessPutStrForce (access, "^R\r\n"); // echo ^R access 254 src/dps8/uvutil.c access->connectPrompt (access->client); access 255 src/dps8/uvutil.c accessPutStrForce (access, access->pwBuffer); access 267 src/dps8/uvutil.c accessPutCharForce (access, '*'); access 268 src/dps8/uvutil.c access->pwBuffer[access->pwPos++] = (char) kar; access 269 src/dps8/uvutil.c access->pwBuffer[access->pwPos] = 0; access 279 src/dps8/uvutil.c accessPutStrForce (access, "\b \b"); access 281 src/dps8/uvutil.c access->pwBuffer[access->pwPos] = 0; access 282 src/dps8/uvutil.c if (access->pwPos > 0) access 283 src/dps8/uvutil.c access->pwPos -= 1; // back up buffer pointer access 290 src/dps8/uvutil.c access->pwBuffer[access->pwPos] = 0; access 296 src/dps8/uvutil.c accessPutStrForce (access, "^R\r\n"); // echo ^R access 297 src/dps8/uvutil.c access->connectPrompt (access->client); access 298 src/dps8/uvutil.c accessPutStrForce (access, access->pwBuffer); access 310 src/dps8/uvutil.c char cpy[access->pwPos + 1]; access 311 src/dps8/uvutil.c memcpy (cpy, access->pwBuffer, (unsigned long) access->pwPos); access 312 src/dps8/uvutil.c cpy[access->pwPos] = 0; access 315 src/dps8/uvutil.c access->pwPos = 0; access 316 src/dps8/uvutil.c accessPutStrForce (access, "\r\n"); access 318 src/dps8/uvutil.c if (strcmp (cpy, access->pw) == 0) access 320 src/dps8/uvutil.c accessPutStrForce (access, "ok\r\n"); access 329 src/dps8/uvutil.c accessPutStrForce (access, "nope\r\n"); access 335 src/dps8/uvutil.c access->connectPrompt (access->client); access 339 src/dps8/uvutil.c access->loggedOn = true; access 340 src/dps8/uvutil.c if (access->connected) access 341 src/dps8/uvutil.c access->connected (access->client); access 352 src/dps8/uvutil.c uv_access * access = (uv_access *) stream->data; access 355 src/dps8/uvutil.c if (access->telnetp) access 357 src/dps8/uvutil.c telnet_free (access->telnetp); access 358 src/dps8/uvutil.c access->telnetp = NULL; access 362 src/dps8/uvutil.c access->client = NULL; access 365 src/dps8/uvutil.c static void accessProcessInput (uv_access * access, unsigned char * buf, access 368 src/dps8/uvutil.c if (access->inBuffer) access 372 src/dps8/uvutil.c realloc (access->inBuffer, access 373 src/dps8/uvutil.c (unsigned long) (access->inSize + nread)); access 386 src/dps8/uvutil.c memcpy (new + access->inSize, buf, (unsigned long) nread); access 387 src/dps8/uvutil.c access->inSize += nread; access 388 src/dps8/uvutil.c access->inBuffer = new; access 392 src/dps8/uvutil.c access->inBuffer = malloc ((unsigned long) nread); access 393 src/dps8/uvutil.c if (! access->inBuffer) access 405 src/dps8/uvutil.c memcpy (access->inBuffer, buf, (unsigned long) nread); access 406 src/dps8/uvutil.c access->inSize = (uint) nread; access 407 src/dps8/uvutil.c access->inUsed = 0; access 421 src/dps8/uvutil.c uv_access * access = (uv_access *) client->data; access 422 src/dps8/uvutil.c if (access->loggedOn) access 423 src/dps8/uvutil.c accessProcessInput (access, buf, nread); access 425 src/dps8/uvutil.c accessLogon (access, buf, nread); access 557 src/dps8/uvutil.c uv_access * access = (uv_access *) server->data; access 572 src/dps8/uvutil.c uv_tcp_init (access->loop, client); access 577 src/dps8/uvutil.c if (access->client) access 580 src/dps8/uvutil.c accessPutStrForce (access, "\r[OPC emulation: BUMPED]\r\n"); access 581 src/dps8/uvutil.c access->loggedOn = false; access 583 src/dps8/uvutil.c accessCloseConnection ((uv_stream_t *) access->client); access 585 src/dps8/uvutil.c access->client = client; access 589 src/dps8/uvutil.c int ret = uv_tcp_getpeername (access->client, & name, & namelen); access 600 src/dps8/uvutil.c if (access->useTelnet) access 602 src/dps8/uvutil.c access->telnetp = accessTelnetConnect (access->client); access 603 src/dps8/uvutil.c if (!access->telnetp) access 611 src/dps8/uvutil.c access->telnetp = NULL; access 613 src/dps8/uvutil.c access->loggedOn = access 614 src/dps8/uvutil.c ! strlen (access->pw); access 615 src/dps8/uvutil.c if (access->loggedOn) access 616 src/dps8/uvutil.c access->connected (access->client); access 618 src/dps8/uvutil.c access->connectPrompt (access->client); access 619 src/dps8/uvutil.c accessReadStart (access->client); access 627 src/dps8/uvutil.c void uv_open_access (uv_access * access) access 629 src/dps8/uvutil.c if (access->open == true) access 634 src/dps8/uvutil.c if (! access->port) access 640 src/dps8/uvutil.c if (! access->loop) access 641 src/dps8/uvutil.c access->loop = uv_default_loop (); access 644 src/dps8/uvutil.c if (access->open) access 647 src/dps8/uvutil.c uv_tcp_init (access->loop, & access->server); access 648 src/dps8/uvutil.c access->server.data = (void *) access; access 650 src/dps8/uvutil.c uv_ip4_addr (access->address, access->port, & addr); access 651 src/dps8/uvutil.c uv_tcp_bind (& access->server, (const struct sockaddr *) & addr, 0); access 653 src/dps8/uvutil.c int r = uv_listen ((uv_stream_t *) & access->server, access 658 src/dps8/uvutil.c fprintf (stderr, "\r[OPC emulation: listen error: %s:%ld: %s]\r\n", access->address, (long) access->port, uv_strerror (r)); access 660 src/dps8/uvutil.c access->open = true; access 661 src/dps8/uvutil.c if (access->address != NULL) access 662 src/dps8/uvutil.c sim_printf ("\r[OPC emulation: TELNET server listening on %s:%ld]\r\n", access->address, (long) access->port); access 664 src/dps8/uvutil.c sim_printf ("\r[OPC emulation: TELNET server listening on 0.0.0.0:%ld]\r\n", (long) access->port); access 668 src/dps8/uvutil.c void accessPutChar (uv_access * access, char ch) access 671 src/dps8/uvutil.c if (access->loggedOn) access 672 src/dps8/uvutil.c accessStartWrite (access->client, & ch, 1); access 676 src/dps8/uvutil.c int accessGetChar (uv_access * access) access 679 src/dps8/uvutil.c if (! access->client) access 681 src/dps8/uvutil.c if (access->inBuffer) access 682 src/dps8/uvutil.c FREE (access->inBuffer); access 683 src/dps8/uvutil.c access->inBuffer = NULL; access 684 src/dps8/uvutil.c access->inSize = 0; access 685 src/dps8/uvutil.c access->inUsed = 0; access 689 src/dps8/uvutil.c if (access->inBuffer && access->inUsed < access->inSize) access 691 src/dps8/uvutil.c unsigned char c = access->inBuffer[access->inUsed ++]; access 692 src/dps8/uvutil.c if (access->inUsed >= access->inSize) access 694 src/dps8/uvutil.c FREE (access->inBuffer); access 695 src/dps8/uvutil.c access->inBuffer = NULL; access 696 src/dps8/uvutil.c access->inSize = 0; access 697 src/dps8/uvutil.c access->inUsed = 0; access 709 src/dps8/uvutil.c void accessPutStr (uv_access * access, char * str) access 714 src/dps8/uvutil.c if (access->loggedOn) access 715 src/dps8/uvutil.c accessStartWrite (access->client, str, (ssize_t) l); access 51 src/dps8/uvutil.h void uv_open_access (uv_access * access); access 53 src/dps8/uvutil.h void accessPutStr (uv_access * access, char * str); access 54 src/dps8/uvutil.h void accessPutChar (uv_access * access, char ch); access 56 src/dps8/uvutil.h int accessGetChar (uv_access * access);