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