34 #ifndef __jack_shm_h__
35 #define __jack_shm_h__
38 #include <sys/types.h>
40 #include "JackCompilerDeps.h"
51 #define MAX_SHM_ID 256
52 #define JACK_SERVER_NAME_SIZE 256
53 #define JACK_SHM_MAGIC 0x4a41434b
54 #define JACK_SHM_NULL_INDEX -1
55 #define JACK_SHM_REGISTRY_INDEX -2
69 #define SHM_NAME_MAX NAME_MAX
71 typedef char shm_name_t[SHM_NAME_MAX];
72 typedef shm_name_t jack_shm_id_t;
77 #define SHM_NAME_MAX NAME_MAX
79 typedef char shm_name_t[SHM_NAME_MAX];
80 typedef shm_name_t jack_shm_id_t;
84 typedef int jack_shm_id_t;
94 typedef int16_t jack_shm_registry_index_t;
112 char name[JACK_SERVER_NAME_SIZE];
121 jack_shmsize_t hdr_len;
122 jack_shmsize_t entry_len;
128 jack_shm_registry_index_t index;
141 #define JACK_SHM_REGISTRY_SIZE (sizeof (jack_shm_header_t) \
142 + sizeof (jack_shm_registry_t) * MAX_SHM_ID)
154 jack_shm_registry_index_t index;
160 } POST_PACKED_STRUCTURE;
167 jack_shm_registry_index_t);
169 jack_shm_registry_index_t*);
170 int jack_release_shm_info (jack_shm_registry_index_t);
174 int jack_register_server (
const char *server_name,
int new_registry);
175 int jack_unregister_server (
const char *server_name);
177 int jack_initialize_shm (
const char *server_name);
178 int jack_initialize_shm_server (
void);
179 int jack_initialize_shm_client (
void);
180 int jack_cleanup_shm (
void);
182 int jack_shmalloc (
const char *shm_name, jack_shmsize_t size,