cat048.h File Reference

ASTERIX CAT048 - Monoradar Target Reports. More...

#include "dataitem.h"
#include "datarecord.h"
#include "cat_generic.h"
#include "subfield.h"
#include "bds.h"
Include dependency graph for cat048.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_048_020_t
 Data Item I048/020 - Target Report Descriptor. More...
struct  ast_dataitem_048_030_t
 Data Item I048/030 - Warning/Error Conditions. More...
struct  ast_dataitem_048_040_t
 Data Item I048/040 - Measured Position in Polar Co-ordinates. More...
struct  ast_dataitem_048_042_t
 Data Item I048/042 - Calculated Position in Cartesian Co-ordinates. More...
struct  ast_dataitem_048_050_t
 Data Item I048/050 - Mode-2 Code in Octal Representation. More...
struct  ast_dataitem_048_110_t
 Data Item I048/110 - Height Measured by a 3D Radar. More...
struct  ast_dataitem_048_130_t
 Data Item I048/130 - Radar Plot Characteristics. More...
struct  ast_dataitem_048_170_t
 Data Item I048/170 - Track Status. More...
struct  ast_dataitem_048_210_t
 Data Item I048/210 - Track Quality. More...
struct  ast_dataitem_048_230_t
 Data Item I048/230 - Communications / ACAS Capability and Flight Status. More...
struct  ast_dataitem_048_260_t
 Data Item I048/260 - ACAS Resolution Advisory Report. More...
struct  ast_datarecord_048_t
 Data Record I048 - Monoradar Target Reports. More...

Macros

#define ast_dataitem_048_010_get_size   ast_dataitem_data_source_identifier_get_size
 Get size function for I048/010.
#define ast_dataitem_048_010_decode   ast_dataitem_data_source_identifier_decode
 Decode function for I048/010.
#define ast_dataitem_048_010_encode   ast_dataitem_data_source_identifier_encode
 Encode function for I048/010.
#define ast_dataitem_048_010_get_summary   ast_dataitem_data_source_identifier_get_summary
 Get summary function for I048/010.
#define ast_dataitem_048_010_get_detail_html   ast_dataitem_data_source_identifier_get_detail_html
 Get detail function for I048/010.
#define ast_dataitem_048_020_get_size   ast_dataitem_get_size_var_2_byte
 Get size function for I048/020.
#define AST_MAX_ERROR_CONDITION   23
#define ast_dataitem_048_030_get_size   ast_dataitem_get_size_var_23_byte
 Get size function for I048/030.
#define ast_dataitem_048_040_get_size   ast_dataitem_get_size_fixed_4_byte
 Get size function for I048/040.
#define ast_dataitem_048_042_get_size   ast_dataitem_get_size_fixed_4_byte
 Get size function for I048/042.
#define ast_dataitem_048_050_get_size   ast_dataitem_get_size_fixed_2_byte
 Get size function for I048/050.
#define ast_dataitem_048_070_get_size   ast_dataitem_mode_3a_code_get_size
 Get size function for I048/070.
#define ast_dataitem_048_070_decode   ast_dataitem_mode_3a_code_decode
 Decode function for I048/070.
#define ast_dataitem_048_070_encode   ast_dataitem_mode_3a_code_encode
 Encode function for I048/070.
#define ast_dataitem_048_070_get_summary   ast_dataitem_mode_3a_code_get_summary
 Get summary function for I048/070.
#define ast_dataitem_048_070_get_detail_html   ast_dataitem_mode_3a_code_get_detail_html
 Get detail function for I048/070.
#define ast_dataitem_048_080_get_size   ast_dataitem_mode_3a_confidence_get_size
 Get size function for I048/080.
#define ast_dataitem_048_080_decode   ast_dataitem_mode_3a_confidence_decode
 Decode function for I048/080.
#define ast_dataitem_048_080_get_summary   ast_dataitem_mode_3a_confidence_get_summary
 Get summary function for I048/080.
