Lines Matching refs:disc

34 	Sfdisc_t	disc;	/* sfio discipline */  member
42 static ssize_t streamio(Sfio_t* f, Void_t* buf, size_t n, Sfdisc_t* disc, int type) in streamio() argument
44 static ssize_t streamio(f, buf, n, disc, type) in streamio()
48 Sfdisc_t* disc;
56 su = (Subfile_t*)disc;
65 parent = sfsk(f,(Sfoff_t)0,SEEK_CUR,disc);
69 if(sfsk(f,here,SEEK_SET,disc) != here)
73 io = sfwr(f,buf,n,disc);
74 else io = sfrd(f,buf,n,disc);
80 sfsk(f,parent,SEEK_SET,disc);
86 static ssize_t streamwrite(Sfio_t* f, const Void_t* buf, size_t n, Sfdisc_t* disc) in streamwrite() argument
88 static ssize_t streamwrite(f, buf, n, disc) in streamwrite()
92 Sfdisc_t* disc;
95 return streamio(f,(Void_t*)buf,n,disc,SF_WRITE);
99 static ssize_t streamread(Sfio_t* f, Void_t* buf, size_t n, Sfdisc_t* disc) in streamread() argument
101 static ssize_t streamread(f, buf, n, disc) in streamread()
105 Sfdisc_t* disc;
108 return streamio(f,buf,n,disc,SF_READ);
112 static Sfoff_t streamseek(Sfio_t* f, Sfoff_t pos, int type, Sfdisc_t* disc) in streamseek() argument
114 static Sfoff_t streamseek(f, pos, type, disc) in streamseek()
118 Sfdisc_t* disc;
124 su = (Subfile_t*)disc;
138 { parent = sfsk(f,(Sfoff_t)0,SEEK_CUR,disc);
139 if((here = sfsk(f,(Sfoff_t)0,SEEK_END,disc)) < 0)
142 sfsk(f,parent,SEEK_SET,disc);
157 static int streamexcept(Sfio_t* f, int type, Void_t* data, Sfdisc_t* disc) in streamexcept() argument
159 static int streamexcept(f, type, data, disc) in streamexcept()
163 Sfdisc_t* disc;
167 free(disc);
201 su->disc.readf = streamread;
202 su->disc.writef = streamwrite;
203 su->disc.seekf = streamseek;
204 su->disc.exceptf = streamexcept;