X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=support%2Finclude%2Frpcmisc.h;h=0b06457bbb74d1d8386fd4c343fd825caa804be8;hp=665df8ecfd702bd2098486c8bbb7ff28845ccd26;hb=edb9b7f2ab9806afb9af31eabeb505fe454c51df;hpb=7e76a0509947d9b906f25cf762b0aac1a3281809 diff --git a/support/include/rpcmisc.h b/support/include/rpcmisc.h index 665df8e..0b06457 100644 --- a/support/include/rpcmisc.h +++ b/support/include/rpcmisc.h @@ -31,7 +31,7 @@ struct rpc_dentry { struct rpc_dtable { struct rpc_dentry *entries; - int nproc; + rpcproc_t nproc; }; #define dtable_ent(func, vers, arg_type, res_type) \ @@ -41,12 +41,15 @@ struct rpc_dtable { (xdrproc_t)xdr_##res_type, sizeof(res_type), \ } - -int makesock(int port, int proto); +void nfs_svc_unregister(const rpcprog_t program, + const rpcvers_t version); +unsigned int nfs_svc_create(char *name, const rpcprog_t program, + const rpcvers_t version, + void (*dispatch)(struct svc_req *, SVCXPRT *), + const uint16_t port); void rpc_init(char *name, int prog, int vers, void (*dispatch)(struct svc_req *, SVCXPRT *), int defport); -void rpc_svcrun(void); void rpc_dispatch(struct svc_req *rq, SVCXPRT *xprt, struct rpc_dtable *dtable, int nvers, void *argp, void *resp); @@ -55,5 +58,14 @@ extern int _rpcpmstart; extern int _rpcfdtype; extern int _rpcsvcdirty; +static inline struct sockaddr_in *nfs_getrpccaller_in(SVCXPRT *xprt) +{ + return (struct sockaddr_in *)(char *)svc_getcaller(xprt); +} + +static inline struct sockaddr *nfs_getrpccaller(SVCXPRT *xprt) +{ + return (struct sockaddr *)(char *)svc_getcaller(xprt); +} #endif /* RPCMISC_H */