1 /* $NetBSD: yperr_string.c,v 1.5 2000/01/22 22:19:22 mycroft Exp $ */ 2 3 /* 4 * Copyright (c) 1992, 1993 Theo de Raadt <deraadt@fsa.ca> 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 3. All advertising materials mentioning features or use of this software 16 * must display the following acknowledgement: 17 * This product includes software developed by Theo de Raadt. 18 * 4. The name of the author may not be used to endorse or promote products 19 * derived from this software without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 22 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 23 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 25 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 */ 33 34 #include <sys/cdefs.h> 35 #if defined(LIBC_SCCS) && !defined(lint) 36 __RCSID("$NetBSD: yperr_string.c,v 1.5 2000/01/22 22:19:22 mycroft Exp $"); 37 #endif 38 39 #include "namespace.h" 40 #include <stdio.h> 41 #include <rpc/rpc.h> 42 #include <rpcsvc/yp_prot.h> 43 #include <rpcsvc/ypclnt.h> 44 45 #ifdef __weak_alias 46 __weak_alias(yperr_string,_yperr_string) 47 #endif 48 49 char * 50 yperr_string(incode) 51 int incode; 52 { 53 static char err[80]; 54 55 switch (incode) { 56 case 0: 57 return "Success"; 58 case YPERR_BADARGS: 59 return "Request arguments bad"; 60 case YPERR_RPC: 61 return "RPC failure"; 62 case YPERR_DOMAIN: 63 return "Can't bind to server which serves this domain"; 64 case YPERR_MAP: 65 return "No such map in server's domain"; 66 case YPERR_KEY: 67 return "No such key in map"; 68 case YPERR_YPERR: 69 return "YP server error"; 70 case YPERR_RESRC: 71 return "Local resource allocation failure"; 72 case YPERR_NOMORE: 73 return "No more records in map database"; 74 case YPERR_PMAP: 75 return "Can't communicate with portmapper"; 76 case YPERR_YPBIND: 77 return "Can't communicate with ypbind"; 78 case YPERR_YPSERV: 79 return "Can't communicate with ypserv"; 80 case YPERR_NODOM: 81 return "Local domain name not set"; 82 case YPERR_BADDB: 83 return "Server data base is bad"; 84 case YPERR_VERS: 85 return 86 "YP server version mismatch - server can't supply service."; 87 case YPERR_ACCESS: 88 return "Access violation"; 89 case YPERR_BUSY: 90 return "Database is busy"; 91 } 92 (void) snprintf(err, sizeof(err), "YP unknown error %d\n", incode); 93 return err; 94 } 95