# intclient.h File Reference

`#include <jack/types.h>`

Go to the source code of this file.

## Functions

char * | jack_get_internal_client_name (jack_client_t *client, jack_intclient_t intclient)
jack_intclient_t | jack_internal_client_handle (jack_client_t *client, const char *client_name, jack_status_t *status)
jack_intclient_t | jack_internal_client_load (jack_client_t *client, const char *client_name, jack_options_t options, jack_status_t *status,...)
jack_status_t | jack_internal_client_unload (jack_client_t *client, jack_intclient_t intclient)

## Function Documentation

char* jack_get_internal_client_name | ( | jack_client_t * | client,
|  | jack_intclient_t | intclient |
| ) |  |  |

Get an internal client's name. This is useful when JackUseExactName was not specified on jack_internal_client_load() and JackNameNotUnique status was returned. In that case, the actual name will differ from the client_name requested.

Parameters:

  | client | requesting JACK client's handle.
  | intclient | handle returned from jack_internal_client_load() or jack_internal_client_handle().

Returns:
  NULL if unsuccessful, otherwise pointer to the internal client name obtained from the heap via malloc(). The caller should free() this storage when no longer needed.

jack_intclient_t jack_internal_client_handle | ( | jack_client_t * | client,
|  | const char * | client_name,
|  | jack_status_t * | status |
| ) |  |  |

Return the jack_intclient_t handle for an internal client running in the JACK server.

Parameters:

  | client | requesting JACK client's handle.
  | client_name | for the internal client of no more than jack_client_name_size() characters. The name scope is local to the current server.
  | status | (if non-NULL) an address for JACK to return information from this operation. This status word is formed by OR-ing together the relevant JackStatus bits.

Returns:
  Opaque internal client handle if successful. If 0, the internal client was not found, and *status includes the JackNoSuchClient and JackFailure bits.

jack_intclient_t jack_internal_client_load | ( | jack_client_t * | client,
|  | const char * | client_name,
|  | jack_options_t | options,
|  | jack_status_t * | status,
|  |  | ... |
| ) |  |  |

Load an internal client into the JACK server.

Internal clients run inside the JACK server process. They can use most of the same functions as external clients. Each internal client is built as a shared object module, which must declare jack_initialize() and jack_finish() entry points called at load and unload times. See inprocess.c for an example.

Parameters:

  | client | loading JACK client's handle.
  | client_name | of at most jack_client_name_size() characters for the internal client to load. The name scope is local to the current server.
  | options | formed by OR-ing together JackOptions bits. Only the JackLoadOptions bits are valid.
  | status | (if non-NULL) an address for JACK to return information from the load operation. This status word is formed by OR-ing together the relevant JackStatus bits.

Optional parameters: depending on corresponding [options bits] additional parameters may follow status (in this order).

- [JackLoadName] (char *) load_name is the shared object file from which to load the new internal client (otherwise use the client_name).

- [JackLoadInit] (char *) load_init an arbitary string passed to the internal client's jack_initialize() routine (otherwise NULL), of no more than JACK_LOAD_INIT_LIMIT bytes.

Returns:
  Opaque internal client handle if successful. If this is 0, the load operation failed, the internal client was not loaded, and *status includes the JackFailure bit.

jack_status_t jack_internal_client_unload | ( | jack_client_t * | client,
|  | jack_intclient_t | intclient |
| ) |  |  |

Unload an internal client from a JACK server. This calls the intclient's jack_finish() entry point then removes it. See inprocess.c for an example.

Parameters:

  | client | unloading JACK client's handle.
  | intclient | handle returned from jack_internal_client_load() or jack_internal_client_handle().

Returns:
  0 if successful, otherwise JackStatus bits.