--- libaitio/inc/defs.h 2011/04/19 22:32:16 1.1.1.1.16.1 +++ libaitio/inc/defs.h 2013/03/19 17:31:38 1.10 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: defs.h,v 1.1.1.1.16.1 2011/04/19 22:32:16 misho Exp $ +* $Id: defs.h,v 1.10 2013/03/19 17:31:38 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 @@ -27,11 +27,11 @@ are met: must display the following acknowledgement: This product includes software developed by Michael Pounov ELWIX - Embedded LightWeight unIX and its contributors. -4. Neither the name of the University nor the names of its contributors +4. Neither the name of AITNET nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +THIS SOFTWARE IS PROVIDED BY AITNET AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE @@ -47,16 +47,59 @@ SUCH DAMAGE. #define __DEFS_H -#define STRSIZ 256 +#define RECV_TIMEOUT 5000 +#define BUFIO_MODE_LIMIT 0 +#define BUFIO_MODE_INFINIT 1 + +#define SESS_AIT_MAGIC 0x3CC3 + +#define SESS_MEM_MODE 0640 +#define SESS_MEM_DELIM "\n" + +#define SESS_MAX_ATTRIBUTE 64 + +#define SEMNAME_MAX 14 + #define LOGERR { \ io_Errno = errno; \ strlcpy(io_Error, strerror(errno), STRSIZ); \ } +struct tagBufIO { + int buf_mode; + struct { + void *buf_base; + off_t buf_size; + }; + off_t buf_offset; + void (*buf_unmap)(); +}; + +/* +union semun { + int val; + struct semid_ds *buf; + unsigned short int *array; + struct seminfo *__buf; +}; */ +#ifndef HAVE_UNION_SEMUN +union semun { + int val; /* value for SETVAL */ + struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */ + unsigned short *array; /* array for GETALL & SETALL */ +}; +#endif + +typedef struct _tagSessHdr { + uint16_t hdr_magic; + uint16_t hdr_argc; +} sess_hdr_t; + + extern int io_Errno; -extern char io_Error[]; +extern char io_Error[STRSIZ]; inline void io_SetErr(int eno, char *estr, ...);