snd_seq_get_client_pool

Name

snd_seq_get_client_pool -- obtain the pool information of the current client

Synopsis

int snd_seq_get_client_pool(snd_seq_t *handle, snd_seq_client_pool_t *info);

Description

Obtains the pool information of the current client. The resultant data is stored on the following structure.

/* client pool size */
typedef struct {
	int client;			/* client number to inquire */
	int output_pool;		/* outgoing (write) pool size */
	int input_pool;			/* incoming (read) pool size */
	int output_room;		/* minimum free pool size for select/blocking mode */
	int output_free;		/* unused size */
	int input_free;			/* unused size */
	char reserved[64];
} snd_seq_client_pool_t;
The output_pool is the size of output (write) pool, and the input_pool is the size of input (read) pool.

The output_room is the minimum free pool size. When the client filled the output pool with events, it went into sleep in blocking mode. After events more than output_room are freed, sequencer wakes the client up.

The output_free and input_free are the number of unused events in output and input pools, respectively.

Function returns zero if successful, or a negative error code.

See Also

snd_seq_set_client_pool, snd_seq_block_mode