diff options
Diffstat (limited to 'src/libbio/bio.3')
-rw-r--r-- | src/libbio/bio.3 | 336 |
1 files changed, 0 insertions, 336 deletions
diff --git a/src/libbio/bio.3 b/src/libbio/bio.3 deleted file mode 100644 index cf504631..00000000 --- a/src/libbio/bio.3 +++ /dev/null @@ -1,336 +0,0 @@ -.TH BIO 3 -.SH NAME -Bopen, Binit, Binits, Brdline, Brdstr, Bgetc, Bgetd, Bungetc, Bread, Bseek, Boffset, Bfildes, Blinelen, Bputc, Bprint, Bvprint, Bwrite, Bflush, Bterm, Bbuffered \- buffered input/output -.SH SYNOPSIS -.ta \w'Biobuf* 'u -.B #include <fmt.h> -.B #include <bio.h> -.PP -.B -Biobuf* Bopen(char *file, int mode) -.PP -.B -int Binit(Biobuf *bp, int fd, int mode) -.PP -.B -int Bterm(Biobuf *bp) -.PP -.B -int Bprint(Biobuf *bp, char *format, ...) -.PP -.B -int Bvprint(Biobuf *bp, char *format, va_list arglist); -.PP -.B -void* Brdline(Biobuf *bp, int delim) -.PP -.B -char* Brdstr(Biobuf *bp, int delim, int nulldelim) -.PP -.B -int Blinelen(Biobuf *bp) -.PP -.B -off_t Boffset(Biobuf *bp) -.PP -.B -int Bfildes(Biobuf *bp) -.PP -.B -int Bgetc(Biobuf *bp) -.PP -.B -long Bgetrune(Biobufhdr *bp) -.PP -.B -int Bgetd(Biobuf *bp, double *d) -.PP -.B -int Bungetc(Biobuf *bp) -.PP -.B -int Bungetrune(Biobufhdr *bp) -.PP -.B -off_t Bseek(Biobuf *bp, off_t n, int type) -.PP -.B -int Bputc(Biobuf *bp, int c) -.PP -.B -int Bputrune(Biobufhdr *bp, long c) -.PP -.B -long Bread(Biobuf *bp, void *addr, long nbytes) -.PP -.B -long Bwrite(Biobuf *bp, void *addr, long nbytes) -.PP -.B -int Bflush(Biobuf *bp) -.PP -.B -int Bbuffered(Biobuf *bp) -.PP -.SH DESCRIPTION -These routines implement fast buffered I/O. -I/O on different file descriptors is independent. -.PP -.I Bopen -opens -.I file -for mode -.B O_RDONLY -or creates for mode -.BR O_WRONLY . -It calls -.IR malloc (3) -to allocate a buffer. -.PP -.I Binit -initializes a buffer -with the open file descriptor passed in -by the user. -.PP -Arguments -of types pointer to Biobuf and pointer to Biobuf -can be used interchangeably in the following routines. -.PP -.IR Bopen , -.IR Binit , -or -.I Binits -should be called before any of the -other routines on that buffer. -.I Bfildes -returns the integer file descriptor of the associated open file. -.PP -.I Bterm -flushes the buffer for -.IR bp . -If the buffer was allocated by -.IR Bopen , -the buffer is -.I freed -and the file is closed. -.PP -.I Brdline -reads a string from the file associated with -.I bp -up to and including the first -.I delim -character. -The delimiter character at the end of the line is -not altered. -.I Brdline -returns a pointer to the start of the line or -.L 0 -on end-of-file or read error. -.I Blinelen -returns the length (including the delimiter) -of the most recent string returned by -.IR Brdline . -.PP -.I Brdstr -returns a -.IR malloc (3)-allocated -buffer containing the next line of input delimited by -.IR delim , -terminated by a NUL (0) byte. -Unlike -.IR Brdline , -which returns when its buffer is full even if no delimiter has been found, -.I Brdstr -will return an arbitrarily long line in a single call. -If -.I nulldelim -is set, the terminal delimiter will be overwritten with a NUL. -After a successful call to -.IR Brdstr , -the return value of -.I Blinelen -will be the length of the returned buffer, excluding the NUL. -.PP -.I Bgetc -returns the next byte from -.IR bp , -or a negative value -at end of file. -.I Bungetc -may be called immediately after -.I Bgetc -to allow the same byte to be reread. -.PP -.I Bgetrune -calls -.I Bgetc -to read the bytes of the next -.SM UTF -sequence in the input stream and returns the value of the rune -represented by the sequence. -It returns a negative value -at end of file. -.I Bungetrune -may be called immediately after -.I Bgetrune -to allow the same -.SM UTF -sequence to be reread as either bytes or a rune. -.I Bungetc -and -.I Bungetrune -may back up a maximum of five bytes. -.PP -.I Bgetd -uses -.I fmtcharstod -(undocumented) -and -.I Bgetc -to read the formatted -floating-point number in the input stream, -skipping initial blanks and tabs. -The value is stored in -.BR *d. -.PP -.I Bread -reads -.I nbytes -of data from -.I bp -into memory starting at -.IR addr . -The number of bytes read is returned on success -and a negative value is returned if a read error occurred. -.PP -.I Bseek -applies -.IR lseek (2) -to -.IR bp . -It returns the new file offset. -.I Boffset -returns the file offset of the next character to be processed. -.PP -.I Bputc -outputs the low order 8 bits of -.I c -on -.IR bp . -If this causes a -.IR write -to occur and there is an error, -a negative value is returned. -Otherwise, a zero is returned. -.PP -.I Bputrune -calls -.I Bputc -to output the low order -16 bits of -.I c -as a rune -in -.SM UTF -format -on the output stream. -.PP -.I Bprint -is a buffered interface to -.IR print (2). -If this causes a -.IR write -to occur and there is an error, -a negative value -.RB ( Beof ) -is returned. -Otherwise, the number of bytes output is returned. -.I Bvprint -does the same except it takes as argument a -.B va_list -parameter, so it can be called within a variadic function. -.PP -.I Bwrite -outputs -.I nbytes -of data starting at -.I addr -to -.IR bp . -If this causes a -.IR write -to occur and there is an error, -a negative value is returned. -Otherwise, the number of bytes written is returned. -.PP -.I Bflush -causes any buffered output associated with -.I bp -to be written. -The return is as for -.IR Bputc . -.I Bflush -is called on -exit for every buffer still open -for writing. -.PP -.I Bbuffered -returns the number of bytes in the buffer. -When reading, this is the number of bytes still available from the last -read on the file; when writing, it is the number of bytes ready to be -written. -.PP -This library uses -.IR fmt (3) -for diagnostic messages about internal errors, -as well as for the implementation of -.I Bprint -and -.IR Bvprint . -It uses -.IR utf (3) -for the implementation of -.I Bgetrune -and -.IR Bputrune . -.SH SEE ALSO -.IR atexit (3). -.IR open (2), -.IR print (3), -.IR utf (7) -.SH DIAGNOSTICS -.I Bio -routines that return integers yield -.B Beof -if -.I bp -is not the descriptor of an open file. -.I Bopen -returns zero if the file cannot be opened in the given mode. -.SH HISTORY -The -.IR bio (3) -library originally appeared in Plan 9. -This is a port of the Plan 9 bio library. -.SH BUGS -.I Brdline -returns an error on strings longer than the buffer associated -with the file -and also if the end-of-file is encountered -before a delimiter. -.I Blinelen -will tell how many characters are available -in these cases. -In the case of a true end-of-file, -.I Blinelen -will return zero. -At the cost of allocating a buffer, -.I Brdstr -sidesteps these issues. -.PP -The data returned by -.I Brdline -may be overwritten by calls to any other -.I bio -routine on the same -.IR bp. |