summaryrefslogtreecommitdiff
path: root/usr/src/cmd/svr4pkg/hdrs/libadm.h
blob: a6d91b9ab6122937404ccdd8748a49abaa9447ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */

/*
 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 */


#ifndef	__PKG_LIBADM_H__
#define	__PKG_LIBADM_H__

#include <sys/types.h>
#include <sys/vtoc.h>
#include <limits.h>
#include <stdio.h>
#include <pkgstrct.h>
#include <pkginfo.h>
#include <valtools.h>
#include "install.h"

#if defined(__STDC__)
#define	__P(protos) protos
#else	/* __STDC__ */
#define	__P(protos) ()
#endif	/* __STDC__ */


/*
 * ckdate.c
 */
extern int	ckdate_err __P((char *fmt, char *error));
extern int	ckdate_hlp __P((char *fmt, char *help));
extern int	ckdate_val __P((char *fmt, char *input));
extern int	ckdate __P((char *date, char *fmt, char *defstr, char *error,
				char *help, char *prompt));

/*
 * ckgid.c
 */
extern int	ckgid_dsp __P((void));
extern int	ckgid_val __P((char *grpnm));
extern int	ckgrpfile __P((void));
extern void	ckgid_err __P((int disp, char *error));
extern void	ckgid_hlp __P((int disp, char *help));
extern int	ckgid __P((char *gid, short disp, char *defstr, char *error,
				char *help, char *prompt));

/*
 * ckint.c
 */
extern int	ckint_val __P((char *value, short base));
extern void	ckint_err __P((short base, char *error));
extern void	ckint_hlp __P((short base, char *help));
extern int	ckint __P((long *intval, short base, char *defstr, char *error,
				char *help, char *prompt));

/*
 * ckitem.c
 */
extern CKMENU	*allocmenu __P((char *label, int attr));
extern void	ckitem_err __P((CKMENU *menup, char *error));
extern void	ckitem_hlp __P((CKMENU *menup, char *help));
extern int	ckitem __P((CKMENU *menup, char *item[], short max,
				char *defstr, char *error, char *help,
				char *prompt));
extern int	setitem __P((CKMENU *menup, char *choice));
extern int	setinvis __P((CKMENU *menup, char *choice));
extern void	printmenu __P((CKMENU *menup));

/*
 * ckkeywd.c
 */
extern int	ckkeywd __P((char *strval, char *keyword[], char *defstr,
				char *error, char *help, char *prompt));

/*
 * ckpath.c
 */
extern int	ckpath_stx __P((int pflags));
extern int	ckpath_val __P((char *path, int pflags));
extern void	ckpath_err __P((int pflags, char *error, char *input));
extern void	ckpath_hlp __P((int pflags, char *help));
extern int	ckpath __P((char *pathval, int pflags, char *defstr,
				char *error, char *help, char *prompt));

/*
 * ckrange.c
 */
extern void	ckrange_err __P((long lower, long upper, int base,
				char *error));
extern void	ckrange_hlp __P((long lower, long upper, int base, char *help));
extern int	ckrange_val __P((long lower, long upper, int base,
				char *input));
extern int	ckrange __P((long *rngval, long lower, long upper, short base,
				char *defstr, char *error, char *help,
				char *prompt));

/*
 * ckstr.c
 */
extern int	ckstr_val __P((char *regexp[], int length, char *input));
extern void	ckstr_err __P((char *regexp[], int length, char *error,
				char *input));
extern void	ckstr_hlp __P((char *regexp[], int length, char *help));
extern int	ckstr __P((char *strval, char *regexp[], int length,
				char *defstr, char *error, char *help,
				char *prompt));

/*
 * cktime.c
 */
extern int	cktime_val __P((char *fmt, char *input));
extern int	cktime_err __P((char *fmt, char *error));
extern int	cktime_hlp __P((char *fmt, char *help));
extern int	fmtcheck __P((char *fmt));
extern int	cktime __P((char *tod, char *fmt, char *defstr, char *error,
				char *help, char *prompt));

/*
 * ckuid.c
 */
extern int	ckuid_dsp __P((void));
extern int	ckuid_val __P((char *usrnm));
extern int	ckpwdfile __P((void));
extern void	ckuid_err __P((short disp, char *error));
extern void	ckuid_hlp __P((int disp, char *help));
extern int	ckuid __P((char *uid, short disp, char *defstr, char *error,
				char *help, char *prompt));

/*
 * ckyorn.c
 */
extern int	ckyorn_val __P((char *str));
extern void	ckyorn_err __P((char *error));
extern void	ckyorn_hlp __P((char *help));
extern int	ckyorn __P((char *yorn, char *defstr, char *error, char *help,
				char *prompt));

/*
 * devattr.c
 */
extern char	*devattr __P((char *device, char *attribute));

