1 #ifndef __jack_libjack_local_h__
2 #define __jack_libjack_local_h__
4 /* Client data structure, in the client address space. */
7 jack_control_t
*engine
;
8 jack_client_control_t
*control
;
9 jack_shm_info_t engine_shm
;
10 jack_shm_info_t control_shm
;
12 struct pollfd
* pollfd
;
16 int upstream_is_jackd
;
18 /* these two are copied from the engine when the
22 jack_port_type_id_t n_port_types
;
23 jack_shm_info_t
* port_segment
;
29 char fifo_prefix
[PATH_MAX
+1];
30 void (*on_shutdown
)(void *arg
);
31 void *on_shutdown_arg
;
32 void (*on_info_shutdown
)(jack_status_t
, const char*, void *arg
);
33 void *on_info_shutdown_arg
;
35 char first_active
: 1;
37 char name
[JACK_CLIENT_NAME_SIZE
];
39 #ifdef JACK_USE_MACH_THREADS
40 /* specific ressources for server/client real-time thread communication */
41 mach_port_t clienttask
, bp
, serverport
, replyport
;
42 trivial_message message
;
43 pthread_t process_thread
;
44 char rt_thread_ok
: 1;
49 JackProcessCallback process
;
51 JackThreadInitCallback thread_init
;
52 void *thread_init_arg
;
53 JackBufferSizeCallback bufsize
;
55 JackSampleRateCallback srate
;
57 JackPortRegistrationCallback port_register
;
58 void *port_register_arg
;
59 JackPortConnectCallback port_connect
;
60 void *port_connect_arg
;
61 JackGraphOrderCallback graph_order
;
62 void *graph_order_arg
;
63 JackXRunCallback xrun
;
65 JackSyncCallback sync_cb
;
67 JackTimebaseCallback timebase_cb
;
69 JackFreewheelCallback freewheel_cb
;
71 JackClientRegistrationCallback client_register
;
72 void *client_register_arg
;
73 JackThreadCallback thread_cb
;
76 /* external clients: set by libjack
77 * internal clients: set by engine */
78 int (*deliver_request
)(void*, jack_request_t
*); /* JOQ: 64/32 bug! */
83 extern int jack_client_deliver_request (const jack_client_t
*client
,
85 extern jack_port_t
*jack_port_new (const jack_client_t
*client
,
86 jack_port_id_t port_id
,
87 jack_control_t
*control
);
89 extern void *jack_zero_filled_buffer
;
91 extern void jack_set_clock_source (jack_timer_type_t
);
93 #endif /* __jack_libjack_local_h__ */