cat062.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 
28 #ifndef LIBASTERIX_CAT062_H
29 #define LIBASTERIX_CAT062_H
30 
31 #include "dataitem.h"
32 #include "datarecord.h"
33 #include "cat_generic.h"
34 #include "subfield.h"
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 // Data Item
41 
44 
45 
52 #define ast_dataitem_062_010_get_size ast_dataitem_data_source_identifier_get_size
53 #define ast_dataitem_062_010_decode ast_dataitem_data_source_identifier_decode
54 #define ast_dataitem_062_010_encode ast_dataitem_data_source_identifier_encode
55 #define ast_dataitem_062_010_get_summary ast_dataitem_data_source_identifier_get_summary
56 #define ast_dataitem_062_010_get_detail_html ast_dataitem_data_source_identifier_get_detail_html
57 
67 #define ast_dataitem_062_015_get_size ast_dataitem_service_id_get_size
68 #define ast_dataitem_062_015_decode ast_dataitem_service_id_decode
69 #define ast_dataitem_062_015_get_summary ast_dataitem_service_id_get_summary
70 #define ast_dataitem_062_015_get_detail_html ast_dataitem_service_id_get_detail_html
71 
81 #define ast_dataitem_062_040_get_size ast_dataitem_track_number_get_size
82 #define ast_dataitem_062_040_decode ast_dataitem_track_number_decode
83 
85 #define ast_dataitem_062_040_encode ast_dataitem_track_number_encode
86 
87 #define ast_dataitem_062_040_get_summary ast_dataitem_track_number_get_summary
88 #define ast_dataitem_062_040_get_detail_html ast_dataitem_track_number_get_detail_html
89 
99 #define ast_dataitem_062_060_get_size ast_dataitem_mode_3a_code_get_size
100 #define ast_dataitem_062_060_decode ast_dataitem_mode_3a_code_decode
101 #define ast_dataitem_062_060_encode ast_dataitem_mode_3a_code_encode
102 #define ast_dataitem_062_060_get_summary ast_dataitem_mode_3a_code_get_summary
103 #define ast_dataitem_062_060_get_detail_html ast_dataitem_mode_3a_code_get_detail_html
104 
114 #define ast_dataitem_062_070_get_size ast_dataitem_time_of_day_get_size
115 #define ast_dataitem_062_070_decode ast_dataitem_time_of_day_decode
116 #define ast_dataitem_062_070_get_summary ast_dataitem_time_of_day_get_summary
117 #define ast_dataitem_062_070_get_detail_html ast_dataitem_time_of_day_get_detail_html
118 
129 typedef enum _ast_altitude_type_t
130 {
134 
135 typedef enum _ast_altitude_source_t
136 {
146 
148 typedef struct _ast_dataitem_062_080_t
149 {
150  bool valid;
151 
153  bool spi;
157 
160 
162 #define ast_dataitem_062_080_get_size ast_dataitem_get_size_var_6_byte
163 
166 
168 AST_API void ast_dataitem_062_080_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
169 
171 AST_API void ast_dataitem_062_080_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
172 
173 
183 #define ast_dataitem_062_100_get_size ast_dataitem_position_cartesian_get_size
184 #define ast_dataitem_062_100_decode ast_dataitem_position_cartesian_decode
185 #define ast_dataitem_062_100_get_summary ast_dataitem_position_cartesian_get_summary
186 #define ast_dataitem_062_100_get_detail_html ast_dataitem_position_cartesian_get_detail_html
187 
197 typedef struct _ast_dataitem_062_110_t
199 {
200  bool valid;
201 
203  size_t n_subfields;
204 
206 
208 AST_API size_t ast_dataitem_062_110_get_size(const unsigned char *buffer, const size_t bufsize);
209 
212 
214 #define ast_dataitem_062_110_get_summary ast_dataitem_subfields_get_summary
215 
217 #define ast_dataitem_062_110_get_detail_html ast_dataitem_subfields_get_detail_html
218 
220 AST_API size_t ast_subfield_062_110_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
221 
224 
227 
229 AST_API void ast_subfield_062_110_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type);
230 
232 AST_API void ast_subfield_062_110_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type);
233 
243 #define ast_dataitem_062_105_get_size ast_dataitem_position_wgs84_get_size
244 #define ast_dataitem_062_105_decode ast_dataitem_position_wgs84_decode
245 #define ast_dataitem_062_105_get_summary ast_dataitem_position_wgs84_get_summary
246 #define ast_dataitem_062_105_get_detail_html ast_dataitem_position_wgs84_get_detail_html
247 
256 #define ast_dataitem_062_120_get_size ast_dataitem_get_size_fixed_2_byte
257 
266 typedef struct _ast_dataitem_062_130_t
268 {
269  bool valid;
270 
271  int raw_level;
273 
275 #define ast_dataitem_062_130_get_size ast_dataitem_get_size_fixed_2_byte
276 
279 
281 AST_API void ast_dataitem_062_130_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
282 
284 AST_API void ast_dataitem_062_130_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
285 
294 typedef struct _ast_dataitem_062_135_t
296 {
297  bool valid;
298 
300 
302  int altitude;
304 
306 #define ast_dataitem_062_135_get_size ast_dataitem_get_size_fixed_2_byte
307 
310 
312 AST_API void ast_dataitem_062_135_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
313 
315 AST_API void ast_dataitem_062_135_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
316 
325 typedef struct _ast_dataitem_062_136_t
327 {
328  bool valid;
329 
330  int raw_level;
331  int level;
333 
335 #define ast_dataitem_062_136_get_size ast_dataitem_get_size_fixed_2_byte
336 
339 
341 AST_API void ast_dataitem_062_136_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
342 
344 AST_API void ast_dataitem_062_136_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
345 
355 #define ast_dataitem_062_185_get_size ast_dataitem_velocity_cartesian_get_size
356 #define ast_dataitem_062_185_decode ast_dataitem_velocity_cartesian_decode
357 #define ast_dataitem_062_185_get_summary ast_dataitem_velocity_cartesian_get_summary
358 #define ast_dataitem_062_185_get_detail_html ast_dataitem_velocity_cartesian_get_detail_html
359 
368 typedef enum _ast_transversal_movement_type_t
369 {
375 
376 typedef enum _ast_longitudinal_movement_type_t
377 {
383 
384 typedef enum _ast_vertical_movement_type_t
385 {
391 
393 typedef struct _ast_dataitem_062_200_t
394 {
395  bool valid;
396 
400 
402 
404 #define ast_dataitem_062_200_get_size ast_dataitem_get_size_fixed_1_byte
405 
408 
410 AST_API void ast_dataitem_062_200_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
411 
413 AST_API void ast_dataitem_062_200_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
414 
423 typedef struct _ast_dataitem_062_210_t
425 {
426  bool valid;
427 
428  int raw_ax;
429  int raw_ay;
431 
433 #define ast_dataitem_062_210_get_size ast_dataitem_get_size_fixed_2_byte
434 
437 
439 AST_API void ast_dataitem_062_210_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
440 
442 AST_API void ast_dataitem_062_210_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
443 
452 typedef struct _ast_dataitem_062_220_t
454 {
455  bool valid;
456 
457  int raw_rate;
459 
461 #define ast_dataitem_062_220_get_size ast_dataitem_get_size_fixed_2_byte
462 
465 
467 AST_API void ast_dataitem_062_220_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
468 
470 AST_API void ast_dataitem_062_220_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
471 
481 #define ast_dataitem_062_245_get_size ast_dataitem_target_id_get_size
482 #define ast_dataitem_062_245_decode ast_dataitem_target_id_decode
483 #define ast_dataitem_062_245_get_summary ast_dataitem_target_id_get_summary
484 #define ast_dataitem_062_245_get_detail_html ast_dataitem_target_id_get_detail_html
485 
494 typedef struct _ast_dataitem_062_290_t
496 {
497  bool valid;
498 
500  size_t n_subfields;
501 
502  //subfield #1
504  double trk_age;
505 
506  //subfield #2
507 
509 
511 AST_API size_t ast_dataitem_062_290_get_size(const unsigned char *buffer, const size_t bufsize);
512 
515 
517 #define ast_dataitem_062_290_get_summary ast_dataitem_subfields_get_summary
518 
520 #define ast_dataitem_062_290_get_detail_html ast_dataitem_subfields_get_detail_html
521 
523 AST_API size_t ast_subfield_062_290_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
524 
527 
530 
532 AST_API void ast_subfield_062_290_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type);
533 
535 AST_API void ast_subfield_062_290_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type);
536 
545 typedef struct _ast_dataitem_062_295_t
547 {
548  bool valid;
549 
551  size_t n_subfields;
552 
553  //subfields
554  bool existing[AST_MAX_SUBFIELDS];
555  int raw_age[AST_MAX_SUBFIELDS];
556 
558 
560 AST_API size_t ast_dataitem_062_295_get_size(const unsigned char *buffer, const size_t bufsize);
561 
564 
566 #define ast_dataitem_062_295_get_summary ast_dataitem_subfields_get_summary
567 
569 #define ast_dataitem_062_295_get_detail_html ast_dataitem_subfields_get_detail_html
570 
572 AST_API size_t ast_subfield_062_295_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
573 
576 
579 
581 AST_API void ast_subfield_062_295_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type);
582 
584 AST_API void ast_subfield_062_295_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type);
585 
594 typedef struct _ast_dataitem_062_340_t
596 {
597  bool valid;
598 
600  size_t n_subfields;
601 
602 
603 
605 
607 AST_API size_t ast_dataitem_062_340_get_size(const unsigned char *buffer, const size_t bufsize);
608 
611 
613 #define ast_dataitem_062_340_get_summary ast_dataitem_subfields_get_summary
614 
616 #define ast_dataitem_062_340_get_detail_html ast_dataitem_subfields_get_detail_html
617 
619 AST_API size_t ast_subfield_062_340_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
620 
623 
626 
628 AST_API void ast_subfield_062_340_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type);
629 
631 AST_API void ast_subfield_062_340_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type);
632 
641 typedef struct _ast_dataitem_062_380_t
643 {
644  bool valid;
645 
647  size_t n_subfields;
648 
649  //subfield #1
651  unsigned char adr_raw_address[3];
652  unsigned int adr_icao_address;
653 
654  //subfield #2
656  char id_targetid[9];
657 
659 
661 AST_API size_t ast_dataitem_062_380_get_size(const unsigned char *buffer, const size_t bufsize);
662 
665 
667 #define ast_dataitem_062_380_get_summary ast_dataitem_subfields_get_summary
668 
670 #define ast_dataitem_062_380_get_detail_html ast_dataitem_subfields_get_detail_html
671 
673 AST_API size_t ast_subfield_062_380_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
674 
677 
680 
682 AST_API void ast_subfield_062_380_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type);
683 
685 AST_API void ast_subfield_062_380_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type);
686 
697 typedef enum _ast_air_traffic_type_t
698 {
704 
705 typedef enum _ast_flight_rule_t
706 {
712 
713 typedef enum _ast_rvsm_type_t
714 {
720 
721 typedef enum _ast_deparr_time_type_t
722 {
738 
739 typedef enum _ast_day_type_t
740 {
746 
747 typedef struct _ast_deparr_time_t
748 {
751  int hour;
752  int minute;
754  int second;
756 
757 #define AST_MAX_DEPARR_TIMES (AST_TIME_ACUTAL_ONBLOCK_TIME + 1)
758 
760 typedef struct _ast_dataitem_062_390_t
761 {
762  bool valid;
763 
765  size_t n_subfields;
766 
767  //subfield #1
769 
770  //subfield #2
772  char csn_callsign[8];
773 
774  //subfield #3
776 
777  //subfield #4
783 
784  //subfield #5
786  char tac_actype[5];
787 
788  //subfield #6
790  char wtc_wake;
791 
792  //subfield #7
794  char dep_airport[5];
795 
796  //subfield #8
798  char dst_airport[5];
799 
800  //subfield #9
802 
803  //subfield #10
805  int cfl_raw;
806 
807  //subfield #11
809 
810  //subfield #12
812  size_t tod_n_times;
814 
815  //subfield #13
817 
818  //subfield #14
820 
821  //subfield #15
823 
824  //subfield #16
826 
827  //subfield #17
829 
830  //subfield #18
832 
833 
835 
837 AST_API size_t ast_dataitem_062_390_get_size(const unsigned char *buffer, const size_t bufsize);
838 
841 
843 #define ast_dataitem_062_390_get_summary ast_dataitem_subfields_get_summary
844 
846 #define ast_dataitem_062_390_get_detail_html ast_dataitem_subfields_get_detail_html
847 
849 AST_API size_t ast_subfield_062_390_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
850 
853 
856 
858 AST_API void ast_subfield_062_390_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type);
859 
861 AST_API void ast_subfield_062_390_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type);
862 
871 typedef struct _ast_dataitem_062_500_t
873 {
874  bool valid;
875 
877  size_t n_subfields;
878 
879 
881 
883 AST_API size_t ast_dataitem_062_500_get_size(const unsigned char *buffer, const size_t bufsize);
884 
887 
889 #define ast_dataitem_062_500_get_summary ast_dataitem_subfields_get_summary
890 
892 #define ast_dataitem_062_500_get_detail_html ast_dataitem_subfields_get_detail_html
893 
895 AST_API size_t ast_subfield_062_500_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
896 
899 
902 
904 AST_API void ast_subfield_062_500_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type);
905 
907 AST_API void ast_subfield_062_500_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type);
908 
917 #define AST_MAX_SYSTEM_UNITS 16
918 
920 typedef struct _ast_dataitem_062_510_t
921 {
922  bool valid;
923 
924  int n_units;
925  int unit_id[AST_MAX_SYSTEM_UNITS];
926  int track_number[AST_MAX_SYSTEM_UNITS];
928 
930 AST_API size_t ast_dataitem_062_510_get_size(const unsigned char* buffer, const size_t bufsize);
931 
934 
936 AST_API void ast_dataitem_062_510_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
937 
939 AST_API void ast_dataitem_062_510_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
940 
949 #define ast_dataitem_062_REF_get_size ast_dataitem_reserved_expansion_field_get_size
951 
953 //ast_dataitem_062_REF_t ast_dataitem_062_REF_decode(const ast_dataitem_t di);
954 
956 #define ast_dataitem_062_REF_get_summary ast_dataitem_reserved_expansion_field_get_summary
957 
959 #define ast_dataitem_062_REF_get_detail_html ast_dataitem_reserved_expansion_field_get_detail_html
960 
970 #define ast_dataitem_062_SPF_get_size ast_dataitem_special_purpose_field_get_size
972 
974 //ast_dataitem_062_SPF_t ast_dataitem_062_SPF_decode(const ast_dataitem_t di);
975 
977 #define ast_dataitem_062_SPF_get_summary ast_dataitem_special_purpose_field_get_summary
978 
980 #define ast_dataitem_062_SPF_get_detail_html ast_dataitem_special_purpose_field_get_detail_html
981 
984 // Data Record
985 
988 
991 
994 
997 
1000 
1003 
1006 
1009 
1012 
1014 #define ast_datarecord_062_get_polarcoord 0
1015 
1017 #define ast_datarecord_062_get_heading 0
1018 
1020 #define ast_datarecord_062_get_speed 0
1021 
1027 typedef struct _ast_datarecord_062_t
1029 {
1030  bool valid;
1031 
1055 
1057 
1060 
1064 #ifdef __cplusplus
1065  }
1066 #endif // extern "C"
1067 
1068 #endif //LIBASTERIX_CAT062_H
1069 
1070 // vim:set ft=c.doxygen sw=2 sts=2 fenc=utf8:
ast_altitude_source_t
Definition: cat062.h:135
bool fct_existing
Definition: cat062.h:778
void ast_dataitem_062_210_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
Definition: cat062.h:372
bool fct_high_priority
Definition: cat062.h:782
bool valid
Definition: cat062.h:548
bool id_existing
Definition: cat062.h:655
ast_deparr_time_type_t
Definition: cat062.h:721
size_t ast_dataitem_062_110_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of dataitem.
ast_dataitem_062_010_t dataitem_062_010
Definition: cat062.h:1032
Altitude.
Definition: type.h:111
bool valid
Definition: cat062.h:644
Data Record I062 - SDPS Track Messages.
Definition: cat062.h:1028
void ast_dataitem_062_135_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_062_210_t ast_dataitem_062_210_decode(const ast_dataitem_t di)
Decode function.
size_t ast_subfield_062_380_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield.
bool csn_existing
Definition: cat062.h:771
bool pem_existing
Definition: cat062.h:828
ast_timeofday_t ast_datarecord_062_get_timeofday(const ast_datarecord_t dr)
Get time of day function.
ast_dataitem_data_source_identifier_t ast_dataitem_062_010_t
Definition: cat062.h:51
void ast_subfield_062_110_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detail HTML snippet of subfield.
ast_altitude_source_t altitude_source
Definition: cat062.h:155
int second
Definition: cat062.h:754
int level
LSB FT, Range -1500FT~150000FT.
Definition: cat062.h:331
void ast_subfield_062_390_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detail HTML snippet of subfield.
ast_dataitem_062_295_t ast_dataitem_062_295_decode(const ast_dataitem_t di)
Decode function of dataitem.
Definition: cat062.h:701
ast_subfield_type_t
Definition of subfield id in each dataitem.
Definition: subfield.h:53
Implementation of Datarecord concept defined by ASTERIX.
Definition: cat062.h:373
Definition: cat062.h:725
const char * ast_subfield_062_500_get_name(const ast_subfield_type_t type)
Get name of subfield.
size_t ast_dataitem_062_380_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of dataitem.
Data Source Identifier (aka SAC/SIC)
Definition: type.h:35
void ast_dataitem_062_080_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_time_of_day_t ast_dataitem_062_070_t
Definition: cat062.h:113
void ast_subfield_062_500_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield.
Data Item I062/380 - Aircraft Derived Data.
Definition: cat062.h:642
const char * ast_subfield_062_380_get_name(const ast_subfield_type_t type)
Get name of subfield.
bool mono_track
Definition: cat062.h:152
ast_dataitem_062_390_t dataitem_062_390
Definition: cat062.h:1052
Definition: cat062.h:381
void ast_dataitem_062_080_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
size_t n_subfields
Definition: cat062.h:203
Data Item Itrack_number - Track Number.
Definition: cat_generic.h:718
bool valid
Definition: cat062.h:150
const char * ast_subfield_062_340_get_id(const ast_subfield_type_t type)
Get id string of subfield.
ast_rvsm_type_t fct_rvsm_type
Definition: cat062.h:781
Definition: cat062.h:729
Definition: cat062.h:387
ast_dataitem_062_210_t dataitem_062_210
Definition: cat062.h:1045
ast_altitude_type_t more_reliable_height
Definition: cat062.h:154
Definition: cat062.h:141
size_t ast_subfield_062_290_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield.
ast_dataitem_062_380_t ast_dataitem_062_380_decode(const ast_dataitem_t di)
Decode function of dataitem.
Definition: cat062.h:132
bool valid
Definition: cat062.h:762
Data Item - Position in Cartesian Coordinates.
Definition: cat_generic.h:380
size_t n_subfields
Definition: cat062.h:500
Definition: cat062.h:389
void ast_dataitem_062_200_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
#define AST_API
Definition: platform.h:63
Definition: cat062.h:131
Data Item - Data Source Identifier.
Definition: cat_generic.h:93
ast_dataitem_mode_3a_code_t ast_dataitem_062_060_t
Definition: cat062.h:98
void ast_subfield_062_340_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield.
int cfl_raw
CFL LSB=1/4FL.
Definition: cat062.h:805
size_t n_subfields
Definition: cat062.h:600
const char * ast_subfield_062_290_get_name(const ast_subfield_type_t type)
Get name of subfield.
const char * ast_subfield_062_290_get_id(const ast_subfield_type_t type)
Get id string of subfield.
Definition: cat062.h:709
size_t ast_dataitem_062_295_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of dataitem.
const char * ast_subfield_062_340_get_name(const ast_subfield_type_t type)
Get name of subfield.
ast_dataitem_062_500_t dataitem_062_500
Definition: cat062.h:1053
const char * ast_subfield_062_390_get_id(const ast_subfield_type_t type)
Get id string of subfield.
ast_dataitem_062_500_t ast_dataitem_062_500_decode(const ast_dataitem_t di)
Decode function of dataitem.
Data Item I062/130 - Calculated Track Geometric Altitude.
Definition: cat062.h:267
Data Item - Time of Day.
Definition: cat_generic.h:216
Data Item I062/390 - Flight Plan Related Data.
Definition: cat062.h:760
ast_transversal_movement_type_t
Definition: cat062.h:368
bool valid
Definition: cat062.h:328
Definition: cat062.h:143
ast_dataitem_062_015_t dataitem_062_015
Definition: cat062.h:1033
Data Item I062/135 - Calculated Track Barometric Altitude.
Definition: cat062.h:295
ast_flight_rule_t
Definition: cat062.h:705
Definition: cat062.h:370
const char * ast_dataitem_062_get_name(const ast_dataitem_type_t type)
Get name function.
Data Item I062/220 - Calculated Rate of Climb/Descent.
Definition: cat062.h:453
ast_dataitem_062_136_t ast_dataitem_062_136_decode(const ast_dataitem_t di)
Decode function.
bool valid
Definition: cat062.h:597
Data Item I062/136 - Measured Flight Level.
Definition: cat062.h:326
bool dep_existing
Definition: cat062.h:793
ast_longitudinal_movement_type_t
Definition: cat062.h:376
void ast_dataitem_062_510_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_coordinate_t ast_datarecord_062_get_coordinate(const ast_datarecord_t dr)
Get coordinate function.
bool rds_existing
Definition: cat062.h:801
ast_dataitem_062_070_t dataitem_062_070
Definition: cat062.h:1036
ast_dataitem_062_040_t dataitem_062_040
Definition: cat062.h:1034
void ast_subfield_062_340_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detail HTML snippet of subfield.
bool tac_existing
Definition: cat062.h:785
void ast_subfield_062_380_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detail HTML snippet of subfield.
This file includes the common used data items shares by different categories.
Definition: cat062.h:715
size_t n_subfields
Definition: cat062.h:647
const char * ast_subfield_062_295_get_id(const ast_subfield_type_t type)
Get id string of subfield.
int raw_level
LSB 6.25ft, Range -1500ft~150,000ft.
Definition: cat062.h:271
Definition: cat062.h:716
ast_dataitem_062_510_t ast_dataitem_062_510_decode(const ast_dataitem_t di)
Decode function.
Data Item I062/080 - Track Status.
Definition: cat062.h:148
Definition: type.h:66
bool valid
Definition: cat062.h:395
bool ctl_existing
Definition: cat062.h:808
size_t tod_n_times
Definition: cat062.h:812
ast_dataitem_track_number_t ast_dataitem_062_040_t
Definition: cat062.h:80
Definition: cat062.h:138
#define AST_MAX_DEPARR_TIMES
Definition: cat062.h:757
Data Item - Service Identification.
Definition: cat_generic.h:133
void ast_dataitem_062_136_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_longitudinal_movement_type_t longitudinal_movement
Definition: cat062.h:398
int hour
Definition: cat062.h:751
Definition: cat062.h:388
ast_transversal_movement_type_t transversal_movement
Definition: cat062.h:397
ast_altitude_type_t
Definition: cat062.h:129
bool qnh_corrected
Definition: cat062.h:299
ast_dataitem_target_id_t ast_dataitem_062_245_t
Definition: cat062.h:480
Data Item I062/110 - Mode 5 Data reports & Extended Mode 1 Code.
Definition: cat062.h:198
Data Item - Target Identification.
Definition: cat_generic.h:884
size_t ast_subfield_062_340_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield.
int raw_ay
LSB 0.25 m/s2.
Definition: cat062.h:429
Subfield struct.
Definition: subfield.h:293
void ast_dataitem_062_210_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
Definition: cat062.h:732
ast_vertical_movement_type_t vertical_movement
Definition: cat062.h:399
Definition: cat062.h:743
bool valid
Definition: cat062.h:922
bool valid
Definition: cat062.h:455
const char * ast_subfield_062_295_get_name(const ast_subfield_type_t type)
Get name of subfield.
size_t ast_dataitem_062_390_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of dataitem.
bool valid
Definition: cat062.h:200
ast_dataitem_062_080_t ast_dataitem_062_080_decode(const ast_dataitem_t di)
Decode function.
size_t ast_dataitem_062_510_get_size(const unsigned char *buffer, const size_t bufsize)
Get size function.
Data Item I062/500 - Estimated Accuracies.
Definition: cat062.h:872
void ast_dataitem_062_200_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
bool adr_existing
Definition: cat062.h:650
const char * ast_subfield_062_390_get_name(const ast_subfield_type_t type)
Get name of subfield.
ast_dataitem_062_200_t ast_dataitem_062_200_decode(const ast_dataitem_t di)
Decode function.
int raw_altitude
LSB 1/4FL, Range -15FL~1500FL.
Definition: cat062.h:301
int n_units
Definition: cat062.h:924
size_t ast_dataitem_062_290_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of dataitem.
ast_dataitem_service_id_t ast_dataitem_062_015_t
Definition: cat062.h:66
Data Item - Position in WGS84 Coordinates.
Definition: cat_generic.h:339
void ast_dataitem_062_135_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
size_t n_subfields
Definition: cat062.h:765
ast_dataitem_062_135_t dataitem_062_135
Definition: cat062.h:1041
char wtc_wake
Definition: cat062.h:790
unsigned int adr_icao_address
Definition: cat062.h:652
Definition: cat062.h:144
ast_day_type_t
Definition: cat062.h:739
#define AST_MAX_SYSTEM_UNITS
Definition: cat062.h:917
bool dst_existing
Definition: cat062.h:797
bool tag_existing
Definition: cat062.h:768
ast_dataitem_062_080_t dataitem_062_080
Definition: cat062.h:1037
Definition: cat062.h:744
Squawk (aka Mode-3/A Code)
Definition: type.h:80
ast_dataitem_062_290_t dataitem_062_290
Definition: cat062.h:1048
Data Item - Calculated Track Velocity in Cartesian Coordinates.
Definition: cat_generic.h:419
Definition: cat062.h:137
Data Item I062/290 - System Track Update Ages.
Definition: cat062.h:495
void ast_subfield_062_110_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield.
ast_msgtype_t ast_datarecord_062_get_msgtype(const ast_datarecord_t dr)
Get message type function.
Implementation of Dataitem concept defined by ASTERIX.
Definition: cat062.h:700
bool wtc_existing
Definition: cat062.h:789
ast_dataitem_062_340_t dataitem_062_340
Definition: cat062.h:1050
Definition: cat062.h:718
size_t ast_subfield_062_390_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield.
ast_dataitem_062_510_t dataitem_062_510
Definition: cat062.h:1054
void ast_subfield_062_290_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield.
Data Item I062/510 - Composed Track Number.
Definition: cat062.h:920
bool spi
Definition: cat062.h:153
Definition: cat062.h:142
Data Item I062/295 - Track Data Age.
Definition: cat062.h:546
ast_dataitem_062_100_t dataitem_062_100
Definition: cat062.h:1038
Definition: cat062.h:730
Definition: cat062.h:386
Definition: cat062.h:742
Definition: cat062.h:723
int altitude
LSB FT, Range -1500FT~150000FT.
Definition: cat062.h:302
Definition: cat062.h:371
void ast_subfield_062_380_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield.
ast_air_traffic_type_t fct_air_traffic_type
Definition: cat062.h:779
Definition: cat062.h:726
Definition: cat062.h:734
ast_dataitem_062_105_t dataitem_062_105
Definition: cat062.h:1039
ast_dataitem_062_185_t dataitem_062_185
Definition: cat062.h:1043
Definition: cat062.h:741
Definition: cat062.h:747
Definition: cat062.h:724
void ast_dataitem_062_510_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_062_130_t ast_dataitem_062_130_decode(const ast_dataitem_t di)
Decode function.
Dataitem.
Definition: dataitem.h:419
bool cfl_existing
Definition: cat062.h:804
void ast_subfield_062_290_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detail HTML snippet of subfield.
void ast_dataitem_062_220_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_velocity_cartesian_t ast_dataitem_062_185_t
Definition: cat062.h:354
bool second_valid
Definition: cat062.h:753
bool valid
Definition: cat062.h:297
bool valid
Definition: cat062.h:1030
Data Item - Mode-3/A Code in Octal Representation.
Definition: cat_generic.h:474
ast_dataitem_062_380_t dataitem_062_380
Definition: cat062.h:1051
ast_dataitem_position_wgs84_t ast_dataitem_062_105_t
Definition: cat062.h:242
ast_dataitem_062_135_t ast_dataitem_062_135_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_062_060_t dataitem_062_060
Definition: cat062.h:1035
bool valid
Definition: cat062.h:426
bool tod_existing
Definition: cat062.h:811
Data Item I062/200 - Mode of Movement.
Definition: cat062.h:393
ast_dataitem_062_290_t ast_dataitem_062_290_decode(const ast_dataitem_t di)
Decode function of dataitem.
bool ast_existing
Definition: cat062.h:816
Definition: cat062.h:707
size_t ast_subfield_062_500_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield.
Data Item I062/340 - easured Information.
Definition: cat062.h:595
Callsign.
Definition: type.h:89
ast_dataitem_type_t
Definition of data item id in each category.
Definition: dataitem.h:66
int raw_rate
LSB 6.25 feet/minute, positive as climb, negative as descent.
Definition: cat062.h:457
Definition: cat062.h:735
ast_dataitem_062_220_t dataitem_062_220
Definition: cat062.h:1046
ast_callsign_t ast_datarecord_062_get_callsign(const ast_datarecord_t dr)
Get callsign function.
#define AST_MAX_SUBFIELDS
Definition: subfield.h:363
ast_dataitem_062_390_t ast_dataitem_062_390_decode(const ast_dataitem_t di)
Decode function of dataitem.
void ast_dataitem_062_130_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
bool valid
Definition: cat062.h:269
WGS-84 2D Coordinate.
Definition: type.h:103
Time of day.
Definition: type.h:43
int minute
Definition: cat062.h:752
ast_icaoaddr_t ast_datarecord_062_get_icaoaddr(const ast_datarecord_t dr)
Get ICAO 24-bit address function.
bool ifi_existing
Definition: cat062.h:775
const char * ast_subfield_062_500_get_id(const ast_subfield_type_t type)
Get id string of subfield.
bool trk_existing
Definition: cat062.h:503
ast_rvsm_type_t
Definition: cat062.h:713
ast_dataitem_062_220_t ast_dataitem_062_220_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_062_340_t ast_dataitem_062_340_decode(const ast_dataitem_t di)
Decode function of dataitem.
Definition: cat062.h:140
const char * ast_subfield_062_110_get_name(const ast_subfield_type_t type)
Get name of subfield.
ast_dataitem_062_130_t dataitem_062_130
Definition: cat062.h:1040
ast_deparr_time_type_t type
Definition: cat062.h:749
ast_dataitem_062_200_t dataitem_062_200
Definition: cat062.h:1044
bool sts_existing
Definition: cat062.h:819
Definition: cat062.h:736
void ast_subfield_062_500_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detail HTML snippet of subfield.
Definition: cat062.h:139
int raw_level
LSB 1/4FL, Range -15FL~1500FL.
Definition: cat062.h:330
void ast_dataitem_062_130_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
size_t n_subfields
Definition: cat062.h:877
ast_squawk_t ast_datarecord_062_get_squawk(const ast_datarecord_t dr)
Get Mode-3/A code function.
ast_altitude_t ast_datarecord_062_get_flightlevel(const ast_datarecord_t dr)
Get flight level function.
Definition: cat062.h:728
const char * ast_subfield_062_110_get_id(const ast_subfield_type_t type)
Get id string of subfield.
ast_tracknum_t ast_datarecord_062_get_tracknum(const ast_datarecord_t dr)
Get track number function.
ast_air_traffic_type_t
Definition: cat062.h:697
size_t ast_dataitem_062_340_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of dataitem.
void ast_dataitem_062_136_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
Datarecord.
Definition: datarecord.h:42
Definition: cat062.h:710
Data Item I062/210 - Calculated Acceleration (Cartesian)
Definition: cat062.h:424
ast_dataitem_062_136_t dataitem_062_136
Definition: cat062.h:1042
ast_flight_rule_t fct_flight_rule
Definition: cat062.h:780
void ast_subfield_062_295_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detail HTML snippet of subfield.
ast_dataitem_062_295_t dataitem_062_295
Definition: cat062.h:1049
void ast_dataitem_062_220_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_sacsic_t ast_datarecord_062_get_sacsic(const ast_datarecord_t dr)
Get SAC/SIC function.
size_t ast_subfield_062_295_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield.
size_t ast_dataitem_062_500_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of dataitem.
ast_vertical_movement_type_t
Definition: cat062.h:384
Definition: cat062.h:717
Definition: cat062.h:708
const char * ast_subfield_062_380_get_id(const ast_subfield_type_t type)
Get id string of subfield.
bool pec_existing
Definition: cat062.h:831
bool tentative_track
Definition: cat062.h:156
Definition: cat062.h:733
Definition: cat062.h:699
bool valid
Definition: cat062.h:497
Definition: cat062.h:727
int raw_ax
LSB 0.25 m/s2.
Definition: cat062.h:428
ast_dataitem_062_110_t ast_dataitem_062_110_decode(const ast_dataitem_t di)
Decode function of dataitem.
ast_dataitem_position_cartesian_t ast_dataitem_062_100_t
Definition: cat062.h:182
ast_day_type_t day
Definition: cat062.h:750
Definition: cat062.h:731
bool std_existing
Definition: cat062.h:822
bool valid
Definition: cat062.h:874
Implementation of Subfield concept defined by ASTERIX.
bool sta_existing
Definition: cat062.h:825
void ast_subfield_062_390_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield.
ICAO 24-bit Address.
Definition: type.h:96
ast_datarecord_062_t ast_datarecord_062_disassemble(const ast_datarecord_t dr)
Disassemble function.
ast_dataitem_062_245_t dataitem_062_245
Definition: cat062.h:1047
double trk_age
Definition: cat062.h:504
Definition: cat062.h:702
Track Number.
Definition: type.h:73
size_t ast_subfield_062_110_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield.
size_t n_subfields
Definition: cat062.h:551
void ast_subfield_062_295_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield.