Changeset 1253:b3dc719b129f in roaraudio
- Timestamp:
- 02/27/09 00:29:24 (15 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
include/libroar/vio.h
r1252 r1253 135 135 off_t roar_vio_re_lseek(struct roar_vio_calls * vio, off_t offset, int whence); 136 136 137 137 // stdio 138 ssize_t roar_vio_stdio_read (struct roar_vio_calls * vio, void *buf, size_t count); 139 ssize_t roar_vio_stdio_write (struct roar_vio_calls * vio, void *buf, size_t count); 140 off_t roar_vio_stdio_lseek (struct roar_vio_calls * vio, off_t offset, int whence); 141 int roar_vio_stdio_sync (struct roar_vio_calls * vio); 142 int roar_vio_stdio_close (struct roar_vio_calls * vio); 138 143 139 144 #endif -
libroar/vio.c
r1252 r1253 180 180 return -1; 181 181 182 return -1; 182 memset(calls, 0, sizeof(struct roar_vio_calls)); 183 184 calls->read = roar_vio_stdio_read; 185 calls->write = roar_vio_stdio_write; 186 calls->lseek = roar_vio_stdio_lseek; 187 calls->sync = roar_vio_stdio_sync; 188 calls->close = roar_vio_stdio_close; 189 190 calls->inst = dst; 191 192 return 0; 183 193 } 184 194 … … 361 371 } 362 372 373 // stdio: 374 ssize_t roar_vio_stdio_read (struct roar_vio_calls * vio, void *buf, size_t count) { 375 return fread(buf, 1, count, (FILE*)(vio->inst)); 376 } 377 378 ssize_t roar_vio_stdio_write (struct roar_vio_calls * vio, void *buf, size_t count) { 379 return fwrite(buf, 1, count, (FILE*)(vio->inst)); 380 } 381 382 off_t roar_vio_stdio_lseek (struct roar_vio_calls * vio, off_t offset, int whence) { 383 if ( fseek((FILE*)(vio->inst), offset, whence) == -1 ) 384 return -1; 385 386 return ftell((FILE*)(vio->inst)); 387 } 388 389 int roar_vio_stdio_sync (struct roar_vio_calls * vio) { 390 return fflush((FILE*)(vio->inst)); 391 } 392 393 int roar_vio_stdio_close (struct roar_vio_calls * vio) { 394 return fclose((FILE*)(vio->inst)); 395 } 363 396 364 397 //ll
Note: See TracChangeset
for help on using the changeset viewer.