#define ast_dataitem_048_080_get_detail_html   ast_dataitem_mode_3a_confidence_get_detail_html
 Get detail function for I048/080.
#define ast_dataitem_048_090_get_size   ast_dataitem_mode_c_code_get_size
 Get size function for I048/090.
#define ast_dataitem_048_090_decode   ast_dataitem_mode_c_code_decode
 Decode function for I048/090.
#define ast_dataitem_048_090_encode   ast_dataitem_mode_c_code_encode
 Encode function for I048/090.
#define ast_dataitem_048_090_get_summary   ast_dataitem_mode_c_code_get_summary
 Get summary function for I048/090.
#define ast_dataitem_048_090_get_detail_html   ast_dataitem_mode_c_code_get_detail_html
 Get detail function for I048/090.
#define ast_dataitem_048_100_get_size   ast_dataitem_mode_c_confidence_get_size
 Get size function for I048/100.
#define ast_dataitem_048_100_decode   ast_dataitem_mode_c_confidence_decode
 Decode function for I048/100.
#define ast_dataitem_048_100_get_summary   ast_dataitem_mode_c_confidence_get_summary
 Get summary function for I048/100.
#define ast_dataitem_048_100_get_detail_html   ast_dataitem_mode_c_confidence_get_detail_html
 Get detail function for I048/100.
#define ast_dataitem_048_110_get_size   ast_dataitem_get_size_fixed_2_byte
 Get size function for I048/110.
#define ast_dataitem_048_120_get_summary   ast_dataitem_subfields_get_summary
 Decode function of dataitem.
#define ast_dataitem_048_120_get_detail_html   ast_dataitem_subfields_get_detail_html
 Get detail html snippet of dataitem.
#define ast_dataitem_048_130_get_summary   ast_dataitem_subfields_get_summary
 Get summary of dataitem.
#define ast_dataitem_048_130_get_detail_html   ast_dataitem_subfields_get_detail_html
 Get detail html snippet of dataitem.
#define ast_dataitem_048_140_get_size   ast_dataitem_time_of_day_get_size
#define ast_dataitem_048_140_decode   ast_dataitem_time_of_day_decode
#define ast_dataitem_048_140_encode   ast_dataitem_time_of_day_encode
#define ast_dataitem_048_140_get_summary   ast_dataitem_time_of_day_get_summary
#define ast_dataitem_048_140_get_detail_html   ast_dataitem_time_of_day_get_detail_html
#define ast_dataitem_048_161_get_size   ast_dataitem_track_number_get_size
 Get size function for I048/161.
#define ast_dataitem_048_161_decode   ast_dataitem_track_number_decode
 Decode function for I048/161.
#define ast_dataitem_048_161_encode   ast_dataitem_track_number_encode
 Encode function for I048/161.
#define ast_dataitem_048_161_get_summary   ast_dataitem_track_number_get_summary
 Get summary function for I048/161.
#define ast_dataitem_048_161_get_detail_html   ast_dataitem_track_number_get_detail_html
 Get detail function for I048/161.
#define ast_dataitem_048_170_get_size   ast_dataitem_get_size_var_2_byte
 Get size function for I048/170.
#define ast_dataitem_048_200_get_size   ast_dataitem_velocity_polar_get_size
 Get size function for I048/200.
#define ast_dataitem_048_200_decode   ast_dataitem_velocity_polar_decode
 Decode function for I048/200.
#define ast_dataitem_048_200_encode   ast_dataitem_velocity_polar_encode
 Encode function for I048/200.
#define ast_dataitem_048_200_get_summary   ast_dataitem_velocity_polar_get_summary
 Get summary function for I048/200.
#define ast_dataitem_048_200_get_detail_html   ast_dataitem_velocity_polar_get_detail_html
 Get detail function for I048/200.
#define ast_dataitem_048_210_get_size   ast_dataitem_get_size_fixed_4_byte
 Get size function for I048/210.
