cat062.h
Go to the documentation of this file.
1 /*
2  * libasterix
3  * Copyright [2013-2020] SinoATC <http://www.sinoatc.com>.
4  * All Rights Reserved.
5  *
6  * NOTICE: All information contained herein is, and remains
7  * the property of SinoATC and its suppliers, if any.
8  * The intellectual and technical concepts contained herein
9  * are proprietary to Aerosys Corporation and its suppliers and may be
10  * covered by U.S. and Foreign Patents, patents in process,
11  * and are protected by trade secret or copyright law.
12  * Dissemination of this information or reproduction of this material
13  * is strictly forbidden unless prior written permission is obtained
14  * from SinoATC.
15  */
16 
27 #ifndef LIBASTERIX_CAT062_H
28 #define LIBASTERIX_CAT062_H
29 
30 #include "dataitem.h"
31 #include "datarecord.h"
32 #include "cat_generic.h"
33 #include "subfield.h"
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 // Data Item
40 
43 
44 
51 #define ast_dataitem_062_010_get_size ast_dataitem_data_source_identifier_get_size
52 #define ast_dataitem_062_010_decode ast_dataitem_data_source_identifier_decode
53 #define ast_dataitem_062_010_encode ast_dataitem_data_source_identifier_encode
54 #define ast_dataitem_062_010_get_summary ast_dataitem_data_source_identifier_get_summary
55 #define ast_dataitem_062_010_get_detail_html ast_dataitem_data_source_identifier_get_detail_html
56 
66 #define ast_dataitem_062_015_get_size ast_dataitem_service_id_get_size
67 #define ast_dataitem_062_015_decode ast_dataitem_service_id_decode
68 
70 #define ast_dataitem_062_015_encode ast_dataitem_service_id_encode
71 
72 #define ast_dataitem_062_015_get_summary ast_dataitem_service_id_get_summary
73 #define ast_dataitem_062_015_get_detail_html ast_dataitem_service_id_get_detail_html
74 
84 #define ast_dataitem_062_040_get_size ast_dataitem_track_number_get_size
85 #define ast_dataitem_062_040_decode ast_dataitem_track_number_decode
86 
88 #define ast_dataitem_062_040_encode ast_dataitem_track_number_encode
89 
90 #define ast_dataitem_062_040_get_summary ast_dataitem_track_number_get_summary
91 #define ast_dataitem_062_040_get_detail_html ast_dataitem_track_number_get_detail_html
92 
102 #define ast_dataitem_062_060_get_size ast_dataitem_mode_3a_code_get_size
103 #define ast_dataitem_062_060_decode ast_dataitem_mode_3a_code_decode
104 #define ast_dataitem_062_060_encode ast_dataitem_mode_3a_code_encode
105 #define ast_dataitem_062_060_get_summary ast_dataitem_mode_3a_code_get_summary
106 #define ast_dataitem_062_060_get_detail_html ast_dataitem_mode_3a_code_get_detail_html
107 
117 #define ast_dataitem_062_070_get_size ast_dataitem_time_of_day_get_size
118 #define ast_dataitem_062_070_decode ast_dataitem_time_of_day_decode
119 #define ast_dataitem_062_070_get_summary ast_dataitem_time_of_day_get_summary
120 #define ast_dataitem_062_070_get_detail_html ast_dataitem_time_of_day_get_detail_html
121 
132 typedef enum _ast_altitude_type_t
133 {
137 
138 typedef enum _ast_altitude_source_t
139 {
149 
151 typedef struct _ast_dataitem_062_080_t
152 {
153  bool valid;
154 
156  bool spi;
160 
163 
165 #define ast_dataitem_062_080_get_size ast_dataitem_get_size_var_6_byte
166 
169 
171 AST_API void ast_dataitem_062_080_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
172 
174 AST_API void ast_dataitem_062_080_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
175 
176 
186 #define ast_dataitem_062_100_get_size ast_dataitem_position_cartesian_get_size
187 #define ast_dataitem_062_100_decode ast_dataitem_position_cartesian_decode
188 #define ast_dataitem_062_100_get_summary ast_dataitem_position_cartesian_get_summary
189 #define ast_dataitem_062_100_get_detail_html ast_dataitem_position_cartesian_get_detail_html
190 
200 #define ast_dataitem_062_105_get_size ast_dataitem_position_wgs84_get_size
201 #define ast_dataitem_062_105_decode ast_dataitem_position_wgs84_decode
202 #define ast_dataitem_062_105_get_summary ast_dataitem_position_wgs84_get_summary
203 #define ast_dataitem_062_105_get_detail_html ast_dataitem_position_wgs84_get_detail_html
204 
214 typedef struct _ast_dataitem_062_110_t
216 {
217  bool valid;
218 
220  size_t n_subfields;
221 
223 
225 AST_API size_t ast_dataitem_062_110_get_size(const unsigned char *buffer, const size_t bufsize);
226 
229 
231 #define ast_dataitem_062_110_get_summary ast_dataitem_subfields_get_summary
232 
234 #define ast_dataitem_062_110_get_detail_html ast_dataitem_subfields_get_detail_html
235 
237 AST_API size_t ast_subfield_062_110_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
238 
241 
244 
246 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);
247 
249 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);
250 
259 #define ast_dataitem_062_120_get_size ast_dataitem_get_size_fixed_2_byte
260 
269 typedef struct _ast_dataitem_062_130_t
271 {
272  bool valid;
273 
274  int raw_level;
276 
278 #define ast_dataitem_062_130_get_size ast_dataitem_get_size_fixed_2_byte
279 
282 
284 AST_API void ast_dataitem_062_130_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
285 
287 AST_API void ast_dataitem_062_130_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
288 
297 typedef struct _ast_dataitem_062_135_t
299 {
300  bool valid;
301 
303 
305  int altitude;
307 
309 #define ast_dataitem_062_135_get_size ast_dataitem_get_size_fixed_2_byte
310 
313 
315 AST_API void ast_dataitem_062_135_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
316 
318 AST_API void ast_dataitem_062_135_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
319 
328 typedef struct _ast_dataitem_062_136_t
330 {
331  bool valid;
332 
333  int raw_level;
334  int level;
336 
338 #define ast_dataitem_062_136_get_size ast_dataitem_get_size_fixed_2_byte
339 
342 
344 AST_API void ast_dataitem_062_136_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
345 
347 AST_API void ast_dataitem_062_136_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
348 
358 #define ast_dataitem_062_185_get_size ast_dataitem_velocity_cartesian_get_size
359 #define ast_dataitem_062_185_decode ast_dataitem_velocity_cartesian_decode
360 #define ast_dataitem_062_185_get_summary ast_dataitem_velocity_cartesian_get_summary
361 #define ast_dataitem_062_185_get_detail_html ast_dataitem_velocity_cartesian_get_detail_html
362 
371 typedef enum _ast_transversal_movement_type_t
372 {
378 
379 typedef enum _ast_longitudinal_movement_type_t
380 {
386 
387 typedef enum _ast_vertical_movement_type_t
388 {
394 
396 typedef struct _ast_dataitem_062_200_t
397 {
398  bool valid;
399 
403 
405 
407 #define ast_dataitem_062_200_get_size ast_dataitem_get_size_fixed_1_byte
408 
411 
413 AST_API void ast_dataitem_062_200_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
414 
416 AST_API void ast_dataitem_062_200_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
417 
426 typedef struct _ast_dataitem_062_210_t
428 {
429  bool valid;
430 
431  int raw_ax;
432  int raw_ay;
434 
436 #define ast_dataitem_062_210_get_size ast_dataitem_get_size_fixed_2_byte
437 
440 
442 AST_API void ast_dataitem_062_210_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
443 
445 AST_API void ast_dataitem_062_210_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
446 
455 typedef struct _ast_dataitem_062_220_t
457 {
458  bool valid;
459 
460  int raw_rate;
462 
464 #define ast_dataitem_062_220_get_size ast_dataitem_get_size_fixed_2_byte
465 
468 
470 AST_API void ast_dataitem_062_220_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
471 
473 AST_API void ast_dataitem_062_220_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
474 
484 #define ast_dataitem_062_245_get_size ast_dataitem_target_id_get_size
485 #define ast_dataitem_062_245_decode ast_dataitem_target_id_decode
486 #define ast_dataitem_062_245_get_summary ast_dataitem_target_id_get_summary
487 #define ast_dataitem_062_245_get_detail_html ast_dataitem_target_id_get_detail_html
488 
497 typedef struct _ast_dataitem_062_270_t
499 {
500  bool valid;
501 
502  unsigned int length;
503 
505  unsigned int raw_orientation;
506  double orientation;
507 
509  unsigned int width;
511 
513 #define ast_dataitem_062_270_get_size ast_dataitem_get_size_var_3_byte
514 
517 
519 AST_API void ast_dataitem_062_270_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
520 
522 AST_API void ast_dataitem_062_270_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
523 
532 typedef struct _ast_dataitem_062_290_t
534 {
535  bool valid;
536 
538  size_t n_subfields;
539 
540  //subfield #1
542  double trk_age;
543 
544  //subfield #2
545 
547 
549 AST_API size_t ast_dataitem_062_290_get_size(const unsigned char *buffer, const size_t bufsize);
550 
553 
555 #define ast_dataitem_062_290_get_summary ast_dataitem_subfields_get_summary
556 
558 #define ast_dataitem_062_290_get_detail_html ast_dataitem_subfields_get_detail_html
559 
561 AST_API size_t ast_subfield_062_290_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
562 
565 
568 
570 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);
571 
573 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);
574 
583 typedef struct _ast_dataitem_062_295_t
585 {
586  bool valid;
587 
589  size_t n_subfields;
590 
591  //subfields
592  bool existing[AST_MAX_SUBFIELDS];
593  int raw_age[AST_MAX_SUBFIELDS];
594 
596 
598 AST_API size_t ast_dataitem_062_295_get_size(const unsigned char *buffer, const size_t bufsize);
599 
602 
604 #define ast_dataitem_062_295_get_summary ast_dataitem_subfields_get_summary
605 
607 #define ast_dataitem_062_295_get_detail_html ast_dataitem_subfields_get_detail_html
608 
610 AST_API size_t ast_subfield_062_295_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
611 
614 
617 
619 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);
620 
622 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);
623 
632 typedef struct _ast_dataitem_062_340_t
634 {
635  bool valid;
636 
638  size_t n_subfields;
639 
640 
641 
643 
645 AST_API size_t ast_dataitem_062_340_get_size(const unsigned char *buffer, const size_t bufsize);
646 
649 
651 #define ast_dataitem_062_340_get_summary ast_dataitem_subfields_get_summary
652 
654 #define ast_dataitem_062_340_get_detail_html ast_dataitem_subfields_get_detail_html
655 
657 AST_API size_t ast_subfield_062_340_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
658 
661 
664 
666 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);
667 
669 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);
670 
679 typedef struct _ast_dataitem_062_380_t
681 {
682  bool valid;
683 
685  size_t n_subfields;
686 
687  //subfield #1
689  unsigned char adr_raw_address[3];
690  unsigned int adr_icao_address;
691 
692  //subfield #2
694  char id_targetid[9];
695 
697 
699 AST_API size_t ast_dataitem_062_380_get_size(const unsigned char *buffer, const size_t bufsize);
700 
703 
705 #define ast_dataitem_062_380_get_summary ast_dataitem_subfields_get_summary
706 
708 #define ast_dataitem_062_380_get_detail_html ast_dataitem_subfields_get_detail_html
709 
711 AST_API size_t ast_subfield_062_380_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
712 
715 
718 
720 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);
721 
723 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);
724 
735 typedef enum _ast_air_traffic_type_t
736 {
742 
743 typedef enum _ast_flight_rule_t
744 {
750 
751 typedef enum _ast_rvsm_type_t
752 {
758 
759 typedef enum _ast_deparr_time_type_t
760 {
776 
777 typedef enum _ast_day_type_t
778 {
784 
785 typedef struct _ast_deparr_time_t
786 {
789  int hour;
790  int minute;
792  int second;
794 
795 #define AST_MAX_DEPARR_TIMES (AST_TIME_ACUTAL_ONBLOCK_TIME + 1)
796 
798 typedef struct _ast_dataitem_062_390_t
799 {
800  bool valid;
801 
803  size_t n_subfields;
804 
805  //subfield #1
807 
808  //subfield #2
810  char csn_callsign[8];
811 
812  //subfield #3
814 
815  //subfield #4
821 
822  //subfield #5
824  char tac_actype[5];
825 
826  //subfield #6
828  char wtc_wake;
829 
830  //subfield #7
832  char dep_airport[5];
833 
834  //subfield #8
836  char dst_airport[5];
837 
838  //subfield #9
840 
841  //subfield #10
843  int cfl_raw;
844 
845  //subfield #11
847 
848  //subfield #12
850  size_t tod_n_times;
852 
853  //subfield #13
855 
856  //subfield #14
858 
859  //subfield #15
861 
862  //subfield #16
864 
865  //subfield #17
867 
868  //subfield #18
870 
871 
873 
875 AST_API size_t ast_dataitem_062_390_get_size(const unsigned char *buffer, const size_t bufsize);
876 
879 
881 #define ast_dataitem_062_390_get_summary ast_dataitem_subfields_get_summary
882 
884 #define ast_dataitem_062_390_get_detail_html ast_dataitem_subfields_get_detail_html
885 
887 AST_API size_t ast_subfield_062_390_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
888 
891 
894 
896 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);
897 
899 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);
900 
909 typedef struct _ast_dataitem_062_500_t
911 {
912  bool valid;
913 
915  size_t n_subfields;
916 
917 
919 
921 AST_API size_t ast_dataitem_062_500_get_size(const unsigned char *buffer, const size_t bufsize);
922 
925 
927 #define ast_dataitem_062_500_get_summary ast_dataitem_subfields_get_summary
928 
930 #define ast_dataitem_062_500_get_detail_html ast_dataitem_subfields_get_detail_html
931 
933 AST_API size_t ast_subfield_062_500_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
934 
937 
940 
942 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);
943 
945 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);
946 
955 #define AST_MAX_SYSTEM_UNITS 16
956 
958 typedef struct _ast_dataitem_062_510_t
959 {
960  bool valid;
961 
962  int n_units;
963  int unit_id[AST_MAX_SYSTEM_UNITS];
964  int track_number[AST_MAX_SYSTEM_UNITS];
966 
968 AST_API size_t ast_dataitem_062_510_get_size(const unsigned char* buffer, const size_t bufsize);
969 
972 
974 AST_API void ast_dataitem_062_510_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
975 
977 AST_API void ast_dataitem_062_510_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
978 
987 #define ast_dataitem_062_REF_get_size ast_dataitem_reserved_expansion_field_get_size
989 
991 //ast_dataitem_062_REF_t ast_dataitem_062_REF_decode(const ast_dataitem_t di);
992 
994 #define ast_dataitem_062_REF_get_summary ast_dataitem_reserved_expansion_field_get_summary
995 
997 #define ast_dataitem_062_REF_get_detail_html ast_dataitem_reserved_expansion_field_get_detail_html
998 
1008 #define ast_dataitem_062_SPF_get_size ast_dataitem_special_purpose_field_get_size
1010 
1012 //ast_dataitem_062_SPF_t ast_dataitem_062_SPF_decode(const ast_dataitem_t di);
1013 
1015 #define ast_dataitem_062_SPF_get_summary ast_dataitem_special_purpose_field_get_summary
1016 
1018 #define ast_dataitem_062_SPF_get_detail_html ast_dataitem_special_purpose_field_get_detail_html
1019 
1022 // Data Record
1023 
1026 
1029 
1032 
1035 
1038 
1041 
1044 
1047 
1050 
1052 #define ast_datarecord_062_get_polarcoord 0
1053 
1055 #define ast_datarecord_062_get_heading 0
1056 
1058 #define ast_datarecord_062_get_speed 0
1059 
1065 typedef struct _ast_datarecord_062_t
1067 {
1068  bool valid;
1069 
1093 
1095 
1098 
1102 #ifdef __cplusplus
1103  }
1104 #endif // extern "C"
1105 
1106 #endif //LIBASTERIX_CAT062_H
1107 
1108 // vim:set ft=c.doxygen sw=2 sts=2 fenc=utf8:
ast_altitude_source_t
Definition: cat062.h:138
bool fct_existing
Definition: cat062.h:816
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:375
bool fct_high_priority
Definition: cat062.h:820
bool valid
Definition: cat062.h:586
bool id_existing
Definition: cat062.h:693
unsigned int width
LSB = 1m.
Definition: cat062.h:509
ast_deparr_time_type_t
Definition: cat062.h:759
ast_dataitem_062_010_t dataitem_062_010
Definition: cat062.h:1070
Altitude.
Definition: type.h:111
bool valid
Definition: cat062.h:682
Data Record I062 - SDPS Track Messages.
Definition: cat062.h:1066
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:809
size_t ast_dataitem_062_110_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of dataitem.
bool pem_existing
Definition: cat062.h:866
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:50
ast_altitude_source_t altitude_source
Definition: cat062.h:158
Data Item I062/270 - Target Size & Orientation.
Definition: cat062.h:498
int second
Definition: cat062.h:792
int level
LSB FT, Range -1500FT~150000FT.
Definition: cat062.h:334
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:739
ast_subfield_type_t
Definition of subfield id in each dataitem.
Definition: subfield.h:52
Implementation of Datarecord concept defined by ASTERIX.
Definition: cat062.h:376
Definition: cat062.h:763
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.
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.
ast_dataitem_time_of_day_t ast_dataitem_062_070_t
Definition: cat062.h:116
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:680
const char * ast_subfield_062_380_get_name(const ast_subfield_type_t type)
Get name of subfield.
bool mono_track
Definition: cat062.h:155
ast_dataitem_062_390_t dataitem_062_390
Definition: cat062.h:1090
Definition: cat062.h:384
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:220
Data Item Itrack_number - Track Number.
Definition: cat_generic.h:727
bool valid
Definition: cat062.h:153
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:819
Definition: cat062.h:767
Definition: cat062.h:390
ast_dataitem_062_210_t dataitem_062_210
Definition: cat062.h:1083
ast_altitude_type_t more_reliable_height
Definition: cat062.h:157
Definition: cat062.h:144
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:135
bool valid
Definition: cat062.h:800
Data Item - Position in Cartesian Coordinates.
Definition: cat_generic.h:384
size_t n_subfields
Definition: cat062.h:538
Definition: cat062.h:392
void ast_dataitem_062_200_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
const char * ast_subfield_062_110_get_name(const ast_subfield_type_t type)
Get name of subfield.
#define AST_API
Definition: platform.h:63
bool orientation_valid
Definition: cat062.h:504
Definition: cat062.h:134
Data Item - Data Source Identifier.
Definition: cat_generic.h:93
ast_dataitem_mode_3a_code_t ast_dataitem_062_060_t
Definition: cat062.h:101
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:843
size_t n_subfields
Definition: cat062.h:638
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:747
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:1091
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:270
Data Item - Time of Day.
Definition: cat_generic.h:219
Data Item I062/390 - Flight Plan Related Data.
Definition: cat062.h:798
ast_transversal_movement_type_t
Definition: cat062.h:371
bool valid
Definition: cat062.h:331
Definition: cat062.h:146
ast_dataitem_062_015_t dataitem_062_015
Definition: cat062.h:1071
Data Item I062/135 - Calculated Track Barometric Altitude.
Definition: cat062.h:298
ast_flight_rule_t
Definition: cat062.h:743
Definition: cat062.h:373
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:456
ast_dataitem_062_136_t ast_dataitem_062_136_decode(const ast_dataitem_t di)
Decode function.
bool valid
Definition: cat062.h:635
Data Item I062/136 - Measured Flight Level.
Definition: cat062.h:329
bool dep_existing
Definition: cat062.h:831
ast_longitudinal_movement_type_t
Definition: cat062.h:379
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:839
ast_dataitem_062_070_t dataitem_062_070
Definition: cat062.h:1074
ast_dataitem_062_040_t dataitem_062_040
Definition: cat062.h:1072
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:823
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:753
size_t n_subfields
Definition: cat062.h:685
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:274
Definition: cat062.h:754
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:151
Definition: type.h:66
bool valid
Definition: cat062.h:398
bool ctl_existing
Definition: cat062.h:846
size_t tod_n_times
Definition: cat062.h:850
ast_dataitem_track_number_t ast_dataitem_062_040_t
Definition: cat062.h:83
Definition: cat062.h:141
#define AST_MAX_DEPARR_TIMES
Definition: cat062.h:795
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:401
int hour
Definition: cat062.h:789
Definition: cat062.h:391
ast_transversal_movement_type_t transversal_movement
Definition: cat062.h:400
ast_altitude_type_t
Definition: cat062.h:132
bool qnh_corrected
Definition: cat062.h:302
ast_dataitem_target_id_t ast_dataitem_062_245_t
Definition: cat062.h:483
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.
Data Item I062/110 - Mode 5 Data Reports & Extended Mode 1 Code.
Definition: cat062.h:215
Data Item - Target Identification.
Definition: cat_generic.h:893
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:432
Subfield struct.
Definition: subfield.h:292
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:770
ast_vertical_movement_type_t vertical_movement
Definition: cat062.h:402
Definition: cat062.h:781
bool valid
Definition: cat062.h:960
bool valid
Definition: cat062.h:458
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:217
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:910
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:688
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:304
int n_units
Definition: cat062.h:962
ast_dataitem_062_110_t ast_dataitem_062_110_decode(const ast_dataitem_t di)
Decode function of dataitem.
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:65
Data Item - Position in WGS84 Coordinates.
Definition: cat_generic.h:343
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:803
ast_dataitem_062_135_t dataitem_062_135
Definition: cat062.h:1079
char wtc_wake
Definition: cat062.h:828
unsigned int adr_icao_address
Definition: cat062.h:690
Definition: cat062.h:147
ast_day_type_t
Definition: cat062.h:777
#define AST_MAX_SYSTEM_UNITS
Definition: cat062.h:955
bool dst_existing
Definition: cat062.h:835
bool tag_existing
Definition: cat062.h:806
ast_dataitem_062_080_t dataitem_062_080
Definition: cat062.h:1075
Definition: cat062.h:782
Squawk (aka Mode-3/A Code)
Definition: type.h:80
ast_dataitem_062_290_t dataitem_062_290
Definition: cat062.h:1086
Data Item - Calculated Track Velocity in Cartesian Coordinates.
Definition: cat_generic.h:423
Definition: cat062.h:140
Data Item I062/290 - System Track Update Ages.
Definition: cat062.h:533
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:505
Implementation of Dataitem concept defined by ASTERIX.
Definition: cat062.h:738
bool wtc_existing
Definition: cat062.h:827
ast_dataitem_062_340_t dataitem_062_340
Definition: cat062.h:1088
Definition: cat062.h:756
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:1092
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.
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.
Data Item I062/510 - Composed Track Number.
Definition: cat062.h:958
bool spi
Definition: cat062.h:156
Definition: cat062.h:145
Data Item I062/295 - Track Data Age.
Definition: cat062.h:584
bool width_valid
Definition: cat062.h:508
ast_dataitem_062_100_t dataitem_062_100
Definition: cat062.h:1076
Definition: cat062.h:768
Definition: cat062.h:389
Definition: cat062.h:780
Definition: cat062.h:761
int altitude
LSB FT, Range -1500FT~150000FT.
Definition: cat062.h:305
Definition: cat062.h:374
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:817
Definition: cat062.h:764
Definition: cat062.h:772
ast_dataitem_062_105_t dataitem_062_105
Definition: cat062.h:1077
ast_dataitem_062_185_t dataitem_062_185
Definition: cat062.h:1081
Definition: cat062.h:779
Definition: cat062.h:785
Definition: cat062.h:762
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:422
bool cfl_existing
Definition: cat062.h:842
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:357
bool second_valid
Definition: cat062.h:791
bool valid
Definition: cat062.h:300
bool valid
Definition: cat062.h:1068
Data Item - Mode-3/A Code in Octal Representation.
Definition: cat_generic.h:478
ast_dataitem_062_380_t dataitem_062_380
Definition: cat062.h:1089
ast_dataitem_position_wgs84_t ast_dataitem_062_105_t
Definition: cat062.h:199
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:1073
bool valid
Definition: cat062.h:429
bool tod_existing
Definition: cat062.h:849
Data Item I062/200 - Mode of Movement.
Definition: cat062.h:396
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:854
Definition: cat062.h:745
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:633
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:460
Definition: cat062.h:773
ast_dataitem_062_220_t dataitem_062_220
Definition: cat062.h:1084
ast_callsign_t ast_datarecord_062_get_callsign(const ast_datarecord_t dr)
Get callsign function.
double orientation
LSB = 1 degree.
Definition: cat062.h:506
#define AST_MAX_SUBFIELDS
Definition: subfield.h:362
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:272
WGS-84 2D Coordinate.
Definition: type.h:103
Time of day.
Definition: type.h:43
int minute
Definition: cat062.h:790
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:813
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:541
ast_rvsm_type_t
Definition: cat062.h:751
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:143
ast_dataitem_062_130_t dataitem_062_130
Definition: cat062.h:1078
ast_deparr_time_type_t type
Definition: cat062.h:787
ast_dataitem_062_200_t dataitem_062_200
Definition: cat062.h:1082
bool sts_existing
Definition: cat062.h:857
Definition: cat062.h:774
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:142
int raw_level
LSB 1/4FL, Range -15FL~1500FL.
Definition: cat062.h:333
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:915
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:766
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:735
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:40
Definition: cat062.h:748
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:427
ast_dataitem_062_136_t dataitem_062_136
Definition: cat062.h:1080
ast_flight_rule_t fct_flight_rule
Definition: cat062.h:818
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:1087
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:387
Definition: cat062.h:755
Definition: cat062.h:746
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:869
bool tentative_track
Definition: cat062.h:159
bool valid
Definition: cat062.h:500
Definition: cat062.h:771
ast_dataitem_062_270_t ast_dataitem_062_270_decode(const ast_dataitem_t di)
Decode function.
Definition: cat062.h:737
const char * ast_subfield_062_110_get_id(const ast_subfield_type_t type)
Get id string of subfield.
unsigned int length
LSB = 1m.
Definition: cat062.h:502
bool valid
Definition: cat062.h:535
Definition: cat062.h:765
int raw_ax
LSB 0.25 m/s2.
Definition: cat062.h:431
ast_dataitem_position_cartesian_t ast_dataitem_062_100_t
Definition: cat062.h:185
ast_day_type_t day
Definition: cat062.h:788
Definition: cat062.h:769
bool std_existing
Definition: cat062.h:860
bool valid
Definition: cat062.h:912
Implementation of Subfield concept defined by ASTERIX.
bool sta_existing
Definition: cat062.h:863
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:1085
double trk_age
Definition: cat062.h:542
Definition: cat062.h:740
Track Number.
Definition: type.h:73
size_t n_subfields
Definition: cat062.h:589
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.