/*
 * devreserv.c
 */
extern char	*_rsvtabpath __P((void));
extern int	_openlkfile __P((void));
extern int	_closelkfile __P((void));
extern int	unreserv __P((long key, char *device));
extern char	**devreserv __P((long key, char **rsvlst[]));
extern int	devfree __P((long key, char *device));
extern struct	reservdev	**reservdev __P((void));

/*
 * devtab.c
 */
extern void	_setdevtab __P((void));
extern void	_enddevtab __P((void));
extern char	*_devtabpath __P((void));
extern int	_opendevtab __P((char *mode));
extern int	_validalias __P((char *alias));
extern struct	devtabent	*_getdevtabent __P((void));
extern void	_freedevtabent __P((struct devtabent *ent));
extern struct	devtabent	*_getdevrec __P((char *device));

/*
 * dgrpent.c
 */
extern void	_setdgrptab __P((void));
extern void	_enddgrptab __P((void));
extern char	*_dgrptabpath __P((void));
extern int	_opendgrptab __P((char *mode));
extern struct	dgrptabent	*_getdgrptabent __P((void));
extern void	_freedgrptabent __P((struct dgrptabent *ent));
extern struct	dgrptabent	*_getdgrprec __P((char *dgroup));

/*
 * fulldevnm.c
 */
extern char	*getfullblkname __P((char *cp));
extern char	*getfullrawname __P((char *cp));

/*
 * getdev.c
 */
extern char	**getdev __P((char **devices, char **criteria, int options));

/*
 * getdgrp.c
 */
extern char	**getdgrp __P((char **dgroups, char **criteria, int options));

/*
 * getinput.c
 */
extern int	getinput __P((char *s));

/*
 * getvol.c
 */
extern int	getvol __P((char *device, char *label, int options,
				char *prompt));
extern int	_getvol __P((char *device, char *label, int options,
				char *prompt, char *norewind));
extern void	doremovecmd __P((char *device, int echo));

/*
 * listdev.c
 */
extern char	**listdev __P((char *device));

/*
 * listdgrp.c
 */
extern char	**listdgrp __P((char *dgroup));

/*
 * memory.c
 */
extern long	sysmem __P((void));
extern long	asysmem __P((void));

/*
 * pkginfo.c
 */
extern int	pkginfo __P((struct pkginfo *info, char *pkginst, ...));
extern int	fpkginfo __P((struct pkginfo *info, char *pkginst));
extern char	*fpkginst __P((char *pkg, ...));

/*
 * pkgnmchk.c
 */
extern int	pkgnmchk __P((register char *pkg, register char *spec,
				int presvr4flg));
extern void	set_ABI_namelngth __P((void));
extern int	get_ABI_namelngth __P((void));

/*
 * pkgparam.c
 */
extern char	*fpkgparam __P((FILE *fp, char *param));
extern char	*pkgparam __P((char *pkg, char *param));
extern void	set_PKGpaths __P((char *path));
extern char	*get_PKGLOC __P((void));
extern char	*get_PKGADM __P((void));
extern void	set_PKGADM(char *newpath);
extern void	set_PKGLOC(char *newpath);

/*
 * putdev.c
 */
extern int	_putdevtabrec __P((FILE *stream, struct devtabent *rec));
extern int	_adddevtabrec __P((char *alias, char **attrval));
extern int	_moddevtabrec __P((char *device, char **attrval));
extern int	_rmdevtabrec __P((char *device));
extern int	_rmdevtabattrs __P((char *device, char **attributes,
				    char ***notfounds));

/*
 * putdgrp.c
 */
extern int	_putdgrptabrec __P((FILE *stream, struct dgrptabent *rec));
extern int	_adddgrptabrec __P((char *dgrp, char **members));
extern int	_rmdgrptabrec __P((char *dgrp));
extern int	_rmdgrpmems __P((char *dgrp, char **mems, char ***notfounds));

/*
 * puterror.c
 */
extern void	puterror __P((FILE *fp, char *defmesg, char *error));

/*
 * puthelp.c
 */
extern void	puthelp __P((FILE *fp, char *defmesg, char *help));

/*
 * putprmpt.c
 */
extern void	putprmpt __P((FILE *fp, char *prompt, char *choices[],
				char *defstr));

/*
 * puttext.c
 */
extern int	puttext __P((FILE *fp, char *str, int lmarg, int rmarg));

/*
 * rdwr_vtoc.c
 */
extern int	read_vtoc __P((int fd, struct vtoc *vtoc));
extern int	write_vtoc __P((int fd, struct vtoc *vtoc));

#if defined(lint) && !defined(gettext)
#define	gettext(x)	x
#endif	/* defined(lint) && !defined(gettext) */

#endif	/* __PKG_LIBADM_H__ */