xref: /titanic_52/usr/src/head/rpcsvc/ypclnt.h (revision ba3594ba9b5dd4c846c472a8d657edcb7c8109ac)
17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * CDDL HEADER START
37c478bd9Sstevel@tonic-gate  *
47c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
57c478bd9Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
67c478bd9Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
77c478bd9Sstevel@tonic-gate  * with the License.
87c478bd9Sstevel@tonic-gate  *
97c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
107c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
117c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
127c478bd9Sstevel@tonic-gate  * and limitations under the License.
137c478bd9Sstevel@tonic-gate  *
147c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
157c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
167c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
177c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
187c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
197c478bd9Sstevel@tonic-gate  *
207c478bd9Sstevel@tonic-gate  * CDDL HEADER END
217c478bd9Sstevel@tonic-gate  */
227c478bd9Sstevel@tonic-gate /*
23*ba3594baSGarrett D'Amore  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
24*ba3594baSGarrett D'Amore  *
257c478bd9Sstevel@tonic-gate  * Copyright 1989 Sun Microsystems, Inc.  All rights reserved.
267c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
277c478bd9Sstevel@tonic-gate  */
287c478bd9Sstevel@tonic-gate 
297c478bd9Sstevel@tonic-gate /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
307c478bd9Sstevel@tonic-gate /*	  All Rights Reserved  	*/
317c478bd9Sstevel@tonic-gate 
327c478bd9Sstevel@tonic-gate /*
337c478bd9Sstevel@tonic-gate  * Portions of this source code were derived from Berkeley 4.3 BSD
347c478bd9Sstevel@tonic-gate  * under license from the Regents of the University of California.
357c478bd9Sstevel@tonic-gate  */
367c478bd9Sstevel@tonic-gate 
377c478bd9Sstevel@tonic-gate #ifndef	_RPCSVC_YPCLNT_H
387c478bd9Sstevel@tonic-gate #define	_RPCSVC_YPCLNT_H
397c478bd9Sstevel@tonic-gate 
407c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
417c478bd9Sstevel@tonic-gate extern "C" {
427c478bd9Sstevel@tonic-gate #endif
437c478bd9Sstevel@tonic-gate 
447c478bd9Sstevel@tonic-gate /*
457c478bd9Sstevel@tonic-gate  * ypclnt.h
467c478bd9Sstevel@tonic-gate  * This defines the symbols used in the c language
477c478bd9Sstevel@tonic-gate  * interface to the yp client functions.  A description of this interface
487c478bd9Sstevel@tonic-gate  * can be read in ypclnt(3N).
497c478bd9Sstevel@tonic-gate  */
507c478bd9Sstevel@tonic-gate 
517c478bd9Sstevel@tonic-gate /*
527c478bd9Sstevel@tonic-gate  * Failure reason codes.  The success condition is indicated by a functional
537c478bd9Sstevel@tonic-gate  * value of "0".
547c478bd9Sstevel@tonic-gate  */
557c478bd9Sstevel@tonic-gate #define	YPERR_BADARGS 1			/* Args to function are bad */
567c478bd9Sstevel@tonic-gate #define	YPERR_RPC 2			/* RPC failure */
577c478bd9Sstevel@tonic-gate #define	YPERR_DOMAIN 3			/* Can't bind to a server which */
587c478bd9Sstevel@tonic-gate 					/*   serves this domain. */
597c478bd9Sstevel@tonic-gate #define	YPERR_MAP 4			/* No such map in server's domain */
607c478bd9Sstevel@tonic-gate #define	YPERR_KEY 5			/* No such key in map */
617c478bd9Sstevel@tonic-gate #define	YPERR_YPERR 6			/* Internal yp server or client */
627c478bd9Sstevel@tonic-gate 					/*   interface error */
637c478bd9Sstevel@tonic-gate #define	YPERR_RESRC 7			/* Local resource allocation failure */
647c478bd9Sstevel@tonic-gate #define	YPERR_NOMORE 8			/* No more records in map database */
657c478bd9Sstevel@tonic-gate #define	YPERR_PMAP 9			/* Can't communicate with portmapper */
667c478bd9Sstevel@tonic-gate #define	YPERR_YPBIND 10			/* Can't communicate with ypbind */
677c478bd9Sstevel@tonic-gate #define	YPERR_YPSERV 11			/* Can't communicate with ypserv */
687c478bd9Sstevel@tonic-gate #define	YPERR_NODOM 12			/* Local domain name not set */
697c478bd9Sstevel@tonic-gate #define	YPERR_BADDB 13			/*  yp data base is bad */
707c478bd9Sstevel@tonic-gate #define	YPERR_VERS 14			/* YP version mismatch */
717c478bd9Sstevel@tonic-gate #define	YPERR_ACCESS 15			/* Access violation */
727c478bd9Sstevel@tonic-gate #define	YPERR_BUSY 16			/* Database is busy */
737c478bd9Sstevel@tonic-gate 
747c478bd9Sstevel@tonic-gate /*
757c478bd9Sstevel@tonic-gate  * Types of update operations
767c478bd9Sstevel@tonic-gate  */
777c478bd9Sstevel@tonic-gate #define	YPOP_CHANGE 1			/* change, do not add */
787c478bd9Sstevel@tonic-gate #define	YPOP_INSERT 2			/* add, do not change */
797c478bd9Sstevel@tonic-gate #define	YPOP_DELETE 3			/* delete this entry */
807c478bd9Sstevel@tonic-gate #define	YPOP_STORE  4			/* add, or change */
817c478bd9Sstevel@tonic-gate 
827c478bd9Sstevel@tonic-gate 
837c478bd9Sstevel@tonic-gate 
847c478bd9Sstevel@tonic-gate /*
857c478bd9Sstevel@tonic-gate  * Data definitions
867c478bd9Sstevel@tonic-gate  */
877c478bd9Sstevel@tonic-gate 
887c478bd9Sstevel@tonic-gate /*
897c478bd9Sstevel@tonic-gate  * struct ypall_callback * is the arg which must be passed to yp_all
907c478bd9Sstevel@tonic-gate  */
917c478bd9Sstevel@tonic-gate 
927c478bd9Sstevel@tonic-gate struct ypall_callback {
937c478bd9Sstevel@tonic-gate 	int (*foreach)();		/* Return non-0 to stop getting */
947c478bd9Sstevel@tonic-gate 					/*   called */
957c478bd9Sstevel@tonic-gate 	char *data;			/* Opaque pointer for use of callback */
967c478bd9Sstevel@tonic-gate 					/*   function */
977c478bd9Sstevel@tonic-gate };
987c478bd9Sstevel@tonic-gate 
997c478bd9Sstevel@tonic-gate /*
1007c478bd9Sstevel@tonic-gate  * External yp client function references.
1017c478bd9Sstevel@tonic-gate  */
1027c478bd9Sstevel@tonic-gate 
1037c478bd9Sstevel@tonic-gate extern int yp_bind(char *);
1047c478bd9Sstevel@tonic-gate extern void yp_unbind(char *);
1057c478bd9Sstevel@tonic-gate extern int yp_get_default_domain(char **);
1067c478bd9Sstevel@tonic-gate extern int yp_match(char *, char *, char *, int, char **, int *);
1077c478bd9Sstevel@tonic-gate extern int yp_first(char *, char *, char **, int *, char **, int *);
1087c478bd9Sstevel@tonic-gate extern int yp_next(char *, char *, char *, int, char **, int *, char **, int *);
1097c478bd9Sstevel@tonic-gate extern int yp_master(char *, char *, char **);
1107c478bd9Sstevel@tonic-gate extern int yp_order(char *, char *, unsigned long *);
1117c478bd9Sstevel@tonic-gate extern int yp_all(char *, char *, struct ypall_callback *);
1127c478bd9Sstevel@tonic-gate extern char *yperr_string(int);
1137c478bd9Sstevel@tonic-gate extern int ypprot_err(int);
1147c478bd9Sstevel@tonic-gate extern int yp_update(char *, char *, unsigned,  char *, int, char *, int);
1157c478bd9Sstevel@tonic-gate 
1167c478bd9Sstevel@tonic-gate /*
1177c478bd9Sstevel@tonic-gate  * Global yp data structures
1187c478bd9Sstevel@tonic-gate  */
1197c478bd9Sstevel@tonic-gate 
1207c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
1217c478bd9Sstevel@tonic-gate }
1227c478bd9Sstevel@tonic-gate #endif
1237c478bd9Sstevel@tonic-gate 
1247c478bd9Sstevel@tonic-gate #endif	/* _RPCSVC_YPCLNT_H */
125