128 lines
4.1 KiB
C
128 lines
4.1 KiB
C
/*
|
|
* Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
|
|
* Copyright (C) 2006 Emmanuel Bouthenot <kolter@openics.org>
|
|
*
|
|
* This file is part of WeeChat, the extensible chat client.
|
|
*
|
|
* WeeChat 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.
|
|
*
|
|
* WeeChat 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 WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef WEECHAT_H
|
|
#define WEECHAT_H
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
|
|
#include <stdio.h>
|
|
#include <time.h>
|
|
#include <sys/time.h>
|
|
#include <signal.h>
|
|
|
|
#include <locale.h>
|
|
|
|
#if defined(ENABLE_NLS) && !defined(_)
|
|
#ifdef HAVE_LIBINTL_H
|
|
#include <libintl.h>
|
|
#else
|
|
#include "../../intl/libintl.h"
|
|
#endif /* HAVE_LIBINTL_H */
|
|
#define _(string) gettext(string)
|
|
#define NG_(single,plural,number) ngettext(single,plural,number)
|
|
#ifdef gettext_noop
|
|
#define N_(string) gettext_noop(string)
|
|
#else
|
|
#define N_(string) (string)
|
|
#endif /* gettext_noop */
|
|
#endif /* defined(ENABLE_NLS) && !defined(_) */
|
|
#if !defined(_)
|
|
#define _(string) (string)
|
|
#define NG_(single,plural,number) (plural)
|
|
#define N_(string) (string)
|
|
#endif /* !defined(_) */
|
|
|
|
|
|
#define WEECHAT_COPYRIGHT_DATE "(C) 2003-2020"
|
|
#define WEECHAT_WEBSITE "https://weechat.org/"
|
|
#define WEECHAT_WEBSITE_DOWNLOAD "https://weechat.org/download"
|
|
|
|
/* log file */
|
|
#define WEECHAT_LOG_NAME "weechat.log"
|
|
|
|
/* license */
|
|
#define WEECHAT_LICENSE_TEXT \
|
|
"WeeChat is free software; you can redistribute it and/or modify\n" \
|
|
"it under the terms of the GNU General Public License as published by\n" \
|
|
"the Free Software Foundation; either version 3 of the License, or\n" \
|
|
"(at your option) any later version.\n" \
|
|
"\n", \
|
|
\
|
|
"WeeChat is distributed in the hope that it will be useful,\n" \
|
|
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" \
|
|
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" \
|
|
"GNU General Public License for more details.\n" \
|
|
"\n" \
|
|
"You should have received a copy of the GNU General Public License\n" \
|
|
"along with WeeChat. If not, see <https://www.gnu.org/licenses/>.\n\n"
|
|
|
|
/* directory separator, depending on OS */
|
|
#ifdef _WIN32
|
|
#define DIR_SEPARATOR "\\"
|
|
#define DIR_SEPARATOR_CHAR '\\'
|
|
#else
|
|
#define DIR_SEPARATOR "/"
|
|
#define DIR_SEPARATOR_CHAR '/'
|
|
#endif /* _WIN32 */
|
|
|
|
/* some systems like GNU/Hurd do not define PATH_MAX */
|
|
#ifndef PATH_MAX
|
|
#define PATH_MAX 4096
|
|
#endif /* PATH_MAX */
|
|
|
|
/* internal charset */
|
|
#define WEECHAT_INTERNAL_CHARSET "UTF-8"
|
|
|
|
/* name of environment variable with an extra lib dir */
|
|
#define WEECHAT_EXTRA_LIBDIR "WEECHAT_EXTRA_LIBDIR"
|
|
|
|
struct t_weelist;
|
|
|
|
/* global variables and functions */
|
|
extern int weechat_headless;
|
|
extern int weechat_debug_core;
|
|
extern char *weechat_argv0;
|
|
extern int weechat_upgrading;
|
|
extern int weechat_first_start;
|
|
extern time_t weechat_first_start_time;
|
|
extern struct timeval weechat_current_start_timeval;
|
|
extern int weechat_upgrade_count;
|
|
extern volatile sig_atomic_t weechat_quit;
|
|
extern volatile sig_atomic_t weechat_quit_signal;
|
|
extern char *weechat_home;
|
|
extern int weechat_home_temp;
|
|
extern char *weechat_local_charset;
|
|
extern int weechat_plugin_no_dlclose;
|
|
extern int weechat_no_gnutls;
|
|
extern int weechat_no_gcrypt;
|
|
extern struct t_weelist *weechat_startup_commands;
|
|
extern int weechat_auto_connect;
|
|
|
|
extern void weechat_term_check ();
|
|
extern void weechat_shutdown (int return_code, int crash);
|
|
extern void weechat_init_gettext ();
|
|
extern void weechat_init (int argc, char *argv[], void (*gui_init_cb)());
|
|
extern void weechat_end (void (*gui_end_cb)(int clean_exit));
|
|
|
|
#endif /* WEECHAT_H */
|