Changeset 1241:9544b62432cb in roaraudio
- Timestamp:
- 02/26/09 12:38:58 (15 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
include/libroar/vio.h
r1220 r1241 78 78 int (*sync )(struct roar_vio_calls * vio); 79 79 int (*ctl )(struct roar_vio_calls * vio, int cmd, void * data); 80 int (*close )(struct roar_vio_calls * vio); 80 81 }; 81 82 … … 93 94 int roar_vio_sync (struct roar_vio_calls * vio); 94 95 int roar_vio_ctl (struct roar_vio_calls * vio, int cmd, void * data); 96 int roar_vio_close (struct roar_vio_calls * vio); 95 97 96 98 … … 103 105 int roar_vio_basic_nonblock(struct roar_vio_calls * vio, int state); 104 106 int roar_vio_basic_sync (struct roar_vio_calls * vio); 107 int roar_vio_basic_close (struct roar_vio_calls * vio); 105 108 106 109 // null 107 // this is read anwrite in one!110 // this is a read and write in one! 108 111 ssize_t roar_vio_null_rw (struct roar_vio_calls * vio, void *buf, size_t count); 109 112 110 113 // pass 111 114 112 ssize_t roar_vio_pass_read (struct roar_vio_calls * vio, void *buf, size_t count); 113 ssize_t roar_vio_pass_write(struct roar_vio_calls * vio, void *buf, size_t count); 114 off_t roar_vio_pass_lseek(struct roar_vio_calls * vio, off_t offset, int whence); 115 ssize_t roar_vio_pass_read (struct roar_vio_calls * vio, void *buf, size_t count); 116 ssize_t roar_vio_pass_write (struct roar_vio_calls * vio, void *buf, size_t count); 117 off_t roar_vio_pass_lseek (struct roar_vio_calls * vio, off_t offset, int whence); 118 int roar_vio_pass_nonblock(struct roar_vio_calls * vio, int state); 119 int roar_vio_pass_sync (struct roar_vio_calls * vio); 120 int roar_vio_pass_ctl (struct roar_vio_calls * vio, int cmd, void * data); 121 int roar_vio_pass_close (struct roar_vio_calls * vio); 115 122 116 123 // re-read/write -
libroar/vio.c
r1171 r1241 52 52 calls->nonblock = roar_vio_basic_nonblock; 53 53 calls->sync = roar_vio_basic_sync; 54 calls->close = roar_vio_basic_close; 54 55 55 56 return 0; … … 135 136 136 137 return vio->ctl(vio, cmd, data); 138 } 139 140 int roar_vio_close (struct roar_vio_calls * vio) { 141 if ( vio == NULL ) 142 return -1; 143 144 if ( vio->sync == NULL ) 145 return -1; 146 147 return vio->close(vio); 137 148 } 138 149 … … 168 179 } 169 180 181 int roar_vio_basic_close (struct roar_vio_calls * vio) { 182 return close(roar_vio_get_fh(vio)); 183 } 184 170 185 // null 171 186 ssize_t roar_vio_null_rw (struct roar_vio_calls * vio, void *buf, size_t count) { … … 187 202 off_t roar_vio_pass_lseek(struct roar_vio_calls * vio, off_t offset, int whence) { 188 203 return roar_vio_lseek((struct roar_vio_calls *) vio->inst, offset, whence); 204 } 205 206 int roar_vio_pass_nonblock(struct roar_vio_calls * vio, int state) { 207 return roar_vio_nonblock((struct roar_vio_calls *) vio->inst, state); 208 } 209 210 int roar_vio_pass_sync (struct roar_vio_calls * vio) { 211 return roar_vio_sync((struct roar_vio_calls *) vio->inst); 212 } 213 214 int roar_vio_pass_ctl (struct roar_vio_calls * vio, int cmd, void * data) { 215 return roar_vio_ctl((struct roar_vio_calls *) vio->inst, cmd, data); 216 } 217 218 int roar_vio_pass_close (struct roar_vio_calls * vio) { 219 return roar_vio_close((struct roar_vio_calls *) vio->inst); 189 220 } 190 221
Note: See TracChangeset
for help on using the changeset viewer.