Changeset 931:f0583968c304 in roaraudio


Ignore:
Timestamp:
12/07/08 17:33:08 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added driver_openvio()

Location:
roard
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • roard/driver.c

    r930 r931  
    7777   } 
    7878 
    79    ROAR_WARN("driver_open(*): driver uses old non-vio interface!"); 
     79   ROAR_WARN("driver_open(*): driver(%s) uses old non-vio interface!", driver); 
    8080 
    8181   if ( g_driver[i].open ) 
     
    8585 } 
    8686 
     87 return -1; 
     88} 
     89 
     90int driver_openvio(struct roar_vio_calls * calls, 
     91                 int * driver_id, char * driver /* NOTE: this is not part of struct roar_driver's def! */, 
     92                 char * device, struct roar_audio_info * info, int fh) { 
     93 int i; 
     94 
     95 if ( driver == NULL ) 
     96  driver = ROAR_DRIVER_DEFAULT; 
     97 
     98 for (i = 0; g_driver[i].name != NULL; i++) { 
     99  if ( strcmp(g_driver[i].name, driver) == 0 ) { 
     100   ROAR_DBG("driver_open(*): found driver: id = %i", i); 
     101 
     102   *driver_id = i; 
     103 
     104   if ( g_driver[i].vio_init == NULL ) { 
     105    ROAR_WARN("driver_open(*): driver(%s) uses old non-vio interface!", driver); 
     106    ROAR_ERR("driver_openvio(calls=%p, driver_id={%i}, driver='%s', device='%s', info=%p, fh=%i): not a VIO driver!", 
     107        calls, i, driver, device, info, fh); 
     108    return -1; 
     109   } 
     110 
     111   return g_driver[i].vio_init(calls, device, info, fh); 
     112  } 
     113 } 
    87114 return -1; 
    88115} 
  • roard/include/driver.h

    r930 r931  
    8989                 int * driver_id, char * driver /* NOTE: this is not part of struct roar_driver's def! */, 
    9090                 char * device, struct roar_audio_info * info); 
     91int driver_openvio(struct roar_vio_calls * calls, 
     92                 int * driver_id, char * driver /* NOTE: this is not part of struct roar_driver's def! */, 
     93                 char * device, struct roar_audio_info * info, int fh); 
     94 
    9195int driver_close(DRIVER_USERDATA_T   inst, int driver); 
    9296int driver_pause(DRIVER_USERDATA_T   inst, int driver, int newstate); 
Note: See TracChangeset for help on using the changeset viewer.