22 #ifndef __JackFreebobDriver__    23 #define __JackFreebobDriver__    25 #include "JackAudioDriver.h"    26 #include "JackThreadedDriver.h"    29 #include "freebob_driver.h"    50         int freebob_driver_write (
freebob_driver_t * driver, jack_nframes_t nframes);
    52                                             int extra_fd, 
int *status,
    53                                             float *delayed_usecs);
    60 #ifdef FREEBOB_DRIVER_WITH_MIDI    61         freebob_driver_midi_handle_t *freebob_driver_midi_init(
freebob_driver_t *driver);
    62         void freebob_driver_midi_finish (freebob_driver_midi_handle_t *m);
    63         int freebob_driver_midi_start (freebob_driver_midi_handle_t *m);
    64         int freebob_driver_midi_stop (freebob_driver_midi_handle_t *m);
    90         int SetBufferSize(jack_nframes_t nframes);
 
Locked Engine, access to methods is serialized using a mutex. 
Inter process synchronization using POSIX semaphore. 
The base class for audio drivers: drivers with audio ports.