]> granicus.if.org Git - spl/commitdiff
Add basic ksid_lookupdomain and ksiddomain_rele support, just allocations
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 9 Jan 2009 23:30:53 +0000 (15:30 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 9 Jan 2009 23:30:53 +0000 (15:30 -0800)
include/sys/sid.h

index 530c91a751a2fd5c59a87535475bdb28c169481a..f798d24a8f8383892dd1f5df0a2f7b69e7702d8c 100644 (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 */