version 1.1.2.1, 2012/09/18 08:17:59
|
version 1.1.2.2, 2012/09/18 08:44:19
|
Line 85 struct tagUser {
|
Line 85 struct tagUser {
|
SLIST_ENTRY(tagCfg) usr_next; |
SLIST_ENTRY(tagCfg) usr_next; |
RB_ENTRY(tagCfg) usr_node; |
RB_ENTRY(tagCfg) 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 110 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); |
| /* |
| * cfgUnloadPasswd() - Unload passwords from memory and destroy resources |
| * |
| * @pwd = Password root |
| * return: none |
| */ |
| void cfgUnloadPasswd(pwd_root_t * __restrict pwd); |
| /* |
| * cfgCreatePasswd() - Create password file from memory |
| * |
| * @pwdName = New password filename |
| * @pwd = Password root |
| * return: -1 error or 0 ok |
| */ |
| int cfgCreatePasswd(const char *pwdName, pwd_root_t * __restrict pwd); |
|
|
| #if 0 |
// 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 |
* ReadPasswd() Read from file and add new item to user array |
* @f = file resource |
* @f = file resource |