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