source: vendor/current/nsswitch/winbind_nss_hpux.h

Last change on this file was 988, checked in by Silvan Scherrer, 9 years ago

Samba Server: update vendor to version 4.4.3

File size: 3.2 KB
Line 
1/*
2 Unix SMB/CIFS implementation.
3
4 Donated by HP to enable Winbindd to build on HPUX 11.x.
5 Copyright (C) Jeremy Allison 2002.
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 3 of the License, or (at your option) any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, see <http://www.gnu.org/licenses/>.
19*/
20
21#ifndef _WINBIND_NSS_HPUX_H
22#define _WINBIND_NSS_HPUX_H
23
24#include <nsswitch.h>
25
26#define NSS_STATUS_SUCCESS NSS_SUCCESS
27#define NSS_STATUS_NOTFOUND NSS_NOTFOUND
28#define NSS_STATUS_UNAVAIL NSS_UNAVAIL
29#define NSS_STATUS_TRYAGAIN NSS_TRYAGAIN
30
31#ifdef HAVE_SYNCH_H
32#include <synch.h>
33#endif
34#ifdef HAVE_PTHREAD_H
35#include <pthread.h>
36#endif
37
38typedef enum {
39 NSS_SUCCESS,
40 NSS_NOTFOUND,
41 NSS_UNAVAIL,
42 NSS_TRYAGAIN
43} nss_status_t;
44
45typedef nss_status_t NSS_STATUS;
46
47struct nss_backend;
48
49typedef nss_status_t (*nss_backend_op_t)(struct nss_backend *, void *args);
50
51struct nss_backend {
52 nss_backend_op_t *ops;
53 int n_ops;
54};
55typedef struct nss_backend nss_backend_t;
56typedef int nss_dbop_t;
57
58#include <errno.h>
59#include <netdb.h>
60#include <limits.h>
61
62#ifndef NSS_INCLUDE_UNSAFE
63#define NSS_INCLUDE_UNSAFE 1 /* Build old, MT-unsafe interfaces, */
64#endif /* NSS_INCLUDE_UNSAFE */
65
66enum nss_netgr_argn {
67 NSS_NETGR_MACHINE,
68 NSS_NETGR_USER,
69 NSS_NETGR_DOMAIN,
70 NSS_NETGR_N
71};
72
73enum nss_netgr_status {
74 NSS_NETGR_FOUND,
75 NSS_NETGR_NO,
76 NSS_NETGR_NOMEM
77};
78
79typedef unsigned nss_innetgr_argc;
80typedef char **nss_innetgr_argv;
81
82struct nss_innetgr_1arg {
83 nss_innetgr_argc argc;
84 nss_innetgr_argv argv;
85};
86
87typedef struct {
88 void *result; /* "result" parameter to getXbyY_r() */
89 char *buffer; /* "buffer" " " */
90 int buflen; /* "buflen" " " */
91} nss_XbyY_buf_t;
92
93extern nss_XbyY_buf_t *_nss_XbyY_buf_alloc(int struct_size, int buffer_size);
94extern void _nss_XbyY_buf_free(nss_XbyY_buf_t *);
95
96union nss_XbyY_key {
97 uid_t uid;
98 gid_t gid;
99 const char *name;
100 int number;
101 struct {
102 long net;
103 int type;
104 } netaddr;
105 struct {
106 const char *addr;
107 int len;
108 int type;
109 } hostaddr;
110 struct {
111 union {
112 const char *name;
113 int port;
114 } serv;
115 const char *proto;
116 } serv;
117 void *ether;
118};
119
120typedef struct nss_XbyY_args {
121 nss_XbyY_buf_t buf;
122 int stayopen;
123 /*
124 * Support for setXXXent(stayopen)
125 * Used only in hosts, protocols,
126 * networks, rpc, and services.
127 */
128 int (*str2ent)(const char *instr, int instr_len, void *ent, char *buffer, int buflen);
129 union nss_XbyY_key key;
130
131 void *returnval;
132 int erange;
133 /*
134 * h_errno is defined as function call macro for multithreaded applications
135 * in HP-UX. *this* h_errno is not used in the HP-UX codepath of our nss
136 * modules, so let's simply rename it:
137 */
138 int h_errno_unused;
139 nss_status_t status;
140} nss_XbyY_args_t;
141
142#endif /* _WINBIND_NSS_HPUX_H */
Note: See TracBrowser for help on using the repository browser.