xref: /aosp_15_r20/external/iproute2/include/names.h (revision de1e4e894b0c224df933550f0afdecc354b238c4)
1*de1e4e89SAndroid Build Coastguard Worker #ifndef DB_NAMES_H_
2*de1e4e89SAndroid Build Coastguard Worker #define DB_NAMES_H_ 1
3*de1e4e89SAndroid Build Coastguard Worker 
4*de1e4e89SAndroid Build Coastguard Worker #define IDNAME_MAX 256
5*de1e4e89SAndroid Build Coastguard Worker 
6*de1e4e89SAndroid Build Coastguard Worker struct db_entry {
7*de1e4e89SAndroid Build Coastguard Worker 	struct db_entry *next;
8*de1e4e89SAndroid Build Coastguard Worker 	unsigned int id;
9*de1e4e89SAndroid Build Coastguard Worker 	char *name;
10*de1e4e89SAndroid Build Coastguard Worker };
11*de1e4e89SAndroid Build Coastguard Worker 
12*de1e4e89SAndroid Build Coastguard Worker struct db_names {
13*de1e4e89SAndroid Build Coastguard Worker 	unsigned int size;
14*de1e4e89SAndroid Build Coastguard Worker 	struct db_entry *cached;
15*de1e4e89SAndroid Build Coastguard Worker 	struct db_entry **hash;
16*de1e4e89SAndroid Build Coastguard Worker 	int max;
17*de1e4e89SAndroid Build Coastguard Worker };
18*de1e4e89SAndroid Build Coastguard Worker 
19*de1e4e89SAndroid Build Coastguard Worker struct db_names *db_names_alloc(void);
20*de1e4e89SAndroid Build Coastguard Worker int db_names_load(struct db_names *db, const char *path);
21*de1e4e89SAndroid Build Coastguard Worker void db_names_free(struct db_names *db);
22*de1e4e89SAndroid Build Coastguard Worker 
23*de1e4e89SAndroid Build Coastguard Worker char *id_to_name(struct db_names *db, int id, char *name);
24*de1e4e89SAndroid Build Coastguard Worker int name_to_id(struct db_names *db, int *id, const char *name);
25*de1e4e89SAndroid Build Coastguard Worker 
26*de1e4e89SAndroid Build Coastguard Worker #endif
27