diff options
Diffstat (limited to 'include/internal.h')
-rw-r--r-- | include/internal.h | 28 |
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 */ |