Lines Matching refs:idname
36 struct idname { struct
39 RB_ENTRY(idname) entry; argument
43 idname_cmp(struct idname *a, struct idname *b) in idname_cmp()
49 RB_HEAD(idname_tree, idname);
50 RB_GENERATE_STATIC(idname_tree, idname, entry, idname_cmp)
56 idname_free(struct idname *idname) in idname_free() argument
58 if (idname == NULL) in idname_free()
60 free(idname->name); in idname_free()
61 free(idname); in idname_free()
67 struct idname *idname; in idname_enter() local
69 if ((idname = xcalloc(1, sizeof(*idname))) == NULL) in idname_enter()
71 idname->id = id; in idname_enter()
72 idname->name = xstrdup(name); in idname_enter()
73 if (RB_INSERT(idname_tree, tree, idname) != NULL) in idname_enter()
74 idname_free(idname); in idname_enter()
80 struct idname idname, *found; in idname_lookup() local
82 memset(&idname, 0, sizeof(idname)); in idname_lookup()
83 idname.id = id; in idname_lookup()
84 if ((found = RB_FIND(idname_tree, tree, &idname)) != NULL) in idname_lookup()