4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
23 * Copyright 2014 Garrett D'Amore <garrett@damore.org>
25 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
26 * Use is subject to license terms.
30 * Please do not edit this file.
31 * It was generated using rpcgen.
34 #ifndef _SYS_FS_UFS_PROT_H
35 #define _SYS_FS_UFS_PROT_H
43 #include <sys/fs/ufs_fs.h>
44 #include <sys/types.h>
45 #include <sys/errno.h>
49 UFSDRC_NOENT
= ENOENT
,
51 UFSDRC_INVAL
= EINVAL
,
52 UFSDRC_NOEXEC
= ENOEXEC
,
53 UFSDRC_NODEV
= ENODEV
,
56 UFSDRC_OPNOTSUP
= EOPNOTSUPP
,
60 typedef enum ufsdrc_t ufsdrc_t
;
62 struct fs_identity_t
{
66 typedef struct fs_identity_t fs_identity_t
;
68 struct ufsd_repairfs_args_t
{
69 fs_identity_t ua_fsid
;
72 typedef struct ufsd_repairfs_args_t ufsd_repairfs_args_t
;
74 struct ufsd_repairfs_list_t
{
76 ufsd_repairfs_args_t
*ual_list
;
78 typedef struct ufsd_repairfs_list_t ufsd_repairfs_list_t
;
82 UFSDEV_REBOOT
= 0 + 1,
86 typedef enum ufsd_event_t ufsd_event_t
;
88 enum ufsd_boot_type_t
{
91 UFSDB_POSTPANIC
= 0 + 2
93 typedef enum ufsd_boot_type_t ufsd_boot_type_t
;
97 UFSDLO_COMMIT
= 0 + 1,
102 typedef enum ufsd_log_op_t ufsd_log_op_t
;
104 enum ufsd_fsck_state_t
{
106 UFSDFS_DISPATCH
= 0 + 1,
107 UFSDFS_ERREXIT
= 0 + 2,
108 UFSDFS_SUCCESS
= 0 + 3
110 typedef enum ufsd_fsck_state_t ufsd_fsck_state_t
;
111 #define UFSD_VARMSGMAX 1024
112 #define UFSD_SPAREMSGBYTES 4
114 struct ufsd_log_data_t
{
122 typedef struct ufsd_log_data_t ufsd_log_data_t
;
124 struct ufsd_log_msg_t
{
125 ufsd_log_op_t um_lop
;
127 ufsd_log_data_t um_logdata
;
130 typedef struct ufsd_log_msg_t ufsd_log_msg_t
;
132 struct ufsd_msg_vardata_t
{
135 ufsd_boot_type_t umv_b
;
136 ufsd_fsck_state_t umv_fs
;
137 ufsd_log_msg_t umv_lm
;
138 } ufsd_msg_vardata_t_u
;
140 typedef struct ufsd_msg_vardata_t ufsd_msg_vardata_t
;
149 ufsd_msg_vardata_t um_var
;
151 typedef struct ufsd_msg_t ufsd_msg_t
;
152 #define UFSD_SERVNAME "ufsd"
153 #define xdr_dev_t xdr_u_int
154 #define xdr_time_t xdr_int
156 * Set UFSD_THISVERS to the newest version of the protocol
157 * This allows the preprocessor to force an error if the
158 * protocol changes, since the kernel xdr routines may need to be
159 * recoded. Note that we can't explicitly set the version to a
160 * symbol as rpcgen will then create erroneous routine names.
163 #define UFSD_ORIGVERS UFSD_V1
164 #define UFSD_THISVERS 1
166 #define UFSD_PROG ((unsigned long)(100233))
167 #define UFSD_VERS ((unsigned long)(1))
169 #define UFSD_NULL ((unsigned long)(0))
170 extern ufsdrc_t
*ufsd_null_1(void *, CLIENT
*);
171 extern ufsdrc_t
*ufsd_null_1_svc(void *, struct svc_req
*);
172 #define UFSD_REPAIRFS ((unsigned long)(1))
173 extern ufsdrc_t
*ufsd_repairfs_1(ufsd_repairfs_args_t
*, CLIENT
*);
175 ufsd_repairfs_1_svc(ufsd_repairfs_args_t
*, struct svc_req
*);
176 #define UFSD_REPAIRFSLIST ((unsigned long)(2))
177 extern ufsdrc_t
*ufsd_repairfslist_1(ufsd_repairfs_list_t
*, CLIENT
*);
179 ufsd_repairfslist_1_svc(ufsd_repairfs_list_t
*, struct svc_req
*);
180 #define UFSD_SEND ((unsigned long)(3))
181 extern ufsdrc_t
*ufsd_send_1(ufsd_msg_t
*, CLIENT
*);
182 extern ufsdrc_t
*ufsd_send_1_svc(ufsd_msg_t
*, struct svc_req
*);
183 #define UFSD_RECV ((unsigned long)(4))
184 extern ufsdrc_t
*ufsd_recv_1(ufsd_msg_t
*, CLIENT
*);
185 extern ufsdrc_t
*ufsd_recv_1_svc(ufsd_msg_t
*, struct svc_req
*);
186 #define UFSD_EXIT ((unsigned long)(5))
187 extern ufsdrc_t
*ufsd_exit_1(void *, CLIENT
*);
188 extern ufsdrc_t
*ufsd_exit_1_svc(void *, struct svc_req
*);
189 extern int ufsd_prog_1_freeresult(SVCXPRT
*, xdrproc_t
, caddr_t
);
191 /* the xdr functions */
193 extern bool_t
xdr_ufsdrc_t(XDR
*, ufsdrc_t
*);
194 extern bool_t
xdr_fs_identity_t(XDR
*, fs_identity_t
*);
195 extern bool_t
xdr_ufsd_repairfs_args_t(XDR
*, ufsd_repairfs_args_t
*);
196 extern bool_t
xdr_ufsd_repairfs_list_t(XDR
*, ufsd_repairfs_list_t
*);
197 extern bool_t
xdr_ufsd_event_t(XDR
*, ufsd_event_t
*);
198 extern bool_t
xdr_ufsd_boot_type_t(XDR
*, ufsd_boot_type_t
*);
199 extern bool_t
xdr_ufsd_log_op_t(XDR
*, ufsd_log_op_t
*);
200 extern bool_t
xdr_ufsd_fsck_state_t(XDR
*, ufsd_fsck_state_t
*);
201 extern bool_t
xdr_ufsd_log_data_t(XDR
*, ufsd_log_data_t
*);
202 extern bool_t
xdr_ufsd_log_msg_t(XDR
*, ufsd_log_msg_t
*);
203 extern bool_t
xdr_ufsd_msg_vardata_t(XDR
*, ufsd_msg_vardata_t
*);
204 extern bool_t
xdr_ufsd_msg_t(XDR
*, ufsd_msg_t
*);
210 #endif /* !_SYS_FS_UFS_PROT_H */