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