libbio: add aux pointer to bio
This allows us to attach additional context to the biobuf so can read from some sort of data structure without a global variable.
This commit is contained in:
parent
b5086c1863
commit
dbd54342fd
2 changed files with 12 additions and 1 deletions
|
@ -34,6 +34,7 @@ struct Biobufhdr
|
|||
uchar* gbuf; /* pointer to good data in buf */
|
||||
void (*errorf)(char *); /* called on error if not nil */
|
||||
int (*iof)(Biobufhdr*, void *, long); /* called to do i/o */
|
||||
void *aux; /* user data */
|
||||
};
|
||||
|
||||
struct Biobuf
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.TH BIO 2
|
||||
.SH NAME
|
||||
Bopen, Bfdopen, Binit, Binits, Brdline, Brdstr, Bgetc, Bgetrune, Bgetd, Bungetc, Bungetrune, Bread, Bseek, Boffset, Bfildes, Blinelen, Bputc, Bputrune, Bprint, Bvprint, Bwrite, Bflush, Bterm, Bbuffered, Blethal \- buffered input/output
|
||||
Bopen, Bfdopen, Binit, Binits, Brdline, Brdstr, Bgetc, Bgetrune, Bgetd, Bungetc, Bungetrune, Bread, Bseek, Boffset, Bfildes, Blinelen, Bputc, Bputrune, Bprint, Bvprint, Bwrite, Bflush, Bterm, Bbuffered, Blethal, Biofn \- buffered input/output
|
||||
.SH SYNOPSIS
|
||||
.ta \w'Biobuf* 'u
|
||||
.B #include <u.h>
|
||||
|
@ -9,6 +9,16 @@ Bopen, Bfdopen, Binit, Binits, Brdline, Brdstr, Bgetc, Bgetrune, Bgetd, Bungetc,
|
|||
.br
|
||||
.B #include <bio.h>
|
||||
.PP
|
||||
.ft L
|
||||
.nf
|
||||
.ta \w' 'u +\w' 'u +\w' 'u +\w' 'u +\w' 'u
|
||||
typedef struct Biobufhdr Biobufhdr;
|
||||
struct Biobufhdr {
|
||||
void *aux; /* user data */
|
||||
... /* internals */
|
||||
};
|
||||
.fi
|
||||
.PP
|
||||
.B
|
||||
Biobuf* Bopen(char *file, int mode)
|
||||
.PP
|
||||
|
|
Loading…
Reference in a new issue