nislib.h (7c478bd95313f5f23a4c958a745db2134aa03244) nislib.h (36e852a172cba914383d7341c988128b2c667fbd)
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22/*
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21/*
23 * Copyright 1991-2003 Sun Microsystems, Inc. All rights reserved.
22 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27/*
28 * nislib.h
29 *
30 * This file contains the interfaces that are visible in the SunOS 5.x
31 * implementation of NIS Plus. When using C++ the defined __cplusplus and
32 * __STDC__ should both be true.
33 */
34
35#ifndef _RPCSVC_NISLIB_H
36#define _RPCSVC_NISLIB_H
37
23 * Use is subject to license terms.
24 */
25
26/*
27 * nislib.h
28 *
29 * This file contains the interfaces that are visible in the SunOS 5.x
30 * implementation of NIS Plus. When using C++ the defined __cplusplus and
31 * __STDC__ should both be true.
32 */
33
34#ifndef _RPCSVC_NISLIB_H
35#define _RPCSVC_NISLIB_H
36
38#pragma ident "%Z%%M% %I% %E% SMI"
39
40#ifdef __cplusplus
41extern "C" {
42#endif
43
44#ifdef __STDC__
37
38#ifdef __cplusplus
39extern "C" {
40#endif
41
42#ifdef __STDC__
45extern void nis_freeresult(nis_result *);
46extern nis_result *nis_lookup(nis_name, uint_t);
47extern nis_result *nis_list(nis_name, uint_t,
48 int (*)(nis_name, nis_object *, void *), void *);
49extern nis_result *nis_add(nis_name, nis_object *);
50extern nis_result *nis_remove(nis_name, nis_object *);
51extern nis_result *nis_modify(nis_name, nis_object *);
52
53extern nis_result *nis_add_entry(nis_name, nis_object *, uint_t);
54extern nis_result *nis_remove_entry(nis_name, nis_object *, uint_t);
55extern nis_result *nis_modify_entry(nis_name, nis_object *, uint_t);
56extern nis_result *nis_first_entry(nis_name);
57extern nis_result *nis_next_entry(nis_name, netobj *);
58
59extern nis_error nis_mkdir(nis_name, nis_server *);
60extern nis_error nis_rmdir(nis_name, nis_server *);
61extern name_pos nis_dir_cmp(nis_name, nis_name);
62
43extern name_pos nis_dir_cmp(nis_name, nis_name);
44
63extern nis_name *nis_getnames(nis_name);
64extern void nis_freenames(nis_name *);
65extern nis_name nis_domain_of(nis_name);
66extern nis_name nis_leaf_of(nis_name);
67extern nis_name nis_leaf_of_r(const nis_name, char *, size_t);
68extern nis_name nis_name_of(nis_name);
69extern nis_name nis_local_group(void);
70extern nis_name nis_local_directory(void);
45extern nis_name nis_domain_of(nis_name);
46extern nis_name nis_leaf_of(nis_name);
47extern nis_name nis_leaf_of_r(const nis_name, char *, size_t);
48extern nis_name nis_name_of(nis_name);
49extern nis_name nis_local_group(void);
50extern nis_name nis_local_directory(void);
71extern nis_name nis_local_principal(void);
72extern nis_name nis_local_host(void);
73
74extern void nis_destroy_object(nis_object *);
75extern nis_object *nis_clone_object(nis_object *, nis_object *);
51extern nis_name nis_local_host(void);
52
53extern void nis_destroy_object(nis_object *);
54extern nis_object *nis_clone_object(nis_object *, nis_object *);
76extern void nis_print_object(nis_object *o);
77
78extern char *nis_sperrno(nis_error);
79extern void nis_perror(nis_error, char *);
80extern char *nis_sperror(nis_error, char *);
81extern char *nis_sperror_r(nis_error, char *, char *, int len);
82extern void nis_lerror(nis_error, char *);
83
84extern void nis_print_group_entry(nis_name);
85extern bool_t nis_ismember(nis_name, nis_name);
86extern nis_error nis_creategroup(nis_name, uint_t);
87extern nis_error nis_destroygroup(nis_name);
88extern nis_error nis_addmember(nis_name, nis_name);
89extern nis_error nis_removemember(nis_name, nis_name);
90extern nis_error nis_verifygroup(nis_name);
91
92extern void nis_freeservlist(nis_server **);
93extern nis_server **nis_getservlist(nis_name);
94extern nis_error nis_stats(nis_server *, nis_tag *, int, nis_tag **);
95extern nis_error nis_servstate(nis_server *, nis_tag *, int, nis_tag **);
96extern void nis_freetags(nis_tag *, int);
97
98extern nis_result *nis_checkpoint(nis_name);
99extern void nis_ping(nis_name, uint32_t, nis_object *);
100
101/*
102 * XXX: PLEASE NOTE THAT THE FOLLOWING FUNCTIONS ARE INTERNAL
103 * TO NIS+ AND SHOULD NOT BE USED BY ANY APPLICATION PROGRAM.
104 * THEIR SEMANTICS AND/OR SIGNATURE CAN CHANGE WITHOUT NOTICE.
105 * SO, PLEASE DO NOT USE THEM. YOU ARE WARNED!!!!
106 */
107
108extern char **__break_name(nis_name, int *);
109extern int __name_distance(char **, char **);
110extern nis_result *nis_make_error(nis_error, uint32_t, uint32_t, uint32_t,
111 uint32_t);
112extern nis_attr *__cvt2attr(int *, char **);
113extern void nis_free_request(ib_request *);
114extern nis_error nis_get_request(nis_name, nis_object *, netobj*, ib_request*);
115extern nis_object *nis_read_obj(char *);
116extern int nis_write_obj(char *, nis_object *);
55extern nis_object *nis_read_obj(char *);
56extern int nis_write_obj(char *, nis_object *);
117extern int nis_in_table(nis_name, NIS_HASH_TABLE *, int *);
118extern int nis_insert_item(NIS_HASH_ITEM *, NIS_HASH_TABLE *);
119extern NIS_HASH_ITEM *nis_find_item(nis_name, NIS_HASH_TABLE *);
120extern NIS_HASH_ITEM *nis_remove_item(nis_name, NIS_HASH_TABLE *);
121extern void nis_insert_name(nis_name, NIS_HASH_TABLE *);
122extern void nis_remove_name(nis_name, NIS_HASH_TABLE *);
123extern CLIENT *nis_make_rpchandle(nis_server *, int, rpcprog_t, rpcvers_t,
124 uint_t, int, int);
125extern void *nis_get_static_storage(struct nis_sdata *, uint_t, uint_t);
126extern char *nis_data(char *);
127extern char *nis_old_data(char *);
128extern void nis_print_rights(uint_t);
129extern void nis_print_directory(directory_obj *);
130extern void nis_print_group(group_obj *);
131extern void nis_print_table(table_obj *);
132extern void nis_print_link(link_obj *);
133extern void nis_print_entry(entry_obj *);
134extern nis_server *__nis_init_callback(CLIENT *,
135 int (*)(nis_name, nis_object *, void *), void *);
136extern int __nis_run_callback(netobj *, rpcproc_t, struct timeval *, CLIENT *);
137
57
138extern log_result *nis_dumplog(nis_server *, nis_name, uint32_t);
139extern log_result *nis_dump(nis_server *, nis_name,
140 int (*)(nis_name, nis_object *, void *));
58extern void *nis_get_static_storage(struct nis_sdata *, uint_t, uint_t);
141extern nis_name __nis_rpc_domain(void);
142
59extern nis_name __nis_rpc_domain(void);
60
143extern bool_t __do_ismember(nis_name, nis_object *,
144 nis_result *(*)(nis_name, uint_t));
145extern nis_name __nis_map_group(nis_name);
146extern nis_name __nis_map_group_r(const nis_name, char *, size_t);
147
148void __nis_CacheStart(void);
149nis_error __nis_CacheBind(char *dname, directory_obj *dobj);
150bool_t __nis_CacheRemoveEntry(directory_obj *dobj);
151nis_error __nis_CacheSearch(char *dname, directory_obj *dobj);
152void __nis_CacheRestart(void);
153void __nis_CachePrint(void);
154void __nis_CachePrintDir(char *);
155bool_t __nis_CacheAddEntry(fd_result *, directory_obj *);
156void __nis_CacheRefreshEntry(char *);
157nis_error __nis_CacheBindDir(char *dname,
158 nis_bound_directory **binding, int flags);
159nis_error __nis_CacheBindMaster(char *dname, nis_bound_directory **binding);
160nis_error __nis_CacheBindServer(nis_server *srv, int nsrv,
161 nis_bound_directory **binding);
162int __nis_CacheRefreshBinding(nis_bound_directory *binding);
163int __nis_CacheRefreshAddress(nis_bound_endpoint *bep);
164int __nis_CacheRefreshCallback(nis_bound_endpoint *bep);
165nis_error __nis_CacheLocalInit(uint32_t *exp_time);
166uint32_t __nis_CacheLocalLoadPref(void);
167nis_error __nis_CacheMgrInit(void);
168void __nis_CacheMgrCleanup(void);
169void __nis_CacheMgrReadColdstart(void);
170nis_error __nis_CacheMgrBindReplica(char *dname);
171nis_error __nis_CacheMgrBindMaster(char *dname);
172nis_error __nis_CacheMgrBindServer(nis_server *srv, int nsrv);
173int __nis_CacheMgrRefreshBinding(nis_bound_directory *binding);
174int __nis_CacheMgrRefreshAddress(nis_bound_endpoint *bep);
175int __nis_CacheMgrRefreshCallback(nis_bound_endpoint *bep);
176int __nis_CacheMgrUpdateUaddr(char *uaddr);
177void __nis_CacheMgrMarkUp(void);
178uint32_t __nis_CacheMgrTimers(void);
179uint32_t __nis_CacheMgrRefreshCache(void);
180uint32_t __nis_serverRefreshCache(void);
181
182extern CLIENT *__get_ti_clnt(char *, CLIENT *, char **, pid_t *, dev_t *);
183extern int __strcmp_case_insens(char *, char *);
184extern int __strncmp_case_insens(char *, char *);
185
186extern fd_result *nis_finddirectory(directory_obj *, nis_name);
187extern int __start_clock(int);
188extern uint32_t __stop_clock(int);
189
190fd_result *__nis_finddirectory(nis_bound_directory **, char *dname);
191int __dir_prefix(char **, char **);
192void __free_break_name(char **, int);
193void __broken_name_print(char **, int);
194void __free_fdresult(fd_result *res);
195nis_error __nis_ping_servers(nis_bound_directory *, int, int);
196struct netconfig *__nis_get_netconfig(endpoint *ep);
197int __dir_same(char **, char **);
198void nis_free_binding(nis_bound_directory *);
199char *__nis_xdr_dup(xdrproc_t, char *, char *);
200
201CLIENT *__nis_clnt_create(int, struct netconfig *, char *, struct netbuf *,
202 int, int, int, int, int);
203
204#else
205
206/* Non-prototype definitions (old fashioned C) */
207
61CLIENT *__nis_clnt_create(int, struct netconfig *, char *, struct netbuf *,
62 int, int, int, int, int);
63
64#else
65
66/* Non-prototype definitions (old fashioned C) */
67
208extern void nis_freeresult();
209extern nis_result *nis_lookup();
210extern nis_result *nis_list();
211extern nis_result *nis_add();
212extern nis_result *nis_remove();
213extern nis_result *nis_modify();
214
215extern nis_result *nis_add_entry();
216extern nis_result *nis_remove_entry();
217extern nis_result *nis_modify_entry();
218extern nis_result *nis_first_entry();
219extern nis_result *nis_next_entry();
220
221extern nis_error nis_mkdir();
222extern nis_error nis_rmdir();
223extern name_pos nis_dir_cmp();
224
68extern name_pos nis_dir_cmp();
69
225extern nis_name *nis_getnames();
226extern void nis_freenames();
227extern nis_name nis_domain_of();
228extern nis_name nis_leaf_of();
229extern nis_name nis_leaf_of_r();
230extern nis_name nis_name_of();
231extern nis_name nis_local_group();
232extern nis_name nis_local_directory();
70extern nis_name nis_domain_of();
71extern nis_name nis_leaf_of();
72extern nis_name nis_leaf_of_r();
73extern nis_name nis_name_of();
74extern nis_name nis_local_group();
75extern nis_name nis_local_directory();
233extern nis_name nis_local_principal();
234extern nis_name nis_local_host();
235
236extern void nis_destroy_object();
237extern nis_object *nis_clone_object();
76extern nis_name nis_local_host();
77
78extern void nis_destroy_object();
79extern nis_object *nis_clone_object();
238extern void nis_print_object();
239
80
240extern char *nis_sperrno();
241extern void nis_perror();
242extern char *nis_sperror();
243extern char *nis_sperror_r();
244extern void nis_lerror();
245
246extern void nis_print_group_entry();
247extern bool_t nis_ismember();
248extern nis_error nis_creategroup();
249extern nis_error nis_destroygroup();
250extern nis_error nis_addmember();
251extern nis_error nis_removemember();
252extern nis_error nis_verifygroup();
253
254extern void nis_freeservlist();
255extern nis_server **nis_getservlist();
256extern nis_error nis_stats();
257extern nis_error nis_servstate();
258extern void nis_freetags();
259
260extern nis_result *nis_checkpoint();
261extern void nis_ping();
262
263/*
264 * XXX: PLEASE NOTE THAT THE FOLLOWING FUNCTIONS ARE INTERNAL
265 * TO NIS+ AND SHOULD NOT BE USED BY ANY APPLICATION PROGRAM.
266 * THEIR SEMANTICS AND/OR SIGNATURE CAN CHANGE WITHOUT NOTICE.
267 * SO, PLEASE DO NOT USE THEM. YOU ARE WARNED!!!!
268 */
269extern char **__break_name();
270extern int __name_distance();
271extern nis_result *nis_make_error();
272extern nis_attr *__cvt2attr();
273extern void nis_free_request();
274extern nis_error nis_get_request();
275extern nis_object *nis_read_obj();
276extern int nis_write_obj();
81extern nis_object *nis_read_obj();
82extern int nis_write_obj();
277extern int nis_in_table();
278extern int nis_insert_item();
279extern NIS_HASH_ITEM *nis_find_item();
280extern NIS_HASH_ITEM *nis_remove_item();
281extern void nis_insert_name();
282extern void nis_remove_name();
283extern CLIENT *nis_make_rpchandle();
284extern void *nis_get_static_storage();
83extern void *nis_get_static_storage();
285extern char *nis_data();
286extern char *nis_old_data();
287
288extern void nis_print_rights();
289extern void nis_print_directory();
290extern void nis_print_group();
291extern void nis_print_table();
292extern void nis_print_link();
293extern void nis_print_entry();
294
295extern nis_server *__nis_init_callback();
296extern int __nis_run_callback();
297
298extern log_result *nis_dump();
299extern log_result *nis_dumplog();
300extern nis_name __nis_rpc_domain();
301
84extern nis_name __nis_rpc_domain();
85
302extern bool_t __do_ismember();
303extern nis_name __nis_map_group();
304extern nis_name __nis_map_group_r();
305
306void __nis_CacheStart();
307nis_error __nis_CacheBind();
308bool_t __nis_CacheRemoveEntry();
309nis_error __nis_CacheSearch();
310void __nis_CacheRestart();
311void __nis_CachePrint();
312void __nis_CachePrintDir();
313bool_t __nis_CacheAddEntry();
314void __nis_CacheRefreshEntry();
315nis_error __nis_CacheBindDir();
316nis_error __nis_CacheBindMaster();
317nis_error __nis_CacheBindServer();
318int __nis_CacheRefreshBinding();
319int __nis_CacheRefreshAddress();
320int __nis_CacheRefreshCallback();
321nis_error __nis_CacheLocalInit();
322uint32_t __nis_CacheLocalLoadPref();
323nis_error __nis_CacheMgrInit();
324void __nis_CacheMgrCleanup();
325void __nis_CacheMgrReadColdstart();
326nis_error __nis_CacheMgrBindReplica();
327nis_error __nis_CacheMgrBindMaster();
328nis_error __nis_CacheMgrBindServer();
329int __nis_CacheMgrRefreshBinding();
330int __nis_CacheMgrRefreshAddress();
331int __nis_CacheMgrRefreshCallback();
332int __nis_CacheMgrUpdateUaddr();
333void __nis_CacheMgrMarkUp();
334uint32_t __nis_CacheMgrTimers();
335uint32_t __nis_CacheMgrRefreshCache();
336uint32_t __nis_serverRefreshCache();
337
338extern CLIENT *__get_ti_clnt();
339extern int __strcmp_case_insens();
340extern int __strncmp_case_insens();
341
342extern fd_result *nis_finddirectory();
343extern int __start_clock();
344extern uint32_t __stop_clock();
345
346fd_result *__nis_finddirectory();
347int __dir_prefix();
348void __free_break_name();
349void __broken_name_print();
350void __free_fdresult();
351nis_error __nis_ping_servers();
352struct netconfig *__nis_get_netconfig();
353int __dir_same();
354void nis_free_binding();
355char *__nis_xdr_dup();
356
357CLIENT *__nis_clnt_create();
358
359#endif
360
361#ifdef __cplusplus
362}
363#endif
364
365#endif /* _RPCSVC_NISLIB_H */
86CLIENT *__nis_clnt_create();
87
88#endif
89
90#ifdef __cplusplus
91}
92#endif
93
94#endif /* _RPCSVC_NISLIB_H */