acl-api-private.h revision da9f6acdcb303d0fe5160b669668aedf39c8f45a
#ifndef ACL_API_PRIVATE_H
#define ACL_API_PRIVATE_H
#include "acl-api.h"
struct acl_backend_vfuncs {
struct acl_backend *(*alloc)(void);
struct acl_mailbox_list_context *
const char **name_r);
void (*nonowner_lookups_iter_deinit)
(struct acl_mailbox_list_context *ctx);
struct mail_storage *storage,
const char *name);
struct mail_storage *storage,
const char *child_name);
const struct acl_rights_update *rights);
struct acl_object_list_iter *
struct acl_rights *rights_r);
};
struct acl_backend {
const char *username;
const char **groups;
unsigned int group_count;
struct mailbox_list *list;
struct acl_object *default_aclobj;
struct acl_mask *default_aclmask;
struct acl_backend_vfuncs v;
unsigned int owner:1;
unsigned int debug:1;
};
struct acl_mailbox_list_context {
struct acl_backend *backend;
};
struct acl_object {
struct acl_backend *backend;
char *name;
};
struct acl_object_list_iter {
struct acl_object *aclobj;
unsigned int idx;
unsigned int failed:1;
};
#endif