307 /*
308 * Zone name, path to zone directory, autoboot setting, pool, boot
309 * arguments, and scheduling-class.
310 */
311 extern int zonecfg_validate_zonename(const char *);
312 extern int zonecfg_get_name(zone_dochandle_t, char *, size_t);
313 extern int zonecfg_set_name(zone_dochandle_t, char *);
314 extern int zonecfg_get_zonepath(zone_dochandle_t, char *, size_t);
315 extern int zonecfg_set_zonepath(zone_dochandle_t, char *);
316 extern int zonecfg_get_autoboot(zone_dochandle_t, boolean_t *);
317 extern int zonecfg_set_autoboot(zone_dochandle_t, boolean_t);
318 extern int zonecfg_get_iptype(zone_dochandle_t, zone_iptype_t *);
319 extern int zonecfg_set_iptype(zone_dochandle_t, zone_iptype_t);
320 extern int zonecfg_get_pool(zone_dochandle_t, char *, size_t);
321 extern int zonecfg_set_pool(zone_dochandle_t, char *);
322 extern int zonecfg_get_bootargs(zone_dochandle_t, char *, size_t);
323 extern int zonecfg_set_bootargs(zone_dochandle_t, char *);
324 extern int zonecfg_get_sched_class(zone_dochandle_t, char *, size_t);
325 extern int zonecfg_set_sched(zone_dochandle_t, char *);
326 extern int zonecfg_get_dflt_sched_class(zone_dochandle_t, char *, int);
327
328 /*
329 * Set/retrieve the brand for the zone
330 */
331 extern int zonecfg_get_brand(zone_dochandle_t, char *, size_t);
332 extern int zonecfg_set_brand(zone_dochandle_t, char *);
333
334 /*
335 * Filesystem configuration.
336 */
337 extern int zonecfg_add_filesystem(zone_dochandle_t, struct zone_fstab *);
338 extern int zonecfg_delete_filesystem(zone_dochandle_t,
339 struct zone_fstab *);
340 extern int zonecfg_modify_filesystem(zone_dochandle_t,
341 struct zone_fstab *, struct zone_fstab *);
342 extern int zonecfg_lookup_filesystem(zone_dochandle_t,
343 struct zone_fstab *);
344 extern int zonecfg_add_fs_option(struct zone_fstab *, char *);
345 extern int zonecfg_remove_fs_option(struct zone_fstab *, char *);
346 extern void zonecfg_free_fs_option_list(zone_fsopt_t *);
511 extern int zonecfg_enddevperment(zone_dochandle_t);
512 extern int zonecfg_setadminent(zone_dochandle_t);
513 extern int zonecfg_getadminent(zone_dochandle_t, struct zone_admintab *);
514 extern int zonecfg_endadminent(zone_dochandle_t);
515 extern int zonecfg_getsecflagsent(zone_dochandle_t,
516 struct zone_secflagstab *);
517
518 /*
519 * Privilege-related functions.
520 */
521 extern int zonecfg_default_privset(priv_set_t *, const char *);
522 extern int zonecfg_get_privset(zone_dochandle_t, priv_set_t *,
523 char **);
524 extern int zonecfg_get_limitpriv(zone_dochandle_t, char **);
525 extern int zonecfg_set_limitpriv(zone_dochandle_t, char *);
526
527 /*
528 * Higher-level routines.
529 */
530 extern int zone_get_brand(char *, char *, size_t);
531 extern int zone_get_rootpath(char *, char *, size_t);
532 extern int zone_get_devroot(char *, char *, size_t);
533 extern int zone_get_zonepath(char *, char *, size_t);
534 extern int zone_get_state(char *, zone_state_t *);
535 extern int zone_set_state(char *, zone_state_t);
536 extern char *zone_state_str(zone_state_t);
537 extern int zonecfg_get_name_by_uuid(const uuid_t, char *, size_t);
538 extern int zonecfg_get_uuid(const char *, uuid_t);
539 extern int zonecfg_default_brand(char *, size_t);
540
541 /*
542 * Iterator for configured zones.
543 */
544 extern FILE *setzoneent(void);
545 extern char *getzoneent(FILE *);
546 extern struct zoneent *getzoneent_private(FILE *);
547 extern void endzoneent(FILE *);
548
549 /*
550 * File-system-related convenience functions.
|
307 /*
308 * Zone name, path to zone directory, autoboot setting, pool, boot
309 * arguments, and scheduling-class.
310 */
311 extern int zonecfg_validate_zonename(const char *);
312 extern int zonecfg_get_name(zone_dochandle_t, char *, size_t);
313 extern int zonecfg_set_name(zone_dochandle_t, char *);
314 extern int zonecfg_get_zonepath(zone_dochandle_t, char *, size_t);
315 extern int zonecfg_set_zonepath(zone_dochandle_t, char *);
316 extern int zonecfg_get_autoboot(zone_dochandle_t, boolean_t *);
317 extern int zonecfg_set_autoboot(zone_dochandle_t, boolean_t);
318 extern int zonecfg_get_iptype(zone_dochandle_t, zone_iptype_t *);
319 extern int zonecfg_set_iptype(zone_dochandle_t, zone_iptype_t);
320 extern int zonecfg_get_pool(zone_dochandle_t, char *, size_t);
321 extern int zonecfg_set_pool(zone_dochandle_t, char *);
322 extern int zonecfg_get_bootargs(zone_dochandle_t, char *, size_t);
323 extern int zonecfg_set_bootargs(zone_dochandle_t, char *);
324 extern int zonecfg_get_sched_class(zone_dochandle_t, char *, size_t);
325 extern int zonecfg_set_sched(zone_dochandle_t, char *);
326 extern int zonecfg_get_dflt_sched_class(zone_dochandle_t, char *, int);
327 extern zoneid_t zonecfg_get_did(zone_dochandle_t);
328 extern void zonecfg_set_did(zone_dochandle_t);
329
330 /*
331 * Set/retrieve the brand for the zone
332 */
333 extern int zonecfg_get_brand(zone_dochandle_t, char *, size_t);
334 extern int zonecfg_set_brand(zone_dochandle_t, char *);
335
336 /*
337 * Filesystem configuration.
338 */
339 extern int zonecfg_add_filesystem(zone_dochandle_t, struct zone_fstab *);
340 extern int zonecfg_delete_filesystem(zone_dochandle_t,
341 struct zone_fstab *);
342 extern int zonecfg_modify_filesystem(zone_dochandle_t,
343 struct zone_fstab *, struct zone_fstab *);
344 extern int zonecfg_lookup_filesystem(zone_dochandle_t,
345 struct zone_fstab *);
346 extern int zonecfg_add_fs_option(struct zone_fstab *, char *);
347 extern int zonecfg_remove_fs_option(struct zone_fstab *, char *);
348 extern void zonecfg_free_fs_option_list(zone_fsopt_t *);
513 extern int zonecfg_enddevperment(zone_dochandle_t);
514 extern int zonecfg_setadminent(zone_dochandle_t);
515 extern int zonecfg_getadminent(zone_dochandle_t, struct zone_admintab *);
516 extern int zonecfg_endadminent(zone_dochandle_t);
517 extern int zonecfg_getsecflagsent(zone_dochandle_t,
518 struct zone_secflagstab *);
519
520 /*
521 * Privilege-related functions.
522 */
523 extern int zonecfg_default_privset(priv_set_t *, const char *);
524 extern int zonecfg_get_privset(zone_dochandle_t, priv_set_t *,
525 char **);
526 extern int zonecfg_get_limitpriv(zone_dochandle_t, char **);
527 extern int zonecfg_set_limitpriv(zone_dochandle_t, char *);
528
529 /*
530 * Higher-level routines.
531 */
532 extern int zone_get_brand(char *, char *, size_t);
533 extern zoneid_t zone_get_did(char *);
534 extern int zone_get_rootpath(char *, char *, size_t);
535 extern int zone_get_devroot(char *, char *, size_t);
536 extern int zone_get_zonepath(char *, char *, size_t);
537 extern int zone_get_state(char *, zone_state_t *);
538 extern int zone_set_state(char *, zone_state_t);
539 extern char *zone_state_str(zone_state_t);
540 extern int zonecfg_get_name_by_uuid(const uuid_t, char *, size_t);
541 extern int zonecfg_get_uuid(const char *, uuid_t);
542 extern int zonecfg_default_brand(char *, size_t);
543
544 /*
545 * Iterator for configured zones.
546 */
547 extern FILE *setzoneent(void);
548 extern char *getzoneent(FILE *);
549 extern struct zoneent *getzoneent_private(FILE *);
550 extern void endzoneent(FILE *);
551
552 /*
553 * File-system-related convenience functions.
|