SIM-115: update simulator to use latest E2SM KPM version 3
[sim/e2-interface.git] / e2sim / src / DEF / e2sim_defs.h
1 /*
2  *
3  * Copyright 2019 AT&T Intellectual Property
4  * Copyright 2019 Nokia
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20 #ifndef E2SIM_DEFS_H
21 #define E2SIM_DEFS_H
22
23 #include <stdio.h>
24 #include <stdlib.h>
25 #include <stdarg.h>
26 #include <string.h>
27
28 #define VERSION             "1.2.0"      //May 2019
29 #define DEFAULT_SCTP_IP     "127.0.0.1"
30 #define X2AP_PPID           (452984832) //27 = 1b, PPID = 1b000000(hex) -> 452984832(dec)
31 #define X2AP_SCTP_PORT      36421
32 #define RIC_SCTP_SRC_PORT   36422
33 #define MAX_SCTP_BUFFER     10000
34 #define WORKDIR_ENV         "E2SIM_DIR" //environment variable
35
36 char* time_stamp(void);
37
38 // #define LOG_I(...) {printf("[%s]", time_stamp()); printf(__VA_ARGS__); printf("\n");}
39 // #define LOG_E(...) {printf("[%s]", time_stamp()); printf(__VA_ARGS__); printf("\n");}
40 // #define LOG_D(...) {printf("[%s]", time_stamp()); printf(__VA_ARGS__); printf("\n");}
41
42 #define LOG_I(format, ...) \
43     do { \
44         const char *file = __FILE__; \
45         const char *fileName = strrchr(file, '/'); \
46         if (fileName != NULL) { \
47             fileName++; \
48         } \
49         else { \
50             fileName = file; \
51         } \
52         printf("[%s:%d] ", fileName, __LINE__); \
53         printf(format, ##__VA_ARGS__); \
54         printf("\n"); \
55     } while (0);
56 #define LOG_E(...) {printf(__VA_ARGS__); printf("\n");}
57 #define LOG_D(...) {printf(__VA_ARGS__); printf("\n");}
58
59 typedef struct SCTP_DATA {
60   unsigned char *data;
61   int           len;
62 } sctp_data_t;
63
64 typedef struct {
65   unsigned char buffer[MAX_SCTP_BUFFER];
66   int           len;
67 } sctp_buffer_t;
68
69 typedef struct {
70   char* server_ip;
71   int   server_port;
72   //... extend as needed
73 } options_t;
74
75 options_t read_input_options(int argc, char *argv[]);
76
77 #define min(a, b) ((a) < (b)) ? (a) : (b)
78
79 #endif