nfs-ganesha 1.4

svc_auth.h

Go to the documentation of this file.
00001 /* This is a central clearing house for RPC definitions. Nothing
00002    should included anything related to RPC except this file */
00003 
00004 #ifndef _RPC_SVC_AUTH_H
00005 #define _RPC_SVC_AUTH_H
00006 
00007 /* Here is what we should pick up from  /usr/include/tirpc/rpc/svc_auth.h */
00008 typedef struct SVCAUTH {
00009         struct svc_auth_ops {
00010                 int     (*svc_ah_wrap)(struct SVCAUTH *, XDR *, xdrproc_t,
00011                                        caddr_t);
00012                 int     (*svc_ah_unwrap)(struct SVCAUTH *, XDR *, xdrproc_t,
00013                                          caddr_t);
00014                 int     (*svc_ah_destroy)(struct SVCAUTH *);
00015         } *svc_ah_ops;
00016         void * svc_ah_private;
00017 } SVCAUTH;
00018 
00019 #define SVCAUTH_WRAP(auth, xdrs, xfunc, xwhere) \
00020      ((*((auth)->svc_ah_ops->svc_ah_wrap))(auth, xdrs, xfunc, xwhere))
00021 #define SVCAUTH_UNWRAP(auth, xdrs, xfunc, xwhere) \
00022      ((*((auth)->svc_ah_ops->svc_ah_unwrap))(auth, xdrs, xfunc, xwhere))
00023 #define SVCAUTH_DESTROY(auth) \
00024      ((*((auth)->svc_ah_ops->svc_ah_destroy))(auth))
00025 
00026 __BEGIN_DECLS
00027 extern enum auth_stat _authenticate(struct svc_req *, struct rpc_msg *);
00028 extern int svc_auth_reg(int, enum auth_stat (*)(struct svc_req *,
00029                           struct rpc_msg *));
00030 
00031 __END_DECLS
00032 
00033 #endif