xref: /minix3/lib/libc/yp/yperr_string.c (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc /*	$NetBSD: yperr_string.c,v 1.9 2015/06/17 00:15:26 christos Exp $	 */
22fe8fb19SBen Gras 
32fe8fb19SBen Gras /*
42fe8fb19SBen Gras  * Copyright (c) 1992, 1993 Theo de Raadt <deraadt@fsa.ca>
52fe8fb19SBen Gras  * All rights reserved.
62fe8fb19SBen Gras  *
72fe8fb19SBen Gras  * Redistribution and use in source and binary forms, with or without
82fe8fb19SBen Gras  * modification, are permitted provided that the following conditions
92fe8fb19SBen Gras  * are met:
102fe8fb19SBen Gras  * 1. Redistributions of source code must retain the above copyright
112fe8fb19SBen Gras  *    notice, this list of conditions and the following disclaimer.
122fe8fb19SBen Gras  * 2. Redistributions in binary form must reproduce the above copyright
132fe8fb19SBen Gras  *    notice, this list of conditions and the following disclaimer in the
142fe8fb19SBen Gras  *    documentation and/or other materials provided with the distribution.
152fe8fb19SBen Gras  *
162fe8fb19SBen Gras  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
172fe8fb19SBen Gras  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
182fe8fb19SBen Gras  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
192fe8fb19SBen Gras  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
202fe8fb19SBen Gras  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
212fe8fb19SBen Gras  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
222fe8fb19SBen Gras  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
232fe8fb19SBen Gras  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
242fe8fb19SBen Gras  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
252fe8fb19SBen Gras  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
262fe8fb19SBen Gras  * SUCH DAMAGE.
272fe8fb19SBen Gras  */
282fe8fb19SBen Gras 
292fe8fb19SBen Gras #include <sys/cdefs.h>
302fe8fb19SBen Gras #if defined(LIBC_SCCS) && !defined(lint)
31*0a6a1f1dSLionel Sambuc __RCSID("$NetBSD: yperr_string.c,v 1.9 2015/06/17 00:15:26 christos Exp $");
322fe8fb19SBen Gras #endif
332fe8fb19SBen Gras 
342fe8fb19SBen Gras #include "namespace.h"
352fe8fb19SBen Gras #include <stdio.h>
362fe8fb19SBen Gras #include <rpc/rpc.h>
372fe8fb19SBen Gras #include <rpcsvc/yp_prot.h>
382fe8fb19SBen Gras #include <rpcsvc/ypclnt.h>
392fe8fb19SBen Gras 
402fe8fb19SBen Gras #ifdef __weak_alias
__weak_alias(yperr_string,_yperr_string)412fe8fb19SBen Gras __weak_alias(yperr_string,_yperr_string)
422fe8fb19SBen Gras #endif
432fe8fb19SBen Gras 
442fe8fb19SBen Gras char *
45f14fb602SLionel Sambuc yperr_string(int incode)
462fe8fb19SBen Gras {
472fe8fb19SBen Gras 	static char     err[80];
482fe8fb19SBen Gras 
492fe8fb19SBen Gras 	switch (incode) {
502fe8fb19SBen Gras 	case 0:
512fe8fb19SBen Gras 		return __UNCONST("Success");
522fe8fb19SBen Gras 	case YPERR_BADARGS:
532fe8fb19SBen Gras 		return __UNCONST("Request arguments bad");
542fe8fb19SBen Gras 	case YPERR_RPC:
552fe8fb19SBen Gras 		return __UNCONST("RPC failure");
562fe8fb19SBen Gras 	case YPERR_DOMAIN:
572fe8fb19SBen Gras 		return __UNCONST(
582fe8fb19SBen Gras 		    "Can't bind to server which serves this domain");
592fe8fb19SBen Gras 	case YPERR_MAP:
602fe8fb19SBen Gras 		return __UNCONST("No such map in server's domain");
612fe8fb19SBen Gras 	case YPERR_KEY:
622fe8fb19SBen Gras 		return __UNCONST("No such key in map");
632fe8fb19SBen Gras 	case YPERR_YPERR:
642fe8fb19SBen Gras 		return __UNCONST("YP server error");
652fe8fb19SBen Gras 	case YPERR_RESRC:
662fe8fb19SBen Gras 		return __UNCONST("Local resource allocation failure");
672fe8fb19SBen Gras 	case YPERR_NOMORE:
682fe8fb19SBen Gras 		return __UNCONST("No more records in map database");
692fe8fb19SBen Gras 	case YPERR_PMAP:
702fe8fb19SBen Gras 		return __UNCONST("Can't communicate with portmapper");
712fe8fb19SBen Gras 	case YPERR_YPBIND:
722fe8fb19SBen Gras 		return __UNCONST("Can't communicate with ypbind");
732fe8fb19SBen Gras 	case YPERR_YPSERV:
742fe8fb19SBen Gras 		return __UNCONST("Can't communicate with ypserv");
752fe8fb19SBen Gras 	case YPERR_NODOM:
762fe8fb19SBen Gras 		return __UNCONST("Local domain name not set");
772fe8fb19SBen Gras 	case YPERR_BADDB:
782fe8fb19SBen Gras 		return __UNCONST("Server data base is bad");
792fe8fb19SBen Gras 	case YPERR_VERS:
802fe8fb19SBen Gras 		return __UNCONST(
812fe8fb19SBen Gras 		    "YP server version mismatch - server can't supply service."
822fe8fb19SBen Gras 		    );
832fe8fb19SBen Gras 	case YPERR_ACCESS:
842fe8fb19SBen Gras 		return __UNCONST("Access violation");
852fe8fb19SBen Gras 	case YPERR_BUSY:
862fe8fb19SBen Gras 		return __UNCONST("Database is busy");
872fe8fb19SBen Gras 	}
88*0a6a1f1dSLionel Sambuc 	(void) snprintf(err, sizeof(err), "YP unknown error %d", incode);
892fe8fb19SBen Gras 	return err;
902fe8fb19SBen Gras }
91