--- libaitcfg/inc/aitpwd.h 2012/12/11 09:37:26 1.2.2.1 +++ libaitcfg/inc/aitpwd.h 2025/01/31 00:03:15 1.8 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitpwd.h,v 1.2.2.1 2012/12/11 09:37:26 misho Exp $ +* $Id: aitpwd.h,v 1.8 2025/01/31 00:03:15 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 - 2024 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) @@ -118,15 +118,24 @@ typedef enum { ALL = -1, Shell } passwd_attr_t; +#ifdef __cplusplus +extern "C" { +#endif /* * 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 +246,10 @@ 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, ...); +#ifdef __cplusplus +} +#endif #endif