Changeset 1241:9544b62432cb in roaraudio


Ignore:
Timestamp:
02/26/09 12:38:58 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added some more basic vio calls

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/vio.h

    r1220 r1241  
    7878 int     (*sync    )(struct roar_vio_calls * vio); 
    7979 int     (*ctl     )(struct roar_vio_calls * vio, int cmd, void * data); 
     80 int     (*close   )(struct roar_vio_calls * vio); 
    8081}; 
    8182 
     
    9394int     roar_vio_sync    (struct roar_vio_calls * vio); 
    9495int     roar_vio_ctl     (struct roar_vio_calls * vio, int cmd, void * data); 
     96int     roar_vio_close   (struct roar_vio_calls * vio); 
    9597 
    9698 
     
    103105int     roar_vio_basic_nonblock(struct roar_vio_calls * vio, int state); 
    104106int     roar_vio_basic_sync    (struct roar_vio_calls * vio); 
     107int     roar_vio_basic_close   (struct roar_vio_calls * vio); 
    105108 
    106109// null 
    107 // this is read an write in one! 
     110// this is a read and write in one! 
    108111ssize_t roar_vio_null_rw    (struct roar_vio_calls * vio, void *buf, size_t count); 
    109112 
    110113// pass 
    111114 
    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); 
     115ssize_t roar_vio_pass_read    (struct roar_vio_calls * vio, void *buf, size_t count); 
     116ssize_t roar_vio_pass_write   (struct roar_vio_calls * vio, void *buf, size_t count); 
     117off_t   roar_vio_pass_lseek   (struct roar_vio_calls * vio, off_t offset, int whence); 
     118int     roar_vio_pass_nonblock(struct roar_vio_calls * vio, int state); 
     119int     roar_vio_pass_sync    (struct roar_vio_calls * vio); 
     120int     roar_vio_pass_ctl     (struct roar_vio_calls * vio, int cmd, void * data); 
     121int     roar_vio_pass_close   (struct roar_vio_calls * vio); 
    115122 
    116123// re-read/write 
  • libroar/vio.c

    r1171 r1241  
    5252 calls->nonblock = roar_vio_basic_nonblock; 
    5353 calls->sync     = roar_vio_basic_sync; 
     54 calls->close    = roar_vio_basic_close; 
    5455 
    5556 return 0; 
     
    135136 
    136137 return vio->ctl(vio, cmd, data); 
     138} 
     139 
     140int     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); 
    137148} 
    138149 
     
    168179} 
    169180 
     181int     roar_vio_basic_close    (struct roar_vio_calls * vio) { 
     182 return close(roar_vio_get_fh(vio)); 
     183} 
     184 
    170185// null 
    171186ssize_t roar_vio_null_rw    (struct roar_vio_calls * vio, void *buf, size_t count) { 
     
    187202off_t   roar_vio_pass_lseek(struct roar_vio_calls * vio, off_t offset, int whence) { 
    188203 return roar_vio_lseek((struct roar_vio_calls *) vio->inst, offset, whence); 
     204} 
     205 
     206int     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 
     210int     roar_vio_pass_sync    (struct roar_vio_calls * vio) { 
     211 return roar_vio_sync((struct roar_vio_calls *) vio->inst); 
     212} 
     213 
     214int     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 
     218int     roar_vio_pass_close   (struct roar_vio_calls * vio) { 
     219 return roar_vio_close((struct roar_vio_calls *) vio->inst); 
    189220} 
    190221 
Note: See TracChangeset for help on using the changeset viewer.