#define ast_dataitem_048_220_get_size   ast_dataitem_target_address_get_size
 Get size function for I048/220.
#define ast_dataitem_048_220_decode   ast_dataitem_target_address_decode
 Decode function for I048/220.
#define ast_dataitem_048_220_encode   ast_dataitem_target_address_encode
 Encode function for I048/220.
#define ast_dataitem_048_220_get_summary   ast_dataitem_target_address_get_summary
 Get summary function for I048/220.
#define ast_dataitem_048_220_get_detail_html   ast_dataitem_target_address_get_detail_html
 Get detail function for I048/220.
#define ast_dataitem_048_230_get_size   ast_dataitem_get_size_fixed_2_byte
 Get size function for I048/230.
#define ast_dataitem_048_240_get_size   ast_dataitem_aircraft_id_get_size
 Get size function for I048/240.
#define ast_dataitem_048_240_decode   ast_dataitem_aircraft_id_decode
 Decode function for I048/240.
#define ast_dataitem_048_240_encode   ast_dataitem_aircraft_id_encode
 Encode function for I048/240.
#define ast_dataitem_048_240_get_summary   ast_dataitem_aircraft_id_get_summary
 Get summary function for I048/240.
#define ast_dataitem_048_240_get_detail_html   ast_dataitem_aircraft_id_get_detail_html
 Get detail function for I048/240.
#define ast_dataitem_048_250_get_size   ast_dataitem_modes_mb_get_size
 Get size function for I048/250.
#define ast_dataitem_048_250_decode   ast_dataitem_modes_mb_decode
 Decode function for I048/250.
#define ast_dataitem_048_250_get_summary   ast_dataitem_modes_mb_get_summary
 Get summary function for I048/250.
#define ast_dataitem_048_250_get_detail_html   ast_dataitem_modes_mb_get_detail_html
 Get detail function for I048/250.
#define ast_dataitem_048_260_get_size   ast_dataitem_get_size_fixed_7_byte
 Get size function for I048/260.
#define ast_dataitem_048_REF_get_size   ast_dataitem_reserved_expansion_field_get_size
 Get size function for I048/REF.
#define ast_dataitem_048_REF_get_summary   ast_dataitem_reserved_expansion_field_get_summary
 Decode function for I048/REF.
#define ast_dataitem_048_REF_get_detail_html   ast_dataitem_reserved_expansion_field_get_detail_html
 Get detail function for I048/REF.
#define ast_dataitem_048_SPF_get_size   ast_dataitem_special_purpose_field_get_size
 Get size function for I048/SPF.
#define ast_dataitem_048_SPF_get_summary   ast_dataitem_special_purpose_field_get_summary
 Decode function for I048/SPF.
#define ast_dataitem_048_SPF_get_detail_html   ast_dataitem_special_purpose_field_get_detail_html
 Get detail function for I048/SPF.
#define ast_datarecord_048_get_coordinate   0
 Get coordinate from CAT048 data record.
#define ast_datarecord_048_get_speed   0
 Get speed from CAT048 data record.
#define ast_datarecord_048_get_cartesianvel   0
 Get cartesian velocity from CAT048 data record.
#define ast_datarecord_048_get_vrate   0
 Get vertical rate from CAT048 data record.

Typedefs

typedef ast_dataitem_data_source_identifier_t ast_dataitem_048_010_t
 Data Item I048/010 - Data Source Identifier.
typedef ast_dataitem_mode_3a_code_t ast_dataitem_048_070_t
 Data Item I048/070 - Mode-3/A Code.
typedef ast_dataitem_mode_3a_confidence_t ast_dataitem_048_080_t
 Data Item I048/080 - Mode-3/A Code Confidence Indicator.
typedef ast_dataitem_mode_c_code_t ast_dataitem_048_090_t
 Data Item I048/090 - Flight Level in Binary Representation.
typedef ast_dataitem_mode_c_confidence_t ast_dataitem_048_100_t
 Data Item I048/100 - Mode-C Code and Code Confidence Indicator.
typedef ast_dataitem_time_of_day_t ast_dataitem_048_140_t
typedef ast_dataitem_track_number_t ast_dataitem_048_161_t
 Data Item I048/161 - Track Number.
typedef ast_dataitem_velocity_polar_t ast_dataitem_048_200_t
 Data Item I048/200 - Calculated Track Velocity in Polar Co-ordinates.
typedef ast_dataitem_target_address_t ast_dataitem_048_220_t
 Data Item I048/220 - Aircraft Address.
typedef ast_dataitem_aircraft_id_t ast_dataitem_048_240_t
 Data Item I048/240 - Aircraft Identification.
typedef ast_dataitem_modes_mb_t ast_dataitem_048_250_t
 Data Item I048/250 - Mode S MB Data.

Enumerations

enum  ast_radar_track_type_t { AST_RADAR_TRACK_TYPE_COMBINED = 0 , AST_RADAR_TRACK_TYPE_PSR = 1 , AST_RADAR_TRACK_TYPE_SSR = 2 , AST_RADAR_TRACK_TYPE_INVALID = 3 }
 Radar Track Type. More...
enum  ast_radar_track_v_manoeuvre_t { AST_RADAR_TRACK_V_MAINTAINING = 0 , AST_RADAR_TRACK_V_CLIMBING = 1 , AST_RADAR_TRACK_V_DESCENDING = 2 , AST_RADAR_TRACK_V_INVALID = 3 }
 Radar Track Vertical Manoeuvre. More...

Functions

const char * ast_dataitem_048_get_name (const ast_dataitem_type_t type)
 Get the name of a CAT048 data item.
ast_dataitem_048_020_t ast_dataitem_048_020_decode (const ast_dataitem_t di)
 Decode function for I048/020.
ast_dataitem_t ast_dataitem_048_020_encode (unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
 Encode function for I048/020.
void ast_dataitem_048_020_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I048/020.
void ast_dataitem_048_020_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I048/020.
ast_dataitem_048_030_t ast_dataitem_048_030_decode (const ast_dataitem_t di)
 Decode function for I048/030.
void ast_dataitem_048_030_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I048/030.
void ast_dataitem_048_030_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I048/030.
ast_dataitem_048_040_t ast_dataitem_048_040_decode (const ast_dataitem_t di)
 Decode function for I048/040.
ast_dataitem_t ast_dataitem_048_040_encode (unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
 Encode function for I048/040.
void ast_dataitem_048_040_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I048/040.
void ast_dataitem_048_040_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I048/040.
ast_dataitem_048_042_t ast_dataitem_048_042_decode (const ast_dataitem_t di)
 Decode function for I048/042.
void ast_dataitem_048_042_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I048/042.
void ast_dataitem_048_042_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I048/042.
ast_dataitem_048_050_t ast_dataitem_048_050_decode (const ast_dataitem_t di)
 Decode function for I048/050.
ast_dataitem_t ast_dataitem_048_050_encode (unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
 Encode function for I048/050.
void ast_dataitem_048_050_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I048/050.
void ast_dataitem_048_050_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I048/050.
ast_dataitem_048_110_t ast_dataitem_048_110_decode (const ast_dataitem_t di)
 Decode function for I048/110.
void ast_dataitem_048_110_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I048/110.
void ast_dataitem_048_110_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I048/110.
size_t ast_dataitem_048_120_get_size (const unsigned char *buffer, const size_t bufsize)
 Get size of dataitem.
size_t ast_subfield_048_120_get_size (const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
 Get size of subfield.
const char * ast_subfield_048_120_get_id (const ast_subfield_type_t type)
 Get id string of subfield.
const char * ast_subfield_048_120_get_name (const ast_subfield_type_t type)
 Get name of subfield.
void ast_subfield_048_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.
void ast_subfield_048_120_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.
size_t ast_dataitem_048_130_get_size (const unsigned char *buffer, const size_t bufsize)
 Get size of dataitem.
ast_dataitem_048_130_t ast_dataitem_048_130_decode (const ast_dataitem_t di)
 Decode function of dataitem.
size_t ast_subfield_048_130_get_size (const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
 Get size of subfield.
const char * ast_subfield_048_130_get_id (const ast_subfield_type_t type)
 Get id string of subfield.
const char * ast_subfield_048_130_get_name (const ast_subfield_type_t type)
 Get name of subfield.
void ast_subfield_048_130_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_048_130_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_048_170_t ast_dataitem_048_170_decode (const ast_dataitem_t di)
 Decode function for I048/170.
void ast_dataitem_048_170_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I048/170.
void ast_dataitem_048_170_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I048/170.
ast_dataitem_048_210_t ast_dataitem_048_210_decode (const ast_dataitem_t di)
 Decode function for I048/210.
void ast_dataitem_048_210_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I048/210.
void ast_dataitem_048_210_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I048/210.
ast_dataitem_048_230_t ast_dataitem_048_230_decode (const ast_dataitem_t di)
 Decode function for I048/230.
void ast_dataitem_048_230_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I048/230.
void ast_dataitem_048_230_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I048/230.
ast_dataitem_048_260_t ast_dataitem_048_260_decode (const ast_dataitem_t di)
 Decode function for I048/260.
void ast_dataitem_048_260_get_summary (char *summary, const size_t summary_size, const ast_dataitem_t di)
 Get summary function for I048/260.
void ast_dataitem_048_260_get_detail_html (char *detail, const size_t detail_size, const ast_dataitem_t di)
 Get detail function for I048/260.
ast_sacsic_t ast_datarecord_048_get_sacsic (const ast_datarecord_t dr)
 Get SAC/SIC from CAT048 data record.
ast_timeofday_t ast_datarecord_048_get_timeofday (const ast_datarecord_t dr)
 Get time of day from CAT048 data record.
ast_msgtype_t ast_datarecord_048_get_msgtype (const ast_datarecord_t dr)
 Get message type from CAT048 data record.
ast_tracknum_t ast_datarecord_048_get_tracknum (const ast_datarecord_t dr)
 Get track number from CAT048 data record.
ast_squawk_t ast_datarecord_048_get_squawk (const ast_datarecord_t dr)
 Get Mode-3/A code from CAT048 data record.
ast_callsign_t ast_datarecord_048_get_callsign (const ast_datarecord_t dr)
 Get callsign from CAT048 data record.
ast_icaoaddr_t ast_datarecord_048_get_icaoaddr (const ast_datarecord_t dr)
 Get ICAO 24-bit address from CAT048 data record.
ast_altitude_t ast_datarecord_048_get_flightlevel (const ast_datarecord_t dr)
 Get flight level from CAT048 data record.
ast_altitude_t ast_datarecord_048_get_selaltitude (const ast_datarecord_t dr)
 Get selected altitude from CAT048 data record.
ast_polar_coordinate_t ast_datarecord_048_get_polarcoord (const ast_datarecord_t dr)
 Get polar coordinate from CAT048 data record.
ast_heading_t ast_datarecord_048_get_heading (const ast_datarecord_t dr)
 Get heading from CAT048 data record.
ast_datarecord_048_t ast_datarecord_048_disassemble (const ast_datarecord_t dr)
 Disassemble CAT048 data record.
ast_datarecord_t ast_datarecord_048_assemble (unsigned char *const buffer, const size_t bufsize, const ast_datarecord_048_t dr, const ast_uap_t uap)
 Assemble CAT048 data record.

Detailed Description

ASTERIX CAT048 - Monoradar Target Reports.

Description:
Declarations of the CAT048 data structures and encode/decode functions.
Note
This implementation is based on ASTERIX CAT048 version 1.21
Reference: EUROCONTROL-SPEC-0149-4