libwbclient: Add async call framework.
[samba.git] / source4 / libcli / wbclient / wbclient.h
1 /*
2    Unix SMB/CIFS implementation.
3
4    Winbind client library.
5
6    Copyright (C) 2008 Kai Blin  <kai@samba.org>
7
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.
20 */
21 #include "lib/messaging/irpc.h"
22 #include "libcli/composite/composite.h"
23 #include "librpc/gen_ndr/ndr_winbind.h"
24
25 struct wbc_context {
26         struct messaging_context *msg_ctx;
27         struct tevent_context *event_ctx;
28         struct server_id *ids;
29 };
30
31 struct wbc_context *wbc_init(TALLOC_CTX *mem_ctx,
32                              struct messaging_context *msg_ctx,
33                              struct tevent_context *event_ctx);
34
35 struct composite_context *wbc_sids_to_xids_send(struct wbc_context *wbc_ctx,
36                                                 TALLOC_CTX *mem_ctx,
37                                                 uint32_t count,
38                                                 struct id_mapping *ids);
39
40 NTSTATUS wbc_sids_to_xids_recv(struct composite_context *ctx,
41                                struct id_mapping **ids);
42
43 struct composite_context *wbc_xids_to_sids_send(struct wbc_context *wbc_ctx,
44                                                 TALLOC_CTX *mem_ctx,
45                                                 uint32_t count,
46                                                 struct id_mapping *ids);
47
48 NTSTATUS wbc_xids_to_sids_recv(struct composite_context *ctx,
49                                struct id_mapping **ids);
50