Merge 2610c05b5b95cc7036b3d6dfb894c6cfbdb68483 as Samba-4.0alpha16
[kai/samba.git] / nsswitch / winbind_client.h
1 /*
2    Unix SMB/CIFS implementation.
3
4    winbind client common code
5
6    Copyright (C) Tim Potter 2000
7    Copyright (C) Andrew Tridgell 2000
8    Copyright (C) Andrew Bartlett 2002
9
10
11    This library is free software; you can redistribute it and/or
12    modify it under the terms of the GNU Lesser General Public
13    License as published by the Free Software Foundation; either
14    version 3 of the License, or (at your option) any later version.
15
16    This library is distributed in the hope that it will be useful,
17    but WITHOUT ANY WARRANTY; without even the implied warranty of
18    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19    Library General Public License for more details.
20
21    You should have received a copy of the GNU Lesser General Public License
22    along with this program.  If not, see <http://www.gnu.org/licenses/>.
23 */
24
25 #ifndef _NSSWITCH_WINBIND_CLIENT_H_
26 #define _NSSWITCH_WINBIND_CLIENT_H_
27
28 #include "winbind_nss_config.h"
29 #include "winbind_struct_protocol.h"
30
31 void winbindd_free_response(struct winbindd_response *response);
32 NSS_STATUS winbindd_send_request(int req_type, int need_priv,
33                                  struct winbindd_request *request);
34 NSS_STATUS winbindd_get_response(struct winbindd_response *response);
35 NSS_STATUS winbindd_request_response(int req_type,
36                             struct winbindd_request *request,
37                             struct winbindd_response *response);
38 NSS_STATUS winbindd_priv_request_response(int req_type,
39                                           struct winbindd_request *request,
40                                           struct winbindd_response *response);
41 #define winbind_env_set() \
42         (strcmp(getenv(WINBINDD_DONT_ENV)?getenv(WINBINDD_DONT_ENV):"0","1") == 0)
43
44 #define winbind_off() \
45         (setenv(WINBINDD_DONT_ENV, "1", 1) == 0)
46
47 #define winbind_on() \
48         (setenv(WINBINDD_DONT_ENV, "0", 1) == 0)
49
50 #endif /* _NSSWITCH_WINBIND_CLIENT_H_ */