struct sessionid;
bool sessionid_init(void);
struct db_record *sessionid_fetch_record(TALLOC_CTX *mem_ctx, const char *key);
-int sessionid_traverse(int (*fn)(struct db_record *rec, const char *key,
- struct sessionid *session,
- void *private_data),
- void *private_data);
+NTSTATUS sessionid_traverse(int (*fn)(struct db_record *rec, const char *key,
+ struct sessionid *session,
+ void *private_data),
+ void *private_data);
int sessionid_traverse_read(int (*fn)(const char *key,
struct sessionid *session,
void *private_data),
state->private_data);
}
-int sessionid_traverse(int (*fn)(struct db_record *rec, const char *key,
- struct sessionid *session,
- void *private_data),
- void *private_data)
+NTSTATUS sessionid_traverse(int (*fn)(struct db_record *rec, const char *key,
+ struct sessionid *session,
+ void *private_data),
+ void *private_data)
{
struct db_context *db;
struct sessionid_traverse_state state;
+ NTSTATUS status;
db = session_db_ctx();
if (db == NULL) {
- return -1;
+ return NT_STATUS_UNSUCCESSFUL;
}
state.fn = fn;
state.private_data = private_data;
- return db->traverse(db, sessionid_traverse_fn, &state);
+ status = dbwrap_traverse(db, sessionid_traverse_fn, &state, NULL);
+ return status;
}
struct sessionid_traverse_read_state {