Add basic ksid_lookupdomain and ksiddomain_rele support, just allocations

This commit is contained in:
Brian Behlendorf 2009-01-09 15:30:53 -08:00
parent f590d7d374
commit 121d48c97d
1 changed files with 27 additions and 0 deletions

View File

@ -1,4 +1,31 @@
#ifndef _SPL_SID_H
#define _SPL_SID_H
typedef struct ksiddomain {
uint_t kd_ref;
uint_t kd_len;
char *kd_name;
avl_node_t kd_link;
} ksiddomain_t;
static inline ksiddomain_t *
ksid_lookupdomain(const char *dom)
{
ksiddomain_t *kd;
int len = strlen(dom);
kd = kmem_zalloc(sizeof(ksiddomain_t), KM_SLEEP);
kd->kd_name = kmem_zalloc(len + 1, KM_SLEEP);
memcpy(kd->kd_name, dom, len);
return (kd);
}
static inline void
ksiddomain_rele(ksiddomain_t *ksid)
{
kmem_free(ksid->kd_name, strlen(ksid->kd_name) + 1);
kmem_free(ksid, sizeof(ksiddomain_t));
}
#endif /* _SPL_SID_H */