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
;
33 char first_active
: 1;
35 char name
[JACK_CLIENT_NAME_SIZE
];
37 #ifdef JACK_USE_MACH_THREADS
38 /* specific ressources for server/client real-time thread communication */
39 mach_port_t clienttask
, bp
, serverport
, replyport
;
40 trivial_message message
;
41 pthread_t process_thread
;
42 char rt_thread_ok
: 1;
47 JackProcessCallback process
;
49 JackThreadInitCallback thread_init
;
50 void *thread_init_arg
;
51 JackBufferSizeCallback bufsize
;
53 JackSampleRateCallback srate
;
55 JackPortRegistrationCallback port_register
;
56 void *port_register_arg
;
57 JackPortConnectCallback port_connect
;
58 void *port_connect_arg
;
59 JackGraphOrderCallback graph_order
;
60 void *graph_order_arg
;
61 JackXRunCallback xrun
;
63 JackSyncCallback sync_cb
;
65 JackTimebaseCallback timebase_cb
;
67 JackFreewheelCallback freewheel_cb
;
69 JackClientRegistrationCallback client_register
;
70 void *client_register_arg
;
71 JackThreadCallback thread_cb
;
74 /* external clients: set by libjack
75 * internal clients: set by engine */
76 int (*deliver_request
)(void*, jack_request_t
*); /* JOQ: 64/32 bug! */
81 extern int jack_client_deliver_request (const jack_client_t
*client
,
83 extern jack_port_t
*jack_port_new (const jack_client_t
*client
,
84 jack_port_id_t port_id
,
85 jack_control_t
*control
);
87 extern void *jack_zero_filled_buffer
;
89 extern void jack_set_clock_source (jack_timer_type_t
);
91 #endif /* __jack_libjack_local_h__ */