32#ifndef LIBASTERIX_CAT004_H
33#define LIBASTERIX_CAT004_H
161typedef enum _ast_snet_message_type_t
210#define AST_MAX_SNET_MESSAGE_TYPES 64
230#define ast_dataitem_004_000_get_size ast_dataitem_message_type_get_size
233#define ast_dataitem_004_000_decode ast_dataitem_message_type_decode
236#define ast_dataitem_004_000_encode ast_dataitem_message_type_encode
280#define ast_dataitem_004_010_get_size ast_dataitem_data_source_identifier_get_size
283#define ast_dataitem_004_010_decode ast_dataitem_data_source_identifier_decode
286#define ast_dataitem_004_010_encode ast_dataitem_data_source_identifier_encode
289#define ast_dataitem_004_010_get_summary ast_dataitem_data_source_identifier_get_summary
292#define ast_dataitem_004_010_get_detail_html ast_dataitem_data_source_identifier_get_detail_html
325#define ast_dataitem_004_020_get_size ast_dataitem_time_of_day_get_size
328#define ast_dataitem_004_020_decode ast_dataitem_time_of_day_decode
331#define ast_dataitem_004_020_encode ast_dataitem_time_of_day_encode
334#define ast_dataitem_004_020_get_summary ast_dataitem_time_of_day_get_summary
337#define ast_dataitem_004_020_get_detail_html ast_dataitem_time_of_day_get_detail_html
368#define ast_dataitem_004_030_get_size ast_dataitem_track_number_get_size
371#define ast_dataitem_004_030_decode ast_dataitem_track_number_decode
374#define ast_dataitem_004_030_encode ast_dataitem_track_number_encode
377#define ast_dataitem_004_030_get_summary ast_dataitem_track_number_get_summary
380#define ast_dataitem_004_030_get_detail_html ast_dataitem_track_number_get_detail_html
409#define ast_dataitem_004_035_get_size ast_dataitem_track_number_get_size
412#define ast_dataitem_004_035_decode ast_dataitem_track_number_decode
415#define ast_dataitem_004_035_encode ast_dataitem_track_number_encode
418#define ast_dataitem_004_035_get_summary ast_dataitem_track_number_get_summary
421#define ast_dataitem_004_035_get_detail_html ast_dataitem_track_number_get_detail_html
446typedef struct _ast_dataitem_004_040_t
454#define ast_dataitem_004_040_get_size ast_dataitem_get_size_fixed_2_byte
481#define ast_dataitem_004_040_get_detail_html ast_dataitem_get_detail_html_dummy;
506typedef struct _ast_dataitem_004_060_t
516#define ast_dataitem_004_060_get_size ast_dataitem_get_size_var_6_byte
571typedef struct _ast_dataitem_004_100_t
600#define ast_dataitem_004_100_get_summary ast_dataitem_subfields_get_summary
603#define ast_dataitem_004_100_get_detail_html ast_dataitem_subfields_get_detail_html
674typedef struct _ast_dataitem_004_120_t
704#define ast_dataitem_004_120_get_summary ast_dataitem_subfields_get_summary
707#define ast_dataitem_004_120_get_detail_html ast_dataitem_subfields_get_detail_html
777typedef struct _ast_dataitem_004_170_t
805#define ast_dataitem_004_170_get_summary ast_dataitem_subfields_get_summary
808#define ast_dataitem_004_170_get_detail_html ast_dataitem_subfields_get_detail_html
883#define ast_dataitem_004_171_decode ast_dataitem_004_170_decode
886#define ast_dataitem_004_171_get_summary ast_dataitem_subfields_get_summary
889#define ast_dataitem_004_171_get_detail_html ast_dataitem_subfields_get_detail_html
915#define ast_subfield_004_171_get_summary ast_subfield_004_170_get_summary
918#define ast_subfield_004_171_get_detail_html ast_subfield_004_170_get_detail_html
931#define ast_dataitem_004_REF_get_size ast_dataitem_reserved_expansion_field_get_size
934#define ast_dataitem_004_REF_get_summary ast_dataitem_reserved_expansion_field_get_summary
937#define ast_dataitem_004_REF_get_detail_html ast_dataitem_reserved_expansion_field_get_detail_html
950#define ast_dataitem_004_SPF_get_size ast_dataitem_special_purpose_field_get_size
953#define ast_dataitem_004_SPF_get_summary ast_dataitem_special_purpose_field_get_summary
956#define ast_dataitem_004_SPF_get_detail_html ast_dataitem_special_purpose_field_get_detail_html
975typedef struct _ast_datarecord_004_t
const char * ast_dataitem_004_get_name(const ast_dataitem_type_t type)
Get the name of a CAT004 data item.
ASTERIX generic data items shared by multiple categories.
const char * ast_snet_message_type_get_name(const ast_snet_message_type_t type)
Get the name of a safety net message type.
ast_snet_message_type_t
Safety Net message types.
Definition cat004.h:162
#define AST_MAX_SNET_MESSAGE_TYPES
Maximum number of SNET message types supported.
Definition cat004.h:210
void ast_dataitem_004_000_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detailed HTML representation for I004/000.
const char * ast_snet_message_type_get_id(const ast_snet_message_type_t type)
Get the ID string of a safety net message type.
void ast_dataitem_004_000_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary text for I004/000.
ast_dataitem_message_type_t ast_dataitem_004_000_t
Data Item I004/000 - Message Type.
Definition cat004.h:227
@ AST_SNET_MESSAGE_DSAM
Downlinked Selected Altitude Monitor.
Definition cat004.h:188
@ AST_SNET_MESSAGE_TSM
RIMCAS Taxiway Separation Monitor.
Definition cat004.h:176
@ AST_SNET_MESSAGE_LTW
Lost Track Warning.
Definition cat004.h:200
@ AST_SNET_MESSAGE_VCD
Vertical Conflict Detection.
Definition cat004.h:185
@ AST_SNET_MESSAGE_CUW
Catch Up Warning.
Definition cat004.h:199
@ AST_SNET_MESSAGE_OCAT
Outside Controlled Airspace Tool.
Definition cat004.h:184
@ AST_SNET_MESSAGE_CRA
RIMCAS Closed Runway Alert.
Definition cat004.h:192
@ AST_SNET_MESSAGE_RAMHD
Route Adherence Monitor Heading Deviation.
Definition cat004.h:165
@ AST_SNET_MESSAGE_CHAM
Clearance Heading Adherence Monitor.
Definition cat004.h:187
@ AST_SNET_MESSAGE_ACASRA
ACAS Resolution Advisory.
Definition cat004.h:180
@ AST_SNET_MESSAGE_ITD
Initial Target Distance Indicator.
Definition cat004.h:196
@ AST_SNET_MESSAGE_TTA
RIMCAS Taxiway Traffic Alert.
Definition cat004.h:191
@ AST_SNET_MESSAGE_MSAW
Minimum Safe Altitude Warning.
Definition cat004.h:166
@ AST_SNET_MESSAGE_NTCA
Near Term Conflict Alert.
Definition cat004.h:181
@ AST_SNET_MESSAGE_APM
Approach Path Monitor.
Definition cat004.h:170
@ AST_SNET_MESSAGE_SAM
Speed Adherence Monitor.
Definition cat004.h:183
@ AST_SNET_MESSAGE_IAVM
ILS Area Violation Monitor.
Definition cat004.h:194
@ AST_SNET_MESSAGE_ALM
RIMCAS Arrival/Landing Monitor.
Definition cat004.h:171
@ AST_SNET_MESSAGE_UTMM
RIMCAS Unauthorized Taxiway Movement Monitor.
Definition cat004.h:177
@ AST_SNET_MESSAGE_HVI
Holding Volume Infringement.
Definition cat004.h:201
@ AST_SNET_MESSAGE_AIW
Airspace Infringement Warning.
Definition cat004.h:202
@ AST_SNET_MESSAGE_VPM
Vertical Path Monitor.
Definition cat004.h:190
@ AST_SNET_MESSAGE_HAM
Holding Adherence Monitor.
Definition cat004.h:189
@ AST_SNET_MESSAGE_OTA
RIMCAS Opposite Traffic Alert.
Definition cat004.h:173
@ AST_SNET_MESSAGE_MRVA
Minimum Radar Vectoring Altitude (custom).
Definition cat004.h:205
@ AST_SNET_MESSAGE_ALIVE
Alive - System status message.
Definition cat004.h:163
@ AST_SNET_MESSAGE_EOC
End Of Conflict.
Definition cat004.h:179
@ AST_SNET_MESSAGE_SQW
Sequence Warning.
Definition cat004.h:198
@ AST_SNET_MESSAGE_RAMLD
Route Adherence Monitor Longitudinal Deviation.
Definition cat004.h:164
@ AST_SNET_MESSAGE_RCM
RIMCAS Runway/Taxiway Crossing Monitor.
Definition cat004.h:175
@ AST_SNET_MESSAGE_WRA
RIMCAS Wrong Runway Alert.
Definition cat004.h:172
@ AST_SNET_MESSAGE_FTD
Final Target Distance Indicator.
Definition cat004.h:195
@ AST_SNET_MESSAGE_ASM
Arrival/Departure Aircraft Separation Monitor.
Definition cat004.h:193
@ AST_SNET_MESSAGE_DBPSM
Downlinked Barometric Pressure Setting Monitor.
Definition cat004.h:182
@ AST_SNET_MESSAGE_STCA
Short Term Conflict Alert.
Definition cat004.h:169
@ AST_SNET_MESSAGE_VRAM
Vertical Rate Adherence Monitor.
Definition cat004.h:186
@ AST_SNET_MESSAGE_SBOA
RIMCAS Stop-Bar Overrun Alert.
Definition cat004.h:178
@ AST_SNET_MESSAGE_CLAM
Clearance Level Adherence Monitor.
Definition cat004.h:168
@ AST_SNET_MESSAGE_RDM
RIMCAS Departure Monitor.
Definition cat004.h:174
@ AST_SNET_MESSAGE_APW
Area Proximity Warning.
Definition cat004.h:167
@ AST_SNET_MESSAGE_IIA
Wake Vortex Indicator Infringement Alert.
Definition cat004.h:197
ast_dataitem_data_source_identifier_t ast_dataitem_004_010_t
Data Item I004/010 - Data Source Identifier.
Definition cat004.h:277
ast_dataitem_time_of_day_t ast_dataitem_004_020_t
Data Item I004/020 - Time of Message.
Definition cat004.h:322
ast_dataitem_track_number_t ast_dataitem_004_030_t
Data Item I004/030 - Track Number 1.
Definition cat004.h:365
ast_dataitem_track_number_t ast_dataitem_004_035_t
Data Item I004/035 - Track Number 2.
Definition cat004.h:406
ast_dataitem_t ast_dataitem_004_040_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode Data Item I004/040.
ast_dataitem_004_040_t ast_dataitem_004_040_decode(const ast_dataitem_t di)
Decode Data Item I004/040.
void ast_dataitem_004_040_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary text for I004/040.
void ast_dataitem_004_060_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detailed HTML representation for I004/060.
ast_dataitem_004_060_t ast_dataitem_004_060_decode(const ast_dataitem_t di)
Decode Data Item I004/060.
void ast_dataitem_004_060_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary text for I004/060.
const char * ast_subfield_004_100_get_id(const ast_subfield_type_t type)
Get ID string of subfield for I004/100.
void ast_subfield_004_100_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield for I004/100.
ast_dataitem_004_100_t ast_dataitem_004_100_decode(const ast_dataitem_t di)
Decode Data Item I004/100.
void ast_subfield_004_100_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detailed HTML of subfield for I004/100.
size_t ast_subfield_004_100_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield for I004/100.
const char * ast_subfield_004_100_get_name(const ast_subfield_type_t type)
Get name of subfield for I004/100.
size_t ast_dataitem_004_100_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of data item I004/100.
const char * ast_subfield_004_120_get_id(const ast_subfield_type_t type)
Get ID string of subfield for I004/120.
size_t ast_dataitem_004_120_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of data item I004/120.
size_t ast_subfield_004_120_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield for I004/120.
const char * ast_subfield_004_120_get_name(const ast_subfield_type_t type)
Get name of subfield for I004/120.
ast_dataitem_004_120_t ast_dataitem_004_120_decode(const ast_dataitem_t di)
Decode Data Item I004/120.
void ast_subfield_004_120_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detailed HTML of subfield for I004/120.
void ast_subfield_004_120_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield for I004/120.
ast_dataitem_004_170_t ast_dataitem_004_170_decode(const ast_dataitem_t di)
Decode Data Item I004/170.
void ast_subfield_004_170_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield for I004/170.
void ast_subfield_004_170_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detailed HTML of subfield for I004/170.
size_t ast_subfield_004_170_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield for I004/170.
size_t ast_dataitem_004_170_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of data item I004/170.
const char * ast_subfield_004_170_get_id(const ast_subfield_type_t type)
Get ID string of subfield for I004/170.
const char * ast_subfield_004_170_get_name(const ast_subfield_type_t type)
Get name of subfield for I004/170.
size_t ast_subfield_004_171_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield for I004/171.
ast_dataitem_004_170_t ast_dataitem_004_171_t
Data Item I004/171 - Aircraft Identification & Characteristics 2.
Definition cat004.h:872
const char * ast_subfield_004_171_get_name(const ast_subfield_type_t type)
Get name of subfield for I004/171.
size_t ast_dataitem_004_171_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of data item I004/171.
const char * ast_subfield_004_171_get_id(const ast_subfield_type_t type)
Get ID string of subfield for I004/171.
ast_dataitem_type_t
Definition of data item type in each category.
Definition dataitem.h:86
#define AST_MAX_SUBFIELDS
Maximum number of subfields in a data item.
Definition subfield.h:440
ast_datarecord_004_t ast_datarecord_004_disassemble(const ast_datarecord_t dr)
Disassemble a CAT004 data record into its components.
ast_subfield_type_t
Definition of subfield type in each data item.
Definition subfield.h:67
Data Item I004/040 - Alert Identifier.
Definition cat004.h:447
bool valid
Validity flag.
Definition cat004.h:448
unsigned int alert_id
Alert identifier value (0-65535).
Definition cat004.h:450
Data Item I004/060 - Safety Net Function & System Status.
Definition cat004.h:507
bool valid
Validity flag.
Definition cat004.h:508
size_t n_functions
Number of functions reported.
Definition cat004.h:510
bool status[64]
Function status (active/inactive).
Definition cat004.h:512
ast_snet_message_type_t functions[64]
Function types.
Definition cat004.h:511
Data Item I004/100 - Area Definitions.
Definition cat004.h:572
bool an_existing
Area name exists flag.
Definition cat004.h:579
ast_subfield_t subfields[35]
Subfields array.
Definition cat004.h:575
size_t n_subfields
Number of subfields.
Definition cat004.h:576
bool valid
Validity flag.
Definition cat004.h:573
char an_name[9]
Area name (up to 8 characters).
Definition cat004.h:580
Data Item I004/120 - Conflict Characteristics.
Definition cat004.h:675
bool valid
Validity flag.
Definition cat004.h:676
ast_subfield_t subfields[35]
Subfields array.
Definition cat004.h:678
unsigned int cc_table_id
Table ID.
Definition cat004.h:683
size_t n_subfields
Number of subfields.
Definition cat004.h:679
bool cc_existing
Conflict characteristics exist flag.
Definition cat004.h:682
unsigned int cc_conflict_property
Conflict property.
Definition cat004.h:684
unsigned int cc_conflict_severity
Conflict severity: 0=Low, 1=High.
Definition cat004.h:685
Data Item I004/170 - Aircraft Identification & Characteristics 1.
Definition cat004.h:778
bool m3_existing
Mode-3/A code exists flag.
Definition cat004.h:785
ast_subfield_t subfields[35]
Subfields array.
Definition cat004.h:781
int m3_code
Mode-3/A code value (squawk).
Definition cat004.h:786
size_t n_subfields
Number of subfields.
Definition cat004.h:782
bool valid
Validity flag.
Definition cat004.h:779
Data Item - Data Source Identifier.
Definition cat_generic.h:133
Extracted dataitem.
Definition dataitem.h:526
Data Item - Message Type.
Definition cat_generic.h:80
Dataitem.
Definition dataitem.h:515
Data Item - Time of Day.
Definition cat_generic.h:282
Data Item Itrack_number - Track Number.
Definition cat_generic.h:906
Data Record I004 - Safety Net Messages.
Definition cat004.h:976
ast_dataitem_004_170_t dataitem_004_170
I004/170: Aircraft Identification & Characteristics 1.
Definition cat004.h:988
ast_dataitem_004_010_t dataitem_004_010
I004/010: Data Source Identifier.
Definition cat004.h:980
ast_dataitem_004_100_t dataitem_004_100
I004/100: Area Definitions.
Definition cat004.h:986
bool valid
Validity flag.
Definition cat004.h:977
ast_dataitem_004_000_t dataitem_004_000
I004/000: Message Type.
Definition cat004.h:979
ast_dataitem_004_035_t dataitem_004_035
I004/035: Track Number 2.
Definition cat004.h:983
ast_dataitem_004_030_t dataitem_004_030
I004/030: Track Number 1.
Definition cat004.h:982
ast_dataitem_004_040_t dataitem_004_040
I004/040: Alert Identifier.
Definition cat004.h:984
ast_dataitem_004_120_t dataitem_004_120
I004/120: Conflict Characteristics.
Definition cat004.h:987
ast_dataitem_004_060_t dataitem_004_060
I004/060: Safety Net Function & System Status.
Definition cat004.h:985
ast_dataitem_004_171_t dataitem_004_171
I004/171: Aircraft Identification & Characteristics 2.
Definition cat004.h:989
ast_dataitem_004_020_t dataitem_004_020
I004/020: Time of Message.
Definition cat004.h:981
Datarecord.
Definition datarecord.h:61
Subfield struct.
Definition subfield.h:366