--- libaitsess/inc/aitsess.h 2012/02/10 22:46:41 1.3.2.6 +++ libaitsess/inc/aitsess.h 2013/01/17 13:10:49 1.6.4.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitsess.h,v 1.3.2.6 2012/02/10 22:46:41 misho Exp $ +* $Id: aitsess.h,v 1.6.4.1 2013/01/17 13:10:49 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -47,10 +47,10 @@ SUCH DAMAGE. #define __AITSESS_H +#include #include #include -#include -#include +#include #define SHARED_UNKNOWN -1 #define SHARED_IPC 0 @@ -67,10 +67,9 @@ SUCH DAMAGE. #define MAX_SEMNAME 14 -struct tagSess; -typedef struct tagSess ait_sess_t; +/* Shared memory session */ -struct tagSess { +typedef struct tagSess { key_t key; char type; char zcpy; @@ -89,32 +88,31 @@ struct tagSess { } id; struct { - 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); - int (*isSemOK)(ait_sess_t * __restrict); - int (*incSem)(ait_sess_t * __restrict); - int (*decSem)(ait_sess_t * __restrict); + int (*create)(int, long, void *, ...); + void (*destroy)(void *); + void *(*attach)(void *, void *); + void (*detach)(void *); + void (*notSem)(void *); + int (*isSemOK)(void *); + int (*incSem)(void *); + int (*decSem)(void *); } sess; -}; +} ait_sess_t; -// ------------------------------------------------------- // sess_GetErrno() Get error code of last operation inline int sess_GetErrno(); // sess_GetError() Get error text of last operation inline const char *sess_GetError(); // sess_SetErr() Set error to variables for internal use!!! inline void sess_SetErr(int eno, char *estr, ...); -// ------------------------------------------------------- /* - * sess_initSession() Initializing session structure, if session file not exists creating with specified tech + * sess_initSession() Initializing session structure, + * if session file not exists creating with specified tech * - * @id = Technology using in session. SHARED_IPC IPC tech orSHARED_MAP BSD MemoryMap tech + * @id = Technology using in session. SHARED_IPC IPC tech or SHARED_MAP BSD MemoryMap tech * @csFName = Session filename for build key and identified * @Sess = Session item, if =NULL allocate memory for session after use must be free! * return: 0 OK new key created, -1 error: no memory or file not created, 1 OK key finded @@ -124,11 +122,9 @@ int sess_initSession(int id, const char *csFName, ait_ * sess_freeSession() Free allocated memory for session item and delete session file if present name * * @Sess = Session item - * @delFile = !=0 delete session file or =0 keep session * return: none */ -void sess_freeSession(ait_sess_t ** __restrict Sess, int delFile); - +void sess_freeSession(ait_sess_t ** __restrict Sess); /* * map_createSession() MMAP Created session and allocated resources