* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
+#include "../librpc/gen_ndr/netlogon.h"
enum net_samsync_mode {
NET_SAMSYNC_MODE_FETCH_PASSDB = 0,
struct samsync_context;
-typedef NTSTATUS (*samsync_delta_fn_t)(TALLOC_CTX *,
- enum netr_SamDatabaseID,
- struct netr_DELTA_ENUM_ARRAY *,
- bool,
- struct samsync_context *);
struct samsync_ops {
NTSTATUS (*startup)(TALLOC_CTX *mem_ctx,
struct samsync_context *ctx,
NTSTATUS (*process_objects)(TALLOC_CTX *mem_ctx,
enum netr_SamDatabaseID id,
struct netr_DELTA_ENUM_ARRAY *array,
- bool last_query,
+ uint64_t *sequence_num,
struct samsync_context *ctx);
NTSTATUS (*finish)(TALLOC_CTX *mem_ctx,
struct samsync_context *ctx,
struct samsync_object *objects;
struct rpc_pipe_client *cli;
+ struct netlogon_creds_cli_context *netlogon_creds;
+ struct messaging_context *msg_ctx;
const struct samsync_ops *ops;
- samsync_delta_fn_t delta_fn;
void *private_data;
};
extern const struct samsync_ops libnet_samsync_display_ops;
extern const struct samsync_ops libnet_samsync_passdb_ops;
-NTSTATUS fetch_sam_entries_ldif(TALLOC_CTX *mem_ctx,
- enum netr_SamDatabaseID database_id,
- struct netr_DELTA_ENUM_ARRAY *r,
- bool last_query,
- struct samsync_context *ctx);
-NTSTATUS fetch_sam_entries(TALLOC_CTX *mem_ctx,
- enum netr_SamDatabaseID database_id,
- struct netr_DELTA_ENUM_ARRAY *r,
- bool last_query,
- struct samsync_context *ctx);
-NTSTATUS display_sam_entries(TALLOC_CTX *mem_ctx,
- enum netr_SamDatabaseID database_id,
- struct netr_DELTA_ENUM_ARRAY *r,
- bool last_query,
- struct samsync_context *ctx);
-NTSTATUS fetch_sam_entries_keytab(TALLOC_CTX *mem_ctx,
- enum netr_SamDatabaseID database_id,
- struct netr_DELTA_ENUM_ARRAY *r,
- bool last_query,
- struct samsync_context *ctx);
+/* The following definitions come from libnet/libnet_samsync.c */
+
+NTSTATUS libnet_samsync_init_context(TALLOC_CTX *mem_ctx,
+ const struct dom_sid *domain_sid,
+ struct samsync_context **ctx_p);
+NTSTATUS libnet_samsync(enum netr_SamDatabaseID database_id,
+ struct samsync_context *ctx);
+NTSTATUS pull_netr_AcctLockStr(TALLOC_CTX *mem_ctx,
+ struct lsa_BinaryString *r,
+ struct netr_AcctLockStr **str_p);