summaryrefslogtreecommitdiffstats
path: root/include/idcache.h
blob: 912edd58fa59bea3e68f83156514722e6339299f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef UTIL_LINUX_IDCACHE_H
#define UTIL_LINUX_IDCACHE_H

#include <sys/types.h>
#include <pwd.h>

#define IDCACHE_FLAGS_NAMELEN	(1 << 1)

struct identry {
	unsigned long int	id;
	char			*name;
	struct identry		*next;
};

struct idcache {
	struct identry	*ent;	/* first entry */
	int		width;	/* name width */
};


extern struct idcache *new_idcache(void);
extern void add_gid(struct idcache *cache, unsigned long int id);
extern void add_uid(struct idcache *cache, unsigned long int id);

extern void free_idcache(struct idcache *ic);
extern struct identry *get_id(struct idcache *ic, unsigned long int id);

#endif /* UTIL_LINUX_IDCACHE_H */