blob: 2545eed671a467a8076a841fbc3d830188cc722d [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001/* 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 source tree.
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
22const char bb_banner[] ALIGN1 = BANNER;
23
24
25const char bb_msg_memory_exhausted[] ALIGN1 = "out of memory";
26const char bb_msg_invalid_date[] ALIGN1 = "invalid date '%s'";
27const char bb_msg_unknown[] ALIGN1 = "(unknown)";
28const char bb_msg_can_not_create_raw_socket[] ALIGN1 = "can't create raw socket";
29const char bb_msg_perm_denied_are_you_root[] ALIGN1 = "permission denied (are you root?)";
30const char bb_msg_you_must_be_root[] ALIGN1 = "you must be root";
31const char bb_msg_requires_arg[] ALIGN1 = "%s requires an argument";
32const char bb_msg_invalid_arg[] ALIGN1 = "invalid argument '%s' to '%s'";
33const char bb_msg_standard_input[] ALIGN1 = "standard input";
34const char bb_msg_standard_output[] ALIGN1 = "standard output";
35
36const char bb_hexdigits_upcase[] ALIGN1 = "0123456789ABCDEF";
37
38const char bb_busybox_exec_path[] ALIGN1 = CONFIG_BUSYBOX_EXEC_PATH;
39const char bb_default_login_shell[] ALIGN1 = LIBBB_DEFAULT_LOGIN_SHELL;
40/* util-linux manpage says /sbin:/bin:/usr/sbin:/usr/bin,
41 * but I want to save a few bytes here. Check libbb.h before changing! */
42const char bb_PATH_root_path[] ALIGN1 =
43#if ENABLE_INSTALL_TO_RECOVERY
44 "PATH=/recovery/sbin:/recovery/usr/sbin:/recovery/bin:/recovery/usr/bin" BB_ADDITIONAL_PATH;
45#else
46 "PATH=/sbin:/usr/sbin:/bin:/usr/bin" BB_ADDITIONAL_PATH;
47#endif
48
49const int const_int_1 = 1;
50/* explicitly = 0, otherwise gcc may make it a common variable
51 * and it will end up in bss */
52const int const_int_0 = 0;
53
54#if ENABLE_FEATURE_WTMP
55/* This is usually something like "/var/adm/wtmp" or "/var/log/wtmp" */
56const char bb_path_wtmp_file[] ALIGN1 =
57# if defined _PATH_WTMP
58 _PATH_WTMP;
59# elif defined WTMP_FILE
60 WTMP_FILE;
61# else
62# error unknown path to wtmp file
63# endif
64#endif
65
66/* We use it for "global" data via *(struct global*)&bb_common_bufsiz1.
67 * Since gcc insists on aligning struct global's members, it would be a pity
68 * (and an alignment fault on some CPUs) to mess it up. */
69char bb_common_bufsiz1[COMMON_BUFSIZE] ALIGNED(sizeof(long long));