aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2009-01-09 15:30:53 -0800
committerBrian Behlendorf <[email protected]>2009-01-09 15:30:53 -0800
commit121d48c97d9ad4455062bc289d78a872a7e021b7 (patch)
tree9cc1d2c4fbc66d2fbb6b4de3e09710ce98ca2410 /include
parentf590d7d37469a45f3da17bd30c3c0b0396004ac1 (diff)
Add basic ksid_lookupdomain and ksiddomain_rele support, just allocations
Diffstat (limited to 'include')
-rw-r--r--include/sys/sid.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/sys/sid.h b/include/sys/sid.h
index 530c91a75..f798d24a8 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 */