cat002.h
Go to the documentation of this file.
1 /*
2  * libasterix
3  * Copyright [2020] SinoATC (http://www.sinoatc.com/).
4  * Copyright [2013-2020] Aerosys Corporation (http://www.aerosys.cn/).
5  * All Rights Reserved.
6  *
7  * NOTICE: All information contained herein is, and remains
8  * the property of SinoATC and its suppliers, if any.
9  * The intellectual and technical concepts contained herein
10  * are proprietary to Aerosys Corporation and its suppliers and may be
11  * covered by U.S. and Foreign Patents, patents in process,
12  * and are protected by trade secret or copyright law.
13  * Dissemination of this information or reproduction of this material
14  * is strictly forbidden unless prior written permission is obtained
15  * from SinoATC.
16  */
17 
25 #ifndef LIBASTERIX_CAT002_H
26 #define LIBASTERIX_CAT002_H
27 
28 #include "dataitem.h"
29 #include "datarecord.h"
30 #include "cat_generic.h"
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 // Data Item
37 
40 
46 typedef enum _ast_radar_message_type_t
48 {
55 
58 
60 #define ast_dataitem_002_000_get_size ast_dataitem_message_type_get_size
61 
63 #define ast_dataitem_002_000_decode ast_dataitem_message_type_decode
64 
66 #define ast_dataitem_002_000_encode ast_dataitem_message_type_encode
67 
69 AST_API void ast_dataitem_002_000_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
70 
72 #define ast_dataitem_002_000_get_detail_html ast_dataitem_get_detail_html_dummy
73 
84 
86 #define ast_dataitem_002_010_get_size ast_dataitem_data_source_identifier_get_size
87 
89 #define ast_dataitem_002_010_decode ast_dataitem_data_source_identifier_decode
90 
92 #define ast_dataitem_002_010_encode ast_dataitem_data_source_identifier_encode
93 
95 #define ast_dataitem_002_010_get_summary ast_dataitem_data_source_identifier_get_summary
96 
98 #define ast_dataitem_002_010_get_detail_html ast_dataitem_data_source_identifier_get_detail_html
99 
110 
112 #define ast_dataitem_002_020_get_size ast_dataitem_sector_number_get_size
113 
115 #define ast_dataitem_002_020_decode ast_dataitem_sector_number_decode
116 
118 #define ast_dataitem_002_020_encode ast_dataitem_sector_number_encode
119 
121 #define ast_dataitem_002_020_get_summary ast_dataitem_sector_number_get_summary
122 
124 #define ast_dataitem_002_020_get_detail_html ast_dataitem_sector_number_get_detail_html
125 
136 
138 #define ast_dataitem_002_030_get_size ast_dataitem_time_of_day_get_size
139 
141 #define ast_dataitem_002_030_decode ast_dataitem_time_of_day_decode
142 
144 #define ast_dataitem_002_030_encode ast_dataitem_time_of_day_encode
145 
147 #define ast_dataitem_002_030_get_summary ast_dataitem_time_of_day_get_summary
148 
150 #define ast_dataitem_002_030_get_detail_html ast_dataitem_time_of_day_get_detail_html
151 
160 #define ast_dataitem_002_041_get_size ast_dataitem_get_size_fixed_2_byte
162 
171 #define ast_dataitem_002_050_get_size ast_dataitem_get_size_var_unlimited
172 #define ast_dataitem_002_050_get_summary ast_dataitem_binary_data_get_summary
173 #define ast_dataitem_002_050_get_detail_html ast_dataitem_get_detail_html_dummy
174 
184 #define ast_dataitem_002_SPF_get_size ast_dataitem_special_purpose_field_get_size
186 
188 //ast_dataitem_002_SPF_t ast_dataitem_002_SPF_decode(const ast_dataitem_t di);
189 
191 #define ast_dataitem_002_SPF_get_summary ast_dataitem_special_purpose_field_get_summary
192 
194 #define ast_dataitem_002_SPF_get_detail_html ast_dataitem_get_detail_html_dummy
195 
198 // Data Record
199 
202 
205 
208 
210 #define ast_datarecord_002_get_tracknum 0
211 
213 #define ast_datarecord_002_get_squawk 0
214 
216 #define ast_datarecord_002_get_callsign 0
217 
219 #define ast_datarecord_002_get_icaoaddr 0
220 
222 #define ast_datarecord_002_get_coordinate 0
223 
225 #define ast_datarecord_002_get_flightlevel 0
226 
228 #define ast_datarecord_002_get_polarcoord 0
229 
231 #define ast_datarecord_002_get_heading 0
232 
234 #define ast_datarecord_002_get_speed 0
235 
241 typedef struct _ast_datarecord_002_t
243 {
244  bool valid;
245 
250 
252 
255 
257 AST_API ast_datarecord_t ast_datarecord_002_assemble(unsigned char* const buffer, const size_t bufsize, const ast_datarecord_002_t dr, const ast_uap_t uap);
258 
261 #ifdef __cplusplus
262  }
263 #endif // extern "C"
264 
265 #endif //LIBASTERIX_CAT002_H
266 
267 // vim:set ft=c sw=2 sts=2 fenc=utf8:
ast_dataitem_message_type_t ast_dataitem_002_000_t
Data Item I002/000 - Message Type.
Definition: cat002.h:57
Data Item - Message Type.
Definition: cat_generic.h:51
void ast_dataitem_002_000_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
Implementation of Datarecord concept defined by ASTERIX.
Data Source Identifier (aka SAC/SIC)
Definition: type.h:35
ast_datarecord_002_t ast_datarecord_002_disassemble(const ast_datarecord_t dr)
Disassemble function.
Definition: cat002.h:51
Definition: uap.h:38
ast_dataitem_002_020_t dataitem_002_020
Definition: cat002.h:248
#define AST_API
Definition: platform.h:63
Data Item - Data Source Identifier.
Definition: cat_generic.h:93
Definition: cat002.h:50
Data Item - Time of Day.
Definition: cat_generic.h:216
Definition: cat002.h:52
Definition: cat002.h:49
This file includes the common used data items shares by different categories.
Definition: type.h:66
ast_dataitem_002_000_t dataitem_002_000
Definition: cat002.h:246
ast_dataitem_002_030_t dataitem_002_030
Definition: cat002.h:249
ast_dataitem_002_010_t dataitem_002_010
Definition: cat002.h:247
ast_radar_message_type_t
Radar message type.
Definition: cat002.h:47
Definition: cat002.h:53
ast_datarecord_t ast_datarecord_002_assemble(unsigned char *const buffer, const size_t bufsize, const ast_datarecord_002_t dr, const ast_uap_t uap)
Assemble function.
Data Item - Sector Number.
Definition: cat_generic.h:168
Implementation of Dataitem concept defined by ASTERIX.
ast_dataitem_time_of_day_t ast_dataitem_002_030_t
Data Item I002/030 - Time of Day.
Definition: cat002.h:135
ast_msgtype_t ast_datarecord_002_get_msgtype(const ast_datarecord_t dr)
Get message type function.
ast_dataitem_data_source_identifier_t ast_dataitem_002_010_t
Data Item I002/010 - Data Source Identifier.
Definition: cat002.h:83
bool valid
Definition: cat002.h:244
Dataitem.
Definition: dataitem.h:419
ast_dataitem_type_t
Definition of data item id in each category.
Definition: dataitem.h:66
ast_dataitem_sector_number_t ast_dataitem_002_020_t
Data Item I002/020 - Sector Number.
Definition: cat002.h:109
Time of day.
Definition: type.h:43
ast_sacsic_t ast_datarecord_002_get_sacsic(const ast_datarecord_t dr)
Get SAC/SIC function.
Datarecord.
Definition: datarecord.h:42
const char * ast_dataitem_002_get_name(const ast_dataitem_type_t type)
Get name function.
ast_timeofday_t ast_datarecord_002_get_timeofday(const ast_datarecord_t dr)
Get time of day function.
Data Record I002 - Monoradar Service Messages.
Definition: cat002.h:242