Init basesystem source codes.
[staging/basesystem.git] / nsframework / framework_unified / client / NS_Logger / tool / nslogsw.cpp
1 /*
2  * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include <native_service/ns_logger_if.h>
18 #include <native_service/ns_version_if.h>
19 #include <native_service/ns_version.h>
20
21 #include <stdio.h>
22 #include <sys/time.h>
23 #include <stdlib.h>
24 #include <unistd.h>
25
26 #define ZONE_TEXT_10      "Init"
27 #define ZONE_TEXT_11      "Function"
28 #define ZONE_TEXT_12      "Memory"
29 #define ZONE_TEXT_13      ""
30 #define ZONE_TEXT_14      ""
31 #define ZONE_TEXT_15      ""
32 #define ZONE_TEXT_16      ""
33 #define ZONE_TEXT_17      ""
34 #define ZONE_TEXT_18      ""
35 #define ZONE_TEXT_19      ""
36 #define ZONE_TEXT_20      ""
37 #define ZONE_TEXT_21      ""
38 #define ZONE_TEXT_22      ""
39 #define ZONE_TEXT_23      ""
40 #define ZONE_TEXT_24      ""
41 #define ZONE_TEXT_25      ""
42 #define ZONE_TEXT_26      ""
43 #define ZONE_TEXT_27      ""
44 #define ZONE_TEXT_28      ""
45 #define ZONE_TEXT_29      "Info"
46 #define ZONE_TEXT_30      "Warning"
47 #define ZONE_TEXT_31      "Error"
48
49 _CWORD78_LOGPARAM g__CWORD78_LogParams = {
50   _CWORD78_LOGOPTIONS,
51   {
52     ZONE_TEXT_10, ZONE_TEXT_11, ZONE_TEXT_12,
53     ZONE_TEXT_13, ZONE_TEXT_14, ZONE_TEXT_15,
54     ZONE_TEXT_16, ZONE_TEXT_17, ZONE_TEXT_18,
55     ZONE_TEXT_19, ZONE_TEXT_20, ZONE_TEXT_21,
56     ZONE_TEXT_22, ZONE_TEXT_23, ZONE_TEXT_24,
57     ZONE_TEXT_25, ZONE_TEXT_26, ZONE_TEXT_27,
58     ZONE_TEXT_28, ZONE_TEXT_29, ZONE_TEXT_30,
59     ZONE_TEXT_31
60   },
61   _CWORD78_LOGZONES
62 };
63
64 C_CWORD78_Version g__CWORD78_Version(MAJORNO, MINORNO, REVISION);
65
66 static void
67 Usage(char *exec) {
68   fprintf(stderr, "Usage: %s options\n", exec != 0 ? exec : NULL);
69   fprintf(stderr, "  options\n");
70   fprintf(stderr, "    -0 : REALTIMELOG_MODE_OFF\n");
71   fprintf(stderr, "    -1 : REALTIMELOG_MODE_UART\n");
72   fprintf(stderr, "    -2 : REALTIMELOG_MODE_USB\n");
73   fprintf(stderr, "    -3 : REALTIMELOG_MODE_ETHER\n");
74   fprintf(stderr, "  (none) print current status\n");
75 }
76
77 int
78 main(int argc, char **argv) {
79   int c;
80
81   if (argc < 2) {
82     UI_8 realtimelog;
83     NsLogGetRealtimeLog(&realtimelog);
84     fprintf(stderr, "current status : -%d\n", realtimelog);
85     fprintf(stderr, " refer '%s -h'\n", argv[0] != 0 ? argv[0] : NULL);
86     return 0;
87   }
88
89   while ((c = getopt(argc, argv, "0123h")) != -1) {
90     switch (c) {
91       case '0':
92         fprintf(stderr, "set REALTIMELOG_MODE_OFF\n");
93         NsLogSetRealtimeLog(_CWORD78_LOG_REALTIMELOG_MODE_OFF);
94         return 0;
95       case '1':
96         fprintf(stderr, "set REALTIMELOG_MODE_UART\n");
97         NsLogSetRealtimeLog(_CWORD78_LOG_REALTIMELOG_MODE_UART);
98         return 0;
99       case '2':
100         fprintf(stderr, "set REALTIMELOG_MODE_USB\n");
101         NsLogSetRealtimeLog(_CWORD78_LOG_REALTIMELOG_MODE_USB);
102         return 0;
103       case '3':
104         fprintf(stderr, "set REALTIMELOG_MODE_ETHER\n");
105         NsLogSetRealtimeLog(_CWORD78_LOG_REALTIMELOG_MODE_ETHER);
106         return 0;
107       default:
108         Usage(argv[0]);
109         return 0;
110     }
111   }
112   Usage(argv[0]);
113   return 0;
114 }