Annotation of researchv10dc/dist/man/v4/man3/putc.3, revision 1.1.1.1

1.1       root        1: .th PUTC III 6/12/72
                      2: .sh NAME
                      3: putc  \*-  buffered output
                      4: .sh SYNOPSIS
                      5: .ft B
                      6: .nf
                      7: mov    $filename,r0
                      8: jsr    r5,fcreat; iobuf
                      9: .s3
                     10: fcreat(file, iobuf)
                     11: char *file;
                     12: struct buf *iobuf;
                     13: .s3
                     14: .ft R
                     15: (get byte in r0)
                     16: .ft B
                     17: jsr    r5,putc; iobuf
                     18: .s3
                     19: putc(c, iobuf)
                     20: int c;
                     21: struct buf *iobuf;
                     22: .s3
                     23: .ft R
                     24: (get word in r0)
                     25: .ft B
                     26: jsr    r5,putw; iobuf
                     27: .s3
                     28: [putw not available from C]
                     29: .s3
                     30: jsr    r5,flush; iobuf
                     31: .s3
                     32: fflush(iobuf)
                     33: struct buf *iobuf;
                     34: .fi
                     35: .ft R
                     36: .sh DESCRIPTION
                     37: .it Fcreat
                     38: creates
                     39: the given file (mode 666) and sets up the buffer
                     40: .it iobuf
                     41: (size 518 bytes);
                     42: .it putc
                     43: and
                     44: .it putw
                     45: write a byte or word respectively
                     46: onto the file;
                     47: .it flush
                     48: forces the contents of the buffer to be written, but
                     49: does not close the file.
                     50: The format of the buffer is:
                     51: .s3
                     52: .nf
                     53: .ft B
                     54: iobuf: .=.+2           / file descriptor
                     55:        .=.+2           / characters unused in buffer
                     56:        .=.+2           / ptr to next free character
                     57:        .=.+512.        / buffer
                     58: .ft R
                     59: .s3
                     60: Or in C,
                     61: .s3
                     62: .ft B
                     63: .nf
                     64: struct buf {
                     65:        int fildes;
                     66:        int nunused;
                     67:        char *nxtfree;
                     68:        char buff[512];
                     69: };
                     70: .ft R
                     71: .fi
                     72: .s3
                     73: .it Fcreat
                     74: sets the error bit (c-bit) if the 
                     75: file creation failed (from C, returns \*-1); none of the other routines
                     76: returns error information.
                     77: .s3
                     78: Before terminating, a program should call
                     79: .it flush
                     80: to force out the last of the output
                     81: .it (fflush
                     82: from C).
                     83: .s3
                     84: The user must supply
                     85: .it iobuf,
                     86: which should begin on a word boundary.
                     87: .s3
                     88: To write a new file using the same buffer, it
                     89: suffices to call
                     90: .it [f]flush,
                     91: close the file,
                     92: and
                     93: call
                     94: .it fcreat
                     95: again.
                     96: .sh "SEE ALSO"
                     97: creat(II), write(II), getc(III)
                     98: .sh DIAGNOSTICS
                     99: error bit possible 
                    100: on
                    101: .it fcreat
                    102: call.
                    103: .sh BUGS

unix.superglobalmegacorp.com

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