cat002.h
Go to the documentation of this file.
1 /*
2  * libasterix
3  * Copyright [2013-2020] SinoATC <http://www.sinoatc.com>.
4  * All Rights Reserved.
5  *
6  * NOTICE: All information contained herein is, and remains
7  * the property of SinoATC and its suppliers, if any.
8  * The intellectual and technical concepts contained herein
9  * are proprietary to Aerosys Corporation and its suppliers and may be
10  * covered by U.S. and Foreign Patents, patents in process,
11  * and are protected by trade secret or copyright law.
12  * Dissemination of this information or reproduction of this material
13  * is strictly forbidden unless prior written permission is obtained
14  * from SinoATC.
15  */
16 
24 #ifndef LIBASTERIX_CAT002_H
25 #define LIBASTERIX_CAT002_H
26 
27 #include "dataitem.h"
28 #include "datarecord.h"
29 #include "cat_generic.h"
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 // Data Item
36 
39 
45 typedef enum _ast_radar_message_type_t
47 {
54 
57 
59 #define ast_dataitem_002_000_get_size ast_dataitem_message_type_get_size
60 
62 #define ast_dataitem_002_000_decode ast_dataitem_message_type_decode
63 
65 #define ast_dataitem_002_000_encode ast_dataitem_message_type_encode
66 
68 AST_API void ast_dataitem_002_000_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
69 
71 #define ast_dataitem_002_000_get_detail_html ast_dataitem_get_detail_html_dummy
72 
83 
85 #define ast_dataitem_002_010_get_size ast_dataitem_data_source_identifier_get_size
86 
88 #define ast_dataitem_002_010_decode ast_dataitem_data_source_identifier_decode
89 
91 #define ast_dataitem_002_010_encode ast_dataitem_data_source_identifier_encode
92 
94 #define ast_dataitem_002_010_get_summary ast_dataitem_data_source_identifier_get_summary
95 
97 #define ast_dataitem_002_010_get_detail_html ast_dataitem_data_source_identifier_get_detail_html
98 
109 
111 #define ast_dataitem_002_020_get_size ast_dataitem_sector_number_get_size
112 
114 #define ast_dataitem_002_020_decode ast_dataitem_sector_number_decode
115 
117 #define ast_dataitem_002_020_encode ast_dataitem_sector_number_encode
118 
120 #define ast_dataitem_002_020_get_summary ast_dataitem_sector_number_get_summary
121 
123 #define ast_dataitem_002_020_get_detail_html ast_dataitem_sector_number_get_detail_html
124 
135 
137 #define ast_dataitem_002_030_get_size ast_dataitem_time_of_day_get_size
138 
140 #define ast_dataitem_002_030_decode ast_dataitem_time_of_day_decode
141 
143 #define ast_dataitem_002_030_encode ast_dataitem_time_of_day_encode
144 
146 #define ast_dataitem_002_030_get_summary ast_dataitem_time_of_day_get_summary
147 
149 #define ast_dataitem_002_030_get_detail_html ast_dataitem_time_of_day_get_detail_html
150 
159 #define ast_dataitem_002_041_get_size ast_dataitem_get_size_fixed_2_byte
161 
170 #define ast_dataitem_002_050_get_size ast_dataitem_get_size_var_unlimited
171 #define ast_dataitem_002_050_get_summary ast_dataitem_binary_data_get_summary
172 #define ast_dataitem_002_050_get_detail_html ast_dataitem_get_detail_html_dummy
173 
183 #define ast_dataitem_002_SPF_get_size ast_dataitem_special_purpose_field_get_size
185 
187 //ast_dataitem_002_SPF_t ast_dataitem_002_SPF_decode(const ast_dataitem_t di);
188 
190 #define ast_dataitem_002_SPF_get_summary ast_dataitem_special_purpose_field_get_summary
191 
193 #define ast_dataitem_002_SPF_get_detail_html ast_dataitem_get_detail_html_dummy
194 
197 // Data Record
198 
201 
204 
207 
209 #define ast_datarecord_002_get_tracknum 0
210 
212 #define ast_datarecord_002_get_squawk 0
213 
215 #define ast_datarecord_002_get_callsign 0
216 
218 #define ast_datarecord_002_get_icaoaddr 0
219 
221 #define ast_datarecord_002_get_coordinate 0
222 
224 #define ast_datarecord_002_get_flightlevel 0
225 
227 #define ast_datarecord_002_get_polarcoord 0
228 
230 #define ast_datarecord_002_get_heading 0
231 
233 #define ast_datarecord_002_get_speed 0
234 
240 typedef struct _ast_datarecord_002_t
242 {
243  bool valid;
244 
249 
251 
254 
256 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);
257 
260 #ifdef __cplusplus
261  }
262 #endif // extern "C"
263 
264 #endif //LIBASTERIX_CAT002_H
265 
266 // 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:56
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:50
Definition: uap.h:36
ast_dataitem_002_020_t dataitem_002_020
Definition: cat002.h:247
#define AST_API
Definition: platform.h:63
Data Item - Data Source Identifier.
Definition: cat_generic.h:93
Definition: cat002.h:49
Data Item - Time of Day.
Definition: cat_generic.h:219
Definition: cat002.h:51
Definition: cat002.h:48
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:245
ast_dataitem_002_030_t dataitem_002_030
Definition: cat002.h:248
ast_dataitem_002_010_t dataitem_002_010
Definition: cat002.h:246
ast_radar_message_type_t
Radar message type.
Definition: cat002.h:46
Definition: cat002.h:52
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:171
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:134
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:82
bool valid
Definition: cat002.h:243
Dataitem.
Definition: dataitem.h:422
ast_dataitem_type_t
Definition of data item id in each category.
Definition: dataitem.h:67
ast_dataitem_sector_number_t ast_dataitem_002_020_t
Data Item I002/020 - Sector Number.
Definition: cat002.h:108
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:40
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:241