Annotation of researchv10dc/630/man/src/p_man/man3/sendchar.3r, revision 1.1.1.1

1.1       root        1: .ds ZZ DEVELOPMENT PACKAGE
                      2: .TH SENDCHAR 3R "630 MTG"
                      3: .XE "sendchar()"
                      4: .XE "sendnchars()"
                      5: .SH NAME
                      6: sendchar, sendnchars \- send character(s) to host
                      7: .SH SYNOPSIS
                      8: \f3
                      9: int sendchar (c)
                     10: .br
                     11: char c;
                     12: .sp
                     13: void sendnchars (n, p)
                     14: .br
                     15: int n;
                     16: .br
                     17: char \(**p;
                     18: \fR
                     19: .SH DESCRIPTION
                     20: The
                     21: .I sendchar
                     22: function
                     23: sends a single byte to the host
                     24: which will normally be read on the standard input of the host process.
                     25: The bytes sent will be processed as though they were typed on the
                     26: keyboard by the user.
                     27: .PP
                     28: Since local programs have no host connection, a call to
                     29: .I sendchar
                     30: by a local program will always return -1.
                     31: Sendchar will always return 1 for non-local programs.
                     32: .PP
                     33: The
                     34: .I sendnchars
                     35: function is similar to 
                     36: .I sendchar
                     37: except
                     38: .I n
                     39: characters pointed to by
                     40: .I p
                     41: are sent to the host.
                     42: .PP
                     43: A call to
                     44: .I sendchar
                     45: or 
                     46: .I sendnchars
                     47: by an application program causes the bytes to be sent to the host computer to
                     48: be placed into a buffer in the terminal. The terminal will then send the bytes
                     49: in the buffer to the host as fast
                     50: as the communication line to the host is able to transmit.
                     51: An application program is generally able to queue requests to
                     52: send bytes to the host much faster than the terminal is able
                     53: to actually send the bytes over the communication line to the host.
                     54: So, if an application rapidly sends many bytes to the host,
                     55: internal terminal buffers eventually fill up. When this happens,
                     56: the
                     57: .I sendchar
                     58: and
                     59: .I sendnchars
                     60: routines will call
                     61: .I wait
                     62: to block the calling process until internal buffers are no longer full.
                     63: This whole process is transparent to applications, but application program
                     64: writers may want to be aware that a call to
                     65: .I sendchar
                     66: or 
                     67: .I sendnchars
                     68: may not return immediately.
                     69: .SH EXAMPLE
                     70: The following program will send a
                     71: .I ls
                     72: command to the host and display its output.
                     73: Typing a 'q' on the keyboard will cause the program to exit.
                     74: .PP
                     75: .RS 3
                     76: .nf
                     77: .ft CM
                     78: #include <dmd.h>
                     79: 
                     80: main()
                     81: {
                     82:        int c;
                     83: 
                     84:        request(SEND|RCV|KBD);
                     85:        sendnchars(3, "ls\er");
                     86:        do {
                     87:                wait(RCV|KBD);
                     88:                while( (c=rcvchar()) != -1 )
                     89:                        lputchar(c);
                     90:        } while(kbdchar() != 'q');
                     91: }
                     92: \fR
                     93: .fi
                     94: .RE
                     95: .SH SEE ALSO
                     96: local(3R), rcvchar(3R), resources(3R).

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.