1/*
2 * Copyright (c) 2000-2010 Apple Inc. All rights reserved.
3 *
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
14 *
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 *
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
25 *
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 */
28/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
29
30#ifndef __NFS_KRPC_H__
31#define __NFS_KRPC_H__
32
33#include <sys/appleapiopts.h>
34
35#include <sys/cdefs.h>
36
37#ifdef __APPLE_API_PRIVATE
38int krpc_call(struct sockaddr_in *sin, u_int sotype,
39	u_int prog, u_int vers, u_int func,
40	mbuf_t *data, struct sockaddr_in *from);
41
42int krpc_portmap(struct sockaddr_in *sin,
43	u_int prog, u_int vers, u_int proto, u_int16_t *portp);
44
45
46/*
47 * RPC definitions for the portmapper (portmap and rpcbind)
48 */
49#define	PMAPPORT		111
50#define	PMAPPROG		100000
51#define	PMAPVERS		2
52#define	PMAPPROC_NULL		0
53#define	PMAPPROC_SET		1
54#define	PMAPPROC_UNSET		2
55#define	PMAPPROC_GETPORT	3
56#define	PMAPPROC_DUMP		4
57#define	PMAPPROC_CALLIT		5
58
59#define RPCBPROG		PMAPPROG
60#define RPCBVERS3		3
61#define RPCBVERS4		4
62#define RPCBPROC_NULL		0
63#define RPCBPROC_SET		1
64#define RPCBPROC_UNSET		2
65#define RPCBPROC_GETADDR	3
66#define RPCBPROC_DUMP		4
67#define RPCBPROC_CALLIT		5
68#define RPCBPROC_BCAST		RPCBPROC_CALLIT
69#define RPCBPROC_GETTIME	6
70#define RPCBPROC_UADDR2TADDR	7
71#define RPCBPROC_TADDR2UADDR	8
72#define RPCBPROC_GETVERSADDR	9
73#define RPCBPROC_INDIRECT	10
74#define RPCBPROC_GETADDRLIST	11
75#define RPCBPROC_GETSTAT	12
76
77
78/*
79 * RPC definitions for bootparamd
80 */
81#define	BOOTPARAM_PROG		100026
82#define	BOOTPARAM_VERS		1
83#define BOOTPARAM_WHOAMI	1
84#define BOOTPARAM_GETFILE	2
85
86#endif /* __APPLE_API_PRIVATE */
87#endif /* __NFS_KRPC_H__ */
88