Samba4/LDB/Module

From SambaWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Structures

ldb_module_ops

struct ldb_module_ops {
    const char *name;
    int (*init_context) (struct ldb_module *);
    int (*search)(struct ldb_module *, struct ldb_request *); /* search */
    int (*add)(struct ldb_module *, struct ldb_request *); /* add */
    int (*modify)(struct ldb_module *, struct ldb_request *); /* modify */
    int (*del)(struct ldb_module *, struct ldb_request *); /* delete */
    int (*rename)(struct ldb_module *, struct ldb_request *); /* rename */
    int (*request)(struct ldb_module *, struct ldb_request *); /* match any other operation */
    int (*extended)(struct ldb_module *, struct ldb_request *); /* extended operations */
    int (*start_transaction)(struct ldb_module *);
    int (*prepare_commit)(struct ldb_module *);
    int (*end_transaction)(struct ldb_module *);
    int (*del_transaction)(struct ldb_module *);
    int (*sequence_number)(struct ldb_module *, struct ldb_request *);
    void *private_data;
};

ldb_module

struct ldb_module {
    struct ldb_module *prev, *next;
    struct ldb_context *ldb;
    void *private_data;
    const struct ldb_module_ops *ops;
};

Operations

ldb_module_new()

struct ldb_module *ldb_module_new(TALLOC_CTX *memctx,
    struct ldb_context *ldb,
    const char *module_name,
    const struct ldb_module_ops *ops);

ldb_module_get_name()

const char * ldb_module_get_name(struct ldb_module *module);

ldb_module_get_ctx()

struct ldb_context *ldb_module_get_ctx(struct ldb_module *module);

ldb_module_get_private()

void *ldb_module_get_private(struct ldb_module *module);

ldb_module_set_private()

void ldb_module_set_private(struct ldb_module *module, void *private_data);

ldb_next_request()

int ldb_next_request(struct ldb_module *module, struct ldb_request *request);

ldb_next_start_trans()

int ldb_next_start_trans(struct ldb_module *module);

ldb_next_end_trans()

int ldb_next_end_trans(struct ldb_module *module);

ldb_next_del_trans()

int ldb_next_del_trans(struct ldb_module *module);

ldb_next_prepare_commit()

int ldb_next_prepare_commit(struct ldb_module *module);

ldb_next_init()

int ldb_next_init(struct ldb_module *module);

ldb_default_modules_dir()

const char *ldb_default_modules_dir(void);

ldb_register_module()

int ldb_register_module(const struct ldb_module_ops *);

ldb_module_send_entry()

int ldb_module_send_entry(struct ldb_request *req,
   struct ldb_message *msg,
   struct ldb_control **ctrls);

ldb_module_send_referral()

int ldb_module_send_referral(struct ldb_request *req, char *ref);

ldb_module_done()

int ldb_module_done(struct ldb_request *req,
    struct ldb_control **ctrls,
    struct ldb_extended *response,
    int error);

ldb_mod_register_control()

int ldb_mod_register_control(struct ldb_module *module, const char *oid);