Lines Matching refs:su
52 reg Subfile_t *su; local
56 su = (Subfile_t*)disc;
59 if(su->extent >= 0 && (ssize_t)n > (io = (ssize_t)(su->extent - su->here)) )
68 here = su->here + su->offset;
76 su->here += io;
121 reg Subfile_t* su; local
124 su = (Subfile_t*)disc;
132 here = su->here;
135 if(su->extent >= 0)
136 here = su->extent;
141 else here -= su->offset;
150 if(pos < 0 || (su->extent >= 0 && pos >= su->extent))
153 return (su->here = pos);
182 reg Subfile_t* su; local
194 if(!(su = (Subfile_t*)malloc(sizeof(Subfile_t))))
199 memset(su, 0, sizeof(*su));
201 su->disc.readf = streamread;
202 su->disc.writef = streamwrite;
203 su->disc.seekf = streamseek;
204 su->disc.exceptf = streamexcept;
205 su->parent = parent;
206 su->offset = offset;
207 su->extent = extent;
209 if(sfdisc(sp, (Sfdisc_t*)su) != (Sfdisc_t*)su)
210 { free(su);