X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=common%2Fcommon.h;h=22299b7150e1bd22ae48ea800238ad86e8112862;hb=e327d3786ba0371eaaff8e6ba0fe3fc39f095ae2;hp=30ce1d8ca9a4a78665eaa9111861efcfa2399960;hpb=f840e396bc900fe05ad159e1ab06e5df63679ea3;p=apps%2Fpfixtools.git diff --git a/common/common.h b/common/common.h index 30ce1d8..22299b7 100644 --- a/common/common.h +++ b/common/common.h @@ -57,7 +57,6 @@ #include "mem.h" - #define __tostr(x) #x #define STR(x) __tostr(x) @@ -70,13 +69,26 @@ typedef void (*exitcall_t)(void); #define module_init(fn) static __init initcall_t __init_##fn = fn; #define module_exit(fn) static __exit exitcall_t __exit_##fn = fn; +#define likely(expr) __builtin_expect((expr) != 0, 1) +#define unlikely(expr) __builtin_expect((expr) != 0, 0) + +#define __level_name(L) \ + ( (L) == LOG_DEBUG ? "debug " \ + : (L) == LOG_NOTICE ? "notice" \ + : (L) == LOG_INFO ? "info " \ + : (L) == LOG_WARNING ? "warn " \ + : (L) == LOG_ERR ? "error " \ + : (L) == LOG_CRIT ? "crit " \ + : (L) == LOG_ALERT ? "alert " \ + : "??? " ) + #define __log(Level, Fmt, ...) \ if (log_level >= Level) { \ if (log_syslog) { \ syslog(Level, Fmt, ##__VA_ARGS__); \ } else { \ - fprintf(stderr, "[%d] " Fmt "\n", \ - Level, ##__VA_ARGS__); \ + fprintf(stderr, "[%s] " Fmt "\n", \ + __level_name(Level), ##__VA_ARGS__); \ } \ } @@ -99,6 +111,7 @@ extern bool log_syslog; void common_sighandler(int sig); +int setnonblock(int sock); int tcp_bind(const struct sockaddr *addr, socklen_t len); int tcp_listen(const struct sockaddr *addr, socklen_t len); int tcp_listen_nonblock(const struct sockaddr *addr, socklen_t len); @@ -121,7 +134,6 @@ static inline void common_startup(void) signal(SIGTERM, &common_sighandler); signal(SIGHUP, &common_sighandler); signal(SIGSEGV, &common_sighandler); - info("starting"); }