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_270_t
496 {
497  bool valid;
498 
499  unsigned int length;
500 
502  unsigned int raw_orientation;
503  double orientation;
504 
506  unsigned int width;
508 
510 #define ast_dataitem_062_270_get_size ast_dataitem_get_size_var_3_byte
511 
514 
516 AST_API void ast_dataitem_062_270_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
517 
519 AST_API void ast_dataitem_062_270_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
520 
529 typedef struct _ast_dataitem_062_290_t
531 {
532  bool valid;
533 
535  size_t n_subfields;
536 
537  //subfield #1
539  double trk_age;
540 
541  //subfield #2
542 
544 
546 AST_API size_t ast_dataitem_062_290_get_size(const unsigned char *buffer, const size_t bufsize);
547 
550 
552 #define ast_dataitem_062_290_get_summary ast_dataitem_subfields_get_summary
553 
555 #define ast_dataitem_062_290_get_detail_html ast_dataitem_subfields_get_detail_html
556 
558 AST_API size_t ast_subfield_062_290_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
559 
562 
565 
567 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);
568 
570 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);
571 
580 typedef struct _ast_dataitem_062_295_t
582 {
583  bool valid;
584 
586  size_t n_subfields;
587 
588  //subfields
589  bool existing[AST_MAX_SUBFIELDS];
590  int raw_age[AST_MAX_SUBFIELDS];
591 
593 
595 AST_API size_t ast_dataitem_062_295_get_size(const unsigned char *buffer, const size_t bufsize);
596 
599 
601 #define ast_dataitem_062_295_get_summary ast_dataitem_subfields_get_summary
602 
604 #define ast_dataitem_062_295_get_detail_html ast_dataitem_subfields_get_detail_html
605 
607 AST_API size_t ast_subfield_062_295_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
608 
611 
614 
616 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);
617 
619 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);
620 
629 typedef struct _ast_dataitem_062_340_t
631 {
632  bool valid;
633 
635  size_t n_subfields;
636 
637 
638 
640 
642 AST_API size_t ast_dataitem_062_340_get_size(const unsigned char *buffer, const size_t bufsize);
643 
646 
648 #define ast_dataitem_062_340_get_summary ast_dataitem_subfields_get_summary
649 
651 #define ast_dataitem_062_340_get_detail_html ast_dataitem_subfields_get_detail_html
652 
654 AST_API size_t ast_subfield_062_340_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
655 
658 
661 
663 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);
664 
666 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);
667 
676 typedef struct _ast_dataitem_062_380_t
678 {
679  bool valid;
680 
682  size_t n_subfields;
683 
684  //subfield #1
686  unsigned char adr_raw_address[3];
687  unsigned int adr_icao_address;
688 
689  //subfield #2
691  char id_targetid[9];
692 
694 
696 AST_API size_t ast_dataitem_062_380_get_size(const unsigned char *buffer, const size_t bufsize);
697 
700 
702 #define ast_dataitem_062_380_get_summary ast_dataitem_subfields_get_summary
703 
705 #define ast_dataitem_062_380_get_detail_html ast_dataitem_subfields_get_detail_html
706 
708 AST_API size_t ast_subfield_062_380_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
709 
712 
715 
717 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);
718 
720 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);
721 
732 typedef enum _ast_air_traffic_type_t
733 {
739 
740 typedef enum _ast_flight_rule_t
741 {
747 
748 typedef enum _ast_rvsm_type_t
749 {
755 
756 typedef enum _ast_deparr_time_type_t
757 {
773 
774 typedef enum _ast_day_type_t
775 {
781 
782 typedef struct _ast_deparr_time_t
783 {
786  int hour;
787  int minute;
789  int second;
791 
792 #define AST_MAX_DEPARR_TIMES (AST_TIME_ACUTAL_ONBLOCK_TIME + 1)
793 
795 typedef struct _ast_dataitem_062_390_t
796 {
797  bool valid;
798 
800  size_t n_subfields;
801 
802  //subfield #1
804 
805  //subfield #2
807  char csn_callsign[8];
808 
809  //subfield #3
811 
812  //subfield #4
818 
819  //subfield #5
821  char tac_actype[5];
822 
823  //subfield #6
825  char wtc_wake;
826 
827  //subfield #7
829  char dep_airport[5];
830 
831  //subfield #8
833  char dst_airport[5];
834 
835  //subfield #9
837 
838  //subfield #10
840  int cfl_raw;
841 
842  //subfield #11
844 
845  //subfield #12
847  size_t tod_n_times;
849 
850  //subfield #13
852 
853  //subfield #14
855 
856  //subfield #15
858 
859  //subfield #16
861 
862  //subfield #17
864 
865  //subfield #18
867 
868 
870 
872 AST_API size_t ast_dataitem_062_390_get_size(const unsigned char *buffer, const size_t bufsize);
873 
876 
878 #define ast_dataitem_062_390_get_summary ast_dataitem_subfields_get_summary
879 
881 #define ast_dataitem_062_390_get_detail_html ast_dataitem_subfields_get_detail_html
882 
884 AST_API size_t ast_subfield_062_390_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
885 
888 
891 
893 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);
894 
896 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);
897 
906 typedef struct _ast_dataitem_062_500_t
908 {
909  bool valid;
910 
912  size_t n_subfields;
913 
914 
916 
918 AST_API size_t ast_dataitem_062_500_get_size(const unsigned char *buffer, const size_t bufsize);
919 
922 
924 #define ast_dataitem_062_500_get_summary ast_dataitem_subfields_get_summary
925 
927 #define ast_dataitem_062_500_get_detail_html ast_dataitem_subfields_get_detail_html
928 
930 AST_API size_t ast_subfield_062_500_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
931 
934 
937 
939 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);
940 
942 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);
943 
952 #define AST_MAX_SYSTEM_UNITS 16
953 
955 typedef struct _ast_dataitem_062_510_t
956 {
957  bool valid;
958 
959  int n_units;
960  int unit_id[AST_MAX_SYSTEM_UNITS];
961  int track_number[AST_MAX_SYSTEM_UNITS];
963 
965 AST_API size_t ast_dataitem_062_510_get_size(const unsigned char* buffer, const size_t bufsize);
966 
969 
971 AST_API void ast_dataitem_062_510_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
972 
974 AST_API void ast_dataitem_062_510_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
975 
984 #define ast_dataitem_062_REF_get_size ast_dataitem_reserved_expansion_field_get_size
986 
988 //ast_dataitem_062_REF_t ast_dataitem_062_REF_decode(const ast_dataitem_t di);
989 
991 #define ast_dataitem_062_REF_get_summary ast_dataitem_reserved_expansion_field_get_summary
992 
994 #define ast_dataitem_062_REF_get_detail_html ast_dataitem_reserved_expansion_field_get_detail_html
995 
1005 #define ast_dataitem_062_SPF_get_size ast_dataitem_special_purpose_field_get_size
1007 
1009 //ast_dataitem_062_SPF_t ast_dataitem_062_SPF_decode(const ast_dataitem_t di);
1010 
1012 #define ast_dataitem_062_SPF_get_summary ast_dataitem_special_purpose_field_get_summary
1013 
1015 #define ast_dataitem_062_SPF_get_detail_html ast_dataitem_special_purpose_field_get_detail_html
1016 
1019 // Data Record
1020 
1023 
1026 
1029 
1032 
1035 
1038 
1041 
1044 
1047 
1049 #define ast_datarecord_062_get_polarcoord 0
1050 
1052 #define ast_datarecord_062_get_heading 0
1053 
1055 #define ast_datarecord_062_get_speed 0
1056 
1062 typedef struct _ast_datarecord_062_t
1064 {
1065  bool valid;
1066 
1090 
1092 
1095 
1099 #ifdef __cplusplus
1100  }
1101 #endif // extern "C"
1102 
1103 #endif //LIBASTERIX_CAT062_H
1104 
1105 // 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:813
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:817
bool valid
Definition: cat062.h:583
bool id_existing
Definition: cat062.h:690
unsigned int width
LSB = 1m.
Definition: cat062.h:506
ast_deparr_time_type_t
Definition: cat062.h:756
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:1067
Altitude.
Definition: type.h:111
bool valid
Definition: cat062.h:679
Data Record I062 - SDPS Track Messages.
Definition: cat062.h:1063
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:806
bool pem_existing
Definition: cat062.h:863
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
Data Item I062/270 - Target Size & Orientation.
Definition: cat062.h:495
int second
Definition: cat062.h:789
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:736
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:760
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:677
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:1087
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:719
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:816
Definition: cat062.h:764
Definition: cat062.h:387
ast_dataitem_062_210_t dataitem_062_210
Definition: cat062.h:1080
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:797
Data Item - Position in Cartesian Coordinates.
Definition: cat_generic.h:381
size_t n_subfields
Definition: cat062.h:535
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
bool orientation_valid
Definition: cat062.h:501
Definition: cat062.h:131
Data Item - Data Source Identifier.
Definition: cat_generic.h:94
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:840
size_t n_subfields
Definition: cat062.h:635
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:744
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:1088
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:217
Data Item I062/390 - Flight Plan Related Data.
Definition: cat062.h:795
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:1068
Data Item I062/135 - Calculated Track Barometric Altitude.
Definition: cat062.h:295
ast_flight_rule_t
Definition: cat062.h:740
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:632
Data Item I062/136 - Measured Flight Level.
Definition: cat062.h:326
bool dep_existing
Definition: cat062.h:828
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:836
ast_dataitem_062_070_t dataitem_062_070
Definition: cat062.h:1071
ast_dataitem_062_040_t dataitem_062_040
Definition: cat062.h:1069
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:820
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:750
size_t n_subfields
Definition: cat062.h:682
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:751
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:843
size_t tod_n_times
Definition: cat062.h:847
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:792
Data Item - Service Identification.
Definition: cat_generic.h:134
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:786
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:885
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:767
ast_vertical_movement_type_t vertical_movement
Definition: cat062.h:399
Definition: cat062.h:778
bool valid
Definition: cat062.h:957
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
void ast_dataitem_062_270_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
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:907
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:685
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:959
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:340
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:800
ast_dataitem_062_135_t dataitem_062_135
Definition: cat062.h:1076
char wtc_wake
Definition: cat062.h:825
unsigned int adr_icao_address
Definition: cat062.h:687
Definition: cat062.h:144
ast_day_type_t
Definition: cat062.h:774
#define AST_MAX_SYSTEM_UNITS
Definition: cat062.h:952
bool dst_existing
Definition: cat062.h:832
bool tag_existing
Definition: cat062.h:803
ast_dataitem_062_080_t dataitem_062_080
Definition: cat062.h:1072
Definition: cat062.h:779
Squawk (aka Mode-3/A Code)
Definition: type.h:80
ast_dataitem_062_290_t dataitem_062_290
Definition: cat062.h:1083
Data Item - Calculated Track Velocity in Cartesian Coordinates.
Definition: cat_generic.h:420
Definition: cat062.h:137
Data Item I062/290 - System Track Update Ages.
Definition: cat062.h:530
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.
unsigned int raw_orientation
Resolution as defined in doc.
Definition: cat062.h:502
Implementation of Dataitem concept defined by ASTERIX.
Definition: cat062.h:735
bool wtc_existing
Definition: cat062.h:824
ast_dataitem_062_340_t dataitem_062_340
Definition: cat062.h:1085
Definition: cat062.h:753
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:1089
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:955
bool spi
Definition: cat062.h:153
Definition: cat062.h:142
Data Item I062/295 - Track Data Age.
Definition: cat062.h:581
bool width_valid
Definition: cat062.h:505
ast_dataitem_062_100_t dataitem_062_100
Definition: cat062.h:1073
Definition: cat062.h:765
Definition: cat062.h:386
Definition: cat062.h:777
Definition: cat062.h:758
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:814
Definition: cat062.h:761
Definition: cat062.h:769
ast_dataitem_062_105_t dataitem_062_105
Definition: cat062.h:1074
ast_dataitem_062_185_t dataitem_062_185
Definition: cat062.h:1078
Definition: cat062.h:776
Definition: cat062.h:782
Definition: cat062.h:759
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:421
bool cfl_existing
Definition: cat062.h:839
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:788
bool valid
Definition: cat062.h:297
bool valid
Definition: cat062.h:1065
Data Item - Mode-3/A Code in Octal Representation.
Definition: cat_generic.h:475
ast_dataitem_062_380_t dataitem_062_380
Definition: cat062.h:1086
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:1070
bool valid
Definition: cat062.h:426
bool tod_existing
Definition: cat062.h:846
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:851
Definition: cat062.h:742
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:630
Callsign.
Definition: type.h:89
ast_dataitem_type_t
Definition of data item id in each category.
Definition: dataitem.h:67
int raw_rate
LSB 6.25 feet/minute, positive as climb, negative as descent.
Definition: cat062.h:457
Definition: cat062.h:770
ast_dataitem_062_220_t dataitem_062_220
Definition: cat062.h:1081
ast_callsign_t ast_datarecord_062_get_callsign(const ast_datarecord_t dr)
Get callsign function.
double orientation
LSB = 1 degree.
Definition: cat062.h:503
#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:787
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:810
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:538
ast_rvsm_type_t
Definition: cat062.h:748
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:1075
ast_deparr_time_type_t type
Definition: cat062.h:784
ast_dataitem_062_200_t dataitem_062_200
Definition: cat062.h:1079
bool sts_existing
Definition: cat062.h:854
Definition: cat062.h:771
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:912
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:763
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:732
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:41
Definition: cat062.h:745
void ast_dataitem_062_270_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
Data Item I062/210 - Calculated Acceleration (Cartesian)
Definition: cat062.h:424
ast_dataitem_062_136_t dataitem_062_136
Definition: cat062.h:1077
ast_flight_rule_t fct_flight_rule
Definition: cat062.h:815
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:1084
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:752
Definition: cat062.h:743
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:866
bool tentative_track
Definition: cat062.h:156
bool valid
Definition: cat062.h:497
Definition: cat062.h:768
ast_dataitem_062_270_t ast_dataitem_062_270_decode(const ast_dataitem_t di)
Decode function.
Definition: cat062.h:734
unsigned int length
LSB = 1m.
Definition: cat062.h:499
bool valid
Definition: cat062.h:532
Definition: cat062.h:762
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:785
Definition: cat062.h:766
bool std_existing
Definition: cat062.h:857
bool valid
Definition: cat062.h:909
Implementation of Subfield concept defined by ASTERIX.
bool sta_existing
Definition: cat062.h:860
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:1082
double trk_age
Definition: cat062.h:539
Definition: cat062.h:737
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:586
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.