acl-api-private.h revision 7d8afd1e15bdf23b5fd13aa9ac9606aca2797125
02a54da28f376dd66d7939d8546a196a0045b486Timo Sirainen#define ACL_ID_NAME_AUTHENTICATED "authenticated"
02a54da28f376dd66d7939d8546a196a0045b486Timo Sirainen#define ACL_ID_NAME_GROUP_OVERRIDE_PREFIX "group-override="
3809b9691c46926aa54968ac8e418d04361e1efaTimo Sirainen int (*init)(struct acl_backend *backend, const char *data);
2f122b4db3f0d4eeb59ff9d306e54b2009d72cf9Timo Sirainen (*nonowner_lookups_iter_init)(struct acl_backend *backend);
2f122b4db3f0d4eeb59ff9d306e54b2009d72cf9Timo Sirainen int (*nonowner_lookups_iter_next)(struct acl_mailbox_list_context *ctx,
2f122b4db3f0d4eeb59ff9d306e54b2009d72cf9Timo Sirainen const char **name_r);
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen struct acl_object *(*object_init)(struct acl_backend *backend,
3809b9691c46926aa54968ac8e418d04361e1efaTimo Sirainen const char *name);
da9f6acdcb303d0fe5160b669668aedf39c8f45aTimo Sirainen struct acl_object *(*object_init_parent)(struct acl_backend *backend,
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen void (*object_deinit)(struct acl_object *aclobj);
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen int (*object_refresh_cache)(struct acl_object *aclobj);
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen int (*object_update)(struct acl_object *aclobj,
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen (*object_list_init)(struct acl_object *aclobj);
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen int (*object_list_next)(struct acl_object_list_iter *iter,
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen void (*object_list_deinit)(struct acl_object_list_iter *iter);
7fb70daba4e571eab5b64f496d20b9e37e31141bTimo Sirainen const char **groups;
7705148680904051b573a9125ecee765032a5809Timo Sirainen const char *const *default_rights;
2f122b4db3f0d4eeb59ff9d306e54b2009d72cf9Timo Sirainen unsigned int idx;
7d8afd1e15bdf23b5fd13aa9ac9606aca2797125Timo Sirainenextern const char *const all_mailbox_rights[];
02a54da28f376dd66d7939d8546a196a0045b486Timo Sirainenconst char *const *
02a54da28f376dd66d7939d8546a196a0045b486Timo Sirainenacl_backend_mask_get_names(struct acl_backend *backend,
2f122b4db3f0d4eeb59ff9d306e54b2009d72cf9Timo Sirainenint acl_backend_get_default_rights(struct acl_backend *backend,
81e6e1ef0feef60644a4c4b745d82a4c98223affTimo Sirainenvoid acl_rights_write_id(string_t *dest, const struct acl_rights *right);
3cd0463d17cf9ecbc3d826d60b36800d09f0633cTimo Sirainenbool acl_rights_has_nonowner_lookup_changes(const struct acl_rights *rights);
7d8afd1e15bdf23b5fd13aa9ac9606aca2797125Timo Sirainenint acl_identifier_parse(const char *line, struct acl_rights *rights);