--- libaitcfg/inc/aitpwd.h 2012/09/19 12:35:10 1.1.2.9 +++ libaitcfg/inc/aitpwd.h 2013/05/30 09:12:27 1.4 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitpwd.h,v 1.1.2.9 2012/09/19 12:35:10 misho Exp $ +* $Id: aitpwd.h,v 1.4 2013/05/30 09:12:27 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, 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 @@ -49,7 +49,7 @@ SUCH DAMAGE. #include #include -#include +#include #define PWD_CRIT_NAME 0 @@ -188,9 +188,10 @@ int cfgConcatPasswd(pwd_root_t * __restrict pwd, pwd_r * @pwd = Password root * @csName = Username * @csPass = Password - * return: -1 error, 1 deny or 0 allow + * return: =NULL deny or !=NULL allow */ -int cfgAuthPasswd(pwd_root_t * __restrict pwd, const char *csName, const char *csPass); +const struct tagUser *cfgAuthPasswd(pwd_root_t * __restrict pwd, + const char *csName, const char *csPass); /* * cfg_findPasswdBy() - Find user by criteria position in list @@ -214,24 +215,20 @@ int cfg_unsetPasswd(pwd_root_t * __restrict pwd, int c * cfg_setPasswd() - Set item in password or adding new item if not exists * * @cfg = Password root - * @fields = Meaning continuous field + * @fields = Following parameters are continuous to certain field * @csName = Username - * @csPass = Password - * @uid = UID - * @gid = GID - * @Class = Login class - * @change = Chage date - * @expire = Expire date - * @csRealm = Realm - * @csHome = Home dir - * @csShell = Shell + * @arg1 = Password + * @arg2 = UID + * @arg3 = GID + * @arg4 = Login class + * @arg5 = Chage date + * @arg6 = Expire date + * @arg7 = Realm + * @arg8 = Home dir + * @arg9 = Shell * return: 0 nothing changed, -1 error, 1 found and updated item or 2 added new item */ -int cfg_setPasswd(pwd_root_t * __restrict pwd, unsigned char fields, - const char *csName, const char *csPass, - unsigned int uid, unsigned int gid, const char *csClass, - unsigned int change, unsigned int expire, const char *csRealm, - const char *csHome, const char *csShell); +int cfg_setPasswd(pwd_root_t * __restrict pwd, passwd_attr_t fields, const char *csName, ...); /* * cfg_getPasswd() - Get item from passwords and return structure from it * @@ -240,7 +237,7 @@ int cfg_setPasswd(pwd_root_t * __restrict pwd, unsigne * @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