7712 mandoc -Tlint does always exit with error code 0
[unleashed.git] / usr / src / head / metacl.x
bloba692196f9bd1603904b0aca6f0f57f986cf07efb
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 % */
26 %#pragma ident  "%Z%%M% %I%     %E% SMI"
29 #ifdef RPC_SVC
31 %int mdc_in_daemon = 1;
32 %#include <signal.h>
33 #endif /* RPC_SVC */
35 #ifdef RPC_HDR
36 %#ifndef STRINGARRAY
37 #endif
38 typedef string stringarray<>;
39 #ifdef RPC_HDR
40 %#define STRINGARRAY
41 %#endif
42 #endif
44 struct mdc_err_t {
45         int                     mdc_errno; /* errno or negative error code */
46         int                     mdc_exitcode;   /* child exit code. */
47         string                  mdc_node<>;     /* associated node */
48         string                  mdc_misc<>;     /* misc text */
52 %/*
53 % * rpc argument and response structures
54 % */
55 struct mdc_bind_res_t {
56         mdc_err_t       mdc_status;             /* status of RPC call */
59 struct mdcrpc_proxy_args_t {
60         stringarray             argvlist<>;
61         stringarray             environment<>;
64 #ifdef RPC_CLNT
65 %int _mdc_in_daemon = 0;
66 %#pragma weak mdc_in_daemon = _mdc_in_daemon
67 %void mdc_clrerror(mdc_err_t *mdcep);
69 #endif /* RPC_CLNT */
71 #ifdef RPC_HDR
73 %extern int     mdc_in_daemon;
75 %/*
76 % * Null error structure initializer.
77 % */
78 %#define        MDC_NULL_ERR    { 0, NULL, NULL }
79 %#define        MD_MDC_DEF_TO   {5, 0}          /* 5 seconds */
80 %#define        MD_MDC_PMAP_TO  {35, 0}         /* 35 seconds */
81 %#define        MD_MDC_PROXY_TO {60 * 60, 0 }   /* 1hr */
83 %/*
84 % * various cluster errors, definition of MDC_NOTINCLUSTER must be changed
85 % * when new errors are added, since MDC_NOERROR has to come out to
86 % * be zero!
87 % */
88 enum mdc_errno_t {
89         MDC_PROXYKILLED = -13,  /* remote was killed by signal */
90         MDC_PROXYNOFORK,        /* could not fork remote */
91         MDC_PROXYFAILED,        /* remote exited non-zero */
92         MDC_NOTINCLUSTER,       /* host is not a node */
93         MDC_NOACCESS,
94         MDC_NOACCESS_CCR,
95         MDC_RPCFAILED,
96         BIND_LINKISDIR, 
97         BIND_NOACCESS_SHARED,
98         BIND_LOCALSET,
99         BIND_NODISKSETCLASS,
100         BIND_NOACCESS_DEVICE,
101         BIND_BADDEVICE,
102         MDC_NOERROR
107 % * Set MDC_THISVERS to the newest version of the protocol
108 % * This allows the preprocessor to force an error if the
109 % * protocol changes, since the kernel xdr routines may need to be
110 % * recoded.  Note that we can't explicitly set the version to a
111 % * symbol as rpcgen will then create erroneous routine names.
112 % */
113 %#define        MDC_V1                  1
114 %#define        MDC_ORIGVERS            MDC_V1
115 %#define        MDC_THISVERS            1
117 %/* All powerful group 14 */
118 %#define        MDC_GID                 14
121 % * External reference to constant null error struct. (declared in med_xdr.c)
122 % */
123 %extern const   mdc_err_t               mdc_null_err;
124 %extern const   struct  timeval         md_mdc_def_timeout;
125 %extern const   struct  timeval         md_mdc_pmap_timeout;
126 %extern const   struct  timeval         md_mdc_proxy_timeout;
129 % * Some useful defines
130 % */
131 %#define        MDC_SERVNAME    "rpc.metacld"
132 %#define        MDC_SVC         "metacl"
134 #endif /* RPC_HDR */
136 #ifdef  RPC_XDR
139 % * Constant null error struct.
140 % */
141 %const          mdc_err_t               mdc_null_err = MDC_NULL_ERR;
142 %const  struct  timeval                 md_mdc_def_timeout = MD_MDC_DEF_TO;
143 %const  struct  timeval                 md_mdc_pmap_timeout = MD_MDC_PMAP_TO;
144 %const  struct  timeval                 md_mdc_proxy_timeout = MD_MDC_PROXY_TO;
146 #endif  /* RPC_XDR */
151 % * services available
152 % */
153 program MDC_PROG {
154         version MDC_VERS {
155                 mdc_bind_res_t  mdc_null(void)                  = 0; 
156                 mdc_bind_res_t  mdc_bind_devs(void)             = 1;
157                 mdc_bind_res_t  mdc_proxy(mdcrpc_proxy_args_t)  = 2;
158         } = 1;
159 } = 100281;