21 #ifndef __JackServer__    22 #define __JackServer__    24 #include "JackCompilerDeps.h"    25 #include "driver_interface.h"    26 #include "JackDriverLoader.h"    27 #include "JackDriverInfo.h"    28 #include "JackConnectionManager.h"    29 #include "JackGlobals.h"    30 #include "JackPlatformPlug.h"    36 class JackGraphManager;
    37 class JackDriverClientInterface;
    38 struct JackEngineControl;
    39 class JackLockedEngine;
    40 class JackLoadableInternalClient;
    63         int InternalClientLoadAux(
JackLoadableInternalClient* client, 
const char* so_name, 
const char* client_name, 
int options, 
int* int_ref, 
int uuid, 
int* status);
    67         JackServer(
bool sync, 
bool temporary, 
int timeout, 
bool rt, 
int priority, 
int port_max, 
bool verbose, jack_timer_type_t clock, 
char self_connect_mode, 
const char* server_name);
    80         void Notify(
int refnum, 
int notify, 
int value);
    83         int SetBufferSize(jack_nframes_t buffer_size);
    84         int SetFreewheel(
bool onoff);
    87         int InternalClientLoad1(
const char* client_name, 
const char* so_name, 
const char* objet_data, 
int options, 
int* int_ref, 
int uuid, 
int* status);
    88         int InternalClientLoad2(
const char* client_name, 
const char* so_name, 
const JSList * parameters, 
int options, 
int* int_ref, 
int uuid, 
int* status);
    91         int LoadInternalSessionFile(
const char* file);
    94         int ReleaseTimebase(
int refnum);
    95         int SetTimebaseCallback(
int refnum, 
int conditional);
 
Locked Engine, access to methods is serialized using a mutex.
Inter process synchronization using POSIX semaphore.
Graph manager: contains the connection manager and the port array.
JackServerChannel using sockets.
The base interface for drivers clients.
Engine control in shared memory.