--- libaitcfg/inc/defs.h 2011/05/01 17:24:28 1.3 +++ libaitcfg/inc/defs.h 2012/09/19 15:22:32 1.6 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: defs.h,v 1.3 2011/05/01 17:24:28 misho Exp $ +* $Id: defs.h,v 1.6 2012/09/19 15:22:32 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 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -46,17 +46,35 @@ SUCH DAMAGE. #ifndef __DEFS_H #define __DEFS_H -#define MAX_STR 255 +#ifndef STRSIZ +#define STRSIZ 256 +#endif + +#define ATR_LINES_DELIM "=" +#define SEC_LINES_DELIM "!" +#define EOL_LINES_DELIM "\n" + +#define PWD_DELIM ':' +#define PWD_MAX_FIELDS 11 + #define LOGERR { \ - cfgErrno = errno; \ - bzero(cfgError, MAX_STR + 1); \ - strncpy(cfgError, strerror(errno), MAX_STR); \ + cfg_Errno = errno; \ + strlcpy(cfg_Error, strerror(errno), sizeof cfg_Error); \ } -extern int cfgErrno; -extern char cfgError[]; +extern int cfg_Errno; +extern char cfg_Error[STRSIZ]; + +inline void cfg_SetErr(int eno, char *estr, ...); + +inline int cfg_Write(FILE *f, char *fmt, ...); + +inline int cfg_tree_cmp(struct tagCfg *, struct tagCfg *); +RB_PROTOTYPE(tagRC, tagCfg, cfg_node, cfg_tree_cmp); +inline int pwd_tree_cmp(struct tagUser *, struct tagUser *); +RB_PROTOTYPE(tagPWD, tagUser, usr_node, pwd_tree_cmp); #endif