utils/utils.c utils/chunk.c utils/debug.c utils/enum.c utils/identification.c \
utils/lexparser.c utils/optionsfrom.c utils/capabilities.c utils/backtrace.c \
utils/parser_helper.c utils/test.c utils/process.c utils/utils/strerror.c \
-utils/utils/atomics.c utils/utils/string.c utils/utils/memory.c
+utils/utils/atomics.c utils/utils/string.c utils/utils/memory.c \
+utils/utils/tty.c
libstrongswan_la_SOURCES += \
threading/thread.c \
utils/utils.c utils/chunk.c utils/debug.c utils/enum.c utils/identification.c \
utils/lexparser.c utils/optionsfrom.c utils/capabilities.c utils/backtrace.c \
utils/parser_helper.c utils/test.c utils/process.c utils/utils/strerror.c \
-utils/utils/atomics.c utils/utils/string.c utils/utils/memory.c
+utils/utils/atomics.c utils/utils/string.c utils/utils/memory.c \
+utils/utils/tty.c
if !USE_WINDOWS
libstrongswan_la_SOURCES += \
utils/parser_helper.h utils/test.h utils/integrity_checker.h utils/process.h \
utils/utils/strerror.h utils/compat/windows.h utils/compat/apple.h \
utils/utils/atomics.h utils/utils/types.h utils/utils/byteorder.h \
-utils/utils/string.h utils/utils/memory.h
+utils/utils/string.h utils/utils/memory.h utils/utils/tty.h
endif
library.lo : $(top_builddir)/config.status
return TRUE;
}
-ENUM(tty_color_names, TTY_RESET, TTY_BG_DEF,
- "\e[0m",
- "\e[1m",
- "\e[4m",
- "\e[5m",
- "\e[30m",
- "\e[31m",
- "\e[32m",
- "\e[33m",
- "\e[34m",
- "\e[35m",
- "\e[36m",
- "\e[37m",
- "\e[39m",
- "\e[40m",
- "\e[41m",
- "\e[42m",
- "\e[43m",
- "\e[44m",
- "\e[45m",
- "\e[46m",
- "\e[47m",
- "\e[49m",
-);
-
-/**
- * Get the escape string for a given TTY color, empty string on non-tty FILE
- */
-char* tty_escape_get(int fd, tty_escape_t escape)
-{
- if (!isatty(fd))
- {
- return "";
- }
- switch (escape)
- {
- case TTY_RESET:
- case TTY_BOLD:
- case TTY_UNDERLINE:
- case TTY_BLINKING:
-#ifdef WIN32
- return "";
-#endif
- case TTY_FG_BLACK:
- case TTY_FG_RED:
- case TTY_FG_GREEN:
- case TTY_FG_YELLOW:
- case TTY_FG_BLUE:
- case TTY_FG_MAGENTA:
- case TTY_FG_CYAN:
- case TTY_FG_WHITE:
- case TTY_FG_DEF:
- case TTY_BG_BLACK:
- case TTY_BG_RED:
- case TTY_BG_GREEN:
- case TTY_BG_YELLOW:
- case TTY_BG_BLUE:
- case TTY_BG_MAGENTA:
- case TTY_BG_CYAN:
- case TTY_BG_WHITE:
- case TTY_BG_DEF:
- return enum_to_name(tty_color_names, escape);
- /* warn if a escape code is missing */
- }
- return "";
-}
-
#ifndef HAVE_CLOSEFROM
/**
* Described in header.
#include "utils/string.h"
#include "utils/memory.h"
#include "utils/strerror.h"
+#include "utils/tty.h"
#ifdef __APPLE__
# include "compat/apple.h"
#endif
*/
extern enum_name_t *status_names;
-typedef enum tty_escape_t tty_escape_t;
-
-/**
- * Excape codes for tty colors
- */
-enum tty_escape_t {
- /** text properties */
- TTY_RESET,
- TTY_BOLD,
- TTY_UNDERLINE,
- TTY_BLINKING,
-
- /** foreground colors */
- TTY_FG_BLACK,
- TTY_FG_RED,
- TTY_FG_GREEN,
- TTY_FG_YELLOW,
- TTY_FG_BLUE,
- TTY_FG_MAGENTA,
- TTY_FG_CYAN,
- TTY_FG_WHITE,
- TTY_FG_DEF,
-
- /** background colors */
- TTY_BG_BLACK,
- TTY_BG_RED,
- TTY_BG_GREEN,
- TTY_BG_YELLOW,
- TTY_BG_BLUE,
- TTY_BG_MAGENTA,
- TTY_BG_CYAN,
- TTY_BG_WHITE,
- TTY_BG_DEF,
-};
-
-/**
- * Get the escape string for a given TTY color, empty string on non-tty fd
- */
-char* tty_escape_get(int fd, tty_escape_t escape);
-
/**
* Handle struct timeval like an own type.
*/
--- /dev/null
+/*
+ * Copyright (C) 2008-2014 Tobias Brunner
+ * Copyright (C) 2005-2008 Martin Willi
+ * Hochschule fuer Technik Rapperswil
+ *
+ * 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 2 of the License, or (at your
+ * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
+ *
+ * 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.
+ */
+
+#include <utils/utils.h>
+
+#include <unistd.h>
+
+ENUM(tty_color_names, TTY_RESET, TTY_BG_DEF,
+ "\e[0m",
+ "\e[1m",
+ "\e[4m",
+ "\e[5m",
+ "\e[30m",
+ "\e[31m",
+ "\e[32m",
+ "\e[33m",
+ "\e[34m",
+ "\e[35m",
+ "\e[36m",
+ "\e[37m",
+ "\e[39m",
+ "\e[40m",
+ "\e[41m",
+ "\e[42m",
+ "\e[43m",
+ "\e[44m",
+ "\e[45m",
+ "\e[46m",
+ "\e[47m",
+ "\e[49m",
+);
+
+/**
+ * Get the escape string for a given TTY color, empty string on non-tty FILE
+ */
+char* tty_escape_get(int fd, tty_escape_t escape)
+{
+ if (!isatty(fd))
+ {
+ return "";
+ }
+ switch (escape)
+ {
+ case TTY_RESET:
+ case TTY_BOLD:
+ case TTY_UNDERLINE:
+ case TTY_BLINKING:
+#ifdef WIN32
+ return "";
+#endif
+ case TTY_FG_BLACK:
+ case TTY_FG_RED:
+ case TTY_FG_GREEN:
+ case TTY_FG_YELLOW:
+ case TTY_FG_BLUE:
+ case TTY_FG_MAGENTA:
+ case TTY_FG_CYAN:
+ case TTY_FG_WHITE:
+ case TTY_FG_DEF:
+ case TTY_BG_BLACK:
+ case TTY_BG_RED:
+ case TTY_BG_GREEN:
+ case TTY_BG_YELLOW:
+ case TTY_BG_BLUE:
+ case TTY_BG_MAGENTA:
+ case TTY_BG_CYAN:
+ case TTY_BG_WHITE:
+ case TTY_BG_DEF:
+ return enum_to_name(tty_color_names, escape);
+ /* warn if a escape code is missing */
+ }
+ return "";
+}
--- /dev/null
+/*
+ * Copyright (C) 2008-2014 Tobias Brunner
+ * Copyright (C) 2008 Martin Willi
+ * Hochschule fuer Technik Rapperswil
+ *
+ * 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 2 of the License, or (at your
+ * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
+ *
+ * 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.
+ */
+
+/**
+ * @defgroup tty_i tty
+ * @{ @ingroup utils_i
+ */
+
+#ifndef TTY_H_
+#define TTY_H_
+
+typedef enum tty_escape_t tty_escape_t;
+
+/**
+ * Excape codes for tty colors
+ */
+enum tty_escape_t {
+ /** text properties */
+ TTY_RESET,
+ TTY_BOLD,
+ TTY_UNDERLINE,
+ TTY_BLINKING,
+
+ /** foreground colors */
+ TTY_FG_BLACK,
+ TTY_FG_RED,
+ TTY_FG_GREEN,
+ TTY_FG_YELLOW,
+ TTY_FG_BLUE,
+ TTY_FG_MAGENTA,
+ TTY_FG_CYAN,
+ TTY_FG_WHITE,
+ TTY_FG_DEF,
+
+ /** background colors */
+ TTY_BG_BLACK,
+ TTY_BG_RED,
+ TTY_BG_GREEN,
+ TTY_BG_YELLOW,
+ TTY_BG_BLUE,
+ TTY_BG_MAGENTA,
+ TTY_BG_CYAN,
+ TTY_BG_WHITE,
+ TTY_BG_DEF,
+};
+
+/**
+ * Get the escape string for a given TTY color, empty string on non-tty fd
+ */
+char* tty_escape_get(int fd, tty_escape_t escape);
+
+#endif /** TTY_H_ @} */