Changeset 1247:a065d5774b74 in roaraudio


Ignore:
Timestamp:
02/26/09 14:41:47 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added roar_vio_open_pass(), roar_vio_open_re() to libroar

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/vio.h

    r1241 r1247  
    113113// pass 
    114114 
     115int     roar_vio_open_pass    (struct roar_vio_calls * calls, struct roar_vio_calls * dst); 
    115116ssize_t roar_vio_pass_read    (struct roar_vio_calls * vio, void *buf, size_t count); 
    116117ssize_t roar_vio_pass_write   (struct roar_vio_calls * vio, void *buf, size_t count); 
     
    123124// re-read/write 
    124125 
     126int     roar_vio_open_re (struct roar_vio_calls * calls, struct roar_vio_calls * dst); 
    125127ssize_t roar_vio_re_read (struct roar_vio_calls * vio, void *buf, size_t count); 
    126128ssize_t roar_vio_re_write(struct roar_vio_calls * vio, void *buf, size_t count); 
  • libroar/vio.c

    r1241 r1247  
    192192 
    193193// pass 
     194int     roar_vio_open_pass    (struct roar_vio_calls * calls, struct roar_vio_calls * dst) { 
     195 if ( calls == NULL ) 
     196  return -1; 
     197 
     198 memset((void*)calls, 0, sizeof(struct roar_vio_calls)); 
     199 
     200 calls->read     = roar_vio_pass_read; 
     201 calls->write    = roar_vio_pass_write; 
     202 calls->lseek    = roar_vio_pass_lseek; 
     203 calls->nonblock = roar_vio_pass_nonblock; 
     204 calls->sync     = roar_vio_pass_sync; 
     205 calls->close    = roar_vio_pass_close; 
     206 
     207 calls->inst     = dst; 
     208 
     209 return 0; 
     210} 
     211 
    194212ssize_t roar_vio_pass_read (struct roar_vio_calls * vio, void *buf, size_t count) { 
    195213 return roar_vio_read((struct roar_vio_calls *) vio->inst, buf, count); 
     
    222240 
    223241// re 
     242int     roar_vio_open_re (struct roar_vio_calls * calls, struct roar_vio_calls * dst) { 
     243 if ( roar_vio_open_pass(calls, dst) == -1 ) 
     244  return -1; 
     245 
     246 calls->read  = roar_vio_re_read; 
     247 calls->write = roar_vio_re_write; 
     248 calls->lseek = roar_vio_re_lseek; 
     249 
     250 return 0; 
     251} 
    224252ssize_t roar_vio_re_read (struct roar_vio_calls * vio, void *buf, size_t count) { 
    225253  size_t len =  0; 
     
    274302} 
    275303 
    276 // we should do a some more intelgent thing here. 
     304// TODO: we should do a some more intelgent thing here. 
    277305off_t   roar_vio_re_lseek(struct roar_vio_calls * vio, off_t offset, int whence) { 
    278306 return roar_vio_lseek((struct roar_vio_calls *) vio->inst, offset, whence); 
Note: See TracChangeset for help on using the changeset viewer.