/* vi: set sw=4 ts=4: */
/*
 * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
 *
 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
 */

#include "libbb.h"

#ifdef L_full_version
#ifndef BB_EXTRA_VERSION
#define BANNER "BusyBox v" BB_VER " (" BB_BT ")"
#else
#define BANNER "BusyBox v" BB_VER " (" BB_EXTRA_VERSION ")"
#endif
const char BB_BANNER[] = BANNER;
const char bb_msg_full_version[] = BANNER " multi-call binary";
#endif

#ifdef L_memory_exhausted
	const char bb_msg_memory_exhausted[] = "memory exhausted";
#endif
#ifdef L_invalid_date
	const char bb_msg_invalid_date[] = "invalid date `%s'";
#endif
#ifdef L_io_error
	const char bb_msg_io_error[] = "%s: input/output error -- %m";
#endif
#ifdef L_write_error
	const char bb_msg_write_error[] = "write error";
#endif
#ifdef L_read_error
	const char bb_msg_read_error[] = "read error";
#endif
#ifdef L_name_longer_than_foo
	const char bb_msg_name_longer_than_foo[] = "names longer than %d chars not supported";
#endif
#ifdef L_unknown
	const char bb_msg_unknown[] = "(unknown)";
#endif
#ifdef L_can_not_create_raw_socket
	const char bb_msg_can_not_create_raw_socket[] = "can't create raw socket";
#endif
#ifdef L_perm_denied_are_you_root
	const char bb_msg_perm_denied_are_you_root[] = "permission denied. (are you root?)";
#endif
#ifdef L_msg_requires_arg
	const char bb_msg_requires_arg[] = "%s requires an argument";
#endif
#ifdef L_msg_invalid_arg
	const char bb_msg_invalid_arg[] = "invalid argument `%s' to `%s'";
#endif
#ifdef L_msg_standard_input
	const char bb_msg_standard_input[] = "standard input";
#endif
#ifdef L_msg_standard_output
	const char bb_msg_standard_output[] = "standard output";
#endif

#ifdef L_passwd_file
#define PASSWD_FILE        "/etc/passwd"
const char bb_path_passwd_file[] = PASSWD_FILE;
#endif

#ifdef L_shadow_file
#define SHADOW_FILE        "/etc/shadow"
const char bb_path_shadow_file[] = SHADOW_FILE;
#endif

#ifdef L_group_file
#define GROUP_FILE         "/etc/group"
const char bb_path_group_file[] = GROUP_FILE;
#endif

#ifdef L_gshadow_file
#define GSHADOW_FILE       "/etc/gshadow"
const char bb_path_gshadow_file[] = GSHADOW_FILE;
#endif

#ifdef L_nologin_file
#define NOLOGIN_FILE       "/etc/nologin"
const char bb_path_nologin_file[] = NOLOGIN_FILE;
#endif

#ifdef L_securetty_file
#define SECURETTY_FILE     "/etc/securetty"
const char bb_path_securetty_file[] = SECURETTY_FILE;
#endif

#ifdef L_motd_file
#define MOTD_FILE          "/etc/motd"
const char bb_path_motd_file[] = MOTD_FILE;
#endif

#ifdef L_shell_file
const char bb_default_login_shell[] = LIBBB_DEFAULT_LOGIN_SHELL;
#endif

#ifdef L_bb_dev_null
const char bb_dev_null[] = "/dev/null";
#endif

#ifdef L_bb_path_wtmp_file
#include <utmp.h>
/* This is usually something like "/var/adm/wtmp" or "/var/log/wtmp" */
const char bb_path_wtmp_file[] =
#if defined _PATH_WTMP
_PATH_WTMP;
#elif defined WTMP_FILE
WTMP_FILE;
#else
# error unknown path to wtmp file
#endif
#endif


#ifdef L_bb_common_bufsiz1
char bb_common_bufsiz1[BUFSIZ+1];
#endif
