cat_generic.h
Go to the documentation of this file.
1/*
2 * $COPYRIGHT-BEGIN$
3 * libasterix
4 * Copyright [2013-2026] SinoATC <http://www.sinoatc.com>.
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 SinoATC 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 * $COPYRIGHT-END$
17 */
18
29
30#ifndef LIBASTERIX_CAT_GENERIC_H
31#define LIBASTERIX_CAT_GENERIC_H
32
33#include "global_enum.h"
34#include "dataitem.h"
35#include "bds.h"
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
53
77
79typedef struct _ast_dataitem_message_type_t
80{
81 bool valid;
82
83 unsigned int msg_type;
85
87#define ast_dataitem_message_type_get_size ast_dataitem_get_size_fixed_1_byte
88
91
93AST_API ast_dataitem_t ast_dataitem_message_type_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
94
95 /* end of group di_message_type */
97
98
130
132typedef struct _ast_dataitem_data_source_identifier_t
133{
134 bool valid;
135
136 unsigned int sac;
137 unsigned int sic;
139
141#define ast_dataitem_data_source_identifier_get_size ast_dataitem_get_size_fixed_2_byte
142
145
147AST_API ast_dataitem_t ast_dataitem_data_source_identifier_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
148
150AST_API void ast_dataitem_data_source_identifier_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
151
153AST_API void ast_dataitem_data_source_identifier_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
154 /* end of group di_data_source_identifier */
156
157
176
178typedef struct _ast_dataitem_service_id_t
179{
180 bool valid;
181
182 unsigned int service_id;
184
186#define ast_dataitem_service_id_get_size ast_dataitem_get_size_fixed_1_byte
187
190
192AST_API ast_dataitem_t ast_dataitem_service_id_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
193
195AST_API void ast_dataitem_service_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
196
198#define ast_dataitem_service_id_get_detail_html ast_dataitem_get_detail_html_dummy;
199 /* end of group di_service_id */
201
202
218
220typedef struct _ast_dataitem_sector_number_t
221{
222 bool valid;
223
224 unsigned int raw_azimuth;
225 double azimuth;
227
229#define ast_dataitem_sector_number_get_size ast_dataitem_get_size_fixed_1_byte
230
233
235AST_API ast_dataitem_t ast_dataitem_sector_number_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
236
238AST_API void ast_dataitem_sector_number_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
239
241AST_API void ast_dataitem_sector_number_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
242 /* end of group di_sector_number */
244
245
279
281typedef struct _ast_dataitem_time_of_day_t
282{
283 bool valid;
284
285 unsigned int raw_time;
286
287 unsigned int hour;
288 unsigned int min;
289 unsigned int sec;
290 unsigned int msec;
292
294#define ast_dataitem_time_of_day_get_size ast_dataitem_get_size_fixed_3_byte
295
298
300AST_API ast_dataitem_t ast_dataitem_time_of_day_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
301
303AST_API void ast_dataitem_time_of_day_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
304
306AST_API void ast_dataitem_time_of_day_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
307 /* end of group di_time_of_day */
309
310
325
327typedef struct _ast_dataitem_antenna_rotation_period_t
328{
329 bool valid;
330
331 unsigned int raw_period;
332 double period;
334
336#define ast_dataitem_antenna_rotation_period_get_size ast_dataitem_get_size_fixed_2_byte
337
340
342AST_API ast_dataitem_t ast_dataitem_antenna_rotation_period_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
343
345AST_API void ast_dataitem_antenna_rotation_period_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
346
348AST_API void ast_dataitem_antenna_rotation_period_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
349 /* end of group di_antenna_rotation_period */
351
352
367
369typedef struct _ast_dataitem_time_of_day_high_t
370{
371 bool valid;
372
373 int fsi;
374 unsigned int raw_time;
377
379#define ast_dataitem_time_of_day_high_get_size ast_dataitem_get_size_fixed_4_byte
380
383
385//AST_API ast_dataitem_t ast_dataitem_time_of_day_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
386
388AST_API void ast_dataitem_time_of_day_high_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
389
391AST_API void ast_dataitem_time_of_day_high_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
392 /* end of group di_time_of_day_high */
394
395
409
411typedef struct _ast_dataitem_position_wgs84_low_t
412{
413 bool valid;
414
417
418 double latitude;
419 double longitude;
421
423#define ast_dataitem_position_wgs84_low_get_size ast_dataitem_get_size_fixed_6_byte
424
427
429AST_API ast_dataitem_t ast_dataitem_position_wgs84_low_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
430
432AST_API void ast_dataitem_position_wgs84_low_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
433
435AST_API void ast_dataitem_position_wgs84_low_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
436 /* end of group di_position_wgs84_low */
438
439
459
461typedef struct _ast_dataitem_position_wgs84_t
462{
463 bool valid;
464
467
468 double latitude;
469 double longitude;
471
473#define ast_dataitem_position_wgs84_get_size ast_dataitem_get_size_fixed_8_byte
474
477
479AST_API ast_dataitem_t ast_dataitem_position_wgs84_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
480
482AST_API void ast_dataitem_position_wgs84_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
483
485AST_API void ast_dataitem_position_wgs84_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
486 /* end of group di_position_wgs84 */
488
489
504
506typedef struct _ast_dataitem_position_cartesian_t
507{
508 bool valid;
509
510 int raw_x;
511 int raw_y;
512
513 double x;
514 double y;
516
518#define ast_dataitem_position_cartesian_get_size ast_dataitem_get_size_fixed_6_byte
519
522
524AST_API void ast_dataitem_position_cartesian_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
525
527#define ast_dataitem_position_cartesian_get_detail_html ast_dataitem_get_detail_html_dummy
528 /* end of group di_position_cartesian */
530
531
547
549typedef struct _ast_dataitem_velocity_cartesian_t
550{
551 bool valid;
552
553 int raw_vx;
554 int raw_vy;
555
556 double vx;
557 double vy;
559
561#define ast_dataitem_velocity_cartesian_get_size ast_dataitem_get_size_fixed_4_byte;
562
565
567AST_API void ast_dataitem_velocity_cartesian_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
568
570#define ast_dataitem_velocity_cartesian_get_detail_html ast_dataitem_get_detail_html_dummy
571 /* end of group di_velocity_cartesian */
573
574
589
591#define ast_dataitem_mode_2_code_get_size ast_dataitem_get_size_fixed_2_byte
592 /* end of group di_mode_2_code */
594
595
619
621typedef struct _ast_dataitem_mode_3a_code_t
622{
623 bool valid;
624
628
629 bool changed;
630
631 int code;
632
634
636#define ast_dataitem_mode_3a_code_get_size ast_dataitem_get_size_fixed_2_byte
637
640
642AST_API ast_dataitem_t ast_dataitem_mode_3a_code_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
643
645AST_API void ast_dataitem_mode_3a_code_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
646
648AST_API void ast_dataitem_mode_3a_code_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
649 /* end of group di_mode_3a_code */
651
652
670
672typedef struct _ast_dataitem_mode_3a_confidence_t
673{
674 bool valid;
675
676 bool pulse_quality_low[4][3];
678
680#define ast_dataitem_mode_3a_confidence_get_size ast_dataitem_get_size_fixed_2_byte
681
684
686AST_API ast_dataitem_t ast_dataitem_mode_3a_confidence_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
687
689AST_API void ast_dataitem_mode_3a_confidence_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
690
692AST_API void ast_dataitem_mode_3a_confidence_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
693 /* end of group di_mode_3a_confidence */
695
696
716
718typedef struct _ast_dataitem_mode_c_code_t
719{
720 bool valid;
721
724
725 int code;
726
728
730#define ast_dataitem_mode_c_code_get_size ast_dataitem_get_size_fixed_2_byte
731
734
736AST_API ast_dataitem_t ast_dataitem_mode_c_code_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
737
739AST_API void ast_dataitem_mode_c_code_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
740
742AST_API void ast_dataitem_mode_c_code_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
743 /* end of group di_mode_c_code */
745
746
763
765typedef struct _ast_dataitem_mode_c_confidence_t
766{
767 bool valid;
768
771
772 unsigned int code;
773 bool pulse[4][3];
774 bool pulse_quality_low[4][3];
776
778#define ast_dataitem_mode_c_confidence_get_size ast_dataitem_get_size_fixed_4_byte
779
782
784AST_API ast_dataitem_t ast_dataitem_mode_c_confidence_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
785
787AST_API void ast_dataitem_mode_c_confidence_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
788
790AST_API void ast_dataitem_mode_c_confidence_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
791 /* end of group di_mode_c_confidence */
793
794
810
812typedef struct _ast_dataitem_height_t
813{
814 bool valid;
815
817 double height;
819
821#define ast_dataitem_height_get_size ast_dataitem_get_size_fixed_2_byte
822
825
827AST_API void ast_dataitem_height_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
828
830AST_API void ast_dataitem_height_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
831 /* end of group di_height */
833
834
849
851typedef struct _ast_dataitem_vertical_rate_t
852{
853 bool valid;
854
856 int raw_vr;
857 double vr;
859
861#define ast_dataitem_vertical_rate_get_size ast_dataitem_get_size_fixed_2_byte
862
865
867AST_API ast_dataitem_t ast_dataitem_vertical_rate_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
868
870AST_API void ast_dataitem_vertical_rate_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
871
873AST_API void ast_dataitem_vertical_rate_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
874 /* end of group di_vertical_rate */
876
877
903
905typedef struct _ast_dataitem_track_number_t
906{
907 bool valid;
908
909 unsigned int track_num;
911
913#define ast_dataitem_track_number_get_size ast_dataitem_get_size_fixed_2_byte
914
917
919AST_API ast_dataitem_t ast_dataitem_track_number_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
920
922AST_API void ast_dataitem_track_number_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
923
925#define ast_dataitem_track_number_get_detail_html ast_dataitem_get_detail_html_dummy;
926 /* end of group di_track_number */
928
929
946
948typedef struct _ast_dataitem_velocity_polar_t
949{
950 bool valid;
951
954
956 double heading;
958
960#define ast_dataitem_velocity_polar_get_size ast_dataitem_get_size_fixed_4_byte
961
964
966AST_API ast_dataitem_t ast_dataitem_velocity_polar_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
967
969AST_API void ast_dataitem_velocity_polar_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
970
972AST_API void ast_dataitem_velocity_polar_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
973 /* end of group di_velocity_polar */
975
976
993
995typedef struct _ast_dataitem_target_address_t
996{
997 bool valid;
998
999 unsigned char raw_address[3];
1000 unsigned int icao_address;
1002
1004#define ast_dataitem_target_address_get_size ast_dataitem_get_size_fixed_3_byte
1005
1008
1010AST_API ast_dataitem_t ast_dataitem_target_address_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
1011
1013AST_API void ast_dataitem_target_address_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1014
1016AST_API void ast_dataitem_target_address_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
1017 /* end of group di_target_addr */
1019
1020
1036
1038typedef struct _ast_dataitem_aircraft_id_t
1039{
1040 bool valid;
1041
1044
1046#define ast_dataitem_aircraft_id_get_size ast_dataitem_get_size_fixed_6_byte
1047
1050
1052AST_API ast_dataitem_t ast_dataitem_aircraft_id_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
1053
1055AST_API void ast_dataitem_aircraft_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1056
1058AST_API void ast_dataitem_aircraft_id_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
1059 /* end of group di_aircraft_id */
1061
1062
1079
1088
1090typedef struct _ast_dataitem_target_id_t
1091{
1092 bool valid;
1093
1095 char target_id[9];
1097
1099#define ast_dataitem_target_id_get_size ast_dataitem_get_size_fixed_7_byte
1100
1103
1105AST_API void ast_dataitem_target_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1106
1108AST_API void ast_dataitem_target_id_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
1109 /* end of group di_target_id */
1111
1126
1128typedef struct _ast_dataitem_signal_amplitude_t
1129{
1130 bool valid;
1131
1134
1136#define ast_dataitem_signal_amplitude_get_size ast_dataitem_get_size_fixed_1_byte
1137
1140
1142AST_API ast_dataitem_t ast_dataitem_signal_amplitude_encode(unsigned char* buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
1143
1145AST_API void ast_dataitem_signal_amplitude_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1146
1148#define ast_dataitem_signal_amplitude_get_detail_html ast_dataitem_get_detail_html_dummy
1149 /* end of group di_signal_amplitude */
1151
1168
1170typedef struct _ast_dataitem_modes_mb_t
1171{
1172 bool valid;
1173
1174 size_t n_bds;
1176
1178
1180#define ast_dataitem_modes_mb_get_size ast_dataitem_get_size_rep_8_byte
1181
1184
1186AST_API void ast_dataitem_modes_mb_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1187
1189AST_API void ast_dataitem_modes_mb_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
1190 /* end of group di_modes_mb */
1192
1193
1208
1210typedef struct _ast_dataitem_video_header_t
1211{
1212 bool valid;
1213
1214 unsigned int start_azimuth_raw;
1215 unsigned int end_azimuth_raw;
1218
1219 unsigned int start_range;
1220
1221 unsigned int cell_duration_raw;
1223
1225
1227#define ast_dataitem_video_header_get_size ast_dataitem_get_size_fixed_12_byte
1228 /* end of group di_video_header */
1230
1231
1244
1245AST_API void ast_dataitem_binary_data_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1246 /* end of group di_binary_data */
1248
1249
1270
1272AST_API size_t ast_dataitem_reserved_expansion_field_get_size(const unsigned char* buffer, const size_t bufsize);
1273
1275AST_API void ast_dataitem_reserved_expansion_field_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1276
1278#define ast_dataitem_reserved_expansion_field_get_detail_html ast_dataitem_get_detail_html_dummy
1279 /* end of group di_reserved_expansion_field */
1281
1282
1306
1308AST_API size_t ast_dataitem_special_purpose_field_get_size(const unsigned char* buffer, const size_t bufsize);
1309
1311AST_API void ast_dataitem_special_purpose_field_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1312
1314#define ast_dataitem_special_purpose_field_get_detail_html ast_dataitem_get_detail_html_dummy
1315 /* end of group di_special_purpose_field */
1317
1318
1335
1337AST_API size_t ast_dataitem_random_field_sequencing_get_size(const unsigned char* buffer, const size_t bufsize);
1338
1340AST_API void ast_dataitem_random_field_sequencing_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1341
1343#define ast_dataitem_random_field_sequencing_get_detail_html ast_dataitem_get_detail_html_dummy
1344 /* end of group di_random_field_sequencing */
1346
1347
1348#ifdef __cplusplus
1349 }
1350#endif // extern "C"
1351
1352#endif //LIBASTERIX_CAT_GENERIC_H
1353
1354// vim:set ft=c.doxygen sw=2 sts=2 fenc=utf8:
Mode-S transponder Binary Data Source (BDS) registers.
ASTERIX data item.
Global enumeration definitions.
#define AST_MAX_BDS
Max number of BDS in one data item.
Definition bds.h:101
ast_dataitem_aircraft_id_t ast_dataitem_aircraft_id_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_t ast_dataitem_aircraft_id_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
void ast_dataitem_aircraft_id_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_aircraft_id_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
ast_dataitem_t ast_dataitem_antenna_rotation_period_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
ast_dataitem_antenna_rotation_period_t ast_dataitem_antenna_rotation_period_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_antenna_rotation_period_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
void ast_dataitem_antenna_rotation_period_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_binary_data_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
void ast_dataitem_data_source_identifier_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_t ast_dataitem_data_source_identifier_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
ast_dataitem_data_source_identifier_t ast_dataitem_data_source_identifier_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_data_source_identifier_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_height_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_height_t ast_dataitem_height_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_height_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
ast_dataitem_message_type_t ast_dataitem_message_type_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_t ast_dataitem_message_type_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
void ast_dataitem_mode_3a_code_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_mode_3a_code_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_mode_3a_code_t ast_dataitem_mode_3a_code_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_t ast_dataitem_mode_3a_code_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
ast_dataitem_mode_3a_confidence_t ast_dataitem_mode_3a_confidence_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_t ast_dataitem_mode_3a_confidence_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
void ast_dataitem_mode_3a_confidence_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_mode_3a_confidence_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
void ast_dataitem_mode_c_code_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_t ast_dataitem_mode_c_code_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
void ast_dataitem_mode_c_code_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_mode_c_code_t ast_dataitem_mode_c_code_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_mode_c_confidence_t ast_dataitem_mode_c_confidence_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_mode_c_confidence_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_t ast_dataitem_mode_c_confidence_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
void ast_dataitem_mode_c_confidence_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
void ast_dataitem_modes_mb_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_modes_mb_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_modes_mb_t ast_dataitem_modes_mb_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_position_cartesian_t ast_dataitem_position_cartesian_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_position_cartesian_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
void ast_dataitem_position_wgs84_low_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_t ast_dataitem_position_wgs84_low_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
ast_dataitem_position_wgs84_low_t ast_dataitem_position_wgs84_low_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_position_wgs84_low_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
void ast_dataitem_position_wgs84_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_position_wgs84_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_t ast_dataitem_position_wgs84_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
ast_dataitem_position_wgs84_t ast_dataitem_position_wgs84_decode(const ast_dataitem_t di)
Decode function.
size_t ast_dataitem_random_field_sequencing_get_size(const unsigned char *buffer, const size_t bufsize)
Get size function.
void ast_dataitem_random_field_sequencing_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
size_t ast_dataitem_reserved_expansion_field_get_size(const unsigned char *buffer, const size_t bufsize)
Get size function.
void ast_dataitem_reserved_expansion_field_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_t ast_dataitem_sector_number_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
void ast_dataitem_sector_number_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail funciton.
ast_dataitem_sector_number_t ast_dataitem_sector_number_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_sector_number_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary funciton.
ast_dataitem_t ast_dataitem_service_id_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
ast_dataitem_service_id_t ast_dataitem_service_id_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_service_id_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
void ast_dataitem_signal_amplitude_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
ast_dataitem_signal_amplitude_t ast_dataitem_signal_amplitude_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_t ast_dataitem_signal_amplitude_encode(unsigned char *buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
void ast_dataitem_special_purpose_field_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
size_t ast_dataitem_special_purpose_field_get_size(const unsigned char *buffer, const size_t bufsize)
Get size function.
void ast_dataitem_target_address_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_t ast_dataitem_target_address_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
void ast_dataitem_target_address_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_target_address_t ast_dataitem_target_address_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_target_id_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_target_id_t ast_dataitem_target_id_decode(const ast_dataitem_t di)
Decode function.
ast_target_id_type_t
Target identification type.
Definition cat_generic.h:1082
void ast_dataitem_target_id_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
@ AST_TARGET_ID_REGISTRATION
Definition cat_generic.h:1084
@ AST_TARGET_ID_UNDIFINED
Definition cat_generic.h:1086
@ AST_TARGET_ID_UNKNOWN
Not sure downlinked is callsign or registration.
Definition cat_generic.h:1083
@ AST_TARGET_ID_CALLSIGN
Definition cat_generic.h:1085
void ast_dataitem_time_of_day_high_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_time_of_day_high_t ast_dataitem_time_of_day_high_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_time_of_day_high_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Encode function.
ast_dataitem_t ast_dataitem_time_of_day_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
ast_dataitem_time_of_day_t ast_dataitem_time_of_day_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_time_of_day_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_time_of_day_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary funciton.
void ast_dataitem_track_number_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_t ast_dataitem_track_number_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
ast_dataitem_track_number_t ast_dataitem_track_number_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_velocity_cartesian_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary funciton.
ast_dataitem_velocity_cartesian_t ast_dataitem_velocity_cartesian_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_velocity_polar_t ast_dataitem_velocity_polar_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_t ast_dataitem_velocity_polar_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
void ast_dataitem_velocity_polar_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_velocity_polar_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
void ast_dataitem_vertical_rate_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
void ast_dataitem_vertical_rate_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_vertical_rate_t ast_dataitem_vertical_rate_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_t ast_dataitem_vertical_rate_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
#define AST_API
Definition platform.h:63
Binary Data Source (BDS).
Definition bds.h:105
Data Item - Target Identification.
Definition cat_generic.h:1039
char aircraft_id[9]
Definition cat_generic.h:1042
bool valid
Definition cat_generic.h:1040
Data Item - Antenna Rotation Period.
Definition cat_generic.h:328
double period
Rotation period in seconds.
Definition cat_generic.h:332
unsigned int raw_period
Raw value, LSB = 1/128 s.
Definition cat_generic.h:331
bool valid
Definition cat_generic.h:329
Data Item - Data Source Identifier.
Definition cat_generic.h:133
bool valid
Definition cat_generic.h:134
unsigned int sic
Definition cat_generic.h:137
unsigned int sac
Definition cat_generic.h:136
Extracted dataitem.
Definition dataitem.h:526
Data Item - Height.
Definition cat_generic.h:813
double height
Height, LSB=1ft.
Definition cat_generic.h:817
int raw_height
Raw height, LSB=6.25ft.
Definition cat_generic.h:816
bool valid
Definition cat_generic.h:814
Data Item - Message Type.
Definition cat_generic.h:80
unsigned int msg_type
Definition cat_generic.h:83
bool valid
Definition cat_generic.h:81
Data Item - Mode-3/A Code in Octal Representation.
Definition cat_generic.h:622
bool valid
Definition cat_generic.h:623
bool unvalidated
Definition cat_generic.h:625
int code
Original code in octal.
Definition cat_generic.h:631
bool smoothed
Definition cat_generic.h:627
bool changed
Mode 3/A has changed, valid only in I062/060.
Definition cat_generic.h:629
bool garbled
Definition cat_generic.h:626
Data Item - Mode-3/A Code Confidence Indicator.
Definition cat_generic.h:673
bool valid
Definition cat_generic.h:674
bool pulse_quality_low[4][3]
true = low quality pulse
Definition cat_generic.h:676
Data Item - Mode-C Code.
Definition cat_generic.h:719
bool garbled
Definition cat_generic.h:723
bool validated
Definition cat_generic.h:722
bool valid
Definition cat_generic.h:720
int code
Definition cat_generic.h:725
Data Item - Mode-C Code and Code Confidence Indicator.
Definition cat_generic.h:766
bool garbled
Definition cat_generic.h:770
bool valid
Definition cat_generic.h:767
bool validated
Definition cat_generic.h:769
unsigned int code
Definition cat_generic.h:772
bool pulse_quality_low[4][3]
Ordered pulse quality, from A to D (A-B-C-D), from 4 to 1 (4-2-1), true = low quality pulse.
Definition cat_generic.h:774
bool pulse[4][3]
Ordered pulse existance, from A to D (A-B-C-D), from 4 to 1 (4-2-1), true = pulse exist.
Definition cat_generic.h:773
Data Item - Mode S MB Data.
Definition cat_generic.h:1171
ast_bds_t bds[8]
Definition cat_generic.h:1175
size_t n_bds
Definition cat_generic.h:1174
bool valid
Definition cat_generic.h:1172
Data Item - Position in Cartesian Coordinates.
Definition cat_generic.h:507
int raw_y
Raw format as defined in doc, resolution 0.5m.
Definition cat_generic.h:511
double x
X in meter.
Definition cat_generic.h:513
bool valid
Definition cat_generic.h:508
double y
Y in meter.
Definition cat_generic.h:514
int raw_x
Raw format as defined in doc, resolution 0.5m.
Definition cat_generic.h:510
Data Item - Position in WGS84 Coordinates (Low Reslution).
Definition cat_generic.h:412
bool valid
Definition cat_generic.h:413
int raw_latitude
Raw format as defined in doc, resolution 180/2^23 degree.
Definition cat_generic.h:415
int raw_longitude
Raw format as defined in doc, resolution 180/2^23 degree.
Definition cat_generic.h:416
double longitude
Longitude in degree.
Definition cat_generic.h:419
double latitude
Latitude in degree.
Definition cat_generic.h:418
Data Item - Position in WGS84 Coordinates.
Definition cat_generic.h:462
int raw_latitude
Raw format as defined in doc, resolution 180/2^n degree (n varies in different data item).
Definition cat_generic.h:465
double latitude
Latitude in degree.
Definition cat_generic.h:468
bool valid
Definition cat_generic.h:463
double longitude
Longitude in degree.
Definition cat_generic.h:469
int raw_longitude
Raw format as defined in doc, resolution 180/2^n degree (n varies in different data item).
Definition cat_generic.h:466
Data Item - Sector Number.
Definition cat_generic.h:221
bool valid
Definition cat_generic.h:222
unsigned int raw_azimuth
Raw format as defined in doc, resolution 360/2^8 ~= 1.14 degree.
Definition cat_generic.h:224
double azimuth
Definition cat_generic.h:225
Data Item - Service Identification.
Definition cat_generic.h:179
bool valid
Definition cat_generic.h:180
unsigned int service_id
Definition cat_generic.h:182
Data Item - Signal Amplitude.
Definition cat_generic.h:1129
int amplitude
Definition cat_generic.h:1132
bool valid
Definition cat_generic.h:1130
Dataitem.
Definition dataitem.h:515
Data Item - Target Address.
Definition cat_generic.h:996
bool valid
Definition cat_generic.h:997
unsigned int icao_address
Definition cat_generic.h:1000
unsigned char raw_address[3]
Definition cat_generic.h:999
Data Item - Target Identification.
Definition cat_generic.h:1091
ast_target_id_type_t type
Definition cat_generic.h:1094
bool valid
Definition cat_generic.h:1092
char target_id[9]
Definition cat_generic.h:1095
Data Item - Time of Day High Precision.
Definition cat_generic.h:370
bool valid
Definition cat_generic.h:371
double second_fraction
Raw format as defined in doc, expressed as fraction of the second of the UTC Time,...
Definition cat_generic.h:375
unsigned int raw_time
Full Second Indication.
Definition cat_generic.h:374
int fsi
Definition cat_generic.h:373
Data Item - Time of Day.
Definition cat_generic.h:282
unsigned int hour
Hour.
Definition cat_generic.h:287
unsigned int sec
Second.
Definition cat_generic.h:289
unsigned int msec
Millisecond.
Definition cat_generic.h:290
unsigned int raw_time
Raw format as defined in doc, reset zero at mid night, resolution 1/128s.
Definition cat_generic.h:285
bool valid
True, if data item is correctly decoded.
Definition cat_generic.h:283
unsigned int min
Minute.
Definition cat_generic.h:288
Data Item Itrack_number - Track Number.
Definition cat_generic.h:906
unsigned int track_num
Definition cat_generic.h:909
bool valid
Definition cat_generic.h:907
Data Item - Calculated Track Velocity in Cartesian Coordinates.
Definition cat_generic.h:550
double vx
Vx in m/s.
Definition cat_generic.h:556
int raw_vx
Raw format as defined in doc, resolution 0.25 m/s.
Definition cat_generic.h:553
int raw_vy
Raw format as defined in doc, resolution 0.25 m/s.
Definition cat_generic.h:554
double vy
Vy in m/s.
Definition cat_generic.h:557
bool valid
Definition cat_generic.h:551
Data Item - Calculated Track Track Velocity in Polar Co-ordinates.
Definition cat_generic.h:949
double heading
Heading, LSB = degree.
Definition cat_generic.h:956
bool valid
Definition cat_generic.h:950
int raw_ground_speed
Raw format as defined in doc, resolution 2^-14 nm/s.
Definition cat_generic.h:952
double ground_speed
Ground speed, LSB = knot.
Definition cat_generic.h:955
int raw_heading
Raw format as defined in doc, resolution 360/2^16 degree.
Definition cat_generic.h:953
Data Item - Vertical Rate.
Definition cat_generic.h:852
bool valid
Definition cat_generic.h:853
int raw_vr
Vertical rate, LSB=6.25 feet/minute.
Definition cat_generic.h:856
bool range_exceeded
Range exceeded indicator.
Definition cat_generic.h:855
double vr
Vertical rate, LSB=1 feet/minute.
Definition cat_generic.h:857
Data Item - Video Header.
Definition cat_generic.h:1211
double cell_duration
Video cell duration, could be nano-seconds (10^-9 sec) or femto-seconds (10^-15 sec).
Definition cat_generic.h:1222
double start_azimuth
End azimuth, LSB = 360/2^16.
Definition cat_generic.h:1216
bool valid
Definition cat_generic.h:1212
unsigned int cell_duration_raw
Starting range of the cells group, expressed in number of cells. 0 is the radar location without any ...
Definition cat_generic.h:1221
unsigned int start_range
End azimuth, LSB = degree.
Definition cat_generic.h:1219
unsigned int end_azimuth_raw
Start azimuth, LSB = 360/2^16.
Definition cat_generic.h:1215
double end_azimuth
Start azimuth, LSB = degree.
Definition cat_generic.h:1217
unsigned int start_azimuth_raw
Definition cat_generic.h:1214