Annotation of researchv10dc/630/man/src/p_man/man3/sendchar.3r, revision 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.