summaryrefslogtreecommitdiff
path: root/include/wolf/log/messages.h
blob: 04cad44cb77e19e59d280be2a613b0f527defe75 (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
/*
    Copyright (C) 2008 Andreas Baumann <abaumann@yahoo.com>

    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 WOLF_MESSAGES_H
#define WOLF_MESSAGES_H

/**
 * @addtogroup wolf_i18n Localization
 * @{
 */

/**
 * @file messages.h
 * @brief Global Message Identifiers and Category Identifiers used for logging
 * @author Andreas Baumann <abaumann@yahoo.com>
 */

/* IMPORTANT: Think once and define the constants here. They should
 *            NEVER be changed anymore!
 * IMPORTANT: Mark deprecated messages and categories, but don't
 *            delete them! Maybe after a major release cycle they
 *            can drop out..
 */

/*
 * CATEGORIES
 */

/*
 * Categories should represent aspects or subsystems, e.g. networking,
 * logging, protocol. The constants must be system-wide unique and
 * strictly increasing starting from 1 (this is a requirement for
 * the event logger on Windows and it's definition of category
 * resources in the DLL).
 */

#define WOLF_CATEGORY_LOGGER					1
#define WOLF_CATEGORY_DAEMON					2
#define WOLF_CATEGORY_SERVICE					3

/**
 * Last internally used category. Applications should define their
 * own categories starting from WOLF_LAST_INTERNAL_CATEGORY+1.
 */
#define WOLF_LAST_INTERNAL_CATEGORY				3

/*
 * MESSAGES of category LOGGER
 */

#define WOLF_MSG_LOGGER_BASE					WOLF_CATEGORY_LOGGER * 1000
#define WOLF_MSG_LOGGER_UNABLE_TO_OPEN_LOGFILE			WOLF_MSG_LOGGER_BASE+1

/* for users which extend the logger, for instance their own logging channel to a serial console */
#define WOLF_MSG_LOGGER_USER_BASE				WOLF_MSG_LOGGER_BASE+500

/*
 * MESSAGES of category DAEMON
 */

#define WOLF_MSG_DAEMON_BASE					WOLF_CATEGORY_DAEMON * 1000

/* daemon/signals.c */
#define WOLF_MSG_DAEMON_CANT_INSTALL_IGNORE_SIGNAL		WOLF_MSG_DAEMON_BASE+1
#define WOLF_MSG_DAEMON_IGNORE_SIGNAL				WOLF_MSG_DAEMON_BASE+2
#define WOLF_MSG_DAEMON_CANT_INSTALL_CRITICAL_SIGNAL		WOLF_MSG_DAEMON_BASE+3
#define WOLF_MSG_DAEMON_CRITICAL_SIGNAL				WOLF_MSG_DAEMON_BASE+4
#define WOLF_MSG_DAEMON_GOT_SIGNAL				WOLF_MSG_DAEMON_BASE+5
#define WOLF_MSG_DAEMON_CANT_INSTALL_FUNC_SIGNAL		WOLF_MSG_DAEMON_BASE+6
#define WOLF_MSG_DAEMON_FUNC_SIGNAL				WOLF_MSG_DAEMON_BASE+7

/* daemon/pidfile.c */
#define WOLF_MSG_DAEMON_NO_PIDFILE				WOLF_MSG_DAEMON_BASE+20
#define WOLF_MSG_DAEMON_CANT_OPEN_PIDFILE_FOR_READING		WOLF_MSG_DAEMON_BASE+21
#define WOLF_MSG_DAEMON_CANT_OPEN_PIDFILE_FOR_WRITTING		WOLF_MSG_DAEMON_BASE+22
#define WOLF_MSG_DAEMON_ANOTHER_IS_RUNNING			WOLF_MSG_DAEMON_BASE+23
#define WOLF_MSG_DAEMON_CANT_LOCK_PIDFILE			WOLF_MSG_DAEMON_BASE+24
#define WOLF_MSG_DAEMON_CANT_READ_PID_FROM_PIDFILE		WOLF_MSG_DAEMON_BASE+25
#define WOLF_MSG_DAEMON_PIDFILE_WITH_ILLEGAL_DATA		WOLF_MSG_DAEMON_BASE+26
#define WOLF_MSG_DAEMON_FOUND_PID_IN_PIDFILE			WOLF_MSG_DAEMON_BASE+27
#define WOLF_MSG_DAEMON_FOUND_PID_BUT_NO_PROCESS_RUNNING	WOLF_MSG_DAEMON_BASE+28
#define WOLF_MSG_DAEMON_PROCESS_ALIVE_CHECK_FAILED		WOLF_MSG_DAEMON_BASE+29
#define WOLF_MSG_DAEMON_ALREADY_RUNNING_WITH_PID		WOLF_MSG_DAEMON_BASE+30
#define WOLF_MSG_DAEMON_PIDFILE_IN_USE				WOLF_MSG_DAEMON_BASE+31
#define WOLF_MSG_DAEMON_CANT_LOCK_PIDFILE_AFTER_CREATION	WOLF_MSG_DAEMON_BASE+32
#define WOLF_MSG_DAEMON_CANT_TRUNCATE_PIDFILE			WOLF_MSG_DAEMON_BASE+33
#define WOLF_MSG_DAEMON_CANT_WRITE_PID_INTO_PIDFILE		WOLF_MSG_DAEMON_BASE+34
#define WOLF_MSG_DAEMON_ATOMIC_PIDFILE_WRITE_FAILED		WOLF_MSG_DAEMON_BASE+35
#define WOLF_MSG_DAEMON_STORED_PIDFILE				WOLF_MSG_DAEMON_BASE+36
#define WOLF_MSG_DAEMON_RELEASING_PIDFILE			WOLF_MSG_DAEMON_BASE+37
#define WOLF_MSG_DAEMON_CANT_UNLOCK_PIDFILE			WOLF_MSG_DAEMON_BASE+38
#define WOLF_MSG_DAEMON_CANT_CLOSE_PIDFILE			WOLF_MSG_DAEMON_BASE+39
#define WOLF_MSG_DAEMON_REMOVING_PIDFILE			WOLF_MSG_DAEMON_BASE+40
#define WOLF_MSG_DAEMON_CANT_REMOVE_PIDFILE			WOLF_MSG_DAEMON_BASE+41

/* daemon/daemon.c */
#define WOLF_MSG_DAEMON_CANT_CLOSE_FD				WOLF_MSG_DAEMON_BASE+60
#define WOLF_MSG_DAEMON_RETRIEVING_MAXNOFFDS_FAILED		WOLF_MSG_DAEMON_BASE+61
#define WOLF_MSG_DAEMON_CLOSING_ALL_FDS				WOLF_MSG_DAEMON_BASE+62
#define WOLF_MSG_DAEMON_CANT_OPEN_FD_AS_DEV_NULL		WOLF_MSG_DAEMON_BASE+63
#define WOLF_MSG_DAEMON_FD_NUMBERS_WRONG			WOLF_MSG_DAEMON_BASE+64
#define WOLF_MSG_DAEMON_PIPE_ATOMIC_WRITE_FAILED		WOLF_MSG_DAEMON_BASE+65
#define WOLF_MSG_DAEMON_PIPE_ATOMIC_WRITE_WRONG_OCTETS		WOLF_MSG_DAEMON_BASE+66
#define WOLF_MSG_DAEMON_PIPE_ATOMIC_READ_FAILED			WOLF_MSG_DAEMON_BASE+67
#define WOLF_MSG_DAEMON_PIPE_ATOMIC_READ_WRONG_OCTETS		WOLF_MSG_DAEMON_BASE+68
#define WOLF_MSG_DAEMON_ALREADY_RUNNING				WOLF_MSG_DAEMON_BASE+69
#define WOLF_MSG_DAEMON_CANT_START_AS_NON_ROOT			WOLF_MSG_DAEMON_BASE+70
#define WOLF_MSG_DAEMON_CANT_CREATE_EXIT_CODE_PIPE		WOLF_MSG_DAEMON_BASE+71
#define WOLF_MSG_DAEMON_EXIT_CODE_PIPE_CREATED			WOLF_MSG_DAEMON_BASE+72
#define WOLF_MSG_DAEMON_FIRST_FORK_FAILED			WOLF_MSG_DAEMON_BASE+73
#define WOLF_MSG_DAEMON_FIRST_FORK_REACHED			WOLF_MSG_DAEMON_BASE+74
#define WOLF_MSG_DAEMON_PARENT_AFTER_FIRST_FORK			WOLF_MSG_DAEMON_BASE+75
#define WOLF_MSG_DAEMON_CANT_CREATE_PARENT_PIPE			WOLF_MSG_DAEMON_BASE+76
#define WOLF_MSG_DAEMON_PARENT_PIPE_CREATED			WOLF_MSG_DAEMON_BASE+77
#define WOLF_MSG_DAEMON_CANT_SET_NEW_PROCESS_GROUP		WOLF_MSG_DAEMON_BASE+78
#define WOLF_MSG_DAEMON_SECOND_FORK_FAILED			WOLF_MSG_DAEMON_BASE+79
#define WOLF_MSG_DAEMON_SECOND_FORK_REACHED			WOLF_MSG_DAEMON_BASE+80
#define WOLF_MSG_DAEMON_PARENT_AFTER_SECOND_FORK		WOLF_MSG_DAEMON_BASE+81
#define WOLF_MSG_DAEMON_CANT_CHANGE_ROOT_DIR			WOLF_MSG_DAEMON_BASE+82
#define WOLF_MSG_DAEMON_CHANGED_ROOT_DIR			WOLF_MSG_DAEMON_BASE+83
#define WOLF_MSG_DAEMON_SWITCHED_UMASK				WOLF_MSG_DAEMON_BASE+84
#define WOLF_MSG_DAEMON_DAEMON_ALREADY_RUNNING_WITH_PID		WOLF_MSG_DAEMON_BASE+85
#define WOLF_MSG_DAEMON_SWITCHED_UMASK_FINAL			WOLF_MSG_DAEMON_BASE+86
#define WOLF_MSG_DAEMON_GROUP_NOT_FOUND				WOLF_MSG_DAEMON_BASE+87
#define WOLF_MSG_DAEMON_GETGRNAM_FAILED				WOLF_MSG_DAEMON_BASE+88
#define WOLF_MSG_DAEMON_USER_NOT_FOUND				WOLF_MSG_DAEMON_BASE+89
#define WOLF_MSG_DAEMON_GETPWNAM_FAILED				WOLF_MSG_DAEMON_BASE+90
#define WOLF_MSG_DAEMON_SETTING_UNPRIVILEGED_GROUP_FAILED	WOLF_MSG_DAEMON_BASE+91
#define WOLF_MSG_DAEMON_SETTING_UNPRIVILEGED_USER_FAILED	WOLF_MSG_DAEMON_BASE+92
#define WOLF_MSG_DAEMON_SWITCHED_USER				WOLF_MSG_DAEMON_BASE+93
#define WOLF_MSG_DAEMON_EXIT_CALLED				WOLF_MSG_DAEMON_BASE+94
#define WOLF_MSG_DAEMON_WAITING_FOR_EXIT_CODE_ON_PIPE		WOLF_MSG_DAEMON_BASE+95
#define WOLF_MSG_DAEMON_TERMINATING_GRAND_PARENT		WOLF_MSG_DAEMON_BASE+96
#define WOLF_MSG_DAEMON_WAITING_FOR_TERMINATION			WOLF_MSG_DAEMON_BASE+97
#define WOLF_MSG_DAEMON_PARENT_GOT_TERMINATION			WOLF_MSG_DAEMON_BASE+98
#define WOLF_MSG_DAEMON_TERMINATING_PARENT			WOLF_MSG_DAEMON_BASE+99
#define WOLF_MSG_DAEMON_TERMINATING_DAEMON_OK			WOLF_MSG_DAEMON_BASE+100
#define WOLF_MSG_DAEMON_TERMINATING_DAEMON_ERROR		WOLF_MSG_DAEMON_BASE+101
#define WOLF_MSG_DAEMON_CANT_CREATE_SIGNAL_PIPE			WOLF_MSG_DAEMON_BASE+102
#define WOLF_MSG_DAEMON_SIGNAL_PIPE_CREATED			WOLF_MSG_DAEMON_BASE+103
#define WOLF_MSG_DAEMON_SELECT_FAILED_WAITING_FOR_SIGNAL	WOLF_MSG_DAEMON_BASE+104
#define WOLF_MSG_DAEMON_CANT_READ_SIGNAL_FROM_PIPE		WOLF_MSG_DAEMON_BASE+105
#define WOLF_MSG_DAEMON_NON_ATOMIC_READ_ON_SIGNAL_PIPE		WOLF_MSG_DAEMON_BASE+106
#define WOLF_MSG_DAEMON_CANT_SET_NEW_PROCESS_GROUP_PARENT	WOLF_MSG_DAEMON_BASE+107

/* for users which extend the daemon, for instance when writting a real daemon */
#define WOLF_MSG_DAEMON_USER_BASE				WOLF_MSG_DAEMON_BASE+500

/*
 * MESSAGES of category SERVICE
 */

#define WOLF_MSG_SERVICE_BASE					WOLF_CATEGORY_SERVICE * 1000

/* service/service.c */
#define WOLF_MSG_SERVICE_INSTALLING_SERVICE			WOLF_MSG_SERVICE_BASE+1
#define WOLF_MSG_SERVICE_CANT_OPEN_SCM_FOR_INSTALL		WOLF_MSG_SERVICE_BASE+2
#define WOLF_MSG_SERVICE_CANT_GET_PATH_OF_BINARY		WOLF_MSG_SERVICE_BASE+3
#define WOLF_MSG_SERVICE_CANT_CREATE_SERVICE			WOLF_MSG_SERVICE_BASE+4
#define WOLF_MSG_SERVICE_SERVICE_INSTALLED			WOLF_MSG_SERVICE_BASE+5
#define WOLF_MSG_SERVICE_UNINSTALLING_SERVICE			WOLF_MSG_SERVICE_BASE+6
#define WOLF_MSG_SERVICE_CANT_OPEN_SCM_FOR_UNINSTALL		WOLF_MSG_SERVICE_BASE+7
#define WOLF_MSG_SERVICE_CANT_OPEN_SERVICE			WOLF_MSG_SERVICE_BASE+8
#define WOLF_MSG_SERVICE_CANT_DELETE_SERVICE			WOLF_MSG_SERVICE_BASE+9
#define WOLF_MSG_SERVICE_SERVICE_UNINSTALLED			WOLF_MSG_SERVICE_BASE+10
#define WOLF_MSG_SERVICE_REPORT_STATUS				WOLF_MSG_SERVICE_BASE+11
#define WOLF_MSG_SERVICE_CANT_REPORT_STATUS			WOLF_MSG_SERVICE_BASE+12
#define WOLF_MSG_SERVICE_HANDLING_EVENT				WOLF_MSG_SERVICE_BASE+13
#define WOLF_MSG_SERVICE_CANT_REGISTER_SERVICE_CTRL_HANDLER	WOLF_MSG_SERVICE_BASE+14
#define WOLF_MSG_SERVICE_CANT_CREATE_STOP_EVENT			WOLF_MSG_SERVICE_BASE+15
#define WOLF_MSG_SERVICE_STARTED_SERVICE			WOLF_MSG_SERVICE_BASE+16
#define WOLF_MSG_SERVICE_WAIT_FOR_OBJECT_FAILED			WOLF_MSG_SERVICE_BASE+17
#define WOLF_MSG_SERVICE_STOPPED_SERVICE			WOLF_MSG_SERVICE_BASE+18
#define WOLF_MSG_SERVICE_CANT_DISPATCH_SERVICE			WOLF_MSG_SERVICE_BASE+19

#ifdef __cplusplus
extern "C" {
#endif

#ifdef __cplusplus
}
#endif

/** @} */ /* @addtogroup wolf_i18n */

#endif /* ifndef WOLF_MESSAGES_H */