Changeset 1118:62d16667d373 in roaraudio
- Timestamp:
- 01/16/09 17:32:49 (15 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
include/libroar/vio.h
r943 r1118 45 45 off_t (*lseek)(int fildes, off_t offset, int whence, void * inst); 46 46 */ 47 ssize_t (*read )(struct roar_vio_calls * vio, void *buf, size_t count); 48 ssize_t (*write)(struct roar_vio_calls * vio, void *buf, size_t count); 49 off_t (*lseek)(struct roar_vio_calls * vio, off_t offset, int whence); 47 ssize_t (*read )(struct roar_vio_calls * vio, void *buf, size_t count); 48 ssize_t (*write )(struct roar_vio_calls * vio, void *buf, size_t count); 49 off_t (*lseek )(struct roar_vio_calls * vio, off_t offset, int whence); 50 int (*nonblock)(struct roar_vio_calls * vio, int state); 51 int (*sync )(struct roar_vio_calls * vio); 50 52 }; 51 53 … … 57 59 int roar_vio_get_fh (struct roar_vio_calls * vio); 58 60 59 ssize_t roar_vio_read (struct roar_vio_calls * vio, void *buf, size_t count); 60 ssize_t roar_vio_write(struct roar_vio_calls * vio, void *buf, size_t count); 61 off_t roar_vio_lseek(struct roar_vio_calls * vio, off_t offset, int whence); 61 ssize_t roar_vio_read (struct roar_vio_calls * vio, void *buf, size_t count); 62 ssize_t roar_vio_write (struct roar_vio_calls * vio, void *buf, size_t count); 63 off_t roar_vio_lseek (struct roar_vio_calls * vio, off_t offset, int whence); 64 int roar_vio_nonblock(struct roar_vio_calls * vio, int state); 65 int roar_vio_sync (struct roar_vio_calls * vio); 62 66 63 67 … … 65 69 66 70 // basic 67 ssize_t roar_vio_basic_read (struct roar_vio_calls * vio, void *buf, size_t count); 68 ssize_t roar_vio_basic_write(struct roar_vio_calls * vio, void *buf, size_t count); 69 off_t roar_vio_basic_lseek(struct roar_vio_calls * vio, off_t offset, int whence); 71 ssize_t roar_vio_basic_read (struct roar_vio_calls * vio, void *buf, size_t count); 72 ssize_t roar_vio_basic_write (struct roar_vio_calls * vio, void *buf, size_t count); 73 off_t roar_vio_basic_lseek (struct roar_vio_calls * vio, off_t offset, int whence); 74 int roar_vio_basic_nonblock(struct roar_vio_calls * vio, int state); 75 int roar_vio_basic_sync (struct roar_vio_calls * vio); 70 76 71 77 // null -
libroar/vio.c
r989 r1118 36 36 37 37 int roar_vio_init_calls (struct roar_vio_calls * calls) { 38 if ( !calls)38 if ( calls == NULL ) 39 39 return -1; 40 40 … … 47 47 */ 48 48 49 calls->read = roar_vio_basic_read; 50 calls->write = roar_vio_basic_write; 51 calls->lseek = roar_vio_basic_lseek; 49 calls->read = roar_vio_basic_read; 50 calls->write = roar_vio_basic_write; 51 calls->lseek = roar_vio_basic_lseek; 52 calls->nonblock = roar_vio_basic_nonblock; 53 calls->sync = roar_vio_basic_sync; 52 54 53 55 return 0; … … 103 105 104 106 return vio->lseek(vio, offset, whence); 107 } 108 109 int roar_vio_nonblock(struct roar_vio_calls * vio, int state) { 110 if ( vio == NULL ) 111 return -1; 112 113 if ( vio->nonblock == NULL ) 114 return -1; 115 116 return vio->nonblock(vio, state); 117 } 118 119 int roar_vio_sync (struct roar_vio_calls * vio) { 120 if ( vio == NULL ) 121 return -1; 122 123 if ( vio->sync == NULL ) 124 return -1; 125 126 return vio->sync(vio); 105 127 } 106 128 … … 118 140 off_t roar_vio_basic_lseek(struct roar_vio_calls * vio, off_t offset, int whence) { 119 141 return lseek(roar_vio_get_fh(vio), offset, whence); 142 } 143 144 int roar_vio_basic_nonblock(struct roar_vio_calls * vio, int state) { 145 if ( roar_socket_nonblock(roar_vio_get_fh(vio), state) == -1 ) 146 return -1; 147 148 if ( state == ROAR_SOCKET_NONBLOCK ) 149 return 0; 150 151 return roar_vio_sync(vio); 152 } 153 154 int roar_vio_basic_sync (struct roar_vio_calls * vio) { 155 return fdatasync(roar_vio_get_fh(vio)); 120 156 } 121 157
Note: See TracChangeset
for help on using the changeset viewer.