summaryrefslogtreecommitdiff
path: root/include/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/internal.h')
-rw-r--r--include/internal.h28
1 files changed, 22 insertions, 6 deletions
diff --git a/include/internal.h b/include/internal.h
index ed2202d..1bff379 100644
--- a/include/internal.h
+++ b/include/internal.h
@@ -452,6 +452,18 @@ struct _jack_request {
int32_t status;
} POST_PACKED_STRUCTURE;
+
+/* Data used by the algorithm determining running order
+ * of clients.
+ */
+typedef struct _jack_feedcounts {
+ struct _jack_feedcounts *next;
+ struct _jack_client_internal *client;
+ int fwd_count;
+ int rev_count;
+} jack_feedcounts_t;
+
+
/* Per-client structure allocated in the server's address space.
* It's here because its not part of the engine structure.
*/
@@ -464,14 +476,18 @@ typedef struct _jack_client_internal {
int event_fd;
int subgraph_start_fd;
int subgraph_wait_fd;
- JSList *ports; /* protected by engine->client_lock */
- JSList *truefeeds; /* protected by engine->client_lock */
- JSList *sortfeeds; /* protected by engine->client_lock */
- int fedcount;
- int tfedcount;
+
+ /* protected by engine->client_lock */
+ JSList *ports;
+
+ jack_feedcounts_t *feedlist;
+ struct _jack_client_internal *execlist_next;
+ struct _jack_client_internal *execlist_prev;
+ int depcount;
+ int depcheck;
+
jack_shm_info_t control_shm;
unsigned long execution_order;
- struct _jack_client_internal *next_client; /* not a linked list! */
dlhandle handle;
int (*initialize)(jack_client_t*, const char*); /* int. clients only */
void (*finish)(void *); /* internal clients only */