master
  1/*	$NetBSD: svc_soc.h,v 1.1 2000/06/02 22:57:57 fvdl Exp $	*/
  2
  3/*-
  4 * SPDX-License-Identifier: BSD-3-Clause
  5 *
  6 * Copyright (c) 2009, Sun Microsystems, Inc.
  7 * All rights reserved.
  8 *
  9 * Redistribution and use in source and binary forms, with or without
 10 * modification, are permitted provided that the following conditions are met:
 11 * - Redistributions of source code must retain the above copyright notice,
 12 *   this list of conditions and the following disclaimer.
 13 * - Redistributions in binary form must reproduce the above copyright notice,
 14 *   this list of conditions and the following disclaimer in the documentation
 15 *   and/or other materials provided with the distribution.
 16 * - Neither the name of Sun Microsystems, Inc. nor the names of its
 17 *   contributors may be used to endorse or promote products derived
 18 *   from this software without specific prior written permission.
 19 *
 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 30 * POSSIBILITY OF SUCH DAMAGE.
 31 */
 32/*
 33 * Copyright (c) 1986 - 1991 by Sun Microsystems, Inc.
 34 */
 35
 36/*
 37 * svc.h, Server-side remote procedure call interface.
 38 */
 39
 40#ifndef _RPC_SVC_SOC_H
 41#define _RPC_SVC_SOC_H
 42#include <sys/cdefs.h>
 43
 44/* #pragma ident   "@(#)svc_soc.h  1.11    94/04/25 SMI" */
 45/*      svc_soc.h 1.8 89/05/01 SMI      */
 46
 47/*
 48 * All the following declarations are only for backward compatibility
 49 * with TS-RPC
 50 */
 51
 52/*
 53 *  Approved way of getting address of caller
 54 */
 55#define svc_getcaller(x) (&(x)->xp_raddr)
 56
 57/*
 58 * Service registration
 59 *
 60 * svc_register(xprt, prog, vers, dispatch, protocol)
 61 *	SVCXPRT *xprt;
 62 *	u_long prog;
 63 *	u_long vers;
 64 *	void (*dispatch)();
 65 *	int protocol;    like TCP or UDP, zero means do not register 
 66 */
 67__BEGIN_DECLS
 68extern bool_t	svc_register(SVCXPRT *, u_long, u_long,
 69		    void (*)(struct svc_req *, SVCXPRT *), int);
 70__END_DECLS
 71
 72/*
 73 * Service un-registration
 74 *
 75 * svc_unregister(prog, vers)
 76 *	u_long prog;
 77 *	u_long vers;
 78 */
 79__BEGIN_DECLS
 80extern void	svc_unregister(u_long, u_long);
 81__END_DECLS
 82
 83
 84/*
 85 * Memory based rpc for testing and timing.
 86 */
 87__BEGIN_DECLS
 88extern SVCXPRT *svcraw_create(void);
 89__END_DECLS
 90
 91
 92/*
 93 * Udp based rpc.
 94 */
 95__BEGIN_DECLS
 96extern SVCXPRT *svcudp_create(int);
 97extern SVCXPRT *svcudp_bufcreate(int, u_int, u_int);
 98extern int svcudp_enablecache(SVCXPRT *, u_long);
 99__END_DECLS
100
101
102/*
103 * Tcp based rpc.
104 */
105__BEGIN_DECLS
106extern SVCXPRT *svctcp_create(int, u_int, u_int);
107__END_DECLS
108
109/*
110 * Fd based rpc.
111 */
112__BEGIN_DECLS
113extern SVCXPRT *svcfd_create(int, u_int, u_int);
114__END_DECLS
115
116#endif /* !_RPC_SVC_SOC_H */