835 extern void rpc_gss_cleanup(SVCXPRT *);
836 #else /* _KERNEL */
837 /*
838 * Lowest level dispatching -OR- who owns this process anyway.
839 * Somebody has to wait for incoming requests and then call the correct
840 * service routine. The routine svc_run does infinite waiting; i.e.,
841 * svc_run never returns.
842 * Since another (co-existant) package may wish to selectively wait for
843 * incoming calls or other events outside of the rpc architecture, the
844 * routine svc_getreq_poll is provided. It must be passed pollfds, the
845 * "in-place" results of a poll call (see poll, section 2).
846 */
847
848 /*
849 * Global keeper of rpc service descriptors in use
850 * dynamic; must be inspected before each call to select or poll
851 */
852 extern pollfd_t *svc_pollfd;
853 extern int svc_max_pollfd;
854 extern fd_set svc_fdset;
855 #if !defined(_LP64) && FD_SETSIZE > 1024
856 extern fd_set _new_svc_fdset;
857 #ifdef __PRAGMA_REDEFINE_EXTNAME
858 #pragma redefine_extname svc_fdset _new_svc_fdset
859 #else /* __PRAGMA_REDEFINE_EXTNAME */
860 #define svc_fdset _new_svc_fdset
861 #endif /* __PRAGMA_REDEFINE_EXTNAME */
862 #endif /* LP64 && FD_SETSIZE > 1024 */
863 #define svc_fds svc_fdset.fds_bits[0] /* compatibility */
864
865 /*
866 * A small program implemented by the svc_rpc implementation itself.
867 * Also see clnt.h for protocol numbers.
868 */
869 #ifdef __STDC__
870 extern void svc_getreq(int);
871 extern void svc_getreq_common(const int);
872 extern void svc_getreqset(fd_set *); /* takes fdset instead of int */
873 extern void svc_getreq_poll(struct pollfd *, const int);
874 extern void svc_run(void);
875 extern void svc_exit(void);
876 #else /* __STDC__ */
877 extern void rpctest_service();
878 extern void svc_getreqset();
879 extern void svc_getreq();
880 extern void svc_getreq_common();
881 extern void svc_getreqset(); /* takes fdset instead of int */
882 extern void svc_getreq_poll();
|
835 extern void rpc_gss_cleanup(SVCXPRT *);
836 #else /* _KERNEL */
837 /*
838 * Lowest level dispatching -OR- who owns this process anyway.
839 * Somebody has to wait for incoming requests and then call the correct
840 * service routine. The routine svc_run does infinite waiting; i.e.,
841 * svc_run never returns.
842 * Since another (co-existant) package may wish to selectively wait for
843 * incoming calls or other events outside of the rpc architecture, the
844 * routine svc_getreq_poll is provided. It must be passed pollfds, the
845 * "in-place" results of a poll call (see poll, section 2).
846 */
847
848 /*
849 * Global keeper of rpc service descriptors in use
850 * dynamic; must be inspected before each call to select or poll
851 */
852 extern pollfd_t *svc_pollfd;
853 extern int svc_max_pollfd;
854 extern fd_set svc_fdset;
855 #define svc_fds svc_fdset.fds_bits[0] /* compatibility */
856
857 /*
858 * A small program implemented by the svc_rpc implementation itself.
859 * Also see clnt.h for protocol numbers.
860 */
861 #ifdef __STDC__
862 extern void svc_getreq(int);
863 extern void svc_getreq_common(const int);
864 extern void svc_getreqset(fd_set *); /* takes fdset instead of int */
865 extern void svc_getreq_poll(struct pollfd *, const int);
866 extern void svc_run(void);
867 extern void svc_exit(void);
868 #else /* __STDC__ */
869 extern void rpctest_service();
870 extern void svc_getreqset();
871 extern void svc_getreq();
872 extern void svc_getreq_common();
873 extern void svc_getreqset(); /* takes fdset instead of int */
874 extern void svc_getreq_poll();
|