21 #ifndef __jack_driver_h__    22 #define __jack_driver_h__    27 #include "driver_interface.h"    30 typedef long channel_t;
    39 typedef void (*ClockSyncListenerFunction)(channel_t, ClockSyncStatus, 
void*);
    44     ClockSyncListenerFunction 
function;
    52 typedef int (*JackDriverAttachFunction)(
struct _jack_driver *,
    53                                         struct _jack_engine *);
    54 typedef int (*JackDriverDetachFunction)(
struct _jack_driver *,
    55                                         struct _jack_engine *);
    56 typedef int (*JackDriverReadFunction)(
struct _jack_driver *,
    57                                       jack_nframes_t nframes);
    58 typedef int (*JackDriverWriteFunction)(
struct _jack_driver *,
    59                                        jack_nframes_t nframes);
    60 typedef int (*JackDriverNullCycleFunction)(
struct _jack_driver *,
    61         jack_nframes_t nframes);
    62 typedef int (*JackDriverStopFunction)(
struct _jack_driver *);
    63 typedef int (*JackDriverStartFunction)(
struct _jack_driver *);
    64 typedef int     (*JackDriverBufSizeFunction)(
struct _jack_driver *,
    65         jack_nframes_t nframes);
   215 #define JACK_DRIVER_DECL \   216     jack_time_t period_usecs; \   217     jack_time_t last_wait_ust; \   219     struct _jack_client_internal * internal_client; \   220     void (*finish)(struct _jack_driver *);\   221     JackDriverAttachFunction attach; \   222     JackDriverDetachFunction detach; \   223     JackDriverReadFunction read; \   224     JackDriverWriteFunction write; \   225     JackDriverNullCycleFunction null_cycle; \   226     JackDriverStopFunction stop; \   227     JackDriverStartFunction start; \   228     JackDriverBufSizeFunction bufsize;   272         jack_nframes_t nframes);
   277 #define JACK_DRIVER_NT_DECL \   279     struct _jack_engine * engine; \   280     volatile int nt_run; \   281     pthread_t nt_thread; \   282     pthread_mutex_t nt_run_lock; \   283     JackDriverNTAttachFunction nt_attach; \   284     JackDriverNTDetachFunction nt_detach; \   285     JackDriverNTStopFunction nt_stop; \   286     JackDriverNTStartFunction nt_start; \   287     JackDriverNTBufSizeFunction nt_bufsize; \   288     JackDriverNTRunCycleFunction nt_run_cycle;   290 #define nt_write write   291 #define nt_null_cycle null_cycle