xref: /illumos-gate/usr/src/uts/common/rpcsvc/nsm_addr.x (revision 69b1fd3f24d0ee2e682883606201c61f52085805)
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 %#pragma ident	"%Z%%M%	%I%	%E% SMI"
27 %
28 %/* from nsm_addr.x */
29 %
30 %/*
31 % * This is the definition for the REG procedure which is used
32 % * to register name/address pairs with statd.
33 % */
34 %
35 enum nsm_addr_res {
36 	nsm_addr_succ = 0,		/* simple success/failure result */
37 	nsm_addr_fail = 1
38 };
39 
40 struct reg1args {
41 	unsigned int family;		/* address families from socket.h */
42 	string name<1024>;		/* name to register with this addr */
43 	netobj address;
44 };
45 
46 struct reg1res {
47 	nsm_addr_res status;
48 };
49 %
50 %/*
51 % * This is the definition for the UNREG procedure which is used
52 % * to unregister an address (and its associated name, if that name
53 % * has no other addresses registered with it) with statd.
54 % */
55 struct unreg1args {
56 	unsigned int family;		/* address families from socket.h */
57 	string name<1024>;		/* name under this addr to unregister */
58 	netobj address;
59 };
60 
61 struct unreg1res {
62 	nsm_addr_res status;
63 };
64 
65 %
66 %/*
67 % * This is the definition for the NSM address registration network
68 % * protocol which is used to privately support address registration
69 % * with the status daemon statd (NSM).
70 % */
71 program NSM_ADDR_PROGRAM {
72 	version NSM_ADDR_V1 {
73 		void
74 		 NSMADDRPROC1_NULL(void) = 0;
75 		reg1res
76 		 NSMADDRPROC1_REG(reg1args) = 1;
77 		unreg1res
78 		 NSMADDRPROC1_UNREG(unreg1args) = 2;
79 	} = 1;
80 } = 100133;
81