06e9a588a61970a07182605f4732e535ab6670bf
[people/mcb30/busybox.git] / libbb / messages.c
1 /* vi: set sw=4 ts=4: */
2 /*
3  * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
4  *
5  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
6  */
7
8 #include "libbb.h"
9
10 /* allow default system PATH to be extended via CFLAGS */
11 #ifndef BB_ADDITIONAL_PATH
12 #define BB_ADDITIONAL_PATH ""
13 #endif
14
15 /* allow version to be extended, via CFLAGS */
16 #ifndef BB_EXTRA_VERSION
17 #define BB_EXTRA_VERSION BB_BT
18 #endif
19
20 #define BANNER "BusyBox v" BB_VER " (" BB_EXTRA_VERSION ")"
21
22 const char bb_banner[] ALIGN1 = BANNER;
23
24
25 const char bb_msg_memory_exhausted[] ALIGN1 = "memory exhausted";
26 const char bb_msg_invalid_date[] ALIGN1 = "invalid date '%s'";
27 const char bb_msg_write_error[] ALIGN1 = "write error";
28 const char bb_msg_read_error[] ALIGN1 = "read error";
29 const char bb_msg_unknown[] ALIGN1 = "(unknown)";
30 const char bb_msg_can_not_create_raw_socket[] ALIGN1 = "can't create raw socket";
31 const char bb_msg_perm_denied_are_you_root[] ALIGN1 = "permission denied. (are you root?)";
32 const char bb_msg_requires_arg[] ALIGN1 = "%s requires an argument";
33 const char bb_msg_invalid_arg[] ALIGN1 = "invalid argument '%s' to '%s'";
34 const char bb_msg_standard_input[] ALIGN1 = "standard input";
35 const char bb_msg_standard_output[] ALIGN1 = "standard output";
36
37 const char bb_str_default[] ALIGN1 = "default";
38 const char bb_hexdigits_upcase[] ALIGN1 = "0123456789ABCDEF";
39
40 const char bb_path_passwd_file[] ALIGN1 = "/etc/passwd";
41 const char bb_path_shadow_file[] ALIGN1 = "/etc/shadow";
42 const char bb_path_group_file[] ALIGN1 = "/etc/group";
43 const char bb_path_gshadow_file[] ALIGN1 = "/etc/gshadow";
44 const char bb_path_motd_file[] ALIGN1 = "/etc/motd";
45 const char bb_dev_null[] ALIGN1 = "/dev/null";
46 const char bb_busybox_exec_path[] ALIGN1 = CONFIG_BUSYBOX_EXEC_PATH;
47 const char bb_default_login_shell[] ALIGN1 = LIBBB_DEFAULT_LOGIN_SHELL;
48 /* util-linux manpage says /sbin:/bin:/usr/sbin:/usr/bin,
49  * but I want to save a few bytes here. Check libbb.h before changing! */
50 const char bb_PATH_root_path[] ALIGN1 = 
51         "PATH=/sbin:/usr/sbin:/bin:/usr/bin" BB_ADDITIONAL_PATH;
52
53
54 const int const_int_1 = 1;
55 /* explicitly = 0, otherwise gcc may make it a common variable
56  * and it will end up in bss */
57 const int const_int_0 = 0;
58
59 #include <utmp.h>
60 /* This is usually something like "/var/adm/wtmp" or "/var/log/wtmp" */
61 const char bb_path_wtmp_file[] ALIGN1 =
62 #if defined _PATH_WTMP
63         _PATH_WTMP;
64 #elif defined WTMP_FILE
65         WTMP_FILE;
66 #else
67 #error unknown path to wtmp file
68 #endif
69
70 /* We use it for "global" data via *(struct global*)&bb_common_bufsiz1.
71  * Since gcc insists on aligning struct global's members, it would be a pity
72  * (and an alignment fault on some CPUs) to mess it up. */
73 char bb_common_bufsiz1[COMMON_BUFSIZE] __attribute__(( aligned(sizeof(long long)) ));
74
75 struct globals;
76 /* Make it reside in R/W memory: */
77 struct globals *const ptr_to_globals __attribute__ ((section (".data")));