type.h
Go to the documentation of this file.
1/*
2 * $COPYRIGHT-BEGIN$
3 * libasterix
4 * Copyright [2013-2026] SinoATC <http://www.sinoatc.com>.
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 SinoATC 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 * $COPYRIGHT-END$
17 */
18
24
25#ifndef LIBASTERIX_TYPE_H
26#define LIBASTERIX_TYPE_H
27
28#include <stdbool.h>
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
35typedef struct _ast_sacsic_t
36{
37 bool valid;
38 int sac;
39 int sic;
41
43typedef struct _ast_timeofday_t
44{
45 bool valid;
46 int hour;
47 int minute;
48 int second;
51
70
71typedef struct _ast_msgtype_t
72{
73 bool valid;
76
78typedef struct _ast_tracknum_t
79{
80 bool valid;
83
85typedef struct _ast_squawk_t
86{
87 bool valid;
88 int code;
89 bool garbled;
90 bool smoothed;
92
94typedef struct _ast_callsign_t
95{
96 bool valid;
97 char callsign[9];
99
101typedef struct _ast_icaoaddr_t
102{
103 bool valid;
106
108typedef struct _ast_wgs84coord_t
109{
110 bool valid;
111 double longitude;
112 double latitude;
114
116typedef struct _ast_altitude_t
117{
118 bool valid;
119 double altitude;
121
123typedef struct _ast_wgs84coord3d_t
124{
125 bool valid;
126 double longitude;
127 double latitude;
128
130 double altitude;
132
134typedef struct _ast_polar_coordinate_t
135{
136 bool valid;
137 double rho;
138 double theta;
140
142typedef struct _ast_range_t
143{
144 bool valid;
145 double range;
147
149typedef struct _ast_azimuth_t
150{
151 bool valid;
152 double azimuth;
154
156typedef struct _ast_heading_t
157{
158 bool valid;
159
161 double magnetic;
162
164 double geographic;
166
168typedef struct _ast_speed_t
169{
170 bool valid;
171
174
176typedef struct _ast_cartesian_velocity_t
177{
178 bool valid;
179
180 double vx;
181 double vy;
183
185typedef struct _ast_doppler_velocity_t
186{
187 bool valid;
188
189 double velocity;
191
193typedef struct _ast_vertical_rate_t
194{
195 bool valid;
196
199
200#ifdef __cplusplus
201}
202#endif // extern "C"
203
204#endif //LIBASTERIX_TYPE_H
205
206// vim:set ft=c.doxygen sw=2 sts=2 fenc=utf8:
Altitude.
Definition type.h:117
double altitude
altitude in foot
Definition type.h:119
bool valid
true if altitude is valid
Definition type.h:118
Azimuth.
Definition type.h:150
bool valid
true if azimuth is valid
Definition type.h:151
double azimuth
Azimuth in degree.
Definition type.h:152
Callsign.
Definition type.h:95
char callsign[9]
callsign, null string if invalid
Definition type.h:97
bool valid
true if callsign is valid
Definition type.h:96
Cartesian Velocity.
Definition type.h:177
double vx
X velocity in m/s.
Definition type.h:180
double vy
Y velocity in m/s.
Definition type.h:181
bool valid
true if velocity is valid
Definition type.h:178
Doppler Velocity.
Definition type.h:186
double velocity
Doppler velocity in m/s.
Definition type.h:189
bool valid
true if velocity is valid
Definition type.h:187
Heading.
Definition type.h:157
bool geographic_valid
true if geographic (true) heading is valid
Definition type.h:163
bool magnetic_valid
true if magnetic heading is valid
Definition type.h:160
double geographic
Geographic (true) heading in degree, range [0, 360).
Definition type.h:164
bool valid
true if heading (magnetic or geographic) is valid
Definition type.h:158
double magnetic
Magnetic heading in degree, range [0, 360).
Definition type.h:161
ICAO 24-bit Address.
Definition type.h:102
int icaoaddr
icaoaddr, -1 if invalid
Definition type.h:104
bool valid
true if ICAO 24-bit address is valid
Definition type.h:103
Definition type.h:72
bool valid
Definition type.h:73
ast_msgtype_enum_t type
AST_MSGTYPE_UNKNOWN if invalid.
Definition type.h:74
Polar Coordinate.
Definition type.h:135
double theta
Theta in degree.
Definition type.h:138
double rho
Rho in NM.
Definition type.h:137
bool valid
true if coordinate is valid
Definition type.h:136
Range.
Definition type.h:143
double range
Range in meter.
Definition type.h:145
bool valid
true if range is valid
Definition type.h:144
Data Source Identifier (aka SAC/SIC).
Definition type.h:36
int sic
SIC value, -1 if invalid.
Definition type.h:39
int sac
SAC value, -1 if invalid.
Definition type.h:38
bool valid
true if both SAC and SIC are valid
Definition type.h:37
Speed.
Definition type.h:169
double ground_speed
Ground speed in knot.
Definition type.h:172
bool valid
true if speed is valid
Definition type.h:170
Squawk (aka Mode-3/A Code).
Definition type.h:86
bool garbled
true if Mode-3/A code is garbled
Definition type.h:89
bool valid
true if Mode-3/A code is valid
Definition type.h:87
int code
Mode-3/A code, -1 if invalid.
Definition type.h:88
bool smoothed
true if Mode-3/A code is smoothed
Definition type.h:90
Time of day.
Definition type.h:44
bool valid
true if time is valid
Definition type.h:45
int minute
minute, -1 if invalid
Definition type.h:47
int second
second, -1 if invalid
Definition type.h:48
int hour
hour, -1 if invalid
Definition type.h:46
int millisecond
millisecond, -1 if invalid
Definition type.h:49
Track Number.
Definition type.h:79
int tracknum
track number, -1 if invalid
Definition type.h:81
bool valid
true if tracknum is valid
Definition type.h:80
Vertical Rate.
Definition type.h:194
bool valid
true if vr is valid
Definition type.h:195
double vertical_rate
Vertical rate in feet/min.
Definition type.h:197
WGS-84 3D Coordinate.
Definition type.h:124
bool valid
true if coordinate is valid
Definition type.h:125
double longitude
Logitude in degree, positive means north, negative means sourth.
Definition type.h:126
double altitude
Altitude in foot.
Definition type.h:130
bool altitude_valid
true if altitude is valid
Definition type.h:129
double latitude
Latitude in degree, positive means east, negative means west.
Definition type.h:127
WGS-84 2D Coordinate.
Definition type.h:109
bool valid
true if coordinate is valid
Definition type.h:110
double latitude
Latitude in degree, positive means east, negative means west.
Definition type.h:112
double longitude
Logitude in degree, positive means north, negative means sourth.
Definition type.h:111
ast_msgtype_enum_t
Message Type.
Definition type.h:54
@ AST_MSGTYPE_UNKNOWN
Definition type.h:55
@ AST_MSGTYPE_INCS_TRACK_END
Termination of an INCS track.
Definition type.h:68
@ AST_MSGTYPE_SURFACE
Definition type.h:63
@ AST_MSGTYPE_ADSB
Definition type.h:60
@ AST_MSGTYPE_VIDEO
Definition type.h:62
@ AST_MSGTYPE_NORTH
Definition type.h:56
@ AST_MSGTYPE_PLOT
Definition type.h:58
@ AST_MSGTYPE_MLAT
Definition type.h:61
@ AST_MSGTYPE_INCS_MEASUREMENT_TRACK
Definition type.h:65
@ AST_MSGTYPE_TRACK
Definition type.h:59
@ AST_MSGTYPE_INCS_SENSOR_CENTRIC_PLOT
Definition type.h:66
@ AST_MSGTYPE_INCS_MEASUREMENT_PLOT
Definition type.h:64
@ AST_MSGTYPE_SECTOR
Definition type.h:57
@ AST_MSGTYPE_INCS_SENSOR_CENTRIC_TRACK
Definition type.h:67