Lines Matching refs:Stream
24 int flush_stream(Stream_t *Stream)
28 if(Stream->Class->flush)
29 ret |= Stream->Class->flush(Stream);
30 if(Stream->Next)
31 ret |= flush_stream(Stream->Next);
36 Stream_t *copy_stream(Stream_t *Stream)
38 if(Stream)
39 Stream->refs++;
40 return Stream;
43 int free_stream(Stream_t **Stream)
47 if(!*Stream)
49 if(! --(*Stream)->refs){
50 if((*Stream)->Class->flush)
51 ret |= (*Stream)->Class->flush(*Stream);
52 if((*Stream)->Class->freeFunc)
53 ret |= (*Stream)->Class->freeFunc(*Stream);
54 if((*Stream)->Next)
55 ret |= free_stream(&(*Stream)->Next);
56 Free(*Stream);
57 } else if ( (*Stream)->Next )
58 ret |= flush_stream((*Stream)->Next);
59 *Stream = NULL;
68 int get_data_pass_through(Stream_t *Stream, time_t *date, mt_size_t *size,
71 return GET_DATA(Stream->Next, date, size, type, address);
74 int read_pass_through(Stream_t *Stream, char *buf, mt_off_t start, size_t len)
76 return READS(Stream->Next, buf, start, len);
79 int write_pass_through(Stream_t *Stream, char *buf, mt_off_t start, size_t len)
81 return WRITES(Stream->Next, buf, start, len);
84 doscp_t *get_dosConvert_pass_through(Stream_t *Stream)
86 return GET_DOSCONVERT(Stream->Next);