'\"macro stdmacro
.if n .pH g3n.rpc_svc_err @(#)rpc_svc_err	40.5 of 10/10/89
.\" Copyright 1989 AT&T
.\" ident	"@(#)svid_rs:rs_lib/rpc_svc_err	1.4"
.\ "@(#)rpc_svc_err 1.4 89/06/28 SMI;
'\" macro stdmacro
.\" Copyright (c) 1988 Sun Microsystems, Inc. - All Rights Reserved.
.nr X
.if \nX=0 .ds x} rpc_svc_err 3N "" "\&"
.if \nX=1 .ds x} rpc_svc_err 3N ""
.if \nX=2 .ds x} rpc_svc_err 3N "" "\&"
.if \nX=3 .ds x} rpc_svc_err "" "" "\&"
.TH \*(x}
.SH NAME
.na
\f4rpc_svc_err\fP:  \f4 svcerr_auth\f1, \f4svcerr_decode\f1, \f4svcerr_noproc\f1, \f4svcerr_noprog\f1, \f4svcerr_progvers\f1, \f4svcerr_systemerr\f1, \f4svcerr_weakauth\f1 \- library routines for server side remote procedure call errors
.ad
.SH DESCRIPTION
These routines are part of the RPC library which
allows C language programs to make procedure
calls on other machines across the network.
.P
These routines can be called by the server side
dispatch function if there is any error in the
transaction with the client.
.SS Routines
See \f4rpc\fP(3N) for the definition of the
\f4SVCXPRT\f1
data structure.
.P
.ft 4
.nf
.sp .5
#include <rpc/rpc.h>
.fi
.ft 1
.br
.if t .ne 9
.P
.ft 4
.nf
.sp .5
void
svcerr_auth(const SVCXPRT *xprt, const enum auth_stat why);
.fi
.ft 1
.IP
Called by a service dispatch routine that refuses to perform
a remote procedure call due to an authentication error.
.br
.if t .ne 7
.P
.ft 4
.nf
.sp .5
void
svcerr_decode(const SVCXPRT *xprt);
.fi
.ft 1
.IP
Called by a service dispatch routine that cannot successfully
decode the remote parameters
[see 
\f4svc_getargs\f1 in
\f4rpc_svc_reg\fP(3N)].
.br
.if t .ne 7
.P
.ft 4
.nf
.sp .5
void
svcerr_noproc(const SVCXPRT *xprt);
.fi
.ft 1
.IP
Called by a service dispatch routine that does not implement
the procedure number that the caller requests.
.br
.if t .ne 7
.P
.ft 4
.nf
.sp .5
void
svcerr_noprog(const SVCXPRT *xprt);
.fi
.ft 1
.IP
Called when the desired program is not registered with the
RPC package.
Service implementors usually do not need this routine.
.br
.if t .ne 7
.P
.ft 4
.nf
.sp .5
void
svcerr_progvers(const SVCXPRT *xprt);
.fi
.ft 1
.IP
Called when the desired version of a program is not registered with the
RPC package.
Service implementors usually do not need this routine.
.br
.if t .ne 7
.P
.ft 4
.nf
.sp .5
void
svcerr_systemerr(const SVCXPRT *xprt);
.fi
.ft 1
.IP
Called by a service dispatch routine when it detects a system
error not covered by any particular protocol.
For example, if a service can no longer allocate storage,
it may call this routine.
.br
.if t .ne 8
.P
.ft 4
.nf
.sp .5
void
svcerr_weakauth(const SVCXPRT *xprt);
.fi
.ft 1
.IP
Called by a service dispatch routine that refuses to perform
a remote procedure call due to insufficient (but correct)
authentication parameters.
The routine calls
\f4svcerr_auth(xprt, AUTH_TOOWEAK)\f1.
.SH SEE ALSO
.na
\f4rpc\fP(3N),
\f4rpc_svc_calls\fP(3N),
\f4rpc_svc_create\fP(3N),
\f4rpc_svc_reg\fP(3N).
.ad
