186d7f5d3SJohn Marino.\" @(#)rpc_svc_err.3n 1.23 93/08/31 SMI; from SVr4 286d7f5d3SJohn Marino.\" Copyright 1989 AT&T 386d7f5d3SJohn Marino.\" @(#)rpc_svc_err 1.4 89/06/28 SMI; 486d7f5d3SJohn Marino.\" Copyright (c) 1988 Sun Microsystems, Inc. - All Rights Reserved. 586d7f5d3SJohn Marino.\" $NetBSD: rpc_svc_err.3,v 1.1 2000/06/02 23:11:14 fvdl Exp $ 686d7f5d3SJohn Marino.\" $FreeBSD: src/lib/libc/rpc/rpc_svc_err.3,v 1.5 2005/02/09 18:03:14 ru Exp $ 786d7f5d3SJohn Marino.Dd May 3, 1993 886d7f5d3SJohn Marino.Dt RPC_SVC_ERR 3 986d7f5d3SJohn Marino.Os 1086d7f5d3SJohn Marino.Sh NAME 1186d7f5d3SJohn Marino.Nm rpc_svc_err , 1286d7f5d3SJohn Marino.Nm svcerr_auth , 1386d7f5d3SJohn Marino.Nm svcerr_decode , 1486d7f5d3SJohn Marino.Nm svcerr_noproc , 1586d7f5d3SJohn Marino.Nm svcerr_noprog , 1686d7f5d3SJohn Marino.Nm svcerr_progvers , 1786d7f5d3SJohn Marino.Nm svcerr_systemerr , 1886d7f5d3SJohn Marino.Nm svcerr_weakauth 1986d7f5d3SJohn Marino.Nd library routines for server side remote procedure call errors 2086d7f5d3SJohn Marino.Sh LIBRARY 2186d7f5d3SJohn Marino.Lb libc 2286d7f5d3SJohn Marino.Sh SYNOPSIS 2386d7f5d3SJohn Marino.In rpc/rpc.h 2486d7f5d3SJohn Marino.Ft void 2586d7f5d3SJohn Marino.Fn svcerr_auth "SVCXPRT *xprt" "enum auth_stat why" 2686d7f5d3SJohn Marino.Ft void 2786d7f5d3SJohn Marino.Fn svcerr_decode "SVCXPRT *xprt" 2886d7f5d3SJohn Marino.Ft void 2986d7f5d3SJohn Marino.Fn svcerr_noproc "SVCXPRT *xprt" 3086d7f5d3SJohn Marino.Ft void 3186d7f5d3SJohn Marino.Fn svcerr_noprog "SVCXPRT *xprt" 3286d7f5d3SJohn Marino.Ft void 3386d7f5d3SJohn Marino.Fn svcerr_progvers "SVCXPRT *xprt" "rpcvers_t low_vers" "rpcvers_t high_vers" 3486d7f5d3SJohn Marino.Ft void 3586d7f5d3SJohn Marino.Fn svcerr_systemerr "SVCXPRT *xprt" 3686d7f5d3SJohn Marino.Ft void 3786d7f5d3SJohn Marino.Fn svcerr_weakauth "SVCXPRT *xprt" 3886d7f5d3SJohn Marino.Sh DESCRIPTION 3986d7f5d3SJohn MarinoThese routines are part of the RPC 4086d7f5d3SJohn Marinolibrary which allows C language programs to make procedure 4186d7f5d3SJohn Marinocalls on other machines across the network. 4286d7f5d3SJohn Marino.Pp 4386d7f5d3SJohn MarinoThese routines can be called by the server side 4486d7f5d3SJohn Marinodispatch function if there is any error in the 4586d7f5d3SJohn Marinotransaction with the client. 4686d7f5d3SJohn Marino.Sh Routines 4786d7f5d3SJohn MarinoSee 4886d7f5d3SJohn Marino.Xr rpc 3 4986d7f5d3SJohn Marinofor the definition of the 5086d7f5d3SJohn Marino.Vt SVCXPRT 5186d7f5d3SJohn Marinodata structure. 5286d7f5d3SJohn Marino.Bl -tag -width XXXXX 5386d7f5d3SJohn Marino.It Fn svcerr_auth 5486d7f5d3SJohn MarinoCalled by a service dispatch routine that refuses to perform 5586d7f5d3SJohn Marinoa remote procedure call due to an authentication error. 5686d7f5d3SJohn Marino.It Fn svcerr_decode 5786d7f5d3SJohn MarinoCalled by a service dispatch routine that cannot successfully 5886d7f5d3SJohn Marinodecode the remote arguments 5986d7f5d3SJohn Marino(see 6086d7f5d3SJohn Marino.Fn svc_getargs 6186d7f5d3SJohn Marinoin 6286d7f5d3SJohn Marino.Xr rpc_svc_reg 3 ) . 6386d7f5d3SJohn Marino.It Fn svcerr_noproc 6486d7f5d3SJohn MarinoCalled by a service dispatch routine that does not implement 6586d7f5d3SJohn Marinothe procedure number that the caller requests. 6686d7f5d3SJohn Marino.It Fn svcerr_noprog 6786d7f5d3SJohn MarinoCalled when the desired program is not registered with the 6886d7f5d3SJohn MarinoRPC package. 6986d7f5d3SJohn MarinoService implementors usually do not need this routine. 7086d7f5d3SJohn Marino.It Fn svcerr_progvers 7186d7f5d3SJohn MarinoCalled when the desired version of a program is not registered with the 7286d7f5d3SJohn MarinoRPC package. 7386d7f5d3SJohn MarinoThe 7486d7f5d3SJohn Marino.Fa low_vers 7586d7f5d3SJohn Marinoargument 7686d7f5d3SJohn Marinois the lowest version number, 7786d7f5d3SJohn Marinoand 7886d7f5d3SJohn Marino.Fa high_vers 7986d7f5d3SJohn Marinois the highest version number. 8086d7f5d3SJohn MarinoService implementors usually do not need this routine. 8186d7f5d3SJohn Marino.It Fn svcerr_systemerr 8286d7f5d3SJohn MarinoCalled by a service dispatch routine when it detects a system 8386d7f5d3SJohn Marinoerror not covered by any particular protocol. 8486d7f5d3SJohn MarinoFor example, if a service can no longer allocate storage, 8586d7f5d3SJohn Marinoit may call this routine. 8686d7f5d3SJohn Marino.It Fn svcerr_weakauth 8786d7f5d3SJohn MarinoCalled by a service dispatch routine that refuses to perform 8886d7f5d3SJohn Marinoa remote procedure call due to insufficient (but correct) 8986d7f5d3SJohn Marinoauthentication arguments. 9086d7f5d3SJohn MarinoThe routine calls 9186d7f5d3SJohn Marino.Fn svcerr_auth "xprt" "AUTH_TOOWEAK" . 9286d7f5d3SJohn Marino.El 9386d7f5d3SJohn Marino.Sh SEE ALSO 9486d7f5d3SJohn Marino.Xr rpc 3 , 9586d7f5d3SJohn Marino.Xr rpc_svc_calls 3 , 9686d7f5d3SJohn Marino.Xr rpc_svc_create 3 , 9786d7f5d3SJohn Marino.Xr rpc_svc_reg 3 98