#ifndef E2SIM_DEFS_H
#define E2SIM_DEFS_H
-// #include <iostream>
#include <stdio.h>
#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
#define VERSION "1.2.0" //May 2019
#define DEFAULT_SCTP_IP "127.0.0.1"
// #define LOG_E(...) {printf("[%s]", time_stamp()); printf(__VA_ARGS__); printf("\n");}
// #define LOG_D(...) {printf("[%s]", time_stamp()); printf(__VA_ARGS__); printf("\n");}
-#define LOG_I(...) {printf(__VA_ARGS__); printf("\n");}
-#define LOG_E(...) {printf(__VA_ARGS__); printf("\n");}
-#define LOG_D(...) {printf(__VA_ARGS__); printf("\n");}
+#define LOG_I(format, ...) \
+ do { \
+ const char *file = __FILE__; \
+ const char *fileName = strrchr(file, '/'); \
+ if (fileName != NULL) { \
+ fileName++; \
+ } \
+ else { \
+ fileName = file; \
+ } \
+ fprintf(stderr, "[%s:%d] [INFO] ", fileName, __LINE__); \
+ fprintf(stderr, format, ##__VA_ARGS__); \
+ fprintf(stderr, "\n"); \
+ } while (0);
+
+#define LOG_D(format, ...) \
+ do { \
+ const char *file = __FILE__; \
+ const char *fileName = strrchr(file, '/'); \
+ if (fileName != NULL) { \
+ fileName++; \
+ } \
+ else { \
+ fileName = file; \
+ } \
+ fprintf(stderr, "[%s:%d] [DEBUG] ", fileName, __LINE__); \
+ fprintf(stderr, format, ##__VA_ARGS__); \
+ fprintf(stderr, "\n"); \
+ } while (0);
+
+#define LOG_E(format, ...) \
+ do { \
+ const char *file = __FILE__; \
+ const char *fileName = strrchr(file, '/'); \
+ if (fileName != NULL) { \
+ fileName++; \
+ } \
+ else { \
+ fileName = file; \
+ } \
+ fprintf(stderr, "[%s:%d] [ERROR] ", fileName, __LINE__); \
+ fprintf(stderr, format, ##__VA_ARGS__); \
+ fprintf(stderr, "\n"); \
+ } while (0);
typedef struct SCTP_DATA {
unsigned char *data;
options_t read_input_options(int argc, char *argv[]);
-#define min(a, b) ((a) < (b)) ? (a) : (b)
-
#endif