1 0 stevel /* 2 0 stevel * CDDL HEADER START 3 0 stevel * 4 0 stevel * The contents of this file are subject to the terms of the 5 0 stevel * Common Development and Distribution License, Version 1.0 only 6 0 stevel * (the "License"). You may not use this file except in compliance 7 0 stevel * with the License. 8 0 stevel * 9 0 stevel * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 0 stevel * or http://www.opensolaris.org/os/licensing. 11 0 stevel * See the License for the specific language governing permissions 12 0 stevel * and limitations under the License. 13 0 stevel * 14 0 stevel * When distributing Covered Code, include this CDDL HEADER in each 15 0 stevel * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 0 stevel * If applicable, add the following below this CDDL HEADER, with the 17 0 stevel * fields enclosed by brackets "[]" replaced with your own identifying 18 0 stevel * information: Portions Copyright [yyyy] [name of copyright owner] 19 0 stevel * 20 0 stevel * CDDL HEADER END 21 0 stevel */ 22 0 stevel /* 23 0 stevel * Copyright 1989 Sun Microsystems, Inc. All rights reserved. 24 0 stevel * Use is subject to license terms. 25 0 stevel */ 26 0 stevel 27 0 stevel /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 28 0 stevel /* All Rights Reserved */ 29 0 stevel 30 0 stevel /* 31 0 stevel * Portions of this source code were derived from Berkeley 4.3 BSD 32 0 stevel * under license from the Regents of the University of California. 33 0 stevel */ 34 0 stevel 35 0 stevel #ifndef _RPCSVC_YPCLNT_H 36 0 stevel #define _RPCSVC_YPCLNT_H 37 0 stevel 38 0 stevel #pragma ident "%Z%%M% %I% %E% SMI" 39 0 stevel 40 0 stevel #ifdef __cplusplus 41 0 stevel extern "C" { 42 0 stevel #endif 43 0 stevel 44 0 stevel /* 45 0 stevel * ypclnt.h 46 0 stevel * This defines the symbols used in the c language 47 0 stevel * interface to the yp client functions. A description of this interface 48 0 stevel * can be read in ypclnt(3N). 49 0 stevel */ 50 0 stevel 51 0 stevel /* 52 0 stevel * Failure reason codes. The success condition is indicated by a functional 53 0 stevel * value of "0". 54 0 stevel */ 55 0 stevel #define YPERR_BADARGS 1 /* Args to function are bad */ 56 0 stevel #define YPERR_RPC 2 /* RPC failure */ 57 0 stevel #define YPERR_DOMAIN 3 /* Can't bind to a server which */ 58 0 stevel /* serves this domain. */ 59 0 stevel #define YPERR_MAP 4 /* No such map in server's domain */ 60 0 stevel #define YPERR_KEY 5 /* No such key in map */ 61 0 stevel #define YPERR_YPERR 6 /* Internal yp server or client */ 62 0 stevel /* interface error */ 63 0 stevel #define YPERR_RESRC 7 /* Local resource allocation failure */ 64 0 stevel #define YPERR_NOMORE 8 /* No more records in map database */ 65 0 stevel #define YPERR_PMAP 9 /* Can't communicate with portmapper */ 66 0 stevel #define YPERR_YPBIND 10 /* Can't communicate with ypbind */ 67 0 stevel #define YPERR_YPSERV 11 /* Can't communicate with ypserv */ 68 0 stevel #define YPERR_NODOM 12 /* Local domain name not set */ 69 0 stevel #define YPERR_BADDB 13 /* yp data base is bad */ 70 0 stevel #define YPERR_VERS 14 /* YP version mismatch */ 71 0 stevel #define YPERR_ACCESS 15 /* Access violation */ 72 0 stevel #define YPERR_BUSY 16 /* Database is busy */ 73 0 stevel 74 0 stevel /* 75 0 stevel * Types of update operations 76 0 stevel */ 77 0 stevel #define YPOP_CHANGE 1 /* change, do not add */ 78 0 stevel #define YPOP_INSERT 2 /* add, do not change */ 79 0 stevel #define YPOP_DELETE 3 /* delete this entry */ 80 0 stevel #define YPOP_STORE 4 /* add, or change */ 81 0 stevel 82 0 stevel 83 0 stevel 84 0 stevel /* 85 0 stevel * Data definitions 86 0 stevel */ 87 0 stevel 88 0 stevel /* 89 0 stevel * struct ypall_callback * is the arg which must be passed to yp_all 90 0 stevel */ 91 0 stevel 92 0 stevel struct ypall_callback { 93 0 stevel int (*foreach)(); /* Return non-0 to stop getting */ 94 0 stevel /* called */ 95 0 stevel char *data; /* Opaque pointer for use of callback */ 96 0 stevel /* function */ 97 0 stevel }; 98 0 stevel 99 0 stevel /* 100 0 stevel * External yp client function references. 101 0 stevel */ 102 0 stevel 103 0 stevel #ifdef __STDC__ 104 0 stevel extern int yp_bind(char *); 105 0 stevel extern void yp_unbind(char *); 106 0 stevel extern int yp_get_default_domain(char **); 107 0 stevel extern int yp_match(char *, char *, char *, int, char **, int *); 108 0 stevel extern int yp_first(char *, char *, char **, int *, char **, int *); 109 0 stevel extern int yp_next(char *, char *, char *, int, char **, int *, char **, int *); 110 0 stevel extern int yp_master(char *, char *, char **); 111 0 stevel extern int yp_order(char *, char *, unsigned long *); 112 0 stevel extern int yp_all(char *, char *, struct ypall_callback *); 113 0 stevel extern char *yperr_string(int); 114 0 stevel extern int ypprot_err(int); 115 0 stevel extern int yp_update(char *, char *, unsigned, char *, int, char *, int); 116 0 stevel 117 0 stevel #else 118 0 stevel 119 0 stevel extern int yp_bind(); 120 0 stevel extern int __yp_dobind(); 121 0 stevel extern void yp_unbind(); 122 0 stevel extern int yp_get_default_domain(); 123 0 stevel extern int yp_match(); 124 0 stevel extern int yp_first(); 125 0 stevel extern int yp_next(); 126 0 stevel extern int yp_master(); 127 0 stevel extern int yp_order(); 128 0 stevel extern int yp_all(); 129 0 stevel extern char *yperr_string(); 130 0 stevel extern int ypprot_err(); 131 0 stevel extern int yp_update(); 132 0 stevel #endif /* __STDC__ */ 133 0 stevel 134 0 stevel /* 135 0 stevel * Global yp data structures 136 0 stevel */ 137 0 stevel 138 0 stevel #ifdef __cplusplus 139 0 stevel } 140 0 stevel #endif 141 0 stevel 142 0 stevel #endif /* _RPCSVC_YPCLNT_H */ 143