xref: /illumos-gate/usr/src/common/definit/definit.h (revision a28480febf31f0e61debac062a55216a98a05a92)
1*a28480feSAndy Fiddaman /*
2*a28480feSAndy Fiddaman  * This file and its contents are supplied under the terms of the
3*a28480feSAndy Fiddaman  * Common Development and Distribution License ("CDDL"), version 1.0.
4*a28480feSAndy Fiddaman  * You may only use this file in accordance with the terms of version
5*a28480feSAndy Fiddaman  * 1.0 of the CDDL.
6*a28480feSAndy Fiddaman  *
7*a28480feSAndy Fiddaman  * A full copy of the text of the CDDL should have accompanied this
8*a28480feSAndy Fiddaman  * source. A copy of the CDDL is also available via the Internet at
9*a28480feSAndy Fiddaman  * http://www.illumos.org/license/CDDL.
10*a28480feSAndy Fiddaman  */
11*a28480feSAndy Fiddaman 
12*a28480feSAndy Fiddaman /*
13*a28480feSAndy Fiddaman  * Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
14*a28480feSAndy Fiddaman  */
15*a28480feSAndy Fiddaman 
16*a28480feSAndy Fiddaman #ifndef	_DEFINIT_H
17*a28480feSAndy Fiddaman #define	_DEFINIT_H
18*a28480feSAndy Fiddaman 
19*a28480feSAndy Fiddaman #ifdef	__cplusplus
20*a28480feSAndy Fiddaman extern "C" {
21*a28480feSAndy Fiddaman #endif
22*a28480feSAndy Fiddaman 
23*a28480feSAndy Fiddaman /*
24*a28480feSAndy Fiddaman  * Routines for parsing the default init file, /etc/default/init.
25*a28480feSAndy Fiddaman  * Used by init, svc.startd and libzonecfg for setting up a default
26*a28480feSAndy Fiddaman  * environment.
27*a28480feSAndy Fiddaman  *
28*a28480feSAndy Fiddaman  * After calling definit_open(), callers should call definit_token() in a loop
29*a28480feSAndy Fiddaman  * until it returns NULL, indicating that all tokens in the file have been
30*a28480feSAndy Fiddaman  * processed. To clean up when finished, call definit_close().
31*a28480feSAndy Fiddaman  */
32*a28480feSAndy Fiddaman 
33*a28480feSAndy Fiddaman #define	DEFINIT_DEFAULT_FILE	"/etc/default/init"
34*a28480feSAndy Fiddaman #define	DEFINIT_MAXLINE		512
35*a28480feSAndy Fiddaman 
36*a28480feSAndy Fiddaman #define	DEFINIT_MIN_UMASK	0
37*a28480feSAndy Fiddaman #define	DEFINIT_MAX_UMASK	077
38*a28480feSAndy Fiddaman 
39*a28480feSAndy Fiddaman int definit_open(const char *, void **);
40*a28480feSAndy Fiddaman void definit_close(void *);
41*a28480feSAndy Fiddaman const char *definit_token(void *);
42*a28480feSAndy Fiddaman 
43*a28480feSAndy Fiddaman #ifdef	__cplusplus
44*a28480feSAndy Fiddaman }
45*a28480feSAndy Fiddaman #endif
46*a28480feSAndy Fiddaman 
47*a28480feSAndy Fiddaman #endif /* !_DEFINIT_H */
48