summaryrefslogtreecommitdiffstats
path: root/src/lib/ipwd.h
blob: 562ebb236704103e7837f4b289e6b423e62c7a6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef IPWD_H
#define IPWD_H

#include <pwd.h>
#include <grp.h>

/* Replacements for standard getpw/gr*(), fixing their ability to report errors
   properly. As with standard getpw/gr*(), second call overwrites data used
   by the first one.

   Functions return 1 if user/group is found, 0 if not or
   -1 if error (with errno set). */

int i_getpwnam(const char *name, struct passwd *pwd_r);
int i_getpwuid(uid_t uid, struct passwd *pwd_r);

int i_getgrnam(const char *name, struct group *grp_r);
int i_getgrgid(gid_t gid, struct group *grp_r);

/* Free memory used by above functions. */
void ipwd_deinit(void);

#endif