switch(s->level) {
case WINBIND_IDMAP_LEVEL_SIDS_TO_XIDS:
- status = wb_sids2xids_recv(ctx, &s->req->out.ids);
+ status = wb_sids2xids_recv(ctx, &s->req->out.ids, NULL);
break;
case WINBIND_IDMAP_LEVEL_XIDS_TO_SIDS:
status = wb_xids2sids_recv(ctx, &s->req->out.ids);
struct id_map *ids = NULL;
- state->ctx->status = wb_sids2xids_recv(ctx, &ids);
+ state->ctx->status = wb_sids2xids_recv(ctx, &ids, NULL);
if (!composite_is_ok(state->ctx)) return;
if (ids->status != ID_MAPPED) {
struct id_map *ids = NULL;
- state->ctx->status = wb_sids2xids_recv(ctx, &ids);
+ state->ctx->status = wb_sids2xids_recv(ctx, &ids, NULL);
if (!composite_is_ok(state->ctx)) return;
if (ids->status != ID_MAPPED) {
}
NTSTATUS wb_sids2xids_recv(struct composite_context *ctx,
- struct id_map **ids)
+ struct id_map **ids, unsigned *count)
{
NTSTATUS status = composite_wait(ctx);
struct sids2xids_state *state = talloc_get_type(ctx->private_data,
* the results are filled into the pointers the caller
* supplied */
*ids = state->ids;
+ if (count != NULL) {
+ *count = state->count;
+ }
talloc_free(ctx);
return status;