From: Brian Behlendorf Date: Fri, 9 Jan 2009 23:30:53 +0000 (-0800) Subject: Add basic ksid_lookupdomain and ksiddomain_rele support, just allocations X-Git-Tag: spl-0.4.1~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=121d48c97d9ad4455062bc289d78a872a7e021b7;p=spl Add basic ksid_lookupdomain and ksiddomain_rele support, just allocations --- diff --git a/include/sys/sid.h b/include/sys/sid.h index 530c91a..f798d24 100644 --- a/include/sys/sid.h +++ b/include/sys/sid.h @@ -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 */