--- libaitcfg/inc/aitpwd.h 2013/01/17 13:27:39 1.3 +++ libaitcfg/inc/aitpwd.h 2022/09/26 19:46:59 1.7 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitpwd.h,v 1.3 2013/01/17 13:27:39 misho Exp $ +* $Id: aitpwd.h,v 1.7 2022/09/26 19:46:59 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, 2012 +Copyright 2004 - 2022 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -49,7 +49,7 @@ SUCH DAMAGE. #include #include -#include +#include #define PWD_CRIT_NAME 0 @@ -69,7 +69,7 @@ struct tagAcctDB { uint64_t db_since; int db_h; /* optional */ -} __packed; +} __attribute__((packed)); /* Search callback function, compare to match argument to record match ... * (return: -1 error, 0 not match or 1 match) @@ -122,11 +122,17 @@ typedef enum { ALL = -1, /* * cfgInitPasswd() - Init password root * - * @pwd = Password root - * return: -1 error or 0 ok + * return: NULL error or !=NULL allocated password root */ -int cfgInitPasswd(pwd_root_t * __restrict pwd); +pwd_root_t *cfgInitPasswd(); /* + * cfgEndPasswd() - Free resources & password root + * + * @ppwd = Password root + * return: none + */ +void cfgEndPasswd(pwd_root_t **ppwd); +/* * cfgLoadPasswd() - Load passwords from file * * @pwdName = Passwords filename @@ -237,7 +243,7 @@ int cfg_setPasswd(pwd_root_t * __restrict pwd, passwd_ * @arg1 = Username | UID * return: NULL item not found, !=NULL structure found */ -inline const struct tagUser *cfg_getPasswd(pwd_root_t * __restrict pwd, int criteria, ...); +const struct tagUser *cfg_getPasswd(pwd_root_t * __restrict pwd, int criteria, ...); #endif