cat004.h File Reference

ASTERIX CAT004 - Safety Net Messages. More...

#include "dataitem.h"
#include "datarecord.h"
#include "subfield.h"
#include "cat_generic.h"
Include dependency graph for cat004.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ast_dataitem_004_040_t
 Data Item I004/040 - Alert Identifier. More...
struct  ast_dataitem_004_060_t
 Data Item I004/060 - Safety Net Function & System Status. More...
struct  ast_dataitem_004_100_t
 Data Item I004/100 - Area Definitions. More...
struct  ast_dataitem_004_120_t
 Data Item I004/120 - Conflict Characteristics. More...
struct  ast_dataitem_004_170_t
 Data Item I004/170 - Aircraft Identification & Characteristics 1. More...
struct  ast_datarecord_004_t
 Data Record I004 - Safety Net Messages. More...

Macros

#define AST_MAX_SNET_MESSAGE_TYPES   64
 Maximum number of SNET message types supported.
#define ast_dataitem_004_000_get_size   ast_dataitem_message_type_get_size
 Get size function for I004/000.
#define ast_dataitem_004_000_decode   ast_dataitem_message_type_decode
 Decode function for I004/000.
#define ast_dataitem_004_000_encode   ast_dataitem_message_type_encode
 Encode function for I004/000.
#define ast_dataitem_004_010_get_size   ast_dataitem_data_source_identifier_get_size
 Get size function for I004/010.
#define ast_dataitem_004_010_decode   ast_dataitem_data_source_identifier_decode
 Decode function for I004/010.
#define ast_dataitem_004_010_encode   ast_dataitem_data_source_identifier_encode
 Encode function for I004/010.
#define ast_dataitem_004_010_get_summary   ast_dataitem_data_source_identifier_get_summary
 Get summary function for I004/010.
#define ast_dataitem_004_010_get_detail_html   ast_dataitem_data_source_identifier_get_detail_html
 Get detail function for I004/010.
#define ast_dataitem_004_020_get_size   ast_dataitem_time_of_day_get_size
 Get size function for I004/020.
#define ast_dataitem_004_020_decode   ast_dataitem_time_of_day_decode
 Decode function for I004/020.
#define ast_dataitem_004_020_encode   ast_dataitem_time_of_day_encode
 Encode function for I004/020.
#define ast_dataitem_004_020_get_summary   ast_dataitem_time_of_day_get_summary
 Get summary function for I004/020.
#define ast_dataitem_004_020_get_detail_html   ast_dataitem_time_of_day_get_detail_html
 Get detail function for I004/020.
#define ast_dataitem_004_030_get_size   ast_dataitem_track_number_get_size
 Get size function for I004/030.
#define ast_dataitem_004_030_decode   ast_dataitem_track_number_decode
 Decode function for I004/030.
#define ast_dataitem_004_030_encode   ast_dataitem_track_number_encode
 Encode function for I004/030.
#define ast_dataitem_004_030_get_summary   ast_dataitem_track_number_get_summary
 Get summary function for I004/030.
#define ast_dataitem_004_030_get_detail_html   ast_dataitem_track_number_get_detail_html
 Get detail function for I004/030.
#define ast_dataitem_004_035_get_size   ast_dataitem_track_number_get_size
 Get size function for I004/035.
#define ast_dataitem_004_035_decode   ast_dataitem_track_number_decode
 Decode function for I004/035.
#define ast_dataitem_004_035_encode   ast_dataitem_track_number_encode
 Encode function for I004/035.
#define ast_dataitem_004_035_get_summary   ast_dataitem_track_number_get_summary
 Get summary function for I004/035.
#define ast_dataitem_004_035_get_detail_html   ast_dataitem_track_number_get_detail_html
 Get detail function for I004/035.
#define ast_dataitem_004_040_get_size   ast_dataitem_get_size_fixed_2_byte
 Get size function for I004/040.
#define ast_dataitem_004_040_get_detail_html   ast_dataitem_get_detail_html_dummy;
 Get detail function for I004/040.
#define ast_dataitem_004_060_get_size   ast_dataitem_get_size_var_6_byte
 Get size function for I004/060.
#define ast_dataitem_004_100_get_summary   ast_dataitem_subfields_get_summary
 Get summary function for I004/100.
#define ast_dataitem_004_100_get_detail_html   ast_dataitem_subfields_get_detail_html
 Get detail function for I004/100.
#define ast_dataitem_004_120_get_summary   ast_dataitem_subfields_get_summary
 Get summary function for I004/120.
#define ast_dataitem_004_120_get_detail_html   ast_dataitem_subfields_get_detail_html
 Get detail function for I004/120.
#define ast_dataitem_004_170_get_summary   ast_dataitem_subfields_get_summary
 Get summary function for I004/170.
#define ast_dataitem_004_170_get_detail_html   ast_dataitem_subfields_get_detail_html
 Get detail function for I004/170.
#define ast_dataitem_004_171_decode   ast_dataitem_004_170_decode
 Decode function for I004/171 (uses I004/170 decoder).
#define ast_dataitem_004_171_get_summary   ast_dataitem_subfields_get_summary
 Get summary function for I004/171.
#define ast_dataitem_004_171_get_detail_html   ast_dataitem_subfields_get_detail_html
 Get detail function for I004/171.
#define ast_subfield_004_171_get_summary   ast_subfield_004_170_get_summary
 Get summary function for subfield I004/171 (uses I004/170).
#define ast_subfield_004_171_get_detail_html   ast_subfield_004_170_get_detail_html
 Get detail function for subfield I004/171 (uses I004/170).
#define ast_dataitem_004_REF_get_size   ast_dataitem_reserved_expansion_field_get_size
 Get size function for I004/REF.
#define ast_dataitem_004_REF_get_summary   ast_dataitem_reserved_expansion_field_get_summary
 Get summary function for I004/REF.
#define ast_dataitem_004_REF_get_detail_html   ast_dataitem_reserved_expansion_field_get_detail_html
 Get detail function for I004/REF.
#define ast_dataitem_004_SPF_get_size   ast_dataitem_special_purpose_field_get_size
 Get size function for I004/SPF.
#define ast_dataitem_004_SPF_get_summary   ast_dataitem_special_purpose_field_get_summary
 Get summary function for I004/SPF.
#define ast_dataitem_004_SPF_get_detail_html   ast_dataitem_special_purpose_field_get_detail_html
 Get detail function for I004/SPF.

Typedefs

typedef ast_dataitem_message_type_t ast_dataitem_004_000_t
 Data Item I004/000 - Message Type.
typedef ast_dataitem_data_source_identifier_t ast_dataitem_004_010_t
 Data Item I004/010 - Data Source Identifier.
typedef ast_dataitem_time_of_day_t ast_dataitem_004_020_t
 Data Item I004/020 - Time of Message.
typedef ast_dataitem_track_number_t ast_dataitem_004_030_t
 Data Item I004/030 - Track Number 1.
typedef ast_dataitem_track_number_t ast_dataitem_004_035_t
 Data Item I004/035 - Track Number 2.
typedef ast_dataitem_004_170_t ast_dataitem_004_171_t
 Data Item I004/171 - Aircraft Identification & Characteristics 2.

Enumerations

enum  ast_snet_message_type_t {
  AST_SNET_MESSAGE_ALIVE = 1 , AST_SNET_MESSAGE_RAMLD = 2 , AST_SNET_MESSAGE_RAMHD = 3 , AST_SNET_MESSAGE_MSAW = 4 ,
  AST_SNET_MESSAGE_APW = 5 , AST_SNET_MESSAGE_CLAM = 6 , AST_SNET_MESSAGE_STCA = 7 , AST_SNET_MESSAGE_APM = 8 ,
  AST_SNET_MESSAGE_ALM = 9 , AST_SNET_MESSAGE_WRA = 10 , AST_SNET_MESSAGE_OTA = 11 , AST_SNET_MESSAGE_RDM = 12 ,
  AST_SNET_MESSAGE_RCM = 13 , AST_SNET_MESSAGE_TSM = 14 , AST_SNET_MESSAGE_UTMM = 15 , AST_SNET_MESSAGE_SBOA = 16 ,
  AST_SNET_MESSAGE_EOC = 17 , AST_SNET_MESSAGE_ACASRA = 18 , AST_SNET_MESSAGE_NTCA = 19 , AST_SNET_MESSAGE_DBPSM = 20 ,
  AST_SNET_MESSAGE_SAM = 21 , AST_SNET_MESSAGE_OCAT = 22 , AST_SNET_MESSAGE_VCD = 23 , AST_SNET_MESSAGE_VRAM = 24 ,
  AST_SNET_MESSAGE_CHAM = 25 , AST_SNET_MESSAGE_DSAM = 26 , AST_SNET_MESSAGE_HAM = 27 , AST_SNET_MESSAGE_VPM = 28 ,
  AST_SNET_MESSAGE_TTA = 29 , AST_SNET_MESSAGE_CRA = 30 , AST_SNET_MESSAGE_ASM = 31 , AST_SNET_MESSAGE_IAVM = 32 ,
  AST_SNET_MESSAGE_FTD = 33 , AST_SNET_MESSAGE_ITD = 34 , AST_SNET_MESSAGE_IIA = 35 , AST_SNET_MESSAGE_SQW = 36 ,
  AST_SNET_MESSAGE_CUW = 37 , AST_SNET_MESSAGE_LTW = 97 , AST_SNET_MESSAGE_HVI = 98 , AST_SNET_MESSAGE_AIW = 99 ,
  AST_SNET_MESSAGE_MRVA = 201
}
 Safety Net message types. More...

Functions

const char * ast_dataitem_004_get_name (const ast_dataitem_type_t type)
 Get the name of a CAT004 data item.
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.
const char * ast_snet_message_type_get_name (const ast_snet_message_type_t type)
 Get the name 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.
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.
ast_dataitem_004_040_t ast_dataitem_004_040_decode (const ast_dataitem_t di)
 Decode Data Item I004/040.
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.
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.
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.
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.
size_t ast_dataitem_004_100_get_size (const unsigned char *buffer, const size_t bufsize)
 Get size of data item I004/100.
ast_dataitem_004_100_t ast_dataitem_004_100_decode (const ast_dataitem_t di)
 Decode Data Item 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_id (const ast_subfield_type_t type)
 Get ID string 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.
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.
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_dataitem_004_120_get_size (const unsigned char *buffer, const size_t bufsize)
 Get size of data item I004/120.
ast_dataitem_004_120_t ast_dataitem_004_120_decode (const ast_dataitem_t di)
 Decode 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_id (const ast_subfield_type_t type)
 Get ID string 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.
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.
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.
size_t ast_dataitem_004_170_get_size (const unsigned char *buffer, const size_t bufsize)
 Get size of data item I004/170.
ast_dataitem_004_170_t ast_dataitem_004_170_decode (const ast_dataitem_t di)
 Decode Data Item 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.
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.
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_dataitem_004_171_get_size (const unsigned char *buffer, const size_t bufsize)
 Get size of data item I004/171.
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.
const char * ast_subfield_004_171_get_id (const ast_subfield_type_t type)
 Get ID string of subfield for I004/171.
const char * ast_subfield_004_171_get_name (const ast_subfield_type_t type)
 Get name of subfield for I004/171.
ast_datarecord_004_t ast_datarecord_004_disassemble (const ast_datarecord_t dr)
 Disassemble a CAT004 data record into its components.

Detailed Description

ASTERIX CAT004 - Safety Net Messages.

Description:
This file declares the data item structures, the data record structure and the decode/encode/disassemble interfaces for ASTERIX Category 004 (Safety Net Messages) processing.
Note
This implementation is based on ASTERIX CAT004 version 1.11
Reference: EUROCONTROL-SPEC-0149-17

Function Documentation

◆ ast_dataitem_004_get_name()

const char * ast_dataitem_004_get_name ( const ast_dataitem_type_t type)

Get the name of a CAT004 data item.

Parameters
typeData item type identifier
Returns
Pointer to the name string