xref: /illumos-gate/usr/src/uts/common/rpcsvc/nsm_addr.x (revision 7a6d80f1660abd4755c68cbd094d4a914681d26e)
1 %/*
2 % * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
3 % * Use is subject to license terms.
4 % *
5 % * CDDL HEADER START
6 % *
7 % * The contents of this file are subject to the terms of the
8 % * Common Development and Distribution License, Version 1.0 only
9 % * (the "License").  You may not use this file except in compliance
10 % * with the License.
11 % *
12 % * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13 % * or http://www.opensolaris.org/os/licensing.
14 % * See the License for the specific language governing permissions
15 % * and limitations under the License.
16 % *
17 % * When distributing Covered Code, include this CDDL HEADER in each
18 % * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19 % * If applicable, add the following below this CDDL HEADER, with the
20 % * fields enclosed by brackets "[]" replaced with your own identifying
21 % * information: Portions Copyright [yyyy] [name of copyright owner]
22 % *
23 % * CDDL HEADER END
24 % */
25 %
26 %/* from nsm_addr.x */
27 %
28 %/*
29 % * This is the definition for the REG procedure which is used
30 % * to register name/address pairs with statd.
31 % */
32 %
33 enum nsm_addr_res {
34 	nsm_addr_succ = 0,		/* simple success/failure result */
35 	nsm_addr_fail = 1
36 };
37 
38 struct reg1args {
39 	unsigned int family;		/* address families from socket.h */
40 	string name<1024>;		/* name to register with this addr */
41 	netobj address;
42 };
43 
44 struct reg1res {
45 	nsm_addr_res status;
46 };
47 %
48 %/*
49 % * This is the definition for the UNREG procedure which is used
50 % * to unregister an address (and its associated name, if that name
51 % * has no other addresses registered with it) with statd.
52 % */
53 struct unreg1args {
54 	unsigned int family;		/* address families from socket.h */
55 	string name<1024>;		/* name under this addr to unregister */
56 	netobj address;
57 };
58 
59 struct unreg1res {
60 	nsm_addr_res status;
61 };
62 
63 %
64 %/*
65 % * This is the definition for the NSM address registration network
66 % * protocol which is used to privately support address registration
67 % * with the status daemon statd (NSM).
68 % */
69 program NSM_ADDR_PROGRAM {
70 	version NSM_ADDR_V1 {
71 		void
72 		 NSMADDRPROC1_NULL(void) = 0;
73 		reg1res
74 		 NSMADDRPROC1_REG(reg1args) = 1;
75 		unreg1res
76 		 NSMADDRPROC1_UNREG(unreg1args) = 2;
77 	} = 1;
78 } = 100133;
79