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