aboutsummaryrefslogtreecommitdiffstats
path: root/src/config.h
blob: 09c3210def6fc19448aa17a00ea22b0b048e1ab2 (plain) (blame)
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
/**
 * mds — A micro-display server
 * Copyright © 2014  Mattias Andrée (maandree@member.fsf.org)
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#ifndef MDS_CONFIG_H
#define MDS_CONFIG_H


/**
 * The name under which this package is installed
 */
#ifndef PKGNAME
#define PKGNAME  "mds"
#endif


/**
 * The directory where all servers are installed
 */
#ifndef LIBEXECDIR
#define LIBEXECDIR  "/usr/libexec"
#endif


/**
 * The system's directory for non-persistent temporary files
 */
#ifndef TMPDIR
#define TMPDIR  "/tmp"
#endif


/**
 * The system's directory for runtime data
 */
#ifndef RUNDIR
#define RUNDIR  "/run"
#endif


/**
 * The system's directory for site-specific configurations
 */
#ifndef SYSCONFDIR
#define SYSCONFDIR  "/etc"
#endif


/**
 * The root directory of all runtime data stored by MDS
 */
#ifndef MDS_RUNTIME_ROOT_DIRECTORY
#define MDS_RUNTIME_ROOT_DIRECTORY  RUNDIR "/" PKGNAME
#endif


/**
 * The root directory of temporarily stored data stored by MDS servers
 */
#ifndef MDS_STORAGE_ROOT_DIRECTORY
#define MDS_STORAGE_ROOT_DIRECTORY  TMPDIR "/.{system-directory}." PKGNAME
#endif


/**
 * The user ID for the root user
 */
#ifndef ROOT_USER_UID
#define ROOT_USER_UID  0
#endif


/**
 * The group ID for the root group
 */
#ifndef ROOT_GROUP_GID
#define ROOT_GROUP_GID  0
#endif


/**
 * The group ID for the nobody group
 */
#ifndef NOBODY_GROUP_GID
#define NOBODY_GROUP_GID  ROOT_GROUP_GID
#endif

/* There three names above are redundant, but that is to avoid errors. */


/**
 * The byte length of the authentication token
 */
#ifndef TOKEN_LENGTH
#define TOKEN_LENGTH  1024
#endif


/**
 * Random number generator to use for generating a token
 */
#ifndef TOKEN_RANDOM
#define TOKEN_RANDOM  "/dev/urandom"
#endif


/**
 * The path of the symlink to the executed command
 */
#ifndef SELF_EXE
#define SELF_EXE  "/proc/self/exe"
#endif


/**
 * Pattern for the names of shared object to which states are marshalled
 */
#ifndef SHM_PATH_PATTERN
#define SHM_PATH_PATTERN  "/.proc-pid-%lu"
#endif


/**
 * The maximum number of command line arguments to allow
 */
#ifndef ARGC_LIMIT
#define ARGC_LIMIT  50
#endif


/**
 * The number of additional arguments a libexec server may have
 */
#ifndef LIBEXEC_ARGC_EXTRA_LIMIT
#define LIBEXEC_ARGC_EXTRA_LIMIT  5
#endif


/**
 * The maximum number of display allowed on the system
 */
#ifndef DISPLAY_MAX
#define DISPLAY_MAX  1000
#endif


/**
 * The name of the environment variable that
 * indicates the index of the display
 */
#ifndef DISPLAY_ENV
#define DISPLAY_ENV  "MDS_DISPLAY"
#endif


/**
 * The minimum time that most have elapsed
 * for respawning to be allowed
 */
#ifndef RESPAWN_TIME_LIMIT_SECONDS
#define RESPAWN_TIME_LIMIT_SECONDS  5
#endif


/**
 * The dot-prefixless basename of the initrc
 * file that the master server executes
 */
#ifndef INITRC_FILE
#define INITRC_FILE  "mdsinitrc"
#endif


#endif