예제 #1
0
파일: dbwrap_tdb.c 프로젝트: Gazzonyx/samba
static NTSTATUS db_tdb_transaction_start_nonblock(struct db_context *db)
{
	struct db_tdb_ctx *db_ctx =
		talloc_get_type_abort(db->private_data, struct db_tdb_ctx);
	int ret;

	ret = tdb_transaction_start_nonblock(db_ctx->wtdb->tdb);
	if (ret != 0) {
		return map_nt_error_from_tdb(tdb_error(db_ctx->wtdb->tdb));
	}
	return NT_STATUS_OK;
}
예제 #2
0
파일: dbwrap_tdb.c 프로젝트: ekohl/samba
static NTSTATUS db_tdb_parse(struct db_context *db, TDB_DATA key,
			     void (*parser)(TDB_DATA key, TDB_DATA data,
					   void *private_data),
			     void *private_data)
{
	struct db_tdb_ctx *ctx = talloc_get_type_abort(
		db->private_data, struct db_tdb_ctx);
	struct db_tdb_parse_state state;
	int ret;

	state.parser = parser;
	state.private_data = private_data;

	ret = tdb_parse_record(ctx->wtdb->tdb, key, db_tdb_parser, &state);

	if (ret != 0) {
		return map_nt_error_from_tdb(tdb_error(ctx->wtdb->tdb));
	}
	return NT_STATUS_OK;
}
예제 #3
0
파일: dbwrap_ctdb.c 프로젝트: bud4/samba
static NTSTATUS tdb_error_to_ntstatus(struct tdb_context *tdb)
{
	enum TDB_ERROR tret = tdb_error(tdb);

	return map_nt_error_from_tdb(tret);
}