1/* 2 * Prototypes for ads 3 */ 4 5void ads_msgfree(ADS_STRUCT *ads, LDAPMessage *msg); 6char *ads_get_dn(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, LDAPMessage *msg); 7char *ads_get_dn_canonical(ADS_STRUCT *ads, LDAPMessage *msg); 8 9char *ads_pull_string(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, LDAPMessage *msg, 10 const char *field); 11char **ads_pull_strings(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, 12 LDAPMessage *msg, const char *field, 13 size_t *num_values); 14char **ads_pull_strings_range(ADS_STRUCT *ads, 15 TALLOC_CTX *mem_ctx, 16 LDAPMessage *msg, const char *field, 17 char **current_strings, 18 const char **next_attribute, 19 size_t *num_strings, 20 bool *more_strings); 21bool ads_pull_uint32(ADS_STRUCT *ads, LDAPMessage *msg, const char *field, 22 uint32 *v); 23bool ads_pull_guid(ADS_STRUCT *ads, LDAPMessage *msg, struct GUID *guid); 24bool ads_pull_sid(ADS_STRUCT *ads, LDAPMessage *msg, const char *field, 25 DOM_SID *sid); 26int ads_pull_sids(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, 27 LDAPMessage *msg, const char *field, DOM_SID **sids); 28bool ads_pull_sd(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, 29 LDAPMessage *msg, const char *field, SEC_DESC **sd); 30char *ads_pull_username(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, 31 LDAPMessage *msg); 32int ads_pull_sids_from_extendeddn(ADS_STRUCT *ads, 33 TALLOC_CTX *mem_ctx, 34 LDAPMessage *msg, 35 const char *field, 36 enum ads_extended_dn_flags flags, 37 DOM_SID **sids); 38 39ADS_STATUS ads_find_machine_acct(ADS_STRUCT *ads, LDAPMessage **res, 40 const char *machine); 41ADS_STATUS ads_find_printer_on_server(ADS_STRUCT *ads, LDAPMessage **res, 42 const char *printer, 43 const char *servername); 44ADS_STATUS ads_find_printers(ADS_STRUCT *ads, LDAPMessage **res); 45ADS_STATUS ads_find_user_acct(ADS_STRUCT *ads, LDAPMessage **res, 46 const char *user); 47 48ADS_STATUS ads_do_search(ADS_STRUCT *ads, const char *bind_path, int scope, 49 const char *expr, 50 const char **attrs, LDAPMessage **res); 51ADS_STATUS ads_search(ADS_STRUCT *ads, LDAPMessage **res, 52 const char *expr, const char **attrs); 53ADS_STATUS ads_search_dn(ADS_STRUCT *ads, LDAPMessage **res, 54 const char *dn, const char **attrs); 55ADS_STATUS ads_do_search_all_args(ADS_STRUCT *ads, const char *bind_path, 56 int scope, const char *expr, 57 const char **attrs, void *args, 58 LDAPMessage **res); 59ADS_STATUS ads_do_search_all(ADS_STRUCT *ads, const char *bind_path, 60 int scope, const char *expr, 61 const char **attrs, LDAPMessage **res); 62ADS_STATUS ads_do_search_retry(ADS_STRUCT *ads, const char *bind_path, 63 int scope, 64 const char *expr, 65 const char **attrs, LDAPMessage **res); 66ADS_STATUS ads_do_search_retry_args(ADS_STRUCT *ads, const char *bind_path, 67 int scope, const char *expr, 68 const char **attrs, void *args, 69 LDAPMessage **res); 70ADS_STATUS ads_search_retry(ADS_STRUCT *ads, LDAPMessage **res, 71 const char *expr, const char **attrs); 72ADS_STATUS ads_search_retry_dn(ADS_STRUCT *ads, LDAPMessage **res, 73 const char *dn, 74 const char **attrs); 75ADS_STATUS ads_search_retry_extended_dn(ADS_STRUCT *ads, LDAPMessage **res, 76 const char *dn, 77 const char **attrs, 78 enum ads_extended_dn_flags flags); 79ADS_STATUS ads_search_retry_extended_dn_ranged(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, 80 const char *dn, 81 const char **attrs, 82 enum ads_extended_dn_flags flags, 83 char ***strings, 84 size_t *num_strings); 85ADS_STATUS ads_search_retry_sid(ADS_STRUCT *ads, LDAPMessage **res, 86 const DOM_SID *sid, 87 const char **attrs); 88 89 90LDAPMessage *ads_first_entry(ADS_STRUCT *ads, LDAPMessage *res); 91LDAPMessage *ads_next_entry(ADS_STRUCT *ads, LDAPMessage *res); 92LDAPMessage *ads_first_message(ADS_STRUCT *ads, LDAPMessage *res); 93LDAPMessage *ads_next_message(ADS_STRUCT *ads, LDAPMessage *res); 94void ads_process_results(ADS_STRUCT *ads, LDAPMessage *res, 95 bool (*fn)(ADS_STRUCT *,char *, void **, void *), 96 void *data_area); 97void ads_dump(ADS_STRUCT *ads, LDAPMessage *res); 98 99ADS_STATUS ads_parse_gpo(ADS_STRUCT *ads, 100 TALLOC_CTX *mem_ctx, 101 LDAPMessage *res, 102 const char *gpo_dn, 103 struct GROUP_POLICY_OBJECT *gpo); 104ADS_STATUS ads_search_retry_dn_sd_flags(ADS_STRUCT *ads, LDAPMessage **res, 105 uint32 sd_flags, 106 const char *dn, 107 const char **attrs); 108ADS_STATUS ads_do_search_all_sd_flags(ADS_STRUCT *ads, const char *bind_path, 109 int scope, const char *expr, 110 const char **attrs, uint32 sd_flags, 111 LDAPMessage **res); 112ADS_STATUS ads_get_tokensids(ADS_STRUCT *ads, 113 TALLOC_CTX *mem_ctx, 114 const char *dn, 115 DOM_SID *user_sid, 116 DOM_SID *primary_group_sid, 117 DOM_SID **sids, 118 size_t *num_sids); 119ADS_STATUS ads_get_joinable_ous(ADS_STRUCT *ads, 120 TALLOC_CTX *mem_ctx, 121 char ***ous, 122 size_t *num_ous); 123