summaryrefslogtreecommitdiffstats
path: root/sys/link.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/link.h')
-rw-r--r--sys/link.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/link.h b/sys/link.h
index 3f7331f..d4bc8d8 100644
--- a/sys/link.h
+++ b/sys/link.h
@@ -27,6 +27,12 @@ jove_owned_obj_t *link_try_deref(jove_owned_obj_t *link);
jove_perm_obj_t link_traverse(jove_owned_obj_t *link, lockstack_t *lockstack);
jove_perm_obj_t link_try_traverse(jove_owned_obj_t *link, lockstack_t *lockstack);
+/**Try to retrieve an object from the object directory, resolving each link as it's encountered.
+ * Permissions are preserved through traversal, meaning objects are limited by their
+ * objdir permissions.*/
+jove_perm_obj_t link_try_traverse_objdir(jove_owned_obj_t *objdir,
+ lockstack_t *lockstack, size_t pathlen, objpath_part_t *path);
+
jove_obj_t link_unlink(jove_owned_obj_t *link);
jove_owned_obj_t *link_new(jove_obj_t *tgt, jove_owned_obj_t *dst, uint16_t permissions);