--- libaitsess/inc/aitsess.h 2012/02/10 16:52:37 1.3.2.4 +++ libaitsess/inc/aitsess.h 2012/02/10 17:14:21 1.3.2.5 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitsess.h,v 1.3.2.4 2012/02/10 16:52:37 misho Exp $ +* $Id: aitsess.h,v 1.3.2.5 2012/02/10 17:14:21 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -74,6 +74,8 @@ struct tagSess { key_t key; char type; char zcpy; + + char name[BUFSIZ]; off_t eom; void *addr; off_t offset; @@ -87,8 +89,8 @@ struct tagSess { } id; struct { - int (*create)(const char *, int, long, ait_sess_t * __restrict, ...); - void (*destroy)(const char*, ait_sess_t * __restrict); + int (*create)(int, long, ait_sess_t * __restrict, ...); + void (*destroy)(ait_sess_t * __restrict); void *(*attach)(ait_sess_t * __restrict, void *); void (*detach)(ait_sess_t * __restrict); void (*notSem)(ait_sess_t * __restrict); @@ -131,42 +133,38 @@ void sess_freeSession(const char *csFName, ait_sess_t /* * map_createSession() MMAP Created session and allocated resources * - * @csFName = Session name for identified * @nSeed = Seed for securing key, if =-1 must add ready for use key * @nSize = Allocated shared memory size in bytes * @Sess = Session item * @... = If nSeed == -1 add ready for use key value * return: 0 Ok successful, -1 error: not allocated resources */ -int map_createSession(const char *csFName, int nSeed, long nSize, ait_sess_t * __restrict Sess, ...); +int map_createSession(int nSeed, long nSize, ait_sess_t * __restrict Sess, ...); /* * map_destroySession() MMAP free shared resources * - * @csFName = Session name for delete * @Sess = Session item * return: none */ -void map_destroySession(const char *csFName, ait_sess_t * __restrict Sess); +void map_destroySession(ait_sess_t * __restrict Sess); /* * ipc_createSession() IPC Created session and allocated resources * - * @csFName = Session name for identified * @nSeed = Seed for securing key, if =-1 must add ready for use key * @nSize = Allocated shared memory size in bytes * @Sess = Session item * @... = If nSeed == -1 add ready for use key value * return: 0 Ok successful, -1 error: not allocated resources */ -int ipc_createSession(const char *csFName, int nSeed, long nSize, ait_sess_t * __restrict Sess, ...); +int ipc_createSession(int nSeed, long nSize, ait_sess_t * __restrict Sess, ...); /* * ipc_destroySession() IPC free shared resources * - * @csFName = Session name for delete * @Sess = Session item * return: none */ -void ipc_destroySession(const char *csFName, ait_sess_t * __restrict Sess); +void ipc_destroySession(ait_sess_t * __restrict Sess); /* * map_attachSession() MMAP Attach to shared memory & return begin address @@ -270,18 +268,16 @@ int ipc_decSemaphore(ait_sess_t * __restrict s); /* --------------------------------------------------------- */ -#define ALLOC_MEMORY(fname, sd, siz, s, ...) (assert((s)), (s)->sess.create((fname), (sd), \ - (siz), (s), ## __VA_ARGS__)) -#define FREE_MEMORY(fname, s) do { assert((s)); \ - (s)->sess.destroy((fname), (s)); \ - } while(0) -#define ATTACH_MEMORY(s) (assert((s)), (s)->sess.attach((s), NULL)) -#define DETACH_MEMORY(s) do { assert((s)); (s)->sess.detach((s)); } while(0) +#define ALLOC_MEMORY(sd, siz, s, ...) (assert((s)), (s)->sess.create((sd), \ + (siz), (s), ## __VA_ARGS__)) +#define ATTACH_MEMORY(s) (assert((s)), (s)->sess.attach((s), NULL)) +#define DETACH_MEMORY(s) do { assert((s)); (s)->sess.detach((s)); } while(0) +#define FREE_MEMORY(s) do { assert((s)); (s)->sess.destroy((s)); } while(0) -#define IS_SEMOK(s) (assert((s)), (s)->sess.isSemOK((s))) -#define INC_SEM(s) (assert((s)), (s)->sess.incSem((s))) -#define DEC_SEM(s) (assert((s)), (s)->sess.decSem((s))) -#define NOT_SEM(s) do { assert((s)); (s)->sess.notSem((s)); } while(0) +#define IS_SEMOK(s) (assert((s)), (s)->sess.isSemOK((s))) +#define INC_SEM(s) (assert((s)), (s)->sess.incSem((s))) +#define DEC_SEM(s) (assert((s)), (s)->sess.decSem((s))) +#define NOT_SEM(s) do { assert((s)); (s)->sess.notSem((s)); } while(0) /* --------------------------------------------------------- */