Diff for /libaitcfg/inc/aitpwd.h between versions 1.1.2.1 and 1.1.2.4

version 1.1.2.1, 2012/09/18 08:17:59 version 1.1.2.4, 2012/09/18 13:32:48
Line 71  typedef int (*cb_acct_f)(void * /*current db_record*/, Line 71  typedef int (*cb_acct_f)(void * /*current db_record*/,
   
   
 struct tagUser {  struct tagUser {
           int                     usr_fields;
   
         ait_val_t               usr_name;          ait_val_t               usr_name;
         ait_val_t               usr_pass;          ait_val_t               usr_pass;
         ait_val_t               usr_uid;          ait_val_t               usr_uid;
Line 82  struct tagUser { Line 84  struct tagUser {
         ait_val_t               usr_home;          ait_val_t               usr_home;
         ait_val_t               usr_shell;          ait_val_t               usr_shell;
   
        SLIST_ENTRY(tagCfg)       usr_next;        SLIST_ENTRY(tagUser)       usr_next;
        RB_ENTRY(tagCfg)       usr_node;        RB_ENTRY(tagUser)       usr_node;
 };  };
   typedef struct tagPWD {
           pthread_mutex_t         pwd_mtx;
   
typedef struct tagUser * passwd_t;        struct tagUser          *slh_first;
         struct tagUser          *rbh_root;
 } pwd_root_t;
 #define PWD_LOCK(x)     pthread_mutex_lock(&(x)->pwd_mtx)
 #define PWD_UNLOCK(x)   pthread_mutex_unlock(&(x)->pwd_mtx)
   
   #define PWD_ISEMPTY(x)  RB_EMPTY((x))
   
 typedef enum { ALL = -1,   typedef enum { ALL = -1, 
         Username,           Username, 
         Password,           Password, 
Line 102  typedef enum { ALL = -1,  Line 112  typedef enum { ALL = -1, 
 } passwd_attr_t;  } passwd_attr_t;
   
   
 #if 0  
 /*  /*
 * CreatePasswd() Create secrets from memory * cfgInitPasswd() - Init password root
 * @csPasswdName = New filename for secrets *
 * @ppwd = Users array element * @pwd = Password root
 * return: 0 ok; -1 error:: can`t save new file * return: -1 error or 0 ok
*/ */
int CreatePasswd(const char *csPasswdName, passwd_t * __restrict ppwd);int cfgInitPasswd(pwd_root_t * __restrict pwd);
 /*  /*
 * LoadPasswd() Load secrets from file * cfgLoadPasswd() - Load passwords from file
 * @csPasswdName = Filename of secrets *
 * @ppwd = Users array element * @pwdName = Passwords filename
 * return: 0 ok; -1 error:: can`t load file * @pwd = Password root
*/ * return: -1 error or 0 ok
int LoadPasswd(const char *csPasswdName, passwd_t * __restrict ppwd); */
 int cfgLoadPasswd(const char *pwdName, pwd_root_t * __restrict pwd);
 /*  /*
 * UnloadPasswd() Unload secrets from memory and free resources * cfgClearPasswd() - Clear passwords and free resources
 * @ppwd = Users array element *
*/ * @cfg = Password root
void UnloadPasswd(passwd_t * __restrict ppwd); * return: none
 */
void cfgClearPasswd(pwd_root_t * __restrict pwd);
// pwd_GetErrno() Get error code of last operation 
inline int pwd_GetErrno(); 
// pwd_GetError() Get error text of last operation 
inline const char *pwd_GetError(); 
// pwd_Delimiter() Operate with file delimiter, if delim == 0 only get current 
inline unsigned char pwd_GetDelim(unsigned char delim); 
 
 
 /*  /*
 * ReadPasswd() Read from file and add new item to user array * cfgUnloadPasswd() - Unload passwords from memory and destroy resources
 * @f = file resource *
 * @ppwd = User array * @pwd = Password root
 * return: 0 ok; -1 error:: can`t allocate memory * return: none
*/ */
int ReadPasswd(FILE *f, passwd_t * __restrict ppwd);void cfgUnloadPasswd(pwd_root_t * __restrict pwd);
 /*  /*
 * WritePasswd() Write to file from items in array * cfgCreatePasswd() - Create password file from memory
 * @f = file resource *
 * @ppwd = User array * @pwdName = New password filename
 * return: 0 ok; -1 error:: can`t write to file * @pwd = Password root
*/ * return: -1 error or 0 ok
int WritePasswd(FILE *f, passwd_t * __restrict ppwd); */
 int cfgCreatePasswd(const char *pwdName, pwd_root_t * __restrict pwd);
   
   
 /*  /*
 * pwdCleanStr() Free strings in passwd_t value * cfgReadPasswd() - Read file and add new item at password root
 * @pwd = User object *
 * return: none * @f = File resource
*/ * @pwd = Password root
inline void pwdCleanStr(passwd_t __restrict pwd); * return: -1 error or 0 ok
  */
 int cfgReadPasswd(FILE *f, pwd_root_t * __restrict pwd);
 /*
  * cfgWritePasswd() - Write passwords from memory
  *
  * @f = File handle
  * @pwd = Password root
  * return: -1 error or 0 ok
  */
 int cfgWritePasswd(FILE *f, pwd_root_t * __restrict pwd);
 /*
  * cfgConcatPasswd() - Concat two password roots into one
  *
  * @pwd = Password root
  * @add_pwd = Concated password root will be destroy after merge
  * return: -1 error or 0 ok
  */
 int cfgConcatPasswd(pwd_root_t * __restrict pwd, pwd_root_t * __restrict add_pwd);
 
 #if 0
 /*  /*
  * pwdFreeValue() Free passwd_t value   * pwdFreeValue() Free passwd_t value
  * @ppwd = User object   * @ppwd = User object

Removed from v.1.1.2.1  
changed lines
  Added in v.1.1.2.4


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>