Samba4/LDAP: Difference between revisions

From SambaWiki
 
Line 166: Line 166:
};
};
</pre>
</pre>

== ldap_Request ==


<pre>
<pre>
Line 192: Line 194:
};
};
</pre>
</pre>

== ldap_message ==


<pre>
<pre>

Latest revision as of 22:06, 18 November 2009

Structures

ldap_Result

struct ldap_Result {
    int resultcode;
    const char *dn;
    const char *errormessage;
    const char *referral;
};

ldap_BindRequest

struct ldap_BindRequest {
    int version;
    const char *dn;
    enum ldap_auth_mechanism mechanism;
    union {
        const char *password;
        struct {
            const char *mechanism;
            DATA_BLOB *secblob;/* optional */
        } SASL;
    } creds;
};

ldap_BindResponse

struct ldap_BindResponse {
    struct ldap_Result response;
    union {
        DATA_BLOB *secblob;/* optional */
    } SASL;
};

ldap_UnbindRequest

struct ldap_UnbindRequest {
    uint8_t __dummy;
};

ldap_SearchRequest

struct ldap_SearchRequest {
    const char *basedn;
    enum ldap_scope scope;
    enum ldap_deref deref;
    uint32_t timelimit;
    uint32_t sizelimit;
    bool attributesonly;
    struct ldb_parse_tree *tree;
    int num_attributes;
    const char * const *attributes;
};

ldap_SearchResEntry

struct ldap_SearchResEntry {
    const char *dn;
    int num_attributes;
    struct ldb_message_element *attributes;
};

ldap_SearchResRef

struct ldap_SearchResRef {
    const char *referral;
};

ldap_mod

struct ldap_mod {
    enum ldap_modify_type type;
    struct ldb_message_element attrib;
};

ldap_ModifyRequest

struct ldap_ModifyRequest {
    const char *dn;
    int num_mods;
    struct ldap_mod *mods;
};

ldap_AddRequest

struct ldap_AddRequest {
    const char *dn;
    int num_attributes;
    struct ldb_message_element *attributes;
};

ldap_DelRequest

struct ldap_DelRequest {
    const char *dn;
};

ldap_ModifyDNRequest

struct ldap_ModifyDNRequest {
    const char *dn;
    const char *newrdn;
    bool deleteolddn;
    const char *newsuperior;/* optional */
};

ldap_CompareRequest

struct ldap_CompareRequest {
    const char *dn;
    const char *attribute;
    DATA_BLOB value;
};

ldap_AbandonRequest

struct ldap_AbandonRequest {
    int messageid;
};

ldap_ExtendedRequest

struct ldap_ExtendedRequest {
    const char *oid;
    DATA_BLOB *value;/* optional */
};

ldap_ExtendedResponse

struct ldap_ExtendedResponse {
    struct ldap_Result response;
    const char *oid;/* optional */
    DATA_BLOB *value;/* optional */
};

ldap_Request

union ldap_Request {
    struct ldap_Result 		GeneralResult;
    struct ldap_BindRequest 	BindRequest;
    struct ldap_BindResponse 	BindResponse;
    struct ldap_UnbindRequest 	UnbindRequest;
    struct ldap_SearchRequest 	SearchRequest;
    struct ldap_SearchResEntry 	SearchResultEntry;
    struct ldap_Result 		SearchResultDone;
    struct ldap_SearchResRef 	SearchResultReference;
    struct ldap_ModifyRequest 	ModifyRequest;
    struct ldap_Result 		ModifyResponse;
    struct ldap_AddRequest 		AddRequest;
    struct ldap_Result 		AddResponse;
    struct ldap_DelRequest 		DelRequest;
    struct ldap_Result 		DelResponse;
    struct ldap_ModifyDNRequest 	ModifyDNRequest;
    struct ldap_Result 		ModifyDNResponse;
    struct ldap_CompareRequest 	CompareRequest;
    struct ldap_Result 		CompareResponse;
    struct ldap_AbandonRequest 	AbandonRequest;
    struct ldap_ExtendedRequest 	ExtendedRequest;
    struct ldap_ExtendedResponse 	ExtendedResponse;
};

ldap_message

struct ldap_message {
    int                     messageid;
    enum ldap_request_tag   type;
    union ldap_Request      r;
    struct ldb_control    **controls;
    bool                   *controls_decoded;
};