summaryrefslogtreecommitdiffstats
path: root/include/idcache.h
blob: 518a3b1151bb4173eaa3286dd760a9894f4f8960 (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
29
30
31
32
/*
 * No copyright is claimed.  This code is in the public domain; do with
 * it what you wish.
 */
#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 */