aboutsummaryrefslogtreecommitdiff
path: root/kernel/include/api/access.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/include/api/access.h')
-rw-r--r--kernel/include/api/access.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/kernel/include/api/access.h b/kernel/include/api/access.h
new file mode 100644
index 0000000..77f5e63
--- /dev/null
+++ b/kernel/include/api/access.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "types.h"
+
+struct proc;
+struct argstr;
+struct argvec;
+
+long copy_from_user(void *kaddr, const void *uaddr, size_t nbytes);
+
+long copy_to_user(void *uaddr, const void *kaddr, size_t nbytes);
+
+long user_strdup(struct argstr *ustr, char **kstrp);
+
+long user_vecdup(struct argvec *uvec, char ***kvecp);
+
+long range_perm(struct proc *p, const void *vaddr, size_t len, int perm);
+
+long addr_perm(struct proc *p, const void *vaddr, int perm);