2013-05-20 19:23:41 +00:00
/* c-basic-offset: 4; tab-width: 8; indent-tabs-mode: nil
* vi : set shiftwidth = 4 tabstop = 8 expandtab :
* : indentSize = 4 : tabSize = 8 : noTabs = true :
*/
/* packet-asterix.c
* Routines for ASTERIX decoding
* By Marko Hrastovec < marko . hrastovec @ sloveniacontrol . si >
*
* $ Id $
*
* Wireshark - Network traffic analyzer
* By Gerald Combs < gerald @ wireshark . org >
* Copyright 1998 Gerald Combs
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation ; either version 2
* of the License , or ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 USA .
*/
# include "config.h"
# include <glib.h>
# include <epan/packet.h>
# include "wmem/wmem.h"
# include <stdio.h>
# define PROTO_TAG_ASTERIX "ASTERIX"
# define ASTERIX_PORT 8600
# define MAX_DISSECT_STR 1024
# define MAX_BUFFER 256
static int proto_asterix = - 1 ;
static gint hf_asterix_category = - 1 ;
static gint hf_asterix_length = - 1 ;
static gint hf_asterix_message = - 1 ;
static gint hf_asterix_fspec = - 1 ;
static gint hf_spare = - 1 ;
static gint hf_counter = - 1 ;
static gint hf_XXX_SAC = - 1 ;
static gint hf_XXX_SIC = - 1 ;
static gint hf_XXX_FX = - 1 ;
2013-06-03 23:27:01 +00:00
/*static gint hf_XXX_2FX = -1;*/
static gint hf_XXX_3FX = - 1 ;
2013-05-20 19:23:41 +00:00
static gint hf_XXX_TOD = - 1 ;
static gint hf_XXX_AA = - 1 ;
static gint hf_XXX_AI = - 1 ;
static gint hf_XXX_MB_DATA = - 1 ;
static gint hf_XXX_BDS1 = - 1 ;
static gint hf_XXX_BDS2 = - 1 ;
static gint hf_XXX_TN_16 = - 1 ;
/* Category 001 */
static gint hf_001_010 = - 1 ;
static gint hf_001_020 = - 1 ;
static gint hf_001_020_TYP = - 1 ;
static gint hf_001_020_SIM = - 1 ;
static gint hf_001_020_SSR_PSR = - 1 ;
static gint hf_001_020_ANT = - 1 ;
static gint hf_001_020_SPI = - 1 ;
static gint hf_001_020_RAB = - 1 ;
static gint hf_001_020_TST = - 1 ;
static gint hf_001_020_DS12 = - 1 ;
static gint hf_001_020_ME = - 1 ;
static gint hf_001_020_MI = - 1 ;
static gint hf_001_030 = - 1 ;
static gint hf_001_030_WE = - 1 ;
static gint hf_001_040 = - 1 ;
static gint hf_001_040_RHO = - 1 ;
static gint hf_001_040_THETA = - 1 ;
static gint hf_001_042 = - 1 ;
static gint hf_001_042_X = - 1 ;
static gint hf_001_042_Y = - 1 ;
static gint hf_001_050 = - 1 ;
static gint hf_001_060 = - 1 ;
static gint hf_001_070 = - 1 ;
static gint hf_001_070_V = - 1 ;
static gint hf_001_070_G = - 1 ;
static gint hf_001_070_L = - 1 ;
static gint hf_001_070_SQUAWK = - 1 ;
static gint hf_001_080 = - 1 ;
static gint hf_001_080_QA4 = - 1 ;
static gint hf_001_080_QA2 = - 1 ;
static gint hf_001_080_QA1 = - 1 ;
static gint hf_001_080_QB4 = - 1 ;
static gint hf_001_080_QB2 = - 1 ;
static gint hf_001_080_QB1 = - 1 ;
static gint hf_001_080_QC4 = - 1 ;
static gint hf_001_080_QC2 = - 1 ;
static gint hf_001_080_QC1 = - 1 ;
static gint hf_001_080_QD4 = - 1 ;
static gint hf_001_080_QD2 = - 1 ;
static gint hf_001_080_QD1 = - 1 ;
static gint hf_001_090 = - 1 ;
static gint hf_001_090_V = - 1 ;
static gint hf_001_090_G = - 1 ;
static gint hf_001_090_FL = - 1 ;
static gint hf_001_100 = - 1 ;
static gint hf_001_120 = - 1 ;
static gint hf_001_130 = - 1 ;
static gint hf_001_131 = - 1 ;
static gint hf_001_141 = - 1 ;
static gint hf_001_141_TTOD = - 1 ;
static gint hf_001_150 = - 1 ;
static gint hf_001_161 = - 1 ;
static gint hf_001_161_TPN = - 1 ;
static gint hf_001_170 = - 1 ;
static gint hf_001_170_CON = - 1 ;
static gint hf_001_170_RAD = - 1 ;
static gint hf_001_170_MAN = - 1 ;
static gint hf_001_170_DOU = - 1 ;
static gint hf_001_170_RDPC = - 1 ;
static gint hf_001_170_GHO = - 1 ;
static gint hf_001_170_TRE = - 1 ;
static gint hf_001_200 = - 1 ;
static gint hf_001_210 = - 1 ;
static gint hf_001_RE = - 1 ;
static gint hf_001_SP = - 1 ;
/* Category 002 */
static gint hf_002_000 = - 1 ;
static gint hf_002_000_MT = - 1 ;
static gint hf_002_010 = - 1 ;
static gint hf_002_020 = - 1 ;
static gint hf_002_020_SN = - 1 ;
static gint hf_002_030 = - 1 ;
static gint hf_002_041 = - 1 ;
static gint hf_002_041_ARS = - 1 ;
static gint hf_002_050 = - 1 ;
static gint hf_002_060 = - 1 ;
static gint hf_002_070 = - 1 ;
static gint hf_002_070_A = - 1 ;
static gint hf_002_070_IDENT = - 1 ;
static gint hf_002_070_COUNTER = - 1 ;
static gint hf_002_080 = - 1 ;
static gint hf_002_080_WE = - 1 ;
static gint hf_002_090 = - 1 ;
static gint hf_002_090_RE = - 1 ;
static gint hf_002_090_AE = - 1 ;
static gint hf_002_100 = - 1 ;
static gint hf_002_100_RHOS = - 1 ;
static gint hf_002_100_RHOE = - 1 ;
static gint hf_002_100_THETAS = - 1 ;
static gint hf_002_100_THETAE = - 1 ;
static gint hf_002_RE = - 1 ;
static gint hf_002_SP = - 1 ;
2013-06-03 23:27:01 +00:00
/* Category 009 */
static gint hf_009_000 = - 1 ;
static gint hf_009_000_MT = - 1 ;
static gint hf_009_010 = - 1 ;
static gint hf_009_020 = - 1 ;
static gint hf_009_020_ORG = - 1 ;
static gint hf_009_020_INT = - 1 ;
static gint hf_009_020_DIR = - 1 ;
static gint hf_009_030 = - 1 ;
static gint hf_009_030_X = - 1 ;
static gint hf_009_030_Y = - 1 ;
static gint hf_009_030_VL = - 1 ;
static gint hf_009_060 = - 1 ;
static gint hf_009_060_STEP = - 1 ;
static gint hf_009_070 = - 1 ;
static gint hf_009_080 = - 1 ;
static gint hf_009_080_SCALE = - 1 ;
static gint hf_009_080_R = - 1 ;
static gint hf_009_080_Q = - 1 ;
static gint hf_009_090 = - 1 ;
static gint hf_009_090_CP = - 1 ;
static gint hf_009_090_WO = - 1 ;
static gint hf_009_090_RS = - 1 ;
static gint hf_009_100 = - 1 ;
static gint hf_009_100_VC = - 1 ;
2013-05-20 19:23:41 +00:00
/* Category 034 */
static gint hf_034_000 = - 1 ;
static gint hf_034_000_MT = - 1 ;
static gint hf_034_010 = - 1 ;
static gint hf_034_020 = - 1 ;
static gint hf_034_020_SN = - 1 ;
static gint hf_034_030 = - 1 ;
static gint hf_034_041 = - 1 ;
static gint hf_034_041_ARS = - 1 ;
static gint hf_034_050 = - 1 ;
static gint hf_034_050_01 = - 1 ;
static gint hf_034_050_01_NOGO = - 1 ;
static gint hf_034_050_01_RDPC = - 1 ;
static gint hf_034_050_01_RDPR = - 1 ;
static gint hf_034_050_01_OVL_RDP = - 1 ;
static gint hf_034_050_01_OVL_XMT = - 1 ;
static gint hf_034_050_01_MSC = - 1 ;
static gint hf_034_050_01_TSV = - 1 ;
static gint hf_034_050_02 = - 1 ;
static gint hf_034_050_02_ANT = - 1 ;
static gint hf_034_050_02_CHAB = - 1 ;
static gint hf_034_050_02_OVL = - 1 ;
static gint hf_034_050_02_MSC = - 1 ;
static gint hf_034_050_03 = - 1 ;
static gint hf_034_050_03_ANT = - 1 ;
static gint hf_034_050_03_CHAB = - 1 ;
static gint hf_034_050_03_OVL = - 1 ;
static gint hf_034_050_03_MSC = - 1 ;
static gint hf_034_050_04 = - 1 ;
static gint hf_034_050_04_ANT = - 1 ;
static gint hf_034_050_04_CHAB = - 1 ;
static gint hf_034_050_04_OVL_SUR = - 1 ;
static gint hf_034_050_04_MSC = - 1 ;
static gint hf_034_050_04_SCF = - 1 ;
static gint hf_034_050_04_DLF = - 1 ;
static gint hf_034_050_04_OVL_SCF = - 1 ;
static gint hf_034_050_04_OVL_DLF = - 1 ;
static gint hf_034_060 = - 1 ;
static gint hf_034_060_01 = - 1 ;
static gint hf_034_060_01_RED_RDP = - 1 ;
static gint hf_034_060_01_RED_XMT = - 1 ;
static gint hf_034_060_02 = - 1 ;
static gint hf_034_060_02_POL = - 1 ;
static gint hf_034_060_02_RED_RAD = - 1 ;
static gint hf_034_060_02_STC = - 1 ;
static gint hf_034_060_03 = - 1 ;
static gint hf_034_060_03_RED_RAD = - 1 ;
static gint hf_034_060_04 = - 1 ;
static gint hf_034_060_04_RED_RAD = - 1 ;
static gint hf_034_060_04_CLU = - 1 ;
static gint hf_034_070 = - 1 ;
static gint hf_034_070_TYP = - 1 ;
static gint hf_034_070_COUNTER = - 1 ;
static gint hf_034_090 = - 1 ;
static gint hf_034_090_RE = - 1 ;
static gint hf_034_090_AE = - 1 ;
static gint hf_034_100 = - 1 ;
static gint hf_035_100_RHOS = - 1 ;
static gint hf_035_100_RHOE = - 1 ;
static gint hf_035_100_THETAS = - 1 ;
static gint hf_035_100_THETAE = - 1 ;
static gint hf_034_110 = - 1 ;
static gint hf_034_110_TYP = - 1 ;
static gint hf_034_120 = - 1 ;
static gint hf_034_120_H = - 1 ;
static gint hf_034_120_LAT = - 1 ;
static gint hf_034_120_LON = - 1 ;
static gint hf_034_RE = - 1 ;
static gint hf_034_SP = - 1 ;
/* Category 048 */
static gint hf_048_010 = - 1 ;
static gint hf_048_020 = - 1 ;
static gint hf_048_020_TYP = - 1 ;
static gint hf_048_020_SIM = - 1 ;
static gint hf_048_020_RDP = - 1 ;
static gint hf_048_020_SPI = - 1 ;
static gint hf_048_020_RAB = - 1 ;
static gint hf_048_020_TST = - 1 ;
static gint hf_048_020_ME = - 1 ;
static gint hf_048_020_MI = - 1 ;
static gint hf_048_020_FOE = - 1 ;
static gint hf_048_030 = - 1 ;
static gint hf_048_030_WE = - 1 ;
static gint hf_048_040 = - 1 ;
static gint hf_048_040_RHO = - 1 ;
static gint hf_048_040_THETA = - 1 ;
static gint hf_048_042 = - 1 ;
static gint hf_048_042_X = - 1 ;
static gint hf_048_042_Y = - 1 ;
static gint hf_048_050 = - 1 ;
static gint hf_048_050_V = - 1 ;
static gint hf_048_050_G = - 1 ;
static gint hf_048_050_L = - 1 ;
static gint hf_048_050_SQUAWK = - 1 ;
static gint hf_048_055 = - 1 ;
static gint hf_048_055_V = - 1 ;
static gint hf_048_055_G = - 1 ;
static gint hf_048_055_L = - 1 ;
static gint hf_048_055_CODE = - 1 ;
static gint hf_048_060 = - 1 ;
static gint hf_048_065 = - 1 ;
static gint hf_048_070 = - 1 ;
static gint hf_048_070_V = - 1 ;
static gint hf_048_070_G = - 1 ;
static gint hf_048_070_L = - 1 ;
static gint hf_048_070_SQUAWK = - 1 ;
static gint hf_048_080 = - 1 ;
static gint hf_048_090 = - 1 ;
static gint hf_048_090_V = - 1 ;
static gint hf_048_090_G = - 1 ;
static gint hf_048_090_FL = - 1 ;
static gint hf_048_100 = - 1 ;
static gint hf_048_110 = - 1 ;
static gint hf_048_120 = - 1 ;
static gint hf_048_120_01 = - 1 ;
static gint hf_048_120_01_D = - 1 ;
static gint hf_048_120_01_CAL = - 1 ;
static gint hf_048_120_02 = - 1 ;
static gint hf_048_120_02_DOP = - 1 ;
static gint hf_048_120_02_AMB = - 1 ;
static gint hf_048_120_02_FRQ = - 1 ;
static gint hf_048_130 = - 1 ;
static gint hf_048_130_01 = - 1 ;
static gint hf_048_130_02 = - 1 ;
static gint hf_048_130_03 = - 1 ;
static gint hf_048_130_04 = - 1 ;
static gint hf_048_130_05 = - 1 ;
static gint hf_048_130_06 = - 1 ;
static gint hf_048_130_07 = - 1 ;
static gint hf_048_140 = - 1 ;
static gint hf_048_161 = - 1 ;
static gint hf_048_161_TN = - 1 ;
static gint hf_048_170 = - 1 ;
static gint hf_048_170_CNF = - 1 ;
static gint hf_048_170_RAD = - 1 ;
static gint hf_048_170_DOU = - 1 ;
static gint hf_048_170_MAH = - 1 ;
static gint hf_048_170_CDM = - 1 ;
static gint hf_048_170_TRE = - 1 ;
static gint hf_048_170_GHO = - 1 ;
static gint hf_048_170_SUP = - 1 ;
static gint hf_048_170_TCC = - 1 ;
static gint hf_048_200 = - 1 ;
static gint hf_048_200_GS = - 1 ;
static gint hf_048_200_HDG = - 1 ;
static gint hf_048_210 = - 1 ;
static gint hf_048_210_X = - 1 ;
static gint hf_048_210_Y = - 1 ;
static gint hf_048_210_V = - 1 ;
static gint hf_048_210_H = - 1 ;
static gint hf_048_220 = - 1 ;
static gint hf_048_230 = - 1 ;
static gint hf_048_230_COM = - 1 ;
static gint hf_048_230_STAT = - 1 ;
static gint hf_048_230_SI = - 1 ;
static gint hf_048_230_MSSC = - 1 ;
static gint hf_048_230_ARC = - 1 ;
static gint hf_048_230_AIC = - 1 ;
static gint hf_048_230_B1A = - 1 ;
static gint hf_048_230_B1B = - 1 ;
static gint hf_048_240 = - 1 ;
static gint hf_048_250 = - 1 ;
static gint hf_048_260 = - 1 ;
static gint hf_048_RE = - 1 ;
static gint hf_048_SP = - 1 ;
/* Category 062*/
static gint hf_062_010 = - 1 ;
static gint hf_062_015 = - 1 ;
static gint hf_062_015_SI = - 1 ;
static gint hf_062_040 = - 1 ;
static gint hf_062_060 = - 1 ;
static gint hf_062_060_CH = - 1 ;
static gint hf_062_060_SQUAWK = - 1 ;
static gint hf_062_070 = - 1 ;
static gint hf_062_080 = - 1 ;
static gint hf_062_080_MON = - 1 ;
static gint hf_062_080_SPI = - 1 ;
static gint hf_062_080_MRH = - 1 ;
static gint hf_062_080_SRC = - 1 ;
static gint hf_062_080_CNF = - 1 ;
static gint hf_062_080_SIM = - 1 ;
static gint hf_062_080_TSE = - 1 ;
static gint hf_062_080_TSB = - 1 ;
static gint hf_062_080_FPC = - 1 ;
static gint hf_062_080_AFF = - 1 ;
static gint hf_062_080_STP = - 1 ;
static gint hf_062_080_KOS = - 1 ;
static gint hf_062_080_AMA = - 1 ;
static gint hf_062_080_MD4 = - 1 ;
static gint hf_062_080_ME = - 1 ;
static gint hf_062_080_MI = - 1 ;
static gint hf_062_080_MD5 = - 1 ;
static gint hf_062_080_CST = - 1 ;
static gint hf_062_080_PSR = - 1 ;
static gint hf_062_080_SSR = - 1 ;
static gint hf_062_080_MDS = - 1 ;
static gint hf_062_080_ADS = - 1 ;
static gint hf_062_080_SUC = - 1 ;
static gint hf_062_080_AAC = - 1 ;
static gint hf_062_080_SDS = - 1 ;
static gint hf_062_080_EMS = - 1 ;
static gint hf_062_080_PFT = - 1 ;
static gint hf_062_080_FPLT = - 1 ;
static gint hf_062_080_DUPT = - 1 ;
static gint hf_062_080_DUPF = - 1 ;
static gint hf_062_080_DUPM = - 1 ;
static gint hf_062_100 = - 1 ;
static gint hf_062_100_X = - 1 ;
static gint hf_062_100_Y = - 1 ;
static gint hf_062_105 = - 1 ;
static gint hf_062_105_LAT = - 1 ;
static gint hf_062_105_LON = - 1 ;
static gint hf_062_110 = - 1 ;
static gint hf_062_110_01 = - 1 ;
static gint hf_062_110_01_M5 = - 1 ;
static gint hf_062_110_01_ID = - 1 ;
static gint hf_062_110_01_DA = - 1 ;
static gint hf_062_110_01_M1 = - 1 ;
static gint hf_062_110_01_M2 = - 1 ;
static gint hf_062_110_01_M3 = - 1 ;
static gint hf_062_110_01_MC = - 1 ;
static gint hf_062_110_01_X = - 1 ;
static gint hf_062_110_02 = - 1 ;
static gint hf_062_110_02_PIN = - 1 ;
static gint hf_062_110_02_NAT = - 1 ;
static gint hf_062_110_02_MIS = - 1 ;
static gint hf_062_110_03 = - 1 ;
static gint hf_062_110_03_LAT = - 1 ;
static gint hf_062_110_03_LON = - 1 ;
static gint hf_062_110_04 = - 1 ;
static gint hf_062_110_04_RES = - 1 ;
static gint hf_062_110_04_GA = - 1 ;
static gint hf_062_110_05 = - 1 ;
static gint hf_062_110_05_SQUAWK = - 1 ;
static gint hf_062_110_06 = - 1 ;
static gint hf_062_110_06_TOS = - 1 ;
static gint hf_062_110_07 = - 1 ;
static gint hf_062_110_07_X5 = - 1 ;
static gint hf_062_110_07_XC = - 1 ;
static gint hf_062_110_07_X3 = - 1 ;
static gint hf_062_110_07_X2 = - 1 ;
static gint hf_062_110_07_X1 = - 1 ;
static gint hf_062_120 = - 1 ;
static gint hf_062_120_SQUAWK = - 1 ;
static gint hf_062_130 = - 1 ;
static gint hf_062_130_ALT = - 1 ;
static gint hf_062_135 = - 1 ;
static gint hf_062_135_QNH = - 1 ;
static gint hf_062_135_ALT = - 1 ;
static gint hf_062_136 = - 1 ;
static gint hf_062_136_ALT = - 1 ;
static gint hf_062_185 = - 1 ;
static gint hf_062_185_VX = - 1 ;
static gint hf_062_185_VY = - 1 ;
static gint hf_062_200 = - 1 ;
static gint hf_062_200_TRANS = - 1 ;
static gint hf_062_200_LONG = - 1 ;
static gint hf_062_200_VERT = - 1 ;
static gint hf_062_200_ADF = - 1 ;
static gint hf_062_210 = - 1 ;
static gint hf_062_210_AX = - 1 ;
static gint hf_062_210_AY = - 1 ;
static gint hf_062_220 = - 1 ;
static gint hf_062_245 = - 1 ;
static gint hf_062_220_ROCD = - 1 ;
static gint hf_062_270 = - 1 ;
static gint hf_062_270_LENGTH = - 1 ;
static gint hf_062_270_ORIENTATION = - 1 ;
static gint hf_062_270_WIDTH = - 1 ;
static gint hf_062_290 = - 1 ;
static gint hf_062_290_01 = - 1 ;
static gint hf_062_290_01_TRK = - 1 ;
static gint hf_062_290_02 = - 1 ;
static gint hf_062_290_02_PSR = - 1 ;
static gint hf_062_290_03 = - 1 ;
static gint hf_062_290_03_SSR = - 1 ;
static gint hf_062_290_04 = - 1 ;
static gint hf_062_290_04_MDS = - 1 ;
static gint hf_062_290_05 = - 1 ;
static gint hf_062_290_05_ADS = - 1 ;
static gint hf_062_290_06 = - 1 ;
static gint hf_062_290_06_ES = - 1 ;
static gint hf_062_290_07 = - 1 ;
static gint hf_062_290_07_VDL = - 1 ;
static gint hf_062_290_08 = - 1 ;
static gint hf_062_290_08_UAT = - 1 ;
static gint hf_062_290_09 = - 1 ;
static gint hf_062_290_09_LOP = - 1 ;
static gint hf_062_290_10 = - 1 ;
static gint hf_062_290_10_MLT = - 1 ;
static gint hf_062_295 = - 1 ;
static gint hf_062_295_01 = - 1 ;
static gint hf_062_295_01_MFL = - 1 ;
static gint hf_062_295_02 = - 1 ;
static gint hf_062_295_02_MD1 = - 1 ;
static gint hf_062_295_03 = - 1 ;
static gint hf_062_295_03_MD2 = - 1 ;
static gint hf_062_295_04 = - 1 ;
static gint hf_062_295_04_MDA = - 1 ;
static gint hf_062_295_05 = - 1 ;
static gint hf_062_295_05_MD4 = - 1 ;
static gint hf_062_295_06 = - 1 ;
static gint hf_062_295_06_MD5 = - 1 ;
static gint hf_062_295_07 = - 1 ;
static gint hf_062_295_07_MHD = - 1 ;
static gint hf_062_295_08 = - 1 ;
static gint hf_062_295_08_IAS = - 1 ;
static gint hf_062_295_09 = - 1 ;
static gint hf_062_295_09_TAS = - 1 ;
static gint hf_062_295_10 = - 1 ;
static gint hf_062_295_10_SAL = - 1 ;
static gint hf_062_295_11 = - 1 ;
static gint hf_062_295_11_FSS = - 1 ;
static gint hf_062_295_12 = - 1 ;
static gint hf_062_295_12_TID = - 1 ;
static gint hf_062_295_13 = - 1 ;
static gint hf_062_295_13_COM = - 1 ;
static gint hf_062_295_14 = - 1 ;
static gint hf_062_295_14_SAB = - 1 ;
static gint hf_062_295_15 = - 1 ;
static gint hf_062_295_15_ACS = - 1 ;
static gint hf_062_295_16 = - 1 ;
static gint hf_062_295_16_BVR = - 1 ;
static gint hf_062_295_17 = - 1 ;
static gint hf_062_295_17_GVR = - 1 ;
static gint hf_062_295_18 = - 1 ;
static gint hf_062_295_18_RAN = - 1 ;
static gint hf_062_295_19 = - 1 ;
static gint hf_062_295_19_TAR = - 1 ;
static gint hf_062_295_20 = - 1 ;
static gint hf_062_295_20_TAN = - 1 ;
static gint hf_062_295_21 = - 1 ;
static gint hf_062_295_21_GSP = - 1 ;
static gint hf_062_295_22 = - 1 ;
static gint hf_062_295_22_VUN = - 1 ;
static gint hf_062_295_23 = - 1 ;
static gint hf_062_295_23_MET = - 1 ;
static gint hf_062_295_24 = - 1 ;
static gint hf_062_295_24_EMC = - 1 ;
static gint hf_062_295_25 = - 1 ;
static gint hf_062_295_25_POS = - 1 ;
static gint hf_062_295_26 = - 1 ;
static gint hf_062_295_26_GAL = - 1 ;
static gint hf_062_295_27 = - 1 ;
static gint hf_062_295_27_PUN = - 1 ;
static gint hf_062_295_28 = - 1 ;
static gint hf_062_295_28_MB = - 1 ;
static gint hf_062_295_29 = - 1 ;
static gint hf_062_295_29_IAR = - 1 ;
static gint hf_062_295_30 = - 1 ;
static gint hf_062_295_30_MAC = - 1 ;
static gint hf_062_295_31 = - 1 ;
static gint hf_062_295_31_BPS = - 1 ;
static gint hf_062_300 = - 1 ;
static gint hf_062_300_VFI = - 1 ;
static gint hf_062_340 = - 1 ;
static gint hf_062_340_01 = - 1 ;
static gint hf_062_340_02 = - 1 ;
static gint hf_062_340_02_RHO = - 1 ;
static gint hf_062_340_02_THETA = - 1 ;
static gint hf_062_340_03 = - 1 ;
static gint hf_062_340_03_H = - 1 ;
static gint hf_062_340_04 = - 1 ;
static gint hf_062_340_04_V = - 1 ;
static gint hf_062_340_04_G = - 1 ;
static gint hf_062_340_04_FL = - 1 ;
static gint hf_062_340_05 = - 1 ;
static gint hf_062_340_05_V = - 1 ;
static gint hf_062_340_05_G = - 1 ;
static gint hf_062_340_05_L = - 1 ;
static gint hf_062_340_05_SQUAWK = - 1 ;
static gint hf_062_340_06 = - 1 ;
static gint hf_062_340_06_TYP = - 1 ;
static gint hf_062_340_06_SIM = - 1 ;
static gint hf_062_340_06_RAB = - 1 ;
static gint hf_062_340_06_TST = - 1 ;
static gint hf_062_380_01 = - 1 ;
static gint hf_062_380_02 = - 1 ;
static gint hf_062_380_03 = - 1 ;
static gint hf_062_380 = - 1 ;
static gint hf_062_380_03_MH = - 1 ;
static gint hf_062_380_04 = - 1 ;
static gint hf_062_380_04_IM = - 1 ;
static gint hf_062_380_04_IAS = - 1 ;
static gint hf_062_380_05 = - 1 ;
static gint hf_062_380_05_TAS = - 1 ;
static gint hf_062_380_06 = - 1 ;
static gint hf_062_380_06_SAS = - 1 ;
static gint hf_062_380_06_SOURCE = - 1 ;
static gint hf_062_380_06_ALT = - 1 ;
static gint hf_062_380_07 = - 1 ;
static gint hf_062_380_07_MV = - 1 ;
static gint hf_062_380_07_AH = - 1 ;
static gint hf_062_380_07_AM = - 1 ;
static gint hf_062_380_07_ALT = - 1 ;
static gint hf_062_380_08 = - 1 ;
static gint hf_062_380_08_NAV = - 1 ;
static gint hf_062_380_08_NVB = - 1 ;
static gint hf_062_380_09 = - 1 ;
static gint hf_062_380_09_TCA = - 1 ;
static gint hf_062_380_09_NC = - 1 ;
static gint hf_062_380_09_TCP = - 1 ;
static gint hf_062_380_09_ALT = - 1 ;
static gint hf_062_380_09_LAT = - 1 ;
static gint hf_062_380_09_LON = - 1 ;
static gint hf_062_380_09_PTYP = - 1 ;
static gint hf_062_380_09_TD = - 1 ;
static gint hf_062_380_09_TRA = - 1 ;
static gint hf_062_380_09_TOA = - 1 ;
static gint hf_062_380_09_TOV = - 1 ;
static gint hf_062_380_09_TTR = - 1 ;
static gint hf_062_380_10 = - 1 ;
static gint hf_062_380_10_COM = - 1 ;
static gint hf_062_380_10_STAT = - 1 ;
static gint hf_062_380_10_SSC = - 1 ;
static gint hf_062_380_10_ARC = - 1 ;
static gint hf_062_380_10_AIC = - 1 ;
static gint hf_062_380_10_B1A = - 1 ;
static gint hf_062_380_10_B1B = - 1 ;
static gint hf_062_380_11 = - 1 ;
static gint hf_062_380_11_AC = - 1 ;
static gint hf_062_380_11_MN = - 1 ;
static gint hf_062_380_11_DC = - 1 ;
static gint hf_062_380_11_GBS = - 1 ;
static gint hf_062_380_11_STAT = - 1 ;
static gint hf_062_380_12 = - 1 ;
static gint hf_062_380_12_MB = - 1 ;
static gint hf_062_380_13 = - 1 ;
static gint hf_062_380_13_BVR = - 1 ;
static gint hf_062_380_14 = - 1 ;
static gint hf_062_380_14_GVR = - 1 ;
static gint hf_062_380_15 = - 1 ;
static gint hf_062_380_15_ROLL = - 1 ;
static gint hf_062_380_16 = - 1 ;
static gint hf_062_380_16_TI = - 1 ;
static gint hf_062_380_16_RATE = - 1 ;
static gint hf_062_380_17 = - 1 ;
static gint hf_062_380_17_TA = - 1 ;
static gint hf_062_380_18 = - 1 ;
static gint hf_062_380_18_GS = - 1 ;
static gint hf_062_380_19 = - 1 ;
static gint hf_062_380_19_VUC = - 1 ;
static gint hf_062_380_20 = - 1 ;
static gint hf_062_380_20_WS = - 1 ;
static gint hf_062_380_20_WD = - 1 ;
static gint hf_062_380_20_TMP = - 1 ;
static gint hf_062_380_20_TRB = - 1 ;
static gint hf_062_380_20_WS_VAL = - 1 ;
static gint hf_062_380_20_WD_VAL = - 1 ;
static gint hf_062_380_20_TMP_VAL = - 1 ;
static gint hf_062_380_20_TRB_VAL = - 1 ;
static gint hf_062_380_21 = - 1 ;
static gint hf_062_380_21_ECAT = - 1 ;
static gint hf_062_380_22 = - 1 ;
static gint hf_062_380_22_LAT = - 1 ;
static gint hf_062_380_22_LON = - 1 ;
static gint hf_062_380_23 = - 1 ;
static gint hf_062_380_23_ALT = - 1 ;
static gint hf_062_380_24 = - 1 ;
static gint hf_062_380_24_PUN = - 1 ;
static gint hf_062_380_25 = - 1 ;
static gint hf_062_380_26 = - 1 ;
static gint hf_062_380_26_IAS = - 1 ;
static gint hf_062_380_27 = - 1 ;
static gint hf_062_380_27_MACH = - 1 ;
static gint hf_062_380_28 = - 1 ;
static gint hf_062_380_28_BPS = - 1 ;
static gint hf_062_390 = - 1 ;
static gint hf_062_390_01 = - 1 ;
static gint hf_062_390_02 = - 1 ;
static gint hf_062_390_02_CS = - 1 ;
static gint hf_062_390_03 = - 1 ;
static gint hf_062_390_03_TYP = - 1 ;
static gint hf_062_390_03_NBR = - 1 ;
static gint hf_062_390_04 = - 1 ;
static gint hf_062_390_04_GAT_OAT = - 1 ;
static gint hf_062_390_04_FR12 = - 1 ;
static gint hf_062_390_04_RVSM = - 1 ;
static gint hf_062_390_04_HPR = - 1 ;
static gint hf_062_390_05 = - 1 ;
static gint hf_062_390_05_ACTYP = - 1 ;
static gint hf_062_390_06 = - 1 ;
static gint hf_062_390_06_WTC = - 1 ;
static gint hf_062_390_07 = - 1 ;
static gint hf_062_390_07_ADEP = - 1 ;
static gint hf_062_390_08 = - 1 ;
static gint hf_062_390_08_ADES = - 1 ;
static gint hf_062_390_09 = - 1 ;
static gint hf_062_390_09_NU1 = - 1 ;
static gint hf_062_390_09_NU2 = - 1 ;
static gint hf_062_390_09_LTR = - 1 ;
static gint hf_062_390_10 = - 1 ;
static gint hf_062_390_10_CFL = - 1 ;
static gint hf_062_390_11 = - 1 ;
static gint hf_062_390_11_CNTR = - 1 ;
static gint hf_062_390_11_POS = - 1 ;
static gint hf_062_390_12 = - 1 ;
static gint hf_062_390_12_TYP = - 1 ;
static gint hf_062_390_12_DAY = - 1 ;
static gint hf_062_390_12_HOR = - 1 ;
static gint hf_062_390_12_MIN = - 1 ;
static gint hf_062_390_12_AVS = - 1 ;
static gint hf_062_390_12_SEC = - 1 ;
static gint hf_062_390_13 = - 1 ;
static gint hf_062_390_13_STAND = - 1 ;
static gint hf_062_390_14 = - 1 ;
static gint hf_062_390_14_EMP = - 1 ;
static gint hf_062_390_14_AVL = - 1 ;
static gint hf_062_390_15 = - 1 ;
static gint hf_062_390_15_SID = - 1 ;
static gint hf_062_390_16 = - 1 ;
static gint hf_062_390_16_STAR = - 1 ;
static gint hf_062_390_17 = - 1 ;
static gint hf_062_390_17_VA = - 1 ;
static gint hf_062_390_17_SQUAWK = - 1 ;
static gint hf_062_390_18 = - 1 ;
static gint hf_062_390_18_CS = - 1 ;
static gint hf_062_500 = - 1 ;
static gint hf_062_500_01 = - 1 ;
static gint hf_062_500_01_APCX = - 1 ;
static gint hf_062_500_01_APCY = - 1 ;
static gint hf_062_500_02 = - 1 ;
static gint hf_062_500_02_COV = - 1 ;
static gint hf_062_500_03 = - 1 ;
static gint hf_062_500_03_APWLAT = - 1 ;
static gint hf_062_500_03_APWLON = - 1 ;
static gint hf_062_500_04 = - 1 ;
static gint hf_062_500_04_AGA = - 1 ;
static gint hf_062_500_05 = - 1 ;
static gint hf_062_500_05_ABA = - 1 ;
static gint hf_062_500_06 = - 1 ;
static gint hf_062_500_06_ATVX = - 1 ;
static gint hf_062_500_06_ATVY = - 1 ;
static gint hf_062_500_07 = - 1 ;
static gint hf_062_500_07_AAX = - 1 ;
static gint hf_062_500_07_AAY = - 1 ;
static gint hf_062_500_08 = - 1 ;
static gint hf_062_500_08_ARC = - 1 ;
static gint hf_062_510 = - 1 ;
static gint hf_062_510_SID = - 1 ;
static gint hf_062_510_STN = - 1 ;
static gint hf_062_RE = - 1 ;
static gint hf_062_SP = - 1 ;
/* Category 063 */
static gint hf_063_010 = - 1 ;
static gint hf_063_015 = - 1 ;
static gint hf_063_030 = - 1 ;
static gint hf_063_050 = - 1 ;
static gint hf_063_060 = - 1 ;
static gint hf_063_070 = - 1 ;
static gint hf_063_080 = - 1 ;
static gint hf_063_081 = - 1 ;
static gint hf_063_090 = - 1 ;
static gint hf_063_091 = - 1 ;
static gint hf_063_092 = - 1 ;
static gint hf_063_RE = - 1 ;
static gint hf_063_SP = - 1 ;
/* Category 065 */
static gint hf_065_000 = - 1 ;
static gint hf_065_010 = - 1 ;
static gint hf_065_015 = - 1 ;
static gint hf_065_020 = - 1 ;
static gint hf_065_030 = - 1 ;
static gint hf_065_040 = - 1 ;
static gint hf_065_050 = - 1 ;
static gint hf_065_RE = - 1 ;
static gint hf_065_SP = - 1 ;
static gint ett_asterix = - 1 ;
static gint ett_asterix_category = - 1 ;
static gint ett_asterix_length = - 1 ;
static gint ett_asterix_message = - 1 ;
static gint ett_asterix_subtree = - 1 ;
static gint ett_spare = - 1 ;
static gint ett_counter = - 1 ;
static gint ett_XXX_SAC = - 1 ;
static gint ett_XXX_SIC = - 1 ;
static gint ett_XXX_FX = - 1 ;
2013-06-03 23:27:01 +00:00
/*static gint ett_XXX_2FX = -1;*/
static gint ett_XXX_3FX = - 1 ;
2013-05-20 19:23:41 +00:00
static gint ett_XXX_TOD = - 1 ;
static gint ett_XXX_AA = - 1 ;
static gint ett_XXX_AI = - 1 ;
static gint ett_XXX_MB_DATA = - 1 ;
static gint ett_XXX_BDS1 = - 1 ;
static gint ett_XXX_BDS2 = - 1 ;
static gint ett_XXX_TN_16 = - 1 ;
/* Category 001 */
static gint ett_001_010 = - 1 ;
static gint ett_001_020 = - 1 ;
static gint ett_001_020_TYP = - 1 ;
static gint ett_001_020_SIM = - 1 ;
static gint ett_001_020_SSR_PSR = - 1 ;
static gint ett_001_020_ANT = - 1 ;
static gint ett_001_020_SPI = - 1 ;
static gint ett_001_020_RAB = - 1 ;
static gint ett_001_020_TST = - 1 ;
static gint ett_001_020_DS12 = - 1 ;
static gint ett_001_020_ME = - 1 ;
static gint ett_001_020_MI = - 1 ;
static gint ett_001_030 = - 1 ;
static gint ett_001_030_WE = - 1 ;
static gint ett_001_040 = - 1 ;
static gint ett_001_040_RHO = - 1 ;
static gint ett_001_040_THETA = - 1 ;
static gint ett_001_042 = - 1 ;
static gint ett_001_042_X = - 1 ;
static gint ett_001_042_Y = - 1 ;
static gint ett_001_050 = - 1 ;
static gint ett_001_060 = - 1 ;
static gint ett_001_070 = - 1 ;
static gint ett_001_070_V = - 1 ;
static gint ett_001_070_G = - 1 ;
static gint ett_001_070_L = - 1 ;
static gint ett_001_070_SQUAWK = - 1 ;
static gint ett_001_080 = - 1 ;
static gint ett_001_080_QA4 = - 1 ;
static gint ett_001_080_QA2 = - 1 ;
static gint ett_001_080_QA1 = - 1 ;
static gint ett_001_080_QB4 = - 1 ;
static gint ett_001_080_QB2 = - 1 ;
static gint ett_001_080_QB1 = - 1 ;
static gint ett_001_080_QC4 = - 1 ;
static gint ett_001_080_QC2 = - 1 ;
static gint ett_001_080_QC1 = - 1 ;
static gint ett_001_080_QD4 = - 1 ;
static gint ett_001_080_QD2 = - 1 ;
static gint ett_001_080_QD1 = - 1 ;
static gint ett_001_090 = - 1 ;
static gint ett_001_090_V = - 1 ;
static gint ett_001_090_G = - 1 ;
static gint ett_001_090_FL = - 1 ;
static gint ett_001_100 = - 1 ;
static gint ett_001_120 = - 1 ;
static gint ett_001_130 = - 1 ;
static gint ett_001_131 = - 1 ;
static gint ett_001_141 = - 1 ;
static gint ett_001_141_TTOD = - 1 ;
static gint ett_001_150 = - 1 ;
static gint ett_001_161 = - 1 ;
static gint ett_001_161_TPN = - 1 ;
static gint ett_001_170 = - 1 ;
static gint ett_001_170_CON = - 1 ;
static gint ett_001_170_RAD = - 1 ;
static gint ett_001_170_MAN = - 1 ;
static gint ett_001_170_DOU = - 1 ;
static gint ett_001_170_RDPC = - 1 ;
static gint ett_001_170_GHO = - 1 ;
static gint ett_001_170_TRE = - 1 ;
static gint ett_001_200 = - 1 ;
static gint ett_001_210 = - 1 ;
static gint ett_001_RE = - 1 ;
static gint ett_001_SP = - 1 ;
/* Category 002 */
static gint ett_002_000 = - 1 ;
static gint ett_002_000_MT = - 1 ;
static gint ett_002_010 = - 1 ;
static gint ett_002_020 = - 1 ;
static gint ett_002_020_SN = - 1 ;
static gint ett_002_030 = - 1 ;
static gint ett_002_041 = - 1 ;
static gint ett_002_041_ARS = - 1 ;
static gint ett_002_050 = - 1 ;
static gint ett_002_060 = - 1 ;
static gint ett_002_070 = - 1 ;
static gint ett_002_070_A = - 1 ;
static gint ett_002_070_IDENT = - 1 ;
static gint ett_002_070_COUNTER = - 1 ;
static gint ett_002_080 = - 1 ;
static gint ett_002_080_WE = - 1 ;
static gint ett_002_090 = - 1 ;
static gint ett_002_090_RE = - 1 ;
static gint ett_002_090_AE = - 1 ;
static gint ett_002_100 = - 1 ;
static gint ett_002_100_RHOS = - 1 ;
static gint ett_002_100_RHOE = - 1 ;
static gint ett_002_100_THETAS = - 1 ;
static gint ett_002_100_THETAE = - 1 ;
static gint ett_002_RE = - 1 ;
static gint ett_002_SP = - 1 ;
2013-06-03 23:27:01 +00:00
/* Category 009 */
static gint ett_009_000 = - 1 ;
static gint ett_009_000_MT = - 1 ;
static gint ett_009_010 = - 1 ;
static gint ett_009_020 = - 1 ;
static gint ett_009_020_ORG = - 1 ;
static gint ett_009_020_INT = - 1 ;
static gint ett_009_020_DIR = - 1 ;
static gint ett_009_030 = - 1 ;
static gint ett_009_030_X = - 1 ;
static gint ett_009_030_Y = - 1 ;
static gint ett_009_030_VL = - 1 ;
static gint ett_009_060 = - 1 ;
static gint ett_009_060_STEP = - 1 ;
static gint ett_009_070 = - 1 ;
static gint ett_009_080 = - 1 ;
static gint ett_009_080_SCALE = - 1 ;
static gint ett_009_080_R = - 1 ;
static gint ett_009_080_Q = - 1 ;
static gint ett_009_090 = - 1 ;
static gint ett_009_090_CP = - 1 ;
static gint ett_009_090_WO = - 1 ;
static gint ett_009_090_RS = - 1 ;
static gint ett_009_100 = - 1 ;
static gint ett_009_100_VC = - 1 ;
2013-05-20 19:23:41 +00:00
/* Category 034 */
static gint ett_034_000 = - 1 ;
static gint ett_034_000_MT = - 1 ;
static gint ett_034_010 = - 1 ;
static gint ett_034_020 = - 1 ;
static gint ett_034_020_SN = - 1 ;
static gint ett_034_030 = - 1 ;
static gint ett_034_041 = - 1 ;
static gint ett_034_041_ARS = - 1 ;
static gint ett_034_050 = - 1 ;
static gint ett_034_050_01 = - 1 ;
static gint ett_034_050_01_NOGO = - 1 ;
static gint ett_034_050_01_RDPC = - 1 ;
static gint ett_034_050_01_RDPR = - 1 ;
static gint ett_034_050_01_OVL_RDP = - 1 ;
static gint ett_034_050_01_OVL_XMT = - 1 ;
static gint ett_034_050_01_MSC = - 1 ;
static gint ett_034_050_01_TSV = - 1 ;
static gint ett_034_050_02 = - 1 ;
static gint ett_034_050_02_ANT = - 1 ;
static gint ett_034_050_02_CHAB = - 1 ;
static gint ett_034_050_02_OVL = - 1 ;
static gint ett_034_050_02_MSC = - 1 ;
static gint ett_034_050_03 = - 1 ;
static gint ett_034_050_03_ANT = - 1 ;
static gint ett_034_050_03_CHAB = - 1 ;
static gint ett_034_050_03_OVL = - 1 ;
static gint ett_034_050_03_MSC = - 1 ;
static gint ett_034_050_04 = - 1 ;
static gint ett_034_050_04_ANT = - 1 ;
static gint ett_034_050_04_CHAB = - 1 ;
static gint ett_034_050_04_OVL_SUR = - 1 ;
static gint ett_034_050_04_MSC = - 1 ;
static gint ett_034_050_04_SCF = - 1 ;
static gint ett_034_050_04_DLF = - 1 ;
static gint ett_034_050_04_OVL_SCF = - 1 ;
static gint ett_034_050_04_OVL_DLF = - 1 ;
static gint ett_034_060 = - 1 ;
static gint ett_034_060_01 = - 1 ;
static gint ett_034_060_01_RED_RDP = - 1 ;
static gint ett_034_060_01_RED_XMT = - 1 ;
static gint ett_034_060_02 = - 1 ;
static gint ett_034_060_02_POL = - 1 ;
static gint ett_034_060_02_RED_RAD = - 1 ;
static gint ett_034_060_02_STC = - 1 ;
static gint ett_034_060_03 = - 1 ;
static gint ett_034_060_03_RED_RAD = - 1 ;
static gint ett_034_060_04 = - 1 ;
static gint ett_034_060_04_RED_RAD = - 1 ;
static gint ett_034_060_04_CLU = - 1 ;
static gint ett_034_070 = - 1 ;
static gint ett_034_070_TYP = - 1 ;
static gint ett_034_070_COUNTER = - 1 ;
static gint ett_034_090 = - 1 ;
static gint ett_034_090_RE = - 1 ;
static gint ett_034_090_AE = - 1 ;
static gint ett_034_100 = - 1 ;
static gint ett_035_100_RHOS = - 1 ;
static gint ett_035_100_RHOE = - 1 ;
static gint ett_035_100_THETAS = - 1 ;
static gint ett_035_100_THETAE = - 1 ;
static gint ett_034_110 = - 1 ;
static gint ett_034_110_TYP = - 1 ;
static gint ett_034_120 = - 1 ;
static gint ett_034_120_H = - 1 ;
static gint ett_034_120_LAT = - 1 ;
static gint ett_034_120_LON = - 1 ;
static gint ett_034_RE = - 1 ;
static gint ett_034_SP = - 1 ;
/* Category 048 */
static gint ett_048_010 = - 1 ;
static gint ett_048_020 = - 1 ;
static gint ett_048_020_TYP = - 1 ;
static gint ett_048_020_SIM = - 1 ;
static gint ett_048_020_RDP = - 1 ;
static gint ett_048_020_SPI = - 1 ;
static gint ett_048_020_RAB = - 1 ;
static gint ett_048_020_TST = - 1 ;
static gint ett_048_020_ME = - 1 ;
static gint ett_048_020_MI = - 1 ;
static gint ett_048_020_FOE = - 1 ;
static gint ett_048_030 = - 1 ;
static gint ett_048_030_WE = - 1 ;
static gint ett_048_040 = - 1 ;
static gint ett_048_040_RHO = - 1 ;
static gint ett_048_040_THETA = - 1 ;
static gint ett_048_042 = - 1 ;
static gint ett_048_042_X = - 1 ;
static gint ett_048_042_Y = - 1 ;
static gint ett_048_050 = - 1 ;
static gint ett_048_050_V = - 1 ;
static gint ett_048_050_G = - 1 ;
static gint ett_048_050_L = - 1 ;
static gint ett_048_050_SQUAWK = - 1 ;
static gint ett_048_055 = - 1 ;
static gint ett_048_055_V = - 1 ;
static gint ett_048_055_G = - 1 ;
static gint ett_048_055_L = - 1 ;
static gint ett_048_055_CODE = - 1 ;
static gint ett_048_060 = - 1 ;
static gint ett_048_065 = - 1 ;
static gint ett_048_070 = - 1 ;
static gint ett_048_070_V = - 1 ;
static gint ett_048_070_G = - 1 ;
static gint ett_048_070_L = - 1 ;
static gint ett_048_070_SQUAWK = - 1 ;
static gint ett_048_080 = - 1 ;
static gint ett_048_090 = - 1 ;
static gint ett_048_090_V = - 1 ;
static gint ett_048_090_G = - 1 ;
static gint ett_048_090_FL = - 1 ;
static gint ett_048_100 = - 1 ;
static gint ett_048_110 = - 1 ;
static gint ett_048_120 = - 1 ;
static gint ett_048_120_01 = - 1 ;
static gint ett_048_120_01_D = - 1 ;
static gint ett_048_120_01_CAL = - 1 ;
static gint ett_048_120_02 = - 1 ;
static gint ett_048_120_02_DOP = - 1 ;
static gint ett_048_120_02_AMB = - 1 ;
static gint ett_048_120_02_FRQ = - 1 ;
static gint ett_048_130 = - 1 ;
static gint ett_048_130_01 = - 1 ;
static gint ett_048_130_02 = - 1 ;
static gint ett_048_130_03 = - 1 ;
static gint ett_048_130_04 = - 1 ;
static gint ett_048_130_05 = - 1 ;
static gint ett_048_130_06 = - 1 ;
static gint ett_048_130_07 = - 1 ;
static gint ett_048_140 = - 1 ;
static gint ett_048_161 = - 1 ;
static gint ett_048_161_TN = - 1 ;
static gint ett_048_170 = - 1 ;
static gint ett_048_170_CNF = - 1 ;
static gint ett_048_170_RAD = - 1 ;
static gint ett_048_170_DOU = - 1 ;
static gint ett_048_170_MAH = - 1 ;
static gint ett_048_170_CDM = - 1 ;
static gint ett_048_170_TRE = - 1 ;
static gint ett_048_170_GHO = - 1 ;
static gint ett_048_170_SUP = - 1 ;
static gint ett_048_170_TCC = - 1 ;
static gint ett_048_200 = - 1 ;
static gint ett_048_200_GS = - 1 ;
static gint ett_048_200_HDG = - 1 ;
static gint ett_048_210 = - 1 ;
static gint ett_048_210_X = - 1 ;
static gint ett_048_210_Y = - 1 ;
static gint ett_048_210_V = - 1 ;
static gint ett_048_210_H = - 1 ;
static gint ett_048_220 = - 1 ;
static gint ett_048_230 = - 1 ;
static gint ett_048_230_COM = - 1 ;
static gint ett_048_230_STAT = - 1 ;
static gint ett_048_230_SI = - 1 ;
static gint ett_048_230_MSSC = - 1 ;
static gint ett_048_230_ARC = - 1 ;
static gint ett_048_230_AIC = - 1 ;
static gint ett_048_230_B1A = - 1 ;
static gint ett_048_230_B1B = - 1 ;
static gint ett_048_240 = - 1 ;
static gint ett_048_250 = - 1 ;
static gint ett_048_260 = - 1 ;
static gint ett_048_RE = - 1 ;
static gint ett_048_SP = - 1 ;
/* Category 062*/
static gint ett_062_010 = - 1 ;
static gint ett_062_015 = - 1 ;
static gint ett_062_015_SI = - 1 ;
static gint ett_062_040 = - 1 ;
static gint ett_062_060 = - 1 ;
static gint ett_062_060_CH = - 1 ;
static gint ett_062_060_SQUAWK = - 1 ;
static gint ett_062_070 = - 1 ;
static gint ett_062_080 = - 1 ;
static gint ett_062_080_MON = - 1 ;
static gint ett_062_080_SPI = - 1 ;
static gint ett_062_080_MRH = - 1 ;
static gint ett_062_080_SRC = - 1 ;
static gint ett_062_080_CNF = - 1 ;
static gint ett_062_080_SIM = - 1 ;
static gint ett_062_080_TSE = - 1 ;
static gint ett_062_080_TSB = - 1 ;
static gint ett_062_080_FPC = - 1 ;
static gint ett_062_080_AFF = - 1 ;
static gint ett_062_080_STP = - 1 ;
static gint ett_062_080_KOS = - 1 ;
static gint ett_062_080_AMA = - 1 ;
static gint ett_062_080_MD4 = - 1 ;
static gint ett_062_080_ME = - 1 ;
static gint ett_062_080_MI = - 1 ;
static gint ett_062_080_MD5 = - 1 ;
static gint ett_062_080_CST = - 1 ;
static gint ett_062_080_PSR = - 1 ;
static gint ett_062_080_SSR = - 1 ;
static gint ett_062_080_MDS = - 1 ;
static gint ett_062_080_ADS = - 1 ;
static gint ett_062_080_SUC = - 1 ;
static gint ett_062_080_AAC = - 1 ;
static gint ett_062_080_SDS = - 1 ;
static gint ett_062_080_EMS = - 1 ;
static gint ett_062_080_PFT = - 1 ;
static gint ett_062_080_FPLT = - 1 ;
static gint ett_062_080_DUPT = - 1 ;
static gint ett_062_080_DUPF = - 1 ;
static gint ett_062_080_DUPM = - 1 ;
static gint ett_062_100 = - 1 ;
static gint ett_062_100_X = - 1 ;
static gint ett_062_100_Y = - 1 ;
static gint ett_062_105 = - 1 ;
static gint ett_062_105_LAT = - 1 ;
static gint ett_062_105_LON = - 1 ;
static gint ett_062_110 = - 1 ;
static gint ett_062_110_01 = - 1 ;
static gint ett_062_110_01_M5 = - 1 ;
static gint ett_062_110_01_ID = - 1 ;
static gint ett_062_110_01_DA = - 1 ;
static gint ett_062_110_01_M1 = - 1 ;
static gint ett_062_110_01_M2 = - 1 ;
static gint ett_062_110_01_M3 = - 1 ;
static gint ett_062_110_01_MC = - 1 ;
static gint ett_062_110_01_X = - 1 ;
static gint ett_062_110_02 = - 1 ;
static gint ett_062_110_02_PIN = - 1 ;
static gint ett_062_110_02_NAT = - 1 ;
static gint ett_062_110_02_MIS = - 1 ;
static gint ett_062_110_03 = - 1 ;
static gint ett_062_110_03_LAT = - 1 ;
static gint ett_062_110_03_LON = - 1 ;
static gint ett_062_110_04 = - 1 ;
static gint ett_062_110_04_RES = - 1 ;
static gint ett_062_110_04_GA = - 1 ;
static gint ett_062_110_05 = - 1 ;
static gint ett_062_110_05_SQUAWK = - 1 ;
static gint ett_062_110_06 = - 1 ;
static gint ett_062_110_06_TOS = - 1 ;
static gint ett_062_110_07 = - 1 ;
static gint ett_062_110_07_X5 = - 1 ;
static gint ett_062_110_07_XC = - 1 ;
static gint ett_062_110_07_X3 = - 1 ;
static gint ett_062_110_07_X2 = - 1 ;
static gint ett_062_110_07_X1 = - 1 ;
static gint ett_062_120 = - 1 ;
static gint ett_062_120_SQUAWK = - 1 ;
static gint ett_062_130 = - 1 ;
static gint ett_062_130_ALT = - 1 ;
static gint ett_062_135 = - 1 ;
static gint ett_062_135_QNH = - 1 ;
static gint ett_062_135_ALT = - 1 ;
static gint ett_062_136 = - 1 ;
static gint ett_062_136_ALT = - 1 ;
static gint ett_062_185 = - 1 ;
static gint ett_062_185_VX = - 1 ;
static gint ett_062_185_VY = - 1 ;
static gint ett_062_200 = - 1 ;
static gint ett_062_200_TRANS = - 1 ;
static gint ett_062_200_LONG = - 1 ;
static gint ett_062_200_VERT = - 1 ;
static gint ett_062_200_ADF = - 1 ;
static gint ett_062_210 = - 1 ;
static gint ett_062_210_AX = - 1 ;
static gint ett_062_210_AY = - 1 ;
static gint ett_062_220 = - 1 ;
static gint ett_062_220_ROCD = - 1 ;
static gint ett_062_245 = - 1 ;
static gint ett_062_270 = - 1 ;
static gint ett_062_270_LENGTH = - 1 ;
static gint ett_062_270_ORIENTATION = - 1 ;
static gint ett_062_270_WIDTH = - 1 ;
static gint ett_062_290 = - 1 ;
static gint ett_062_290_01 = - 1 ;
static gint ett_062_290_01_TRK = - 1 ;
static gint ett_062_290_02 = - 1 ;
static gint ett_062_290_02_PSR = - 1 ;
static gint ett_062_290_03 = - 1 ;
static gint ett_062_290_03_SSR = - 1 ;
static gint ett_062_290_04 = - 1 ;
static gint ett_062_290_04_MDS = - 1 ;
static gint ett_062_290_05 = - 1 ;
static gint ett_062_290_05_ADS = - 1 ;
static gint ett_062_290_06 = - 1 ;
static gint ett_062_290_06_ES = - 1 ;
static gint ett_062_290_07 = - 1 ;
static gint ett_062_290_07_VDL = - 1 ;
static gint ett_062_290_08 = - 1 ;
static gint ett_062_290_08_UAT = - 1 ;
static gint ett_062_290_09 = - 1 ;
static gint ett_062_290_09_LOP = - 1 ;
static gint ett_062_290_10 = - 1 ;
static gint ett_062_290_10_MLT = - 1 ;
static gint ett_062_295 = - 1 ;
static gint ett_062_295_01 = - 1 ;
static gint ett_062_295_01_MFL = - 1 ;
static gint ett_062_295_02 = - 1 ;
static gint ett_062_295_02_MD1 = - 1 ;
static gint ett_062_295_03 = - 1 ;
static gint ett_062_295_03_MD2 = - 1 ;
static gint ett_062_295_04 = - 1 ;
static gint ett_062_295_04_MDA = - 1 ;
static gint ett_062_295_05 = - 1 ;
static gint ett_062_295_05_MD4 = - 1 ;
static gint ett_062_295_06 = - 1 ;
static gint ett_062_295_06_MD5 = - 1 ;
static gint ett_062_295_07 = - 1 ;
static gint ett_062_295_07_MHD = - 1 ;
static gint ett_062_295_08 = - 1 ;
static gint ett_062_295_08_IAS = - 1 ;
static gint ett_062_295_09 = - 1 ;
static gint ett_062_295_09_TAS = - 1 ;
static gint ett_062_295_10 = - 1 ;
static gint ett_062_295_10_SAL = - 1 ;
static gint ett_062_295_11 = - 1 ;
static gint ett_062_295_11_FSS = - 1 ;
static gint ett_062_295_12 = - 1 ;
static gint ett_062_295_12_TID = - 1 ;
static gint ett_062_295_13 = - 1 ;
static gint ett_062_295_13_COM = - 1 ;
static gint ett_062_295_14 = - 1 ;
static gint ett_062_295_14_SAB = - 1 ;
static gint ett_062_295_15 = - 1 ;
static gint ett_062_295_15_ACS = - 1 ;
static gint ett_062_295_16 = - 1 ;
static gint ett_062_295_16_BVR = - 1 ;
static gint ett_062_295_17 = - 1 ;
static gint ett_062_295_17_GVR = - 1 ;
static gint ett_062_295_18 = - 1 ;
static gint ett_062_295_18_RAN = - 1 ;
static gint ett_062_295_19 = - 1 ;
static gint ett_062_295_19_TAR = - 1 ;
static gint ett_062_295_20 = - 1 ;
static gint ett_062_295_20_TAN = - 1 ;
static gint ett_062_295_21 = - 1 ;
static gint ett_062_295_21_GSP = - 1 ;
static gint ett_062_295_22 = - 1 ;
static gint ett_062_295_22_VUN = - 1 ;
static gint ett_062_295_23 = - 1 ;
static gint ett_062_295_23_MET = - 1 ;
static gint ett_062_295_24 = - 1 ;
static gint ett_062_295_24_EMC = - 1 ;
static gint ett_062_295_25 = - 1 ;
static gint ett_062_295_25_POS = - 1 ;
static gint ett_062_295_26 = - 1 ;
static gint ett_062_295_26_GAL = - 1 ;
static gint ett_062_295_27 = - 1 ;
static gint ett_062_295_27_PUN = - 1 ;
static gint ett_062_295_28 = - 1 ;
static gint ett_062_295_28_MB = - 1 ;
static gint ett_062_295_29 = - 1 ;
static gint ett_062_295_29_IAR = - 1 ;
static gint ett_062_295_30 = - 1 ;
static gint ett_062_295_30_MAC = - 1 ;
static gint ett_062_295_31 = - 1 ;
static gint ett_062_295_31_BPS = - 1 ;
static gint ett_062_300 = - 1 ;
static gint ett_062_300_VFI = - 1 ;
static gint ett_062_340 = - 1 ;
static gint ett_062_340_01 = - 1 ;
static gint ett_062_340_02 = - 1 ;
static gint ett_062_340_02_RHO = - 1 ;
static gint ett_062_340_02_THETA = - 1 ;
static gint ett_062_340_03 = - 1 ;
static gint ett_062_340_03_H = - 1 ;
static gint ett_062_340_04 = - 1 ;
static gint ett_062_340_04_V = - 1 ;
static gint ett_062_340_04_G = - 1 ;
static gint ett_062_340_04_FL = - 1 ;
static gint ett_062_340_05 = - 1 ;
static gint ett_062_340_05_V = - 1 ;
static gint ett_062_340_05_G = - 1 ;
static gint ett_062_340_05_L = - 1 ;
static gint ett_062_340_05_SQUAWK = - 1 ;
static gint ett_062_340_06 = - 1 ;
static gint ett_062_340_06_TYP = - 1 ;
static gint ett_062_340_06_SIM = - 1 ;
static gint ett_062_340_06_RAB = - 1 ;
static gint ett_062_340_06_TST = - 1 ;
static gint ett_062_380_01 = - 1 ;
static gint ett_062_380_02 = - 1 ;
static gint ett_062_380_03 = - 1 ;
static gint ett_062_380 = - 1 ;
static gint ett_062_380_03_MH = - 1 ;
static gint ett_062_380_04 = - 1 ;
static gint ett_062_380_04_IM = - 1 ;
static gint ett_062_380_04_IAS = - 1 ;
static gint ett_062_380_05 = - 1 ;
static gint ett_062_380_05_TAS = - 1 ;
static gint ett_062_380_06 = - 1 ;
static gint ett_062_380_06_SAS = - 1 ;
static gint ett_062_380_06_SOURCE = - 1 ;
static gint ett_062_380_06_ALT = - 1 ;
static gint ett_062_380_07 = - 1 ;
static gint ett_062_380_07_MV = - 1 ;
static gint ett_062_380_07_AH = - 1 ;
static gint ett_062_380_07_AM = - 1 ;
static gint ett_062_380_07_ALT = - 1 ;
static gint ett_062_380_08 = - 1 ;
static gint ett_062_380_08_NAV = - 1 ;
static gint ett_062_380_08_NVB = - 1 ;
static gint ett_062_380_09 = - 1 ;
static gint ett_062_380_09_TCA = - 1 ;
static gint ett_062_380_09_NC = - 1 ;
static gint ett_062_380_09_TCP = - 1 ;
static gint ett_062_380_09_ALT = - 1 ;
static gint ett_062_380_09_LAT = - 1 ;
static gint ett_062_380_09_LON = - 1 ;
static gint ett_062_380_09_PTYP = - 1 ;
static gint ett_062_380_09_TD = - 1 ;
static gint ett_062_380_09_TRA = - 1 ;
static gint ett_062_380_09_TOA = - 1 ;
static gint ett_062_380_09_TOV = - 1 ;
static gint ett_062_380_09_TTR = - 1 ;
static gint ett_062_380_10 = - 1 ;
static gint ett_062_380_10_COM = - 1 ;
static gint ett_062_380_10_STAT = - 1 ;
static gint ett_062_380_10_SSC = - 1 ;
static gint ett_062_380_10_ARC = - 1 ;
static gint ett_062_380_10_AIC = - 1 ;
static gint ett_062_380_10_B1A = - 1 ;
static gint ett_062_380_10_B1B = - 1 ;
static gint ett_062_380_11 = - 1 ;
static gint ett_062_380_11_AC = - 1 ;
static gint ett_062_380_11_MN = - 1 ;
static gint ett_062_380_11_DC = - 1 ;
static gint ett_062_380_11_GBS = - 1 ;
static gint ett_062_380_11_STAT = - 1 ;
static gint ett_062_380_12 = - 1 ;
static gint ett_062_380_12_MB = - 1 ;
static gint ett_062_380_13 = - 1 ;
static gint ett_062_380_13_BVR = - 1 ;
static gint ett_062_380_14 = - 1 ;
static gint ett_062_380_14_GVR = - 1 ;
static gint ett_062_380_15 = - 1 ;
static gint ett_062_380_15_ROLL = - 1 ;
static gint ett_062_380_16 = - 1 ;
static gint ett_062_380_16_TI = - 1 ;
static gint ett_062_380_16_RATE = - 1 ;
static gint ett_062_380_17 = - 1 ;
static gint ett_062_380_17_TA = - 1 ;
static gint ett_062_380_18 = - 1 ;
static gint ett_062_380_18_GS = - 1 ;
static gint ett_062_380_19 = - 1 ;
static gint ett_062_380_19_VUC = - 1 ;
static gint ett_062_380_20 = - 1 ;
static gint ett_062_380_20_WS = - 1 ;
static gint ett_062_380_20_WD = - 1 ;
static gint ett_062_380_20_TMP = - 1 ;
static gint ett_062_380_20_TRB = - 1 ;
static gint ett_062_380_20_WS_VAL = - 1 ;
static gint ett_062_380_20_WD_VAL = - 1 ;
static gint ett_062_380_20_TMP_VAL = - 1 ;
static gint ett_062_380_20_TRB_VAL = - 1 ;
static gint ett_062_380_21 = - 1 ;
static gint ett_062_380_21_ECAT = - 1 ;
static gint ett_062_380_22 = - 1 ;
static gint ett_062_380_22_LAT = - 1 ;
static gint ett_062_380_22_LON = - 1 ;
static gint ett_062_380_23 = - 1 ;
static gint ett_062_380_23_ALT = - 1 ;
static gint ett_062_380_24 = - 1 ;
static gint ett_062_380_24_PUN = - 1 ;
static gint ett_062_380_25 = - 1 ;
static gint ett_062_380_26 = - 1 ;
static gint ett_062_380_26_IAS = - 1 ;
static gint ett_062_380_27 = - 1 ;
static gint ett_062_380_27_MACH = - 1 ;
static gint ett_062_380_28 = - 1 ;
static gint ett_062_380_28_BPS = - 1 ;
static gint ett_062_390 = - 1 ;
static gint ett_062_390_01 = - 1 ;
static gint ett_062_390_02 = - 1 ;
static gint ett_062_390_02_CS = - 1 ;
static gint ett_062_390_03 = - 1 ;
static gint ett_062_390_03_TYP = - 1 ;
static gint ett_062_390_03_NBR = - 1 ;
static gint ett_062_390_04 = - 1 ;
static gint ett_062_390_04_GAT_OAT = - 1 ;
static gint ett_062_390_04_FR12 = - 1 ;
static gint ett_062_390_04_RVSM = - 1 ;
static gint ett_062_390_04_HPR = - 1 ;
static gint ett_062_390_05 = - 1 ;
static gint ett_062_390_05_ACTYP = - 1 ;
static gint ett_062_390_06 = - 1 ;
static gint ett_062_390_06_WTC = - 1 ;
static gint ett_062_390_07 = - 1 ;
static gint ett_062_390_07_ADEP = - 1 ;
static gint ett_062_390_08 = - 1 ;
static gint ett_062_390_08_ADES = - 1 ;
static gint ett_062_390_09 = - 1 ;
static gint ett_062_390_09_NU1 = - 1 ;
static gint ett_062_390_09_NU2 = - 1 ;
static gint ett_062_390_09_LTR = - 1 ;
static gint ett_062_390_10 = - 1 ;
static gint ett_062_390_10_CFL = - 1 ;
static gint ett_062_390_11 = - 1 ;
static gint ett_062_390_11_CNTR = - 1 ;
static gint ett_062_390_11_POS = - 1 ;
static gint ett_062_390_12 = - 1 ;
static gint ett_062_390_12_TYP = - 1 ;
static gint ett_062_390_12_DAY = - 1 ;
static gint ett_062_390_12_HOR = - 1 ;
static gint ett_062_390_12_MIN = - 1 ;
static gint ett_062_390_12_AVS = - 1 ;
static gint ett_062_390_12_SEC = - 1 ;
static gint ett_062_390_13 = - 1 ;
static gint ett_062_390_13_STAND = - 1 ;
static gint ett_062_390_14 = - 1 ;
static gint ett_062_390_14_EMP = - 1 ;
static gint ett_062_390_14_AVL = - 1 ;
static gint ett_062_390_15 = - 1 ;
static gint ett_062_390_15_SID = - 1 ;
static gint ett_062_390_16 = - 1 ;
static gint ett_062_390_16_STAR = - 1 ;
static gint ett_062_390_17 = - 1 ;
static gint ett_062_390_17_VA = - 1 ;
static gint ett_062_390_17_SQUAWK = - 1 ;
static gint ett_062_390_18 = - 1 ;
static gint ett_062_390_18_CS = - 1 ;
static gint ett_062_500 = - 1 ;
static gint ett_062_500_01 = - 1 ;
static gint ett_062_500_01_APCX = - 1 ;
static gint ett_062_500_01_APCY = - 1 ;
static gint ett_062_500_02 = - 1 ;
static gint ett_062_500_02_COV = - 1 ;
static gint ett_062_500_03 = - 1 ;
static gint ett_062_500_03_APWLAT = - 1 ;
static gint ett_062_500_03_APWLON = - 1 ;
static gint ett_062_500_04 = - 1 ;
static gint ett_062_500_04_AGA = - 1 ;
static gint ett_062_500_05 = - 1 ;
static gint ett_062_500_05_ABA = - 1 ;
static gint ett_062_500_06 = - 1 ;
static gint ett_062_500_06_ATVX = - 1 ;
static gint ett_062_500_06_ATVY = - 1 ;
static gint ett_062_500_07 = - 1 ;
static gint ett_062_500_07_AAX = - 1 ;
static gint ett_062_500_07_AAY = - 1 ;
static gint ett_062_500_08 = - 1 ;
static gint ett_062_500_08_ARC = - 1 ;
static gint ett_062_510 = - 1 ;
static gint ett_062_510_SID = - 1 ;
static gint ett_062_510_STN = - 1 ;
static gint ett_062_RE = - 1 ;
static gint ett_062_SP = - 1 ;
/* Category 063 */
static gint ett_063_010 = - 1 ;
static gint ett_063_015 = - 1 ;
static gint ett_063_030 = - 1 ;
static gint ett_063_050 = - 1 ;
static gint ett_063_060 = - 1 ;
static gint ett_063_070 = - 1 ;
static gint ett_063_080 = - 1 ;
static gint ett_063_081 = - 1 ;
static gint ett_063_090 = - 1 ;
static gint ett_063_091 = - 1 ;
static gint ett_063_092 = - 1 ;
static gint ett_063_RE = - 1 ;
static gint ett_063_SP = - 1 ;
/* Category 065 */
static gint ett_065_000 = - 1 ;
static gint ett_065_010 = - 1 ;
static gint ett_065_015 = - 1 ;
static gint ett_065_020 = - 1 ;
static gint ett_065_030 = - 1 ;
static gint ett_065_040 = - 1 ;
static gint ett_065_050 = - 1 ;
static gint ett_065_RE = - 1 ;
static gint ett_065_SP = - 1 ;
static dissector_handle_t data_handle = NULL ;
static dissector_handle_t asterix_handle ;
# define FIXED 0x01
# define REPETITIVE 0x02
# define FX 0x04
# define VAR 0x08
# define COMPOUND 0x10
# define UAP 0x20
# define FIELD_PART_INT 0
# define FIELD_PART_UINT 1
# define FIELD_PART_FLOAT 2
# define FIELD_PART_UFLOAT 3
# define FIELD_PART_SQUAWK 4
# define FIELD_PART_CALLSIGN 5
# define FIELD_PART_ASCII 6
# define FIELD_PART_FX 7
# define FIELD_PART_HEX 8
typedef struct FieldPart_s FieldPart ;
struct FieldPart_s {
guint8 bit_length ; /* length of field in bits */
2013-05-20 20:16:03 +00:00
double scaling_factor ; /* scaling factor of the field (for instance: 1/128) */
2013-05-20 19:23:41 +00:00
guint8 type ; /* Pre-defined type for proper presentation */
gint * hf ; /* Pointer to hf representing this kind of data */
const char * format_string ; /* format string for showing float values */
} ;
typedef struct AsterixField_s AsterixField ;
struct AsterixField_s {
guint8 type ; /* type of field */
guint length ; /* fixed length */
guint repetition_counter_size ; /* size of repetition counter, length of one item is in length */
guint header_length ; /* the size is in first header_length bytes of the field */
gint * hf ; /* pointer to Wireshark hf_register_info */
const FieldPart * * part ; /* Look declaration and description of FieldPart above. */
const AsterixField * field [ ] ; /* subfields */
} ;
static void dissect_asterix ( tvbuff_t * , packet_info * , proto_tree * ) ;
static void dissect_asterix_packet ( tvbuff_t * , proto_tree * ) ;
static void dissect_asterix_data_block ( tvbuff_t * tvb , guint , proto_tree * , guint8 , gint ) ;
static gint dissect_asterix_fields ( tvbuff_t * , guint , proto_tree * , guint8 , const AsterixField * [ ] ) ;
static void asterix_build_subtree ( tvbuff_t * , guint , proto_tree * , const AsterixField * ) ;
static void twos_complement ( gint64 * , guint8 ) ;
static guint8 byte_length ( guint8 ) ;
static guint8 asterix_bit ( guint8 , guint8 ) ;
static guint8 asterix_fspec_len ( tvbuff_t * , guint ) ;
static guint8 asterix_field_exists ( tvbuff_t * , guint , int ) ;
static guint8 asterix_get_active_uap ( tvbuff_t * , guint , guint8 ) ;
static int asterix_field_length ( tvbuff_t * , guint , const AsterixField * ) ;
static int asterix_field_offset ( tvbuff_t * , guint , const AsterixField * [ ] , int ) ;
static int asterix_message_length ( tvbuff_t * , guint , guint8 , guint8 ) ;
static const char AISCode [ ] = { ' ' , ' A ' , ' B ' , ' C ' , ' D ' , ' E ' , ' F ' , ' G ' , ' H ' , ' I ' , ' J ' , ' K ' , ' L ' , ' M ' , ' N ' , ' O ' ,
' P ' , ' Q ' , ' R ' , ' S ' , ' T ' , ' U ' , ' V ' , ' W ' , ' X ' , ' Y ' , ' Z ' , ' ' , ' ' , ' ' , ' ' , ' ' ,
' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' ,
' 0 ' , ' 1 ' , ' 2 ' , ' 3 ' , ' 4 ' , ' 5 ' , ' 6 ' , ' 7 ' , ' 8 ' , ' 9 ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' } ;
static const value_string valstr_XXX_FX [ ] = {
{ 0 , " End of data item " } ,
{ 1 , " Extension into next extent " } ,
{ 0 , NULL }
} ;
2013-05-20 20:16:03 +00:00
static const FieldPart IXXX_FX = { 1 , 1.0 , FIELD_PART_FX , & hf_XXX_FX , NULL } ;
2013-06-03 23:27:01 +00:00
/*static const FieldPart IXXX_2FX = { 1, 1.0, FIELD_PART_FX, &hf_XXX_2FX, NULL };*/
static const FieldPart IXXX_3FX = { 1 , 1.0 , FIELD_PART_FX , & hf_XXX_3FX , NULL } ;
2013-05-20 19:23:41 +00:00
static const FieldPart IXXX_1bit_spare = { 1 , 1.0 , FIELD_PART_UINT , NULL , NULL } ;
static const FieldPart IXXX_2bit_spare = { 2 , 1.0 , FIELD_PART_UINT , NULL , NULL } ;
static const FieldPart IXXX_3bit_spare = { 3 , 1.0 , FIELD_PART_UINT , NULL , NULL } ;
static const FieldPart IXXX_4bit_spare = { 4 , 1.0 , FIELD_PART_UINT , NULL , NULL } ;
static const FieldPart IXXX_5bit_spare = { 5 , 1.0 , FIELD_PART_UINT , NULL , NULL } ;
static const FieldPart IXXX_6bit_spare = { 6 , 1.0 , FIELD_PART_UINT , NULL , NULL } ;
/*static const FieldPart IXXX_7bit_spare = { 7, 1.0, FIELD_PART_UINT, NULL, NULL };*/
/* SAC SIC */
static const FieldPart IXXX_SAC = { 8 , 1.0 , FIELD_PART_UINT , & hf_XXX_SAC , NULL } ;
static const FieldPart IXXX_SIC = { 8 , 1.0 , FIELD_PART_UINT , & hf_XXX_SIC , NULL } ;
static const FieldPart * IXXX_SAC_SIC [ ] = { & IXXX_SAC , & IXXX_SIC , NULL } ;
/* Time of day */
static const FieldPart IXXX_TOD_VAL = { 24 , 1.0 / 128.0 , FIELD_PART_UFLOAT , & hf_XXX_TOD , " %.3f " } ;
static const FieldPart * IXXX_TOD [ ] = { & IXXX_TOD_VAL , NULL } ;
/* Track number */
static const FieldPart IXXX_TN_16 = { 16 , 1.0 , FIELD_PART_UINT , & hf_XXX_TN_16 , NULL } ;
static const FieldPart * IXXX_TN_16_PARTS [ ] = { & IXXX_TN_16 , NULL } ;
/* Aircraft Address */
static const FieldPart IXXX_AA = { 24 , 1.0 , FIELD_PART_HEX , & hf_XXX_AA , NULL } ;
static const FieldPart * IXXX_AA_PARTS [ ] = { & IXXX_AA , NULL } ;
/* Aircraft Identification */
static const FieldPart IXXX_AI = { 48 , 1.0 , FIELD_PART_CALLSIGN , & hf_XXX_AI , NULL } ;
static const FieldPart * IXXX_AI_PARTS [ ] = { & IXXX_AI , NULL } ;
/* Mode S MB Data */
static const FieldPart IXXX_MB_DATA = { 56 , 1.0 , FIELD_PART_HEX , & hf_XXX_MB_DATA , NULL } ;
static const FieldPart IXXX_BDS1 = { 4 , 1.0 , FIELD_PART_UINT , & hf_XXX_BDS1 , NULL } ;
static const FieldPart IXXX_BDS2 = { 4 , 1.0 , FIELD_PART_UINT , & hf_XXX_BDS2 , NULL } ;
static const FieldPart * IXXX_MB [ ] = { & IXXX_MB_DATA , & IXXX_BDS1 , & IXXX_BDS2 , NULL } ;
/* Spare Item */
static const AsterixField IX_SPARE = { FIXED , 0 , 0 , 0 , & hf_spare , NULL , { NULL } } ;
/* *********************** */
/* Category 001 */
/* *********************** */
/* Fields */
/* Target report descriptor */
static const value_string valstr_001_020_TYP [ ] = {
{ 0 , " Plot " } ,
{ 1 , " Track " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_020_SIM [ ] = {
{ 0 , " Actual plot or track " } ,
{ 1 , " Simulated plot or track " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_020_SSR_PSR [ ] = {
{ 0 , " No detection " } ,
{ 1 , " Sole primary detection " } ,
{ 2 , " Sole secondary detection " } ,
{ 3 , " Combined primary and secondary detection " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_020_ANT [ ] = {
{ 0 , " Target report from antenna 1 " } ,
{ 1 , " Target report from antenna 2 " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_020_SPI [ ] = {
{ 0 , " Default " } ,
{ 1 , " Special Position Identification " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_020_RAB [ ] = {
{ 0 , " Default " } ,
{ 1 , " Plot or track from a fixed transponder " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_020_TST [ ] = {
{ 0 , " Default " } ,
{ 1 , " Test target indicator " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_020_DS12 [ ] = {
{ 0 , " Default " } ,
{ 1 , " Unlawful interference (code 7500) " } ,
{ 2 , " Radio-communication failure (code 7600) " } ,
{ 3 , " Emergency (code 7700) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_020_ME [ ] = {
{ 0 , " Default " } ,
{ 1 , " Military emergency " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_020_MI [ ] = {
{ 0 , " Default " } ,
{ 1 , " Military identification " } ,
{ 0 , NULL }
} ;
static const FieldPart I001_020_TYP = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_020_TYP , NULL } ;
static const FieldPart I001_020_SIM = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_020_SIM , NULL } ;
static const FieldPart I001_020_SSR_PSR = { 2 , 1.0 , FIELD_PART_UINT , & hf_001_020_SSR_PSR , NULL } ;
static const FieldPart I001_020_ANT = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_020_ANT , NULL } ;
static const FieldPart I001_020_SPI = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_020_SPI , NULL } ;
static const FieldPart I001_020_RAB = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_020_RAB , NULL } ;
static const FieldPart I001_020_TST = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_020_TST , NULL } ;
static const FieldPart I001_020_DS12 = { 2 , 1.0 , FIELD_PART_UINT , & hf_001_020_DS12 , NULL } ;
static const FieldPart I001_020_ME = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_020_ME , NULL } ;
static const FieldPart I001_020_MI = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_020_MI , NULL } ;
static const FieldPart * I001_020_PARTS [ ] = { & I001_020_TYP , & I001_020_SIM , & I001_020_SSR_PSR , & I001_020_ANT , & I001_020_SPI , & I001_020_RAB , & IXXX_FX ,
& I001_020_TST , & I001_020_DS12 , & I001_020_ME , & I001_020_MI , & IXXX_2bit_spare , & IXXX_FX , NULL } ;
/* Warning/Error Conditions */
static const value_string valstr_001_030_WE [ ] = {
{ 0 , " no warning nor error condition " } ,
{ 1 , " garbled reply " } ,
{ 2 , " reflection " } ,
{ 3 , " sidelobe reply " } ,
{ 4 , " split plot " } ,
{ 5 , " second time around reply " } ,
{ 6 , " angels " } ,
{ 7 , " terrestrial vehicles " } ,
{ 64 , " possible wrong code in Mode-3/A " } ,
{ 65 , " possible wrong altitude information, transmitted when the Code C credibility check fails together with the Mode-C code in binary notation " } ,
{ 66 , " possible phantom MSSR plot " } ,
{ 80 , " fixed PSR plot " } ,
{ 81 , " slow PSR plot " } ,
{ 82 , " low quality PSR plot " } ,
{ 0 , NULL }
} ;
static const FieldPart I001_030_WE = { 7 , 1.0 , FIELD_PART_UINT , & hf_001_030_WE , NULL } ;
static const FieldPart * I001_030_PARTS [ ] = { & I001_030_WE , & IXXX_FX , NULL } ;
/* Measured Position in Polar Coordinates */
static const FieldPart I001_040_RHO = { 16 , 1.0 / 128.0 , FIELD_PART_UFLOAT , & hf_001_040_RHO , NULL } ;
static const FieldPart I001_040_THETA = { 16 , 360.0 / 65536.0 , FIELD_PART_UFLOAT , & hf_001_040_THETA , NULL } ;
static const FieldPart * I001_040_PARTS [ ] = { & I001_040_RHO , & I001_040_THETA , NULL } ;
/* Cartesian position */
static const FieldPart I001_042_X = { 16 , 1.0 / 64.0 , FIELD_PART_FLOAT , & hf_001_042_X , NULL } ;
static const FieldPart I001_042_Y = { 16 , 1.0 / 64.0 , FIELD_PART_FLOAT , & hf_001_042_Y , NULL } ;
static const FieldPart * I001_042_PARTS [ ] = { & I001_042_X , & I001_042_Y , NULL } ;
/* Mode-3/A Code */
static const value_string valstr_001_070_V [ ] = {
{ 0 , " Code validated " } ,
{ 1 , " Code not validated " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_070_G [ ] = {
{ 0 , " Default " } ,
{ 1 , " Garbled code " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_070_L [ ] = {
{ 0 , " Mode-3/A code as derived from the reply of the transponder " } ,
{ 1 , " Smoothed Mode-3/A code as provided by a local tracker " } ,
{ 0 , NULL }
} ;
static const FieldPart I001_070_V = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_070_V , NULL } ;
static const FieldPart I001_070_G = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_070_G , NULL } ;
static const FieldPart I001_070_L = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_070_L , NULL } ;
static const FieldPart I001_070_SQUAWK = { 12 , 1.0 , FIELD_PART_SQUAWK , & hf_001_070_SQUAWK , NULL } ;
static const FieldPart * I001_070_PARTS [ ] = { & I001_070_V , & I001_070_G , & I001_070_L , & IXXX_1bit_spare , & I001_070_SQUAWK , NULL } ;
/* Mode-3/A Code Confidence Indicator */
static const value_string valstr_001_080_QA [ ] = {
{ 0 , " High quality pulse " } ,
{ 1 , " Low quality pulse " } ,
{ 0 , NULL }
} ;
static const FieldPart I001_080_QA4 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QA4 , NULL } ;
static const FieldPart I001_080_QA2 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QA2 , NULL } ;
static const FieldPart I001_080_QA1 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QA1 , NULL } ;
static const FieldPart I001_080_QB4 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QB4 , NULL } ;
static const FieldPart I001_080_QB2 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QB2 , NULL } ;
static const FieldPart I001_080_QB1 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QB1 , NULL } ;
static const FieldPart I001_080_QC4 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QC4 , NULL } ;
static const FieldPart I001_080_QC2 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QC2 , NULL } ;
static const FieldPart I001_080_QC1 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QC1 , NULL } ;
static const FieldPart I001_080_QD4 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QD4 , NULL } ;
static const FieldPart I001_080_QD2 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QD2 , NULL } ;
static const FieldPart I001_080_QD1 = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_080_QD1 , NULL } ;
static const FieldPart * I001_080_PARTS [ ] = { & IXXX_4bit_spare ,
& I001_080_QA4 , & I001_080_QA2 , & I001_080_QA1 ,
& I001_080_QB4 , & I001_080_QB2 , & I001_080_QB1 ,
& I001_080_QC4 , & I001_080_QC2 , & I001_080_QC1 ,
& I001_080_QD4 , & I001_080_QD2 , & I001_080_QD1 , NULL } ;
/* Mode-C Code in Binary Representation - Flight Level */
static const value_string valstr_001_090_V [ ] = {
{ 0 , " Code validated " } ,
{ 1 , " Code not validated " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_090_G [ ] = {
{ 0 , " Default " } ,
{ 1 , " Garbled code " } ,
{ 0 , NULL }
} ;
static const FieldPart I001_090_V = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_090_V , NULL } ;
static const FieldPart I001_090_G = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_090_G , NULL } ;
static const FieldPart I001_090_FL = { 14 , 1.0 / 4.0 , FIELD_PART_FLOAT , & hf_001_090_FL , NULL } ;
static const FieldPart * I001_090_PARTS [ ] = { & I001_090_V , & I001_090_G , & I001_090_FL , NULL , NULL } ;
/* Truncated Time of Day */
static const FieldPart I001_141_TTOD = { 16 , 1.0 / 128.0 , FIELD_PART_UFLOAT , & hf_001_141_TTOD , NULL } ;
static const FieldPart * I001_141_PARTS [ ] = { & I001_141_TTOD , NULL } ;
/* Track Plot Number */
static const FieldPart I001_161_TPN = { 16 , 1.0 , FIELD_PART_UINT , & hf_001_161_TPN , NULL } ;
static const FieldPart * I001_161_PARTS [ ] = { & I001_161_TPN , NULL } ;
/* Track Status */
static const value_string valstr_001_170_CON [ ] = {
{ 0 , " Confirmed track " } ,
{ 1 , " Track in initialisation phase " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_170_RAD [ ] = {
{ 0 , " Primary track " } ,
{ 1 , " SSR/Combined track " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_170_MAN [ ] = {
{ 0 , " Default " } ,
{ 1 , " Aircraft manoeuvring " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_170_DOU [ ] = {
{ 0 , " Default " } ,
{ 1 , " Doubtful plot to track association " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_170_RDPC [ ] = {
{ 0 , " RDP Chain 1 " } ,
{ 1 , " RDP Chain 2 " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_170_GHO [ ] = {
{ 0 , " Default " } ,
{ 1 , " Ghost track " } ,
{ 0 , NULL }
} ;
static const value_string valstr_001_170_TRE [ ] = {
{ 0 , " Default " } ,
{ 1 , " Last report for a track " } ,
{ 0 , NULL }
} ;
static const FieldPart I001_170_CON = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_170_CON , NULL } ;
static const FieldPart I001_170_RAD = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_170_RAD , NULL } ;
static const FieldPart I001_170_MAN = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_170_MAN , NULL } ;
static const FieldPart I001_170_DOU = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_170_DOU , NULL } ;
static const FieldPart I001_170_RDPC = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_170_RDPC , NULL } ;
static const FieldPart I001_170_GHO = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_170_GHO , NULL } ;
static const FieldPart I001_170_TRE = { 1 , 1.0 , FIELD_PART_UINT , & hf_001_170_TRE , NULL } ;
static const FieldPart * I001_170_PARTS [ ] = { & I001_170_CON , & I001_170_RAD , & I001_170_MAN , & I001_170_DOU , & I001_170_RDPC , & IXXX_1bit_spare , & I001_170_GHO , & IXXX_FX ,
& I001_170_TRE , & IXXX_6bit_spare , & IXXX_FX , NULL } ;
/* Items */
static const AsterixField I001_010 = { FIXED , 2 , 0 , 0 , & hf_001_010 , IXXX_SAC_SIC , { NULL } } ;
static const AsterixField I001_020 = { FX + UAP , 1 , 0 , 0 , & hf_001_020 , I001_020_PARTS , { NULL } } ;
static const AsterixField I001_030 = { FX , 1 , 0 , 0 , & hf_001_030 , I001_030_PARTS , { NULL } } ;
static const AsterixField I001_040 = { FIXED , 4 , 0 , 0 , & hf_001_040 , I001_040_PARTS , { NULL } } ;
static const AsterixField I001_042 = { FIXED , 4 , 0 , 0 , & hf_001_042 , I001_042_PARTS , { NULL } } ;
static const AsterixField I001_050 = { FIXED , 2 , 0 , 0 , & hf_001_050 , NULL , { NULL } } ;
static const AsterixField I001_060 = { FIXED , 2 , 0 , 0 , & hf_001_060 , NULL , { NULL } } ;
static const AsterixField I001_070 = { FIXED , 2 , 0 , 0 , & hf_001_070 , I001_070_PARTS , { NULL } } ;
static const AsterixField I001_080 = { FIXED , 2 , 0 , 0 , & hf_001_080 , I001_080_PARTS , { NULL } } ;
static const AsterixField I001_090 = { FIXED , 2 , 0 , 0 , & hf_001_090 , I001_090_PARTS , { NULL } } ;
static const AsterixField I001_100 = { FIXED , 4 , 0 , 0 , & hf_001_100 , NULL , { NULL } } ;
static const AsterixField I001_120 = { FIXED , 1 , 0 , 0 , & hf_001_120 , NULL , { NULL } } ;
static const AsterixField I001_130 = { FX , 1 , 0 , 0 , & hf_001_130 , NULL , { NULL } } ;
static const AsterixField I001_131 = { FIXED , 1 , 0 , 0 , & hf_001_131 , NULL , { NULL } } ;
static const AsterixField I001_141 = { FIXED , 2 , 0 , 0 , & hf_001_141 , I001_141_PARTS , { NULL } } ;
static const AsterixField I001_150 = { FIXED , 1 , 0 , 0 , & hf_001_150 , NULL , { NULL } } ;
static const AsterixField I001_161 = { FIXED , 2 , 0 , 0 , & hf_001_161 , I001_161_PARTS , { NULL } } ;
static const AsterixField I001_170 = { FX , 1 , 0 , 0 , & hf_001_170 , I001_170_PARTS , { NULL } } ;
static const AsterixField I001_200 = { FIXED , 4 , 0 , 0 , & hf_001_200 , NULL , { NULL } } ;
static const AsterixField I001_210 = { FIXED , 1 , 0 , 0 , & hf_001_210 , NULL , { NULL } } ;
static const AsterixField I001_RE = { VAR , 0 , 0 , 1 , & hf_001_RE , NULL , { NULL } } ;
static const AsterixField I001_SP = { VAR , 0 , 0 , 1 , & hf_001_SP , NULL , { NULL } } ;
static const AsterixField * I001_PLOT [ ] = { & I001_010 , & I001_020 , & I001_040 , & I001_070 , & I001_090 , & I001_130 , & I001_141 ,
& I001_050 , & I001_120 , & I001_131 , & I001_080 , & I001_100 , & I001_060 , & I001_030 ,
& I001_150 , & IX_SPARE , & IX_SPARE , & IX_SPARE , & IX_SPARE , & I001_SP , & I001_RE , NULL } ;
static const AsterixField * I001_TRACK [ ] = { & I001_010 , & I001_020 , & I001_161 , & I001_040 , & I001_042 , & I001_200 , & I001_070 ,
& I001_090 , & I001_141 , & I001_130 , & I001_131 , & I001_120 , & I001_170 , & I001_210 ,
& I001_050 , & I001_080 , & I001_100 , & I001_060 , & I001_030 , & I001_SP , & I001_RE ,
& I001_150 , NULL } ;
/* *********************** */
/* Category 002 */
/* *********************** */
/* Fields */
/* Message Type */
static const value_string valstr_002_000_MT [ ] = {
{ 1 , " North Marker message " } ,
{ 2 , " Sector crossing message " } ,
{ 3 , " South marker message " } ,
{ 8 , " Activation of blind zone filtering " } ,
{ 9 , " Stop of blind zone filtering " } ,
{ 0 , NULL }
} ;
static const FieldPart I002_000_MT = { 8 , 1.0 , FIELD_PART_UINT , & hf_002_000_MT , NULL } ;
static const FieldPart * I002_000_PARTS [ ] = { & I002_000_MT , NULL } ;
/* Sector Number */
static const FieldPart I002_020_SN = { 8 , 360.0 / 256.0 , FIELD_PART_UFLOAT , & hf_002_020_SN , NULL } ;
static const FieldPart * I002_020_PARTS [ ] = { & I002_020_SN , NULL } ;
/* Antenna Rotation Speed */
static const FieldPart I002_041_ARS = { 16 , 1.0 / 128.0 , FIELD_PART_UFLOAT , & hf_002_041_ARS , NULL } ;
static const FieldPart * I002_041_PARTS [ ] = { & I002_041_ARS , NULL } ;
/* Plot Count Values */
static const value_string valstr_002_070_A [ ] = {
{ 0 , " Counter for antenna 1 " } ,
{ 1 , " Counter for antenna 2 " } ,
{ 0 , NULL }
} ;
static const value_string valstr_002_070_IDENT [ ] = {
{ 1 , " Sole primary plots " } ,
{ 2 , " Sole SSR plots " } ,
{ 3 , " Combined plots " } ,
{ 0 , NULL }
} ;
static const FieldPart I002_070_A = { 1 , 1.0 , FIELD_PART_UINT , & hf_002_070_A , NULL } ;
static const FieldPart I002_070_IDENT = { 5 , 1.0 , FIELD_PART_UINT , & hf_002_070_IDENT , NULL } ;
static const FieldPart I002_070_COUNTER = { 10 , 1.0 , FIELD_PART_UINT , & hf_002_070_COUNTER , NULL } ;
static const FieldPart * I002_070_PARTS [ ] = { & I002_070_A , & I002_070_IDENT , & I002_070_COUNTER , NULL } ;
/* Warning/Error Conditions */
static const FieldPart I002_080_WE = { 7 , 1.0 , FIELD_PART_UINT , & hf_002_080_WE , NULL } ;
static const FieldPart * I002_080_PARTS [ ] = { & I002_080_WE , & IXXX_FX , NULL } ;
/* Collimation Error */
static const FieldPart I002_090_RE = { 8 , 1.0 / 128.0 , FIELD_PART_FLOAT , & hf_002_090_RE , NULL } ;
static const FieldPart I002_090_AE = { 8 , 360.0 / 16384.0 , FIELD_PART_FLOAT , & hf_002_090_AE , NULL } ;
static const FieldPart * I002_090_PARTS [ ] = { & I002_090_RE , & I002_090_AE , NULL } ;
/* Dynamic Window - Type 1 */
static const FieldPart I002_100_RHOS = { 16 , 1.0 / 128.0 , FIELD_PART_UFLOAT , & hf_002_100_RHOS , NULL } ;
static const FieldPart I002_100_RHOE = { 16 , 1.0 / 128.0 , FIELD_PART_UFLOAT , & hf_002_100_RHOE , NULL } ;
static const FieldPart I002_100_THETAS = { 16 , 360.0 / 65536.0 , FIELD_PART_UFLOAT , & hf_002_100_THETAS , NULL } ;
static const FieldPart I002_100_THETAE = { 16 , 360.0 / 65536.0 , FIELD_PART_UFLOAT , & hf_002_100_THETAE , NULL } ;
static const FieldPart * I002_100_PARTS [ ] = { & I002_100_RHOS , & I002_100_RHOE , & I002_100_THETAS , & I002_100_THETAE , NULL } ;
/* Items */
static const AsterixField I002_000 = { FIXED , 1 , 0 , 0 , & hf_002_000 , I002_000_PARTS , { NULL } } ;
static const AsterixField I002_010 = { FIXED , 2 , 0 , 0 , & hf_002_010 , IXXX_SAC_SIC , { NULL } } ;
static const AsterixField I002_020 = { FIXED , 1 , 0 , 0 , & hf_002_020 , I002_020_PARTS , { NULL } } ;
static const AsterixField I002_030 = { FIXED , 3 , 0 , 0 , & hf_002_030 , IXXX_TOD , { NULL } } ;
static const AsterixField I002_041 = { FIXED , 2 , 0 , 0 , & hf_002_041 , I002_041_PARTS , { NULL } } ;
static const AsterixField I002_050 = { FX , 1 , 0 , 0 , & hf_002_050 , NULL , { NULL } } ;
static const AsterixField I002_060 = { FX , 1 , 0 , 0 , & hf_002_060 , NULL , { NULL } } ;
static const AsterixField I002_070 = { REPETITIVE , 2 , 1 , 0 , & hf_002_070 , I002_070_PARTS , { NULL } } ;
static const AsterixField I002_080 = { FIXED , 2 , 0 , 0 , & hf_002_080 , I002_080_PARTS , { NULL } } ;
static const AsterixField I002_090 = { FIXED , 2 , 0 , 0 , & hf_002_090 , I002_090_PARTS , { NULL } } ;
static const AsterixField I002_100 = { FIXED , 8 , 0 , 0 , & hf_002_100 , I002_100_PARTS , { NULL } } ;
static const AsterixField I002_RE = { VAR , 0 , 0 , 1 , & hf_002_RE , NULL , { NULL } } ;
static const AsterixField I002_SP = { VAR , 0 , 0 , 1 , & hf_002_SP , NULL , { NULL } } ;
static const AsterixField * I002 [ ] = { & I002_010 , & I002_000 , & I002_020 , & I002_030 , & I002_041 , & I002_050 , & I002_060 ,
& I002_070 , & I002_100 , & I002_090 , & I002_080 , & IX_SPARE , & I002_SP , & I002_RE , NULL } ;
2013-06-03 23:27:01 +00:00
/* *********************** */
/* Category 009 */
/* *********************** */
/* Fields */
/* Message Type */
static const value_string valstr_009_000_MT [ ] = {
{ 2 , " Cartesian vector messages " } ,
{ 253 , " intermediate-update-step message " } ,
{ 254 , " start-of-picture message " } ,
{ 255 , " end-of-picture message " } ,
{ 0 , NULL }
} ;
static const FieldPart I009_000_MT = { 8 , 1.0 , FIELD_PART_UINT , & hf_009_000_MT , NULL } ;
static const FieldPart * I009_000_PARTS [ ] = { & I009_000_MT , NULL } ;
/* Vector Qualifier */
static const value_string valstr_009_020_INT [ ] = {
{ 0 , " no data available " } ,
{ 1 , " intensity 1 " } ,
{ 2 , " intensity 2 " } ,
{ 3 , " intensity 3 " } ,
{ 4 , " intensity 4 " } ,
{ 5 , " intensity 5 " } ,
{ 6 , " intensity 6 " } ,
{ 7 , " intensity 7 " } ,
{ 0 , NULL }
} ;
static const value_string valstr_009_020_DIR [ ] = {
{ 0 , " 0 " } ,
{ 1 , " 22.5 " } ,
{ 2 , " 45 " } ,
{ 3 , " 67.5 " } ,
{ 4 , " 90 " } ,
{ 5 , " 112,5 " } ,
{ 6 , " 135 " } ,
{ 7 , " 157.5 " } ,
{ 0 , NULL }
} ;
static const FieldPart I009_020_ORG = { 1 , 1.0 , FIELD_PART_UINT , & hf_009_020_ORG , NULL } ;
static const FieldPart I009_020_INT = { 3 , 1.0 , FIELD_PART_UINT , & hf_009_020_INT , NULL } ;
static const FieldPart I009_020_DIR = { 3 , 1.0 , FIELD_PART_UINT , & hf_009_020_DIR , NULL } ;
static const FieldPart * I009_020_PARTS [ ] = { & I009_020_ORG , & I009_020_INT , & I009_020_DIR , & IXXX_FX , NULL } ;
/* Cartesian Vector */
static const FieldPart I009_030_X = { 16 , 1.0 / 32.0 , FIELD_PART_FLOAT , & hf_009_030_X , NULL } ;
static const FieldPart I009_030_Y = { 16 , 1.0 / 32.0 , FIELD_PART_FLOAT , & hf_009_030_Y , NULL } ;
static const FieldPart I009_030_VL = { 16 , 1.0 / 32.0 , FIELD_PART_FLOAT , & hf_009_030_VL , NULL } ;
static const FieldPart * I009_030_PARTS [ ] = { & I009_030_X , & I009_030_Y , & I009_030_VL , NULL } ;
/* Synchronisation/Control Signal */
static const FieldPart I009_060_STEP = { 6 , 1.0 , FIELD_PART_UINT , & hf_009_060_STEP , NULL } ;
static const FieldPart * I009_060_PARTS [ ] = { & I009_060_STEP , & IXXX_1bit_spare , & IXXX_FX , NULL } ;
/* Processing Status */
static const FieldPart I009_080_SCALE = { 5 , 1.0 , FIELD_PART_UINT , & hf_009_080_SCALE , NULL } ;
static const FieldPart I009_080_R = { 3 , 1.0 , FIELD_PART_UINT , & hf_009_080_R , NULL } ;
static const FieldPart I009_080_Q = { 15 , 1.0 , FIELD_PART_UINT , & hf_009_080_Q , NULL } ;
static const FieldPart * I009_080_PARTS [ ] = { & I009_080_SCALE , & I009_080_R , & I009_080_Q , & IXXX_3FX , NULL } ;
/* Radar Configuration and Status */
static const FieldPart I009_090_CP = { 1 , 1.0 , FIELD_PART_UINT , & hf_009_090_CP , NULL } ;
static const FieldPart I009_090_WO = { 1 , 1.0 , FIELD_PART_UINT , & hf_009_090_WO , NULL } ;
static const FieldPart I009_090_RS = { 3 , 1.0 , FIELD_PART_UINT , & hf_009_090_RS , NULL } ;
static const FieldPart * I009_090_PARTS [ ] = { & IXXX_SAC , & IXXX_SIC , & IXXX_3bit_spare , & I009_090_CP , & I009_090_WO , & I009_090_RS , NULL } ;
/* Vector Count */
static const FieldPart I009_100_VC = { 16 , 1.0 , FIELD_PART_UINT , & hf_009_100_VC , NULL } ;
static const FieldPart * I009_100_PARTS [ ] = { & I009_100_VC , NULL } ;
/* Items */
static const AsterixField I009_000 = { FIXED , 1 , 0 , 0 , & hf_009_000 , I009_000_PARTS , { NULL } } ;
static const AsterixField I009_010 = { FIXED , 2 , 0 , 0 , & hf_009_010 , IXXX_SAC_SIC , { NULL } } ;
static const AsterixField I009_020 = { FX , 1 , 0 , 0 , & hf_009_020 , I009_020_PARTS , { NULL } } ;
static const AsterixField I009_030 = { REPETITIVE , 6 , 1 , 0 , & hf_009_030 , I009_030_PARTS , { NULL } } ;
static const AsterixField I009_060 = { FX , 1 , 0 , 0 , & hf_009_060 , I009_060_PARTS , { NULL } } ;
static const AsterixField I009_070 = { FIXED , 3 , 0 , 0 , & hf_009_070 , IXXX_TOD , { NULL } } ;
static const AsterixField I009_080 = { FX , 3 , 0 , 0 , & hf_009_080 , I009_080_PARTS , { NULL } } ;
static const AsterixField I009_090 = { REPETITIVE , 3 , 1 , 0 , & hf_009_090 , I009_090_PARTS , { NULL } } ;
static const AsterixField I009_100 = { FIXED , 2 , 0 , 0 , & hf_009_100 , I009_100_PARTS , { NULL } } ;
static const AsterixField * I009 [ ] = { & I009_010 , & I009_000 , & I009_020 , & I009_030 , & I009_060 , & I009_070 , & I009_080 ,
& I009_090 , & I009_100 , NULL } ;
2013-05-20 19:23:41 +00:00
/* *********************** */
/* Category 034 */
/* *********************** */
/* Fields */
/* Message Type */
static const value_string valstr_034_000_MT [ ] = {
{ 1 , " North Marker message " } ,
{ 2 , " Sector crossing message " } ,
{ 3 , " Geographical filtering message " } ,
{ 4 , " Jamming Strobe message " } ,
{ 0 , NULL }
} ;
static const FieldPart I034_000_MT = { 8 , 1.0 , FIELD_PART_UINT , & hf_034_000_MT , NULL } ;
static const FieldPart * I034_000_PARTS [ ] = { & I034_000_MT , NULL } ;
/* Sector Number */
static const FieldPart I034_020_SN = { 8 , 360.0 / 256.0 , FIELD_PART_UFLOAT , & hf_034_020_SN , NULL } ;
static const FieldPart * I034_020_PARTS [ ] = { & I034_020_SN , NULL } ;
/* Antenna Rotation Speed */
static const FieldPart I034_041_ARS = { 16 , 1.0 / 128.0 , FIELD_PART_UFLOAT , & hf_034_041_ARS , NULL } ;
static const FieldPart * I034_041_PARTS [ ] = { & I034_041_ARS , NULL } ;
/* System Configuration and Status */
static const value_string valstr_034_050_01_NOGO [ ] = {
{ 0 , " System is released for operational use " } ,
{ 1 , " Operational use of System is inhibited, i.e. the data shall be discarded by an operational SDPS " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_01_RDPC [ ] = {
{ 0 , " RDPC-1 selected " } ,
{ 1 , " RDPC-2 selected " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_01_RDPR [ ] = {
{ 0 , " Default situation " } ,
{ 1 , " Reset of RDPC " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_01_OVL_RDP [ ] = {
{ 0 , " Default, no overload " } ,
{ 1 , " Overload in RDP " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_01_OVL_XMT [ ] = {
{ 0 , " Default, no overload " } ,
{ 1 , " Overload in transmission subsystem " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_01_MSC [ ] = {
{ 0 , " Monitoring system connected " } ,
{ 1 , " Monitoring system disconnected " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_01_TSV [ ] = {
{ 0 , " valid " } ,
{ 1 , " invalid " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_02_ANT [ ] = {
{ 0 , " antenna 1 " } ,
{ 1 , " antenna 2 " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_02_CHAB [ ] = {
{ 0 , " No channel selected " } ,
{ 1 , " Channel A only selected " } ,
{ 2 , " Channel B only selected " } ,
{ 3 , " Diversity mode; Channel A and B selected " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_02_OVL [ ] = {
{ 0 , " No overload " } ,
{ 1 , " Overload " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_02_MSC [ ] = {
{ 0 , " Monitoring system connected " } ,
{ 1 , " Monitoring system disconnected " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_03_ANT [ ] = {
{ 0 , " antenna 1 " } ,
{ 1 , " antenna 2 " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_03_CHAB [ ] = {
{ 0 , " No channel selected " } ,
{ 1 , " Channel A only selected " } ,
{ 2 , " Channel B only selected " } ,
{ 3 , " Invalid combination " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_03_OVL [ ] = {
{ 0 , " No overload " } ,
{ 1 , " Overload " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_03_MSC [ ] = {
{ 0 , " Monitoring system connected " } ,
{ 1 , " Monitoring system disconnected " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_04_ANT [ ] = {
{ 0 , " antenna 1 " } ,
{ 1 , " antenna 2 " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_04_CHAB [ ] = {
{ 0 , " No channel selected " } ,
{ 1 , " Channel A only selected " } ,
{ 2 , " Channel B only selected " } ,
{ 3 , " Illegal combination " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_04_OVL_SUR [ ] = {
{ 0 , " No overload " } ,
{ 1 , " Overload " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_04_MSC [ ] = {
{ 0 , " Monitoring system connected " } ,
{ 1 , " Monitoring system disconnected " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_04_SCF [ ] = {
{ 0 , " Channel A in use " } ,
{ 1 , " Channel B in use " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_04_DLF [ ] = {
{ 0 , " Channel A in use " } ,
{ 1 , " Channel B in use " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_04_OVL_SCF [ ] = {
{ 0 , " No overload " } ,
{ 1 , " Overload " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_050_04_OVL_DLF [ ] = {
{ 0 , " No overload " } ,
{ 1 , " Overload " } ,
{ 0 , NULL }
} ;
static const FieldPart I034_050_01_NOGO = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_01_NOGO , NULL } ;
static const FieldPart I034_050_01_RDPC = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_01_RDPC , NULL } ;
static const FieldPart I034_050_01_RDPR = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_01_RDPR , NULL } ;
static const FieldPart I034_050_01_OVL_RDP = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_01_OVL_RDP , NULL } ;
static const FieldPart I034_050_01_OVL_XMT = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_01_OVL_XMT , NULL } ;
static const FieldPart I034_050_01_MSC = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_01_MSC , NULL } ;
static const FieldPart I034_050_01_TSV = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_01_TSV , NULL } ;
static const FieldPart * I034_050_01_PARTS [ ] = { & I034_050_01_NOGO , & I034_050_01_RDPC , & I034_050_01_RDPR , & I034_050_01_OVL_RDP , & I034_050_01_OVL_XMT , & I034_050_01_MSC , & I034_050_01_TSV , NULL } ;
static const FieldPart I034_050_02_ANT = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_02_ANT , NULL } ;
static const FieldPart I034_050_02_CHAB = { 2 , 1.0 , FIELD_PART_UINT , & hf_034_050_02_CHAB , NULL } ;
static const FieldPart I034_050_02_OVL = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_02_OVL , NULL } ;
static const FieldPart I034_050_02_MSC = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_02_MSC , NULL } ;
static const FieldPart * I034_050_02_PARTS [ ] = { & I034_050_02_ANT , & I034_050_02_CHAB , & I034_050_02_OVL , & I034_050_02_MSC , NULL } ;
static const FieldPart I034_050_03_ANT = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_03_ANT , NULL } ;
static const FieldPart I034_050_03_CHAB = { 2 , 1.0 , FIELD_PART_UINT , & hf_034_050_03_CHAB , NULL } ;
static const FieldPart I034_050_03_OVL = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_03_OVL , NULL } ;
static const FieldPart I034_050_03_MSC = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_03_MSC , NULL } ;
static const FieldPart * I034_050_03_PARTS [ ] = { & I034_050_03_ANT , & I034_050_03_CHAB , & I034_050_03_OVL , & I034_050_03_MSC , NULL } ;
static const FieldPart I034_050_04_ANT = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_04_ANT , NULL } ;
static const FieldPart I034_050_04_CHAB = { 2 , 1.0 , FIELD_PART_UINT , & hf_034_050_04_CHAB , NULL } ;
static const FieldPart I034_050_04_OVL_SUR = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_04_OVL_SUR , NULL } ;
static const FieldPart I034_050_04_MSC = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_04_MSC , NULL } ;
static const FieldPart I034_050_04_SCF = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_04_SCF , NULL } ;
static const FieldPart I034_050_04_DLF = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_04_DLF , NULL } ;
static const FieldPart I034_050_04_OVL_SCF = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_04_OVL_SCF , NULL } ;
static const FieldPart I034_050_04_OVL_DLF = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_050_04_OVL_DLF , NULL } ;
static const FieldPart * I034_050_04_PARTS [ ] = { & I034_050_04_ANT , & I034_050_04_CHAB , & I034_050_04_OVL_SUR , & I034_050_04_MSC , & I034_050_04_SCF , & I034_050_04_DLF , & I034_050_04_OVL_SCF ,
& I034_050_04_OVL_DLF , NULL } ;
/* System Processing Mode */
static const value_string valstr_034_060_RED [ ] = {
{ 0 , " No reduction active " } ,
{ 1 , " Reduction step 1 active " } ,
{ 2 , " Reduction step 2 active " } ,
{ 3 , " Reduction step 3 active " } ,
{ 4 , " Reduction step 4 active " } ,
{ 5 , " Reduction step 5 active " } ,
{ 6 , " Reduction step 6 active " } ,
{ 7 , " Reduction step 7 active " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_060_02_POL [ ] = {
{ 0 , " Linear polarization " } ,
{ 1 , " Circular polarization " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_060_02_STC [ ] = {
{ 0 , " STC Map-1 " } ,
{ 1 , " STC Map-2 " } ,
{ 2 , " STC Map-3 " } ,
{ 3 , " STC Map-4 " } ,
{ 0 , NULL }
} ;
static const value_string valstr_034_060_04_CLU [ ] = {
{ 0 , " Autonomous " } ,
{ 1 , " Not autonomous " } ,
{ 0 , NULL }
} ;
static const FieldPart I034_060_01_RED_RDP = { 3 , 1.0 , FIELD_PART_UINT , & hf_034_060_01_RED_RDP , NULL } ;
static const FieldPart I034_060_01_RED_XMT = { 3 , 1.0 , FIELD_PART_UINT , & hf_034_060_01_RED_XMT , NULL } ;
static const FieldPart * I034_060_01_PARTS [ ] = { & IXXX_1bit_spare , & I034_060_01_RED_RDP , & I034_060_01_RED_XMT , NULL } ;
static const FieldPart I034_060_02_POL = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_060_02_POL , NULL } ;
static const FieldPart I034_060_02_RED_RAD = { 3 , 1.0 , FIELD_PART_UINT , & hf_034_060_02_RED_RAD , NULL } ;
static const FieldPart I034_060_02_STC = { 2 , 1.0 , FIELD_PART_UINT , & hf_034_060_02_STC , NULL } ;
static const FieldPart * I034_060_02_PARTS [ ] = { & I034_060_02_POL , & I034_060_02_RED_RAD , & I034_060_02_STC , NULL } ;
static const FieldPart I034_060_03_RED_RAD = { 3 , 1.0 , FIELD_PART_UINT , & hf_034_060_03_RED_RAD , NULL } ;
static const FieldPart * I034_060_03_PARTS [ ] = { & I034_060_03_RED_RAD , NULL } ;
static const FieldPart I034_060_04_RED_RAD = { 3 , 1.0 , FIELD_PART_UINT , & hf_034_060_04_RED_RAD , NULL } ;
static const FieldPart I034_060_04_CLU = { 1 , 1.0 , FIELD_PART_UINT , & hf_034_060_04_CLU , NULL } ;
static const FieldPart * I034_060_04_PARTS [ ] = { & I034_060_04_RED_RAD , & I034_060_04_CLU , NULL } ;
/* Plot Count Values */
static const value_string valstr_034_070_TYP [ ] = {
{ 0 , " No detection (number of misses) " } ,
{ 1 , " Single PSR target reports " } ,
{ 2 , " Single SSR target reports (Non-Mode S) " } ,
{ 3 , " SSR+PSR target reports (Non-Mode S) " } ,
{ 4 , " Single All-Call target reports (Mode S) " } ,
{ 5 , " Single Roll-Call target reports (Mode S) " } ,
{ 6 , " All-Call + PSR (Mode S) target reports " } ,
{ 7 , " Roll-Call + PSR (Mode S) target reports " } ,
{ 8 , " Filter for Weather data " } ,
{ 9 , " Filter for Jamming Strobe " } ,
{ 10 , " Filter for PSR data " } ,
{ 11 , " Filter for SSR/Mode S data " } ,
{ 12 , " Filter for SSR/Mode S+PSR data " } ,
{ 13 , " Filter for Enhanced Surveillance data " } ,
{ 14 , " Filter for PSR+Enhanced Surveillance " } ,
{ 15 , " Filter for PSR+Enhanced Surveillance + SSR/Mode S data not in Area of Prime Interest " } ,
{ 16 , " Filter for PSR+Enhanced Surveillance + all SSR/Mode S data " } ,
{ 0 , NULL }
} ;
static const FieldPart I034_070_TYP = { 5 , 1.0 , FIELD_PART_UINT , & hf_034_070_TYP , NULL } ;
static const FieldPart I034_070_COUNTER = { 11 , 1.0 , FIELD_PART_UINT , & hf_034_070_COUNTER , NULL } ;
static const FieldPart * I034_070_PARTS [ ] = { & I034_070_TYP , & I034_070_COUNTER , NULL } ;
/* Collimation Error */
static const FieldPart I034_090_RE = { 8 , 1.0 / 128.0 , FIELD_PART_FLOAT , & hf_034_090_RE , NULL } ;
static const FieldPart I034_090_AE = { 8 , 360.0 / 16384.0 , FIELD_PART_FLOAT , & hf_034_090_AE , NULL } ;
static const FieldPart * I034_090_PARTS [ ] = { & I034_090_RE , & I034_090_AE , NULL } ;
/* Dynamic Window - Type 1 */
static const FieldPart I034_100_RHOS = { 16 , 1.0 / 256.0 , FIELD_PART_UFLOAT , & hf_035_100_RHOS , NULL } ;
static const FieldPart I034_100_RHOE = { 16 , 1.0 / 256.0 , FIELD_PART_UFLOAT , & hf_035_100_RHOE , NULL } ;
static const FieldPart I034_100_THETAS = { 16 , 360.0 / 65536.0 , FIELD_PART_UFLOAT , & hf_035_100_THETAS , NULL } ;
static const FieldPart I034_100_THETAE = { 16 , 360.0 / 65536.0 , FIELD_PART_UFLOAT , & hf_035_100_THETAE , NULL } ;
static const FieldPart * I034_100_PARTS [ ] = { & I034_100_RHOS , & I034_100_RHOE , & I034_100_THETAS , & I034_100_THETAE , NULL } ;
/* Data Filter */
static const value_string valstr_034_110_TYP [ ] = {
{ 0 , " invalid value " } ,
{ 1 , " Filter for Weather data " } ,
{ 2 , " Filter for Jamming Strobe " } ,
{ 3 , " Filter for PSR data " } ,
{ 4 , " Filter for SSR/Mode S data " } ,
{ 5 , " Filter for SSR/Mode S + PSR data " } ,
{ 6 , " Enhanced Surveillance data " } ,
{ 7 , " Filter for PSR+Enhanced Surveillance data " } ,
{ 8 , " Filter for PSR+Enhanced Surveillance + SSR/Mode S data not in Area of Prime Interest " } ,
{ 9 , " Filter for PSR+Enhanced Surveillance + all SSR/Mode S data " } ,
{ 0 , NULL }
} ;
static const FieldPart I034_110_TYP = { 8 , 1.0 , FIELD_PART_UINT , & hf_034_110_TYP , NULL } ;
static const FieldPart * I034_110_PARTS [ ] = { & I034_110_TYP , NULL } ;
/* 3-D Position of Data Source */
static const FieldPart I034_120_H = { 16 , 1.0 , FIELD_PART_FLOAT , & hf_034_120_H , NULL } ;
static const FieldPart I034_120_LAT = { 24 , 180.0 / 8388608.0 , FIELD_PART_FLOAT , & hf_034_120_LAT , NULL } ;
static const FieldPart I034_120_LON = { 24 , 180.0 / 8388608.0 , FIELD_PART_FLOAT , & hf_034_120_LON , NULL } ;
static const FieldPart * I034_120_PARTS [ ] = { & I034_120_H , & I034_120_LAT , & I034_120_LON , NULL } ;
/* Items */
static const AsterixField I034_000 = { FIXED , 1 , 0 , 0 , & hf_034_000 , I034_000_PARTS , { NULL } } ;
static const AsterixField I034_010 = { FIXED , 2 , 0 , 0 , & hf_034_010 , IXXX_SAC_SIC , { NULL } } ;
static const AsterixField I034_020 = { FIXED , 1 , 0 , 0 , & hf_034_020 , I034_020_PARTS , { NULL } } ;
static const AsterixField I034_030 = { FIXED , 3 , 0 , 0 , & hf_034_030 , IXXX_TOD , { NULL } } ;
static const AsterixField I034_041 = { FIXED , 2 , 0 , 0 , & hf_034_041 , I034_041_PARTS , { NULL } } ;
static const AsterixField I034_050_01 = { FIXED , 1 , 0 , 0 , & hf_034_050_01 , I034_050_01_PARTS , { NULL } } ;
static const AsterixField I034_050_02 = { FIXED , 1 , 0 , 0 , & hf_034_050_02 , I034_050_02_PARTS , { NULL } } ;
static const AsterixField I034_050_03 = { FIXED , 1 , 0 , 0 , & hf_034_050_03 , I034_050_03_PARTS , { NULL } } ;
static const AsterixField I034_050_04 = { FIXED , 2 , 0 , 0 , & hf_034_050_04 , I034_050_04_PARTS , { NULL } } ;
static const AsterixField I034_050 = { COMPOUND , 0 , 0 , 0 , & hf_034_050 , NULL , { & I034_050_01 ,
& IX_SPARE ,
& IX_SPARE ,
& I034_050_02 ,
& I034_050_03 ,
& I034_050_04 ,
NULL } } ;
static const AsterixField I034_060_01 = { FIXED , 1 , 0 , 0 , & hf_034_060_01 , I034_060_01_PARTS , { NULL } } ;
static const AsterixField I034_060_02 = { FIXED , 1 , 0 , 0 , & hf_034_060_02 , I034_060_02_PARTS , { NULL } } ;
static const AsterixField I034_060_03 = { FIXED , 1 , 0 , 0 , & hf_034_060_03 , I034_060_03_PARTS , { NULL } } ;
static const AsterixField I034_060_04 = { FIXED , 1 , 0 , 0 , & hf_034_060_04 , I034_060_04_PARTS , { NULL } } ;
static const AsterixField I034_060 = { COMPOUND , 0 , 0 , 0 , & hf_034_060 , NULL , { & I034_060_01 ,
& IX_SPARE ,
& IX_SPARE ,
& I034_060_02 ,
& I034_060_03 ,
& I034_060_04 ,
NULL } } ;
static const AsterixField I034_070 = { REPETITIVE , 2 , 1 , 0 , & hf_034_070 , I034_070_PARTS , { NULL } } ;
static const AsterixField I034_090 = { FIXED , 2 , 0 , 0 , & hf_034_090 , I034_090_PARTS , { NULL } } ;
static const AsterixField I034_100 = { FIXED , 8 , 0 , 0 , & hf_034_100 , I034_100_PARTS , { NULL } } ;
static const AsterixField I034_110 = { FIXED , 1 , 0 , 0 , & hf_034_110 , I034_110_PARTS , { NULL } } ;
static const AsterixField I034_120 = { FIXED , 8 , 0 , 0 , & hf_034_120 , I034_120_PARTS , { NULL } } ;
static const AsterixField I034_RE = { VAR , 0 , 0 , 1 , & hf_034_RE , NULL , { NULL } } ;
static const AsterixField I034_SP = { VAR , 0 , 0 , 1 , & hf_034_SP , NULL , { NULL } } ;
static const AsterixField * I034 [ ] = { & I034_010 , & I034_000 , & I034_030 , & I034_020 , & I034_041 , & I034_050 , & I034_060 ,
& I034_070 , & I034_100 , & I034_110 , & I034_120 , & I034_090 , & I034_RE , & I034_SP , NULL } ;
/* *********************** */
/* Category 048 */
/* *********************** */
/* Fields */
/* Target report descriptor */
static const value_string valstr_048_020_TYP [ ] = {
{ 0 , " No detection " } ,
{ 1 , " Single PSR detection " } ,
{ 2 , " Single SSR detection " } ,
{ 3 , " SSR + PSR detection " } ,
{ 4 , " Single ModeS All-Call " } ,
{ 5 , " Single ModeS Roll-Call " } ,
{ 6 , " ModeS All-Call + PSR " } ,
{ 7 , " ModeS Roll-Call + PSR " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_020_SIM [ ] = {
{ 0 , " Actual target report " } ,
{ 1 , " Simulated target report " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_020_RDP [ ] = {
{ 0 , " Report from RDP Chain 1 " } ,
{ 1 , " Report from RDP Chain 2 " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_020_SPI [ ] = {
{ 0 , " Absence of SPI " } ,
{ 1 , " Special Position Identification " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_020_RAB [ ] = {
{ 0 , " Report from aircraft transponder " } ,
{ 1 , " Report from field monitor (fixed transponder) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_020_TST [ ] = {
{ 0 , " Real target report " } ,
{ 1 , " Test target report " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_020_ME [ ] = {
{ 0 , " No military emergency " } ,
{ 1 , " Military emergency " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_020_MI [ ] = {
{ 0 , " No military identification " } ,
{ 1 , " Military identification " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_020_FOE [ ] = {
{ 0 , " No Mode 4 interrogation " } ,
{ 1 , " Friendly target " } ,
{ 2 , " Unknown target " } ,
{ 3 , " No reply " } ,
{ 0 , NULL }
} ;
static const FieldPart I048_020_TYP = { 3 , 1.0 , FIELD_PART_UINT , & hf_048_020_TYP , NULL } ;
static const FieldPart I048_020_SIM = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_020_SIM , NULL } ;
static const FieldPart I048_020_RDP = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_020_RDP , NULL } ;
static const FieldPart I048_020_SPI = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_020_SPI , NULL } ;
static const FieldPart I048_020_RAB = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_020_RAB , NULL } ;
static const FieldPart I048_020_TST = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_020_TST , NULL } ;
static const FieldPart I048_020_ME = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_020_ME , NULL } ;
static const FieldPart I048_020_MI = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_020_MI , NULL } ;
static const FieldPart I048_020_FOE = { 2 , 1.0 , FIELD_PART_UINT , & hf_048_020_FOE , NULL } ;
static const FieldPart * I048_020_PARTS [ ] = { & I048_020_TYP , & I048_020_SIM , & I048_020_RDP , & I048_020_SPI , & I048_020_RAB , & IXXX_FX ,
& I048_020_TST , & IXXX_2bit_spare , & I048_020_ME , & I048_020_MI , & I048_020_FOE , & IXXX_FX , NULL } ;
/* Warning/Error Conditions */
static const value_string valstr_048_030_WE [ ] = {
{ 0 , " Not defined; never used. " } ,
{ 1 , " Multipath Reply (Reflection) " } ,
{ 2 , " Reply due to sidelobe interrogation/reception " } ,
{ 3 , " Split plot " } ,
{ 4 , " Second time around reply " } ,
{ 5 , " Angel " } ,
{ 6 , " Slow moving target correlated with road infrastructure (terrestrial vehicle) " } ,
{ 7 , " Fixed PSR plot " } ,
{ 8 , " Slow PSR target " } ,
{ 9 , " Low quality PSR plot " } ,
{ 10 , " Phantom SSR plot " } ,
{ 11 , " Non-Matching Mode-3/A Code " } ,
{ 12 , " Mode C code / Mode S altitude code abnormal value compared to the track " } ,
{ 13 , " Target in Clutter Area " } ,
{ 14 , " Maximum Doppler Response in Zero Filter " } ,
{ 15 , " Transponder anomaly detected " } ,
{ 16 , " Duplicated or Illegal Mode S Aircraft Address " } ,
{ 17 , " Mode S error correction applied " } ,
{ 18 , " Undecodable Mode C code / Mode S altitude code " } ,
{ 19 , " Birds " } ,
{ 20 , " Flock of Birds " } ,
{ 0 , NULL }
} ;
static const FieldPart I048_030_WE = { 7 , 1.0 , FIELD_PART_UINT , & hf_048_030_WE , NULL } ;
static const FieldPart * I048_030_PARTS [ ] = { & I048_030_WE , & IXXX_FX , NULL } ;
/* Measured Position in Polar Co-ordinates */
static const FieldPart I048_040_RHO = { 16 , 1.0 / 256.0 , FIELD_PART_UFLOAT , & hf_048_040_RHO , NULL } ;
static const FieldPart I048_040_THETA = { 16 , 360.0 / 65536.0 , FIELD_PART_UFLOAT , & hf_048_040_THETA , NULL } ;
static const FieldPart * I048_040_PARTS [ ] = { & I048_040_RHO , & I048_040_THETA , NULL } ;
/* Cartesian position */
static const FieldPart I048_042_X = { 16 , 1.0 / 128.0 , FIELD_PART_FLOAT , & hf_048_042_X , NULL } ;
static const FieldPart I048_042_Y = { 16 , 1.0 / 128.0 , FIELD_PART_FLOAT , & hf_048_042_Y , NULL } ;
static const FieldPart * I048_042_PARTS [ ] = { & I048_042_X , & I048_042_Y , NULL } ;
/* Mode-2 Code */
static const value_string valstr_048_050_V [ ] = {
{ 0 , " Code validated " } ,
{ 1 , " Code not validated " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_050_G [ ] = {
{ 0 , " Default " } ,
{ 1 , " Garbled code " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_050_L [ ] = {
{ 0 , " Mode-2 code as derived from the reply of the transponder " } ,
{ 1 , " Smoothed Mode-2 code as provided by a local tracker " } ,
{ 0 , NULL }
} ;
static const FieldPart I048_050_V = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_050_V , NULL } ;
static const FieldPart I048_050_G = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_050_G , NULL } ;
static const FieldPart I048_050_L = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_050_L , NULL } ;
static const FieldPart I048_050_SQUAWK = { 12 , 1.0 , FIELD_PART_SQUAWK , & hf_048_050_SQUAWK , NULL } ;
static const FieldPart * I048_050_PARTS [ ] = { & I048_050_V , & I048_050_G , & I048_050_L , & IXXX_1bit_spare , & I048_050_SQUAWK , NULL } ;
/* Mode-1 Code */
static const value_string valstr_048_055_V [ ] = {
{ 0 , " Code validated " } ,
{ 1 , " Code not validated " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_055_G [ ] = {
{ 0 , " Default " } ,
{ 1 , " Garbled code " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_055_L [ ] = {
{ 0 , " Mode-1 code as derived from the reply of the transponder " } ,
{ 1 , " Smoothed Mode-1 code as provided by a local tracker " } ,
{ 0 , NULL }
} ;
static const FieldPart I048_055_V = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_055_V , NULL } ;
static const FieldPart I048_055_G = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_055_G , NULL } ;
static const FieldPart I048_055_L = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_055_L , NULL } ;
static const FieldPart I048_055_CODE = { 5 , 1.0 , FIELD_PART_SQUAWK , & hf_048_055_CODE , NULL } ;
static const FieldPart * I048_055_PARTS [ ] = { & I048_055_V , & I048_055_G , & I048_055_L , & I048_055_CODE , NULL } ;
/* Mode-3/A Code */
static const value_string valstr_048_070_V [ ] = {
{ 0 , " Code validated " } ,
{ 1 , " Code not validated " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_070_G [ ] = {
{ 0 , " Default " } ,
{ 1 , " Garbled code " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_070_L [ ] = {
{ 0 , " Mode-3/A code derived from the reply of the transponder " } ,
{ 1 , " Mode-3/A code not extracted during the last scan " } ,
{ 0 , NULL }
} ;
static const FieldPart I048_070_V = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_070_V , NULL } ;
static const FieldPart I048_070_G = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_070_G , NULL } ;
static const FieldPart I048_070_L = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_070_L , NULL } ;
static const FieldPart I048_070_SQUAWK = { 12 , 1.0 , FIELD_PART_SQUAWK , & hf_048_070_SQUAWK , NULL } ;
static const FieldPart * I048_070_PARTS [ ] = { & I048_070_V , & I048_070_G , & I048_070_L , & IXXX_1bit_spare , & I048_070_SQUAWK , NULL } ;
/* Flight level */
static const value_string valstr_048_090_V [ ] = {
{ 0 , " Code validated " } ,
{ 1 , " Code not validated " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_090_G [ ] = {
{ 0 , " Default " } ,
{ 1 , " Garbled code " } ,
{ 0 , NULL }
} ;
static const FieldPart I048_090_V = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_090_V , NULL } ;
static const FieldPart I048_090_G = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_090_G , NULL } ;
static const FieldPart I048_090_FL = { 14 , 1.0 / 4.0 , FIELD_PART_FLOAT , & hf_048_090_FL , NULL } ;
static const FieldPart * I048_090_PARTS [ ] = { & I048_090_V , & I048_090_G , & I048_090_FL , NULL } ;
/* Radial Doppler Speed */
static const value_string valstr_048_120_01_D [ ] = {
{ 0 , " Doppler speed is valid " } ,
{ 1 , " Doppler speed is doubtful " } ,
{ 0 , NULL }
} ;
static const FieldPart I048_120_01_D = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_120_01_D , NULL } ;
static const FieldPart I048_120_01_CAL = { 10 , 1.0 , FIELD_PART_FLOAT , & hf_048_120_01_CAL , NULL } ;
static const FieldPart * I048_120_01_PARTS [ ] = { & I048_120_01_D , & IXXX_5bit_spare , & I048_120_01_CAL , NULL } ;
static const FieldPart I048_120_02_DOP = { 16 , 1.0 , FIELD_PART_UINT , & hf_048_120_02_DOP , NULL } ;
static const FieldPart I048_120_02_AMB = { 16 , 1.0 , FIELD_PART_UINT , & hf_048_120_02_AMB , NULL } ;
static const FieldPart I048_120_02_FRQ = { 16 , 1.0 , FIELD_PART_UINT , & hf_048_120_02_FRQ , NULL } ;
static const FieldPart * I048_120_02_PARTS [ ] = { & I048_120_02_DOP , & I048_120_02_AMB , & I048_120_02_FRQ , NULL } ;
/* Radar Plot Characteristics */
static const FieldPart I048_130_SRL_VAL = { 8 , 360.0 / 8192.0 , FIELD_PART_UFLOAT , NULL /*&hf_048_130_01*/ , NULL } ;
static const FieldPart * I048_130_SRL [ ] = { & I048_130_SRL_VAL , NULL } ;
static const FieldPart I048_130_SRR_VAL = { 8 , 1.0 , FIELD_PART_UINT , NULL /*&hf_048_130_02*/ , NULL } ;
static const FieldPart * I048_130_SRR [ ] = { & I048_130_SRR_VAL , NULL } ;
static const FieldPart I048_130_SAM_VAL = { 8 , 1.0 , FIELD_PART_INT , NULL /*&hf_048_130_03*/ , NULL } ;
static const FieldPart * I048_130_SAM [ ] = { & I048_130_SAM_VAL , NULL } ;
static const FieldPart I048_130_PRL_VAL = { 8 , 360.0 / 8192.0 , FIELD_PART_UFLOAT , NULL /*&hf_048_130_04*/ , NULL } ;
static const FieldPart * I048_130_PRL [ ] = { & I048_130_PRL_VAL , NULL } ;
static const FieldPart I048_130_PAM_VAL = { 8 , 1.0 , FIELD_PART_INT , NULL /*&hf_048_130_05*/ , NULL } ;
static const FieldPart * I048_130_PAM [ ] = { & I048_130_PAM_VAL , NULL } ;
static const FieldPart I048_130_RPD_VAL = { 8 , 1.0 / 256.0 , FIELD_PART_FLOAT , NULL /*&hf_048_130_06*/ , NULL } ;
static const FieldPart * I048_130_RPD [ ] = { & I048_130_RPD_VAL , NULL } ;
static const FieldPart I048_130_APD_VAL = { 8 , 360.0 / 16384.0 , FIELD_PART_FLOAT , NULL /*&hf_048_130_07*/ , NULL } ;
static const FieldPart * I048_130_APD [ ] = { & I048_130_APD_VAL , NULL } ;
/* Track number */
static const FieldPart I048_161_TN = { 12 , 1.0 , FIELD_PART_UINT , & hf_048_161_TN , NULL } ;
static const FieldPart * I048_161_PARTS [ ] = { & IXXX_4bit_spare , & I048_161_TN , NULL } ;
/* Track Status */
static const value_string valstr_048_170_CNF [ ] = {
{ 0 , " Confirmed Track " } ,
{ 1 , " Tentative Track " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_170_RAD [ ] = {
{ 0 , " Combined Track " } ,
{ 1 , " PSR Track " } ,
{ 2 , " SSR/Mode S Track " } ,
{ 3 , " Invalid " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_170_DOU [ ] = {
{ 0 , " Normal confidence " } ,
{ 1 , " Low confidence in plot to track association. " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_170_MAH [ ] = {
{ 0 , " No horizontal man.sensed " } ,
{ 1 , " Horizontal man. sensed " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_170_CDM [ ] = {
{ 0 , " Maintaining " } ,
{ 1 , " Climbing " } ,
{ 2 , " Descending " } ,
{ 3 , " Invalid " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_170_TRE [ ] = {
{ 0 , " Track still alive " } ,
{ 1 , " End of track lifetime(last report for this track) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_170_GHO [ ] = {
{ 0 , " True target track. " } ,
{ 1 , " Ghost target track. " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_170_SUP [ ] = {
{ 0 , " no " } ,
{ 1 , " yes " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_170_TCC [ ] = {
{ 0 , " Tracking performed in socalled 'Radar Plane', i.e. neither slant range correction nor stereographical projection was applied. " } ,
{ 1 , " Slant range correction and a suitable projection technique are used to track in a 2D.reference plane, tangential to the earth model at the Radar Site co-ordinates. " } ,
{ 0 , NULL }
} ;
static const FieldPart I048_170_CNF = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_170_CNF , NULL } ;
static const FieldPart I048_170_RAD = { 2 , 1.0 , FIELD_PART_UINT , & hf_048_170_RAD , NULL } ;
static const FieldPart I048_170_DOU = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_170_DOU , NULL } ;
static const FieldPart I048_170_MAH = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_170_MAH , NULL } ;
static const FieldPart I048_170_CDM = { 2 , 1.0 , FIELD_PART_UINT , & hf_048_170_CDM , NULL } ;
static const FieldPart I048_170_TRE = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_170_TRE , NULL } ;
static const FieldPart I048_170_GHO = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_170_GHO , NULL } ;
static const FieldPart I048_170_SUP = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_170_SUP , NULL } ;
static const FieldPart I048_170_TCC = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_170_TCC , NULL } ;
static const FieldPart * I048_170_PARTS [ ] = { & I048_170_CNF , & I048_170_RAD , & I048_170_DOU , & I048_170_MAH , & I048_170_CDM , & IXXX_FX ,
& I048_170_TRE , & I048_170_GHO , & I048_170_SUP , & I048_170_TCC , & IXXX_3bit_spare , & IXXX_FX , NULL } ;
/* Calculated Track Velocity in Polar Co-ordinates */
static const FieldPart I048_200_GS = { 16 , 1.0 / 16384.0 , FIELD_PART_UFLOAT , & hf_048_200_GS , NULL } ;
static const FieldPart I048_200_HDG = { 16 , 360.0 / 65536.0 , FIELD_PART_UFLOAT , & hf_048_200_HDG , NULL } ;
static const FieldPart * I048_200_PARTS [ ] = { & I048_200_GS , & I048_200_HDG , NULL } ;
/* Track Quality */
static const FieldPart I048_210_X = { 8 , 1.0 / 128.0 , FIELD_PART_UFLOAT , & hf_048_210_X , NULL } ;
static const FieldPart I048_210_Y = { 8 , 1.0 / 128.0 , FIELD_PART_UFLOAT , & hf_048_210_Y , NULL } ;
static const FieldPart I048_210_V = { 8 , 1.0 / 16384.0 , FIELD_PART_UFLOAT , & hf_048_210_V , NULL } ;
static const FieldPart I048_210_H = { 8 , 360.0 / 4096.0 , FIELD_PART_UFLOAT , & hf_048_210_H , NULL } ;
static const FieldPart * I048_210_PARTS [ ] = { & I048_210_X , & I048_210_Y , & I048_210_V , & I048_210_H , NULL } ;
/* Communications/ACAS Capability and Flight Status */
static const value_string valstr_048_230_COM [ ] = {
{ 0 , " No communications capability (surveillance only) " } ,
{ 1 , " Comm. A and Comm. B capability " } ,
{ 2 , " Comm. A, Comm. B and Uplink ELM " } ,
{ 3 , " Comm. A, Comm. B, Uplink ELM and Downlink ELM " } ,
{ 4 , " Level 5 Transponder capability " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_230_STAT [ ] = {
{ 0 , " No alert, no SPI, aircraft airborne " } ,
{ 1 , " No alert, no SPI, aircraft on ground " } ,
{ 2 , " Alert, no SPI, aircraft airborne " } ,
{ 3 , " Alert, no SPI, aircraft on ground " } ,
{ 4 , " Alert, SPI, aircraft airborne or on ground " } ,
{ 5 , " No alert, SPI, aircraft airborne or on ground " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_230_SI [ ] = {
{ 0 , " SI-Code Capable " } ,
{ 1 , " II-Code Capable " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_230_MSSC [ ] = {
{ 0 , " No " } ,
{ 1 , " Yes " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_230_ARC [ ] = {
{ 0 , " 100 ft resolution " } ,
{ 1 , " 25 ft resolution " } ,
{ 0 , NULL }
} ;
static const value_string valstr_048_230_AIC [ ] = {
{ 0 , " No " } ,
{ 1 , " Yes " } ,
{ 0 , NULL }
} ;
static const FieldPart I048_230_COM = { 3 , 1.0 , FIELD_PART_UINT , & hf_048_230_COM , NULL } ;
static const FieldPart I048_230_STAT = { 3 , 1.0 , FIELD_PART_UINT , & hf_048_230_STAT , NULL } ;
static const FieldPart I048_230_SI = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_230_SI , NULL } ;
static const FieldPart I048_230_MSSC = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_230_MSSC , NULL } ;
static const FieldPart I048_230_ARC = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_230_ARC , NULL } ;
static const FieldPart I048_230_AIC = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_230_AIC , NULL } ;
static const FieldPart I048_230_B1A = { 1 , 1.0 , FIELD_PART_UINT , & hf_048_230_B1A , NULL } ;
static const FieldPart I048_230_B1B = { 4 , 1.0 , FIELD_PART_UINT , & hf_048_230_B1B , NULL } ;
static const FieldPart * I048_230_PARTS [ ] = { & I048_230_COM , & I048_230_STAT , & I048_230_SI , & IXXX_1bit_spare ,
& I048_230_MSSC , & I048_230_ARC , & I048_230_AIC , & I048_230_B1A , & I048_230_B1B , NULL } ;
/* Items */
static const AsterixField I048_010 = { FIXED , 2 , 0 , 0 , & hf_048_010 , IXXX_SAC_SIC , { NULL } } ;
static const AsterixField I048_020 = { FX , 1 , 0 , 0 , & hf_048_020 , I048_020_PARTS , { NULL } } ;
static const AsterixField I048_030 = { FX , 1 , 0 , 0 , & hf_048_030 , I048_030_PARTS , { NULL } } ;
static const AsterixField I048_040 = { FIXED , 4 , 0 , 0 , & hf_048_040 , I048_040_PARTS , { NULL } } ;
static const AsterixField I048_042 = { FIXED , 4 , 0 , 0 , & hf_048_042 , I048_042_PARTS , { NULL } } ;
static const AsterixField I048_050 = { FIXED , 2 , 0 , 0 , & hf_048_050 , I048_050_PARTS , { NULL } } ;
static const AsterixField I048_055 = { FIXED , 1 , 0 , 0 , & hf_048_055 , I048_055_PARTS , { NULL } } ;
static const AsterixField I048_060 = { FIXED , 2 , 0 , 0 , & hf_048_060 , NULL , { NULL } } ;
static const AsterixField I048_065 = { FIXED , 1 , 0 , 0 , & hf_048_065 , NULL , { NULL } } ;
static const AsterixField I048_070 = { FIXED , 2 , 0 , 0 , & hf_048_070 , I048_070_PARTS , { NULL } } ;
static const AsterixField I048_080 = { FIXED , 2 , 0 , 0 , & hf_048_080 , NULL , { NULL } } ;
static const AsterixField I048_090 = { FIXED , 2 , 0 , 0 , & hf_048_090 , I048_090_PARTS , { NULL } } ;
static const AsterixField I048_100 = { FIXED , 4 , 0 , 0 , & hf_048_100 , NULL , { NULL } } ;
static const AsterixField I048_110 = { FIXED , 2 , 0 , 0 , & hf_048_110 , NULL , { NULL } } ;
static const AsterixField I048_120_01 = { FIXED , 2 , 0 , 0 , & hf_048_120_01 , I048_120_01_PARTS , { NULL } } ;
static const AsterixField I048_120_02 = { REPETITIVE , 6 , 1 , 0 , & hf_048_120_02 , I048_120_02_PARTS , { NULL } } ;
static const AsterixField I048_120 = { COMPOUND , 0 , 0 , 0 , & hf_048_120 , NULL , { & I048_120_01 ,
& I048_120_02 ,
NULL } } ;
static const AsterixField I048_130_01 = { FIXED , 1 , 0 , 0 , & hf_048_130_01 , I048_130_SRL , { NULL } } ;
static const AsterixField I048_130_02 = { FIXED , 1 , 0 , 0 , & hf_048_130_02 , I048_130_SRR , { NULL } } ;
static const AsterixField I048_130_03 = { FIXED , 1 , 0 , 0 , & hf_048_130_03 , I048_130_SAM , { NULL } } ;
static const AsterixField I048_130_04 = { FIXED , 1 , 0 , 0 , & hf_048_130_04 , I048_130_PRL , { NULL } } ;
static const AsterixField I048_130_05 = { FIXED , 1 , 0 , 0 , & hf_048_130_05 , I048_130_PAM , { NULL } } ;
static const AsterixField I048_130_06 = { FIXED , 1 , 0 , 0 , & hf_048_130_06 , I048_130_RPD , { NULL } } ;
static const AsterixField I048_130_07 = { FIXED , 1 , 0 , 0 , & hf_048_130_07 , I048_130_APD , { NULL } } ;
static const AsterixField I048_130 = { COMPOUND , 0 , 0 , 0 , & hf_048_130 , NULL , { & I048_130_01 ,
& I048_130_02 ,
& I048_130_03 ,
& I048_130_04 ,
& I048_130_05 ,
& I048_130_06 ,
& I048_130_07 ,
NULL } } ;
static const AsterixField I048_140 = { FIXED , 3 , 0 , 0 , & hf_048_140 , IXXX_TOD , { NULL } } ;
static const AsterixField I048_161 = { FIXED , 2 , 0 , 0 , & hf_048_161 , I048_161_PARTS , { NULL } } ;
static const AsterixField I048_170 = { FX , 1 , 0 , 0 , & hf_048_170 , I048_170_PARTS , { NULL } } ;
static const AsterixField I048_200 = { FIXED , 4 , 0 , 0 , & hf_048_200 , I048_200_PARTS , { NULL } } ;
static const AsterixField I048_210 = { FIXED , 4 , 0 , 0 , & hf_048_210 , I048_210_PARTS , { NULL } } ;
static const AsterixField I048_220 = { FIXED , 3 , 0 , 0 , & hf_048_220 , IXXX_AA_PARTS , { NULL } } ;
static const AsterixField I048_230 = { FIXED , 2 , 0 , 0 , & hf_048_230 , I048_230_PARTS , { NULL } } ;
static const AsterixField I048_240 = { FIXED , 6 , 0 , 0 , & hf_048_240 , IXXX_AI_PARTS , { NULL } } ;
static const AsterixField I048_250 = { REPETITIVE , 8 , 1 , 0 , & hf_048_250 , IXXX_MB , { NULL } } ;
static const AsterixField I048_260 = { FIXED , 7 , 0 , 0 , & hf_048_260 , NULL , { NULL } } ;
static const AsterixField I048_RE = { VAR , 0 , 0 , 1 , & hf_048_RE , NULL , { NULL } } ;
static const AsterixField I048_SP = { VAR , 0 , 0 , 1 , & hf_048_SP , NULL , { NULL } } ;
static const AsterixField * I048 [ ] = { & I048_010 , & I048_140 , & I048_020 , & I048_040 , & I048_070 , & I048_090 , & I048_130 ,
& I048_220 , & I048_240 , & I048_250 , & I048_161 , & I048_042 , & I048_200 , & I048_170 ,
& I048_210 , & I048_030 , & I048_080 , & I048_100 , & I048_110 , & I048_120 , & I048_230 ,
& I048_260 , & I048_055 , & I048_050 , & I048_065 , & I048_060 , & I048_RE , & I048_SP , NULL } ;
/* *********************** */
/* Category 062 */
/* *********************** */
/* Fields */
/* Service Identification */
static const FieldPart I062_015_SI = { 8 , 1.0 , FIELD_PART_UINT , & hf_062_015_SI , NULL } ;
static const FieldPart * I062_015_PARTS [ ] = { & I062_015_SI , NULL } ;
/* Track Mode 3/A Code */
static const value_string valstr_062_060_CH [ ] = {
{ 0 , " No Change " } ,
{ 1 , " Mode 3/A has changed " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_060_CH = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_060_CH , NULL } ;
static const FieldPart I062_060_SQUAWK = { 12 , 1.0 , FIELD_PART_SQUAWK , & hf_062_060_SQUAWK , NULL } ;
static const FieldPart * I062_060_PARTS [ ] = { & IXXX_2bit_spare , & I062_060_CH , & IXXX_1bit_spare , & I062_060_SQUAWK , NULL } ;
/* Track Status */
static const value_string valstr_062_080_MON [ ] = {
{ 0 , " Multisensor " } ,
{ 1 , " Monosensor track track " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_SPI [ ] = {
{ 0 , " default value " } ,
{ 1 , " SPI present in the last report received from a sensor capable of decoding this data " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_MRH [ ] = {
{ 0 , " Barometric altitude (Mode C) more reliable " } ,
{ 1 , " Geometric altitude more reliable " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_SRC [ ] = {
{ 0 , " no source " } ,
{ 1 , " GNSS " } ,
{ 2 , " 3D radar " } ,
{ 3 , " triangulation " } ,
{ 4 , " height from coverage " } ,
{ 5 , " speed look-up table " } ,
{ 6 , " default height " } ,
{ 7 , " multilateration " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_CNF [ ] = {
{ 0 , " Confirmed track " } ,
{ 1 , " Tentative track " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_SIM [ ] = {
{ 0 , " Actual track " } ,
{ 1 , " Simulated track " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_TSE [ ] = {
{ 0 , " default value " } ,
{ 1 , " last message transmitted to the user for the track " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_TSB [ ] = {
{ 0 , " default value " } ,
{ 1 , " first message transmitted to the user for the track " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_FPC [ ] = {
{ 0 , " Not flight-plan correlated " } ,
{ 1 , " Flight plan correlated " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_AFF [ ] = {
{ 0 , " default value " } ,
{ 1 , " ADS-B data inconsistent with other surveillance information " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_STP [ ] = {
{ 0 , " default value " } ,
{ 1 , " Slave Track Promotion " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_KOS [ ] = {
{ 0 , " Complementary service used " } ,
{ 1 , " Background service used " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_AMA [ ] = {
{ 0 , " track not resulting from amalgamation process " } ,
{ 1 , " track resulting from amalgamation process " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_MD4 [ ] = {
{ 0 , " No Mode 4 interrogation " } ,
{ 1 , " Friendly target " } ,
{ 2 , " Unknown target " } ,
{ 3 , " No reply " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_ME [ ] = {
{ 0 , " default value " } ,
{ 1 , " Military Emergency present in the last report received from a sensor capable of decoding this data " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_MI [ ] = {
{ 0 , " default value " } ,
{ 1 , " Military Identification present in the last report received from a sensor capable of decoding this data " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_MD5 [ ] = {
{ 0 , " No Mode 5 interrogation " } ,
{ 1 , " Friendly target " } ,
{ 2 , " Unknown target " } ,
{ 3 , " No reply " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_CST [ ] = {
{ 0 , " Default value " } ,
{ 1 , " Age of the last received track update is higher than system dependent threshold (coasting) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_PSR [ ] = {
{ 0 , " Default value " } ,
{ 1 , " Age of the last received PSR track update is higher than system dependent threshold " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_SSR [ ] = {
{ 0 , " Default value " } ,
{ 1 , " Age of the last received SSR track update is higher than system dependent threshold " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_MDS [ ] = {
{ 0 , " Default value " } ,
{ 1 , " Age of the last received Mode S track update is higher than system dependent threshold " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_ADS [ ] = {
{ 0 , " Default value " } ,
{ 1 , " Age of the last received ADS-B track update is higher than system dependent threshold " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_SUC [ ] = {
{ 0 , " Default value " } ,
{ 1 , " Special Used Code (Mode A codes to be defined in the system to mark a track with special interest) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_AAC [ ] = {
{ 0 , " Default value " } ,
{ 1 , " Assigned Mode A Code Conflict (same discrete Mode A Code assigned to another track) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_SDS [ ] = {
{ 0 , " Combined " } ,
{ 1 , " Co-operative only " } ,
{ 2 , " Non-Cooperative only " } ,
{ 3 , " Not defined " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_EMS [ ] = {
{ 0 , " No emergency " } ,
{ 1 , " General emergency " } ,
{ 2 , " Lifeguard / medical " } ,
{ 3 , " Minimum fuel " } ,
{ 4 , " No communications " } ,
{ 5 , " Unlawful interference " } ,
{ 6 , " \" Downed \" Aircraft " } ,
{ 7 , " Undefined " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_PFT [ ] = {
{ 0 , " No indication " } ,
{ 1 , " Potential False Track Indication " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_FPLT [ ] = {
{ 0 , " Default value " } ,
{ 1 , " Track created / updated with FPL data " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_DUPT [ ] = {
{ 0 , " Default value " } ,
{ 1 , " Duplicate Mode 3/A Code " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_DUPF [ ] = {
{ 0 , " Default value " } ,
{ 1 , " Duplicate Flight Plan " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_080_DUPM [ ] = {
{ 0 , " Default value " } ,
{ 1 , " Duplicate Flight Plan due to manual correlation " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_080_MON = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_MON , NULL } ;
static const FieldPart I062_080_SPI = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_SPI , NULL } ;
static const FieldPart I062_080_MRH = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_MRH , NULL } ;
static const FieldPart I062_080_SRC = { 3 , 1.0 , FIELD_PART_UINT , & hf_062_080_SRC , NULL } ;
static const FieldPart I062_080_CNF = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_CNF , NULL } ;
static const FieldPart I062_080_SIM = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_SIM , NULL } ;
static const FieldPart I062_080_TSE = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_TSE , NULL } ;
static const FieldPart I062_080_TSB = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_TSB , NULL } ;
static const FieldPart I062_080_FPC = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_FPC , NULL } ;
static const FieldPart I062_080_AFF = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_AFF , NULL } ;
static const FieldPart I062_080_STP = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_STP , NULL } ;
static const FieldPart I062_080_KOS = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_KOS , NULL } ;
static const FieldPart I062_080_AMA = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_AMA , NULL } ;
static const FieldPart I062_080_MD4 = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_080_MD4 , NULL } ;
static const FieldPart I062_080_ME = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_ME , NULL } ;
static const FieldPart I062_080_MI = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_MI , NULL } ;
static const FieldPart I062_080_MD5 = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_080_MD5 , NULL } ;
static const FieldPart I062_080_CST = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_CST , NULL } ;
static const FieldPart I062_080_PSR = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_PSR , NULL } ;
static const FieldPart I062_080_SSR = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_SSR , NULL } ;
static const FieldPart I062_080_MDS = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_MDS , NULL } ;
static const FieldPart I062_080_ADS = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_ADS , NULL } ;
static const FieldPart I062_080_SUC = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_SUC , NULL } ;
static const FieldPart I062_080_AAC = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_AAC , NULL } ;
static const FieldPart I062_080_SDS = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_080_SDS , NULL } ;
static const FieldPart I062_080_EMS = { 3 , 1.0 , FIELD_PART_UINT , & hf_062_080_EMS , NULL } ;
static const FieldPart I062_080_PFT = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_PFT , NULL } ;
static const FieldPart I062_080_FPLT = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_080_FPLT , NULL } ;
static const FieldPart I062_080_DUPT = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_DUPT , NULL } ;
static const FieldPart I062_080_DUPF = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_DUPF , NULL } ;
static const FieldPart I062_080_DUPM = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_080_DUPM , NULL } ;
static const FieldPart * I062_080_PARTS [ ] = { & I062_080_MON , & I062_080_SPI , & I062_080_MRH , & I062_080_SRC , & I062_080_CNF , & IXXX_FX ,
& I062_080_SIM , & I062_080_TSE , & I062_080_TSB , & I062_080_FPC , & I062_080_AFF , & I062_080_STP , & I062_080_KOS , & IXXX_FX ,
& I062_080_AMA , & I062_080_MD4 , & I062_080_ME , & I062_080_MI , & I062_080_MD5 , & IXXX_FX ,
& I062_080_CST , & I062_080_PSR , & I062_080_SSR , & I062_080_MDS , & I062_080_ADS , & I062_080_SUC , & I062_080_AAC , & IXXX_FX ,
& I062_080_SDS , & I062_080_EMS , & I062_080_PFT , & I062_080_FPLT , & IXXX_FX ,
& I062_080_DUPT , & I062_080_DUPF , & I062_080_DUPM , & IXXX_4bit_spare , & IXXX_FX , NULL } ;
/* Calculated Track Position. (Cartesian) */
static const FieldPart I062_100_X = { 24 , 0.5 , FIELD_PART_FLOAT , & hf_062_100_X , NULL } ;
static const FieldPart I062_100_Y = { 24 , 0.5 , FIELD_PART_FLOAT , & hf_062_100_Y , NULL } ;
static const FieldPart * I062_100_PARTS [ ] = { & I062_100_X , & I062_100_Y , NULL } ;
/* Calculated Position in WGS-84 Co-ordinates */
static const FieldPart I062_105_LAT = { 32 , 180.0 / 33554432.0 , FIELD_PART_FLOAT , & hf_062_105_LAT , NULL } ;
static const FieldPart I062_105_LON = { 32 , 180.0 / 33554432.0 , FIELD_PART_FLOAT , & hf_062_105_LON , NULL } ;
static const FieldPart * I062_105_PARTS [ ] = { & I062_105_LAT , & I062_105_LON , NULL } ;
/* Mode 5 Data reports & Extended Mode 1 Code */
static const value_string valstr_062_110_01_M5 [ ] = {
{ 0 , " No Mode 5 interrogation " } ,
{ 1 , " Mode 5 interrogation " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_110_01_ID [ ] = {
{ 0 , " No authenticated Mode 5 ID reply " } ,
{ 1 , " Authenticated Mode 5 ID reply " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_110_01_DA [ ] = {
{ 0 , " No authenticated Mode 5 Data reply or Report " } ,
{ 1 , " Authenticated Mode 5 Data reply or Report (ie any valid Mode 5 reply type other than ID) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_110_01_M1 [ ] = {
{ 0 , " Mode 1 code not present or not from Mode 5 reply " } ,
{ 1 , " Mode 1 code from Mode 5 reply " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_110_01_M2 [ ] = {
{ 0 , " Mode 2 code not present or not from Mode 5 reply " } ,
{ 1 , " Mode 2 code from Mode 5 reply " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_110_01_M3 [ ] = {
{ 0 , " Mode 3 code not present or not from Mode 5 reply " } ,
{ 1 , " Mode 3 code from Mode 5 reply " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_110_01_MC [ ] = {
{ 0 , " Mode C altitude not present or not from Mode 5 reply " } ,
{ 1 , " Mode C altitude from Mode 5 reply " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_110_01_X [ ] = {
{ 0 , " X-pulse set to zero or no authenticated Data reply or Report received " } ,
{ 1 , " X-pulse set to one " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_110_01_M5 = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_01_M5 , NULL } ;
static const FieldPart I062_110_01_ID = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_01_ID , NULL } ;
static const FieldPart I062_110_01_DA = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_01_DA , NULL } ;
static const FieldPart I062_110_01_M1 = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_01_M1 , NULL } ;
static const FieldPart I062_110_01_M2 = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_01_M2 , NULL } ;
static const FieldPart I062_110_01_M3 = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_01_M3 , NULL } ;
static const FieldPart I062_110_01_MC = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_01_MC , NULL } ;
static const FieldPart I062_110_01_X = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_01_X , NULL } ;
static const FieldPart * I062_110_01_PARTS [ ] = { & I062_110_01_M5 , & I062_110_01_ID , & I062_110_01_DA , & I062_110_01_M1 , & I062_110_01_M2 , & I062_110_01_M3 , & I062_110_01_MC , & I062_110_01_X , NULL } ;
static const FieldPart I062_110_02_PIN = { 14 , 1.0 , FIELD_PART_UINT , & hf_062_110_02_PIN , NULL } ;
static const FieldPart I062_110_02_NAT = { 5 , 1.0 , FIELD_PART_UINT , & hf_062_110_02_NAT , NULL } ;
static const FieldPart I062_110_02_MIS = { 6 , 1.0 , FIELD_PART_UINT , & hf_062_110_02_MIS , NULL } ;
static const FieldPart * I062_110_02_PARTS [ ] = { & IXXX_2bit_spare , & I062_110_02_PIN , & IXXX_3bit_spare , & I062_110_02_NAT , & IXXX_2bit_spare , & I062_110_02_MIS , NULL } ;
static const FieldPart I062_110_03_LAT = { 24 , 180.0 / 8388608.0 , FIELD_PART_FLOAT , & hf_062_110_03_LAT , NULL } ;
static const FieldPart I062_110_03_LON = { 24 , 180.0 / 8388608.0 , FIELD_PART_FLOAT , & hf_062_110_03_LON , NULL } ;
static const FieldPart * I062_110_03_PARTS [ ] = { & I062_110_03_LAT , & I062_110_03_LON , NULL } ;
static const value_string valstr_062_110_04_RES [ ] = {
{ 0 , " GA reported in 100 ft increments " } ,
{ 1 , " GA reported in 25 ft increments " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_110_04_RES = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_04_RES , NULL } ;
static const FieldPart I062_110_04_GA = { 14 , 25.0 , FIELD_PART_FLOAT , & hf_062_110_04_GA , NULL } ;
static const FieldPart * I062_110_04_PARTS [ ] = { & I062_110_04_RES , & I062_110_04_GA , NULL } ;
static const FieldPart I062_110_05_SQUAWK = { 12 , 1.0 , FIELD_PART_SQUAWK , & hf_062_110_05_SQUAWK , NULL } ;
static const FieldPart * I062_110_05_PARTS [ ] = { & IXXX_4bit_spare , & I062_110_05_SQUAWK , NULL } ;
static const FieldPart I062_110_06_TOS = { 8 , 1.0 / 128 , FIELD_PART_FLOAT , & hf_062_110_06_TOS , NULL } ;
static const FieldPart * I062_110_06_PARTS [ ] = { & I062_110_06_TOS , NULL } ;
static const value_string valstr_062_110_07_X5 [ ] = {
{ 0 , " X-pulse set to zero or no authenticated Data reply or Report received " } ,
{ 1 , " X-pulse set to one (present) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_110_07_XC [ ] = {
{ 0 , " X-pulse set to zero or no Mode C reply " } ,
{ 1 , " X-pulse set to one (present) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_110_07_X3 [ ] = {
{ 0 , " X-pulse set to zero or no Mode 3/A reply " } ,
{ 1 , " X-pulse set to one (present) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_110_07_X2 [ ] = {
{ 0 , " X-pulse set to zero or no Mode 2 reply " } ,
{ 1 , " X-pulse set to one (present) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_110_07_X1 [ ] = {
{ 0 , " X-pulse set to zero or no Mode 1 reply " } ,
{ 1 , " X-pulse set to one (present) " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_110_07_X5 = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_07_X5 , NULL } ;
static const FieldPart I062_110_07_XC = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_07_XC , NULL } ;
static const FieldPart I062_110_07_X3 = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_07_X3 , NULL } ;
static const FieldPart I062_110_07_X2 = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_07_X2 , NULL } ;
static const FieldPart I062_110_07_X1 = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_110_07_X1 , NULL } ;
static const FieldPart * I062_110_07_PARTS [ ] = { & IXXX_3bit_spare , & I062_110_07_X5 , & I062_110_07_XC , & I062_110_07_X3 , & I062_110_07_X2 , & I062_110_07_X1 , NULL } ;
/* Track Mode 2 Code */
static const FieldPart I062_120_SQUAWK = { 12 , 1.0 , FIELD_PART_SQUAWK , & hf_062_120_SQUAWK , NULL } ;
static const FieldPart * I062_120_PARTS [ ] = { & IXXX_4bit_spare , & I062_120_SQUAWK , NULL } ;
/* Calculated Track Geometric Altitude */
static const FieldPart I062_130_ALT = { 16 , 6.25 , FIELD_PART_FLOAT , & hf_062_130_ALT , NULL } ;
static const FieldPart * I062_130_PARTS [ ] = { & I062_130_ALT , NULL } ;
/* Calculated Track Barometric Altitude */
static const value_string valstr_062_135_QNH [ ] = {
{ 0 , " No QNH correction applied " } ,
{ 1 , " QNH correction applied " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_135_QNH = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_135_QNH , NULL } ;
static const FieldPart I062_135_ALT = { 15 , 25.0 , FIELD_PART_FLOAT , & hf_062_135_ALT , NULL } ;
static const FieldPart * I062_135_PARTS [ ] = { & I062_135_QNH , & I062_135_ALT , NULL } ;
/* Measured Flight Level */
static const FieldPart I062_136_ALT = { 16 , 1.0 / 4.0 , FIELD_PART_FLOAT , & hf_062_136_ALT , NULL } ;
static const FieldPart * I062_136_PARTS [ ] = { & I062_136_ALT , NULL } ;
/* Calculated Track Velocity (Cartesian) */
static const FieldPart I062_185_VX = { 16 , 1.0 / 4.0 , FIELD_PART_FLOAT , & hf_062_185_VX , NULL } ;
static const FieldPart I062_185_VY = { 16 , 1.0 / 4.0 , FIELD_PART_FLOAT , & hf_062_185_VY , NULL } ;
static const FieldPart * I062_185_PARTS [ ] = { & I062_185_VX , & I062_185_VY , NULL } ;
/* Mode of Movement */
static const value_string valstr_062_200_TRANS [ ] = {
{ 0 , " Constant Course " } ,
{ 1 , " Right Turn " } ,
{ 2 , " Left Turn " } ,
{ 3 , " Undetermined " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_200_LONG [ ] = {
{ 0 , " Constant Groundspeed " } ,
{ 1 , " Increasing Groundspeed " } ,
{ 2 , " Decreasing Groundspeed " } ,
{ 3 , " Undetermined " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_200_VERT [ ] = {
{ 0 , " Level " } ,
{ 1 , " Climb " } ,
{ 2 , " Descent " } ,
{ 3 , " Undetermined " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_200_ADF [ ] = {
{ 0 , " No altitude discrepancy " } ,
{ 1 , " Altitude discrepancy " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_200_TRANS = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_200_TRANS , NULL } ;
static const FieldPart I062_200_LONG = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_200_LONG , NULL } ;
static const FieldPart I062_200_VERT = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_200_VERT , NULL } ;
static const FieldPart I062_200_ADF = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_200_ADF , NULL } ;
static const FieldPart * I062_200_PARTS [ ] = { & I062_200_TRANS , & I062_200_LONG , & I062_200_VERT , & I062_200_ADF , NULL } ;
/* Calculated Acceleration (Cartesian) */
static const FieldPart I062_210_AX = { 8 , 1.0 / 4.0 , FIELD_PART_FLOAT , & hf_062_210_AX , NULL } ;
static const FieldPart I062_210_AY = { 8 , 1.0 / 4.0 , FIELD_PART_FLOAT , & hf_062_210_AY , NULL } ;
static const FieldPart * I062_210_PARTS [ ] = { & I062_210_AX , & I062_210_AY , NULL } ;
/* Calculated Rate Of Climb/Descent */
static const FieldPart I062_220_ROCD = { 16 , 6.25 , FIELD_PART_FLOAT , & hf_062_220_ROCD , NULL } ;
static const FieldPart * I062_220_PARTS [ ] = { & I062_220_ROCD , NULL } ;
/* Target Size & Orientation */
static const FieldPart I062_270_LENGTH = { 7 , 1.0 , FIELD_PART_UFLOAT , & hf_062_270_LENGTH , NULL } ;
static const FieldPart I062_270_ORIENTATION = { 7 , 360.0 / 128.0 , FIELD_PART_UFLOAT , & hf_062_270_ORIENTATION , NULL } ;
static const FieldPart I062_270_WIDTH = { 7 , 1.0 , FIELD_PART_UFLOAT , & hf_062_270_WIDTH , NULL } ;
static const FieldPart * I062_270_PARTS [ ] = { & I062_270_LENGTH , & IXXX_FX ,
& I062_270_ORIENTATION , & IXXX_FX ,
& I062_270_WIDTH , & IXXX_FX , NULL } ;
/* System Track Update Ages */
static const FieldPart I062_290_01_TRK = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_290_01_TRK , NULL } ;
static const FieldPart * I062_290_01_PARTS [ ] = { & I062_290_01_TRK , NULL } ;
static const FieldPart I062_290_02_PSR = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_290_02_PSR , NULL } ;
static const FieldPart * I062_290_02_PARTS [ ] = { & I062_290_02_PSR , NULL } ;
static const FieldPart I062_290_03_SSR = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_290_03_SSR , NULL } ;
static const FieldPart * I062_290_03_PARTS [ ] = { & I062_290_03_SSR , NULL } ;
static const FieldPart I062_290_04_MDS = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_290_04_MDS , NULL } ;
static const FieldPart * I062_290_04_PARTS [ ] = { & I062_290_04_MDS , NULL } ;
static const FieldPart I062_290_05_ADS = { 16 , 0.25 , FIELD_PART_UFLOAT , & hf_062_290_05_ADS , NULL } ;
static const FieldPart * I062_290_05_PARTS [ ] = { & I062_290_05_ADS , NULL } ;
static const FieldPart I062_290_06_ES = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_290_06_ES , NULL } ;
static const FieldPart * I062_290_06_PARTS [ ] = { & I062_290_06_ES , NULL } ;
static const FieldPart I062_290_07_VDL = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_290_07_VDL , NULL } ;
static const FieldPart * I062_290_07_PARTS [ ] = { & I062_290_07_VDL , NULL } ;
static const FieldPart I062_290_08_UAT = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_290_08_UAT , NULL } ;
static const FieldPart * I062_290_08_PARTS [ ] = { & I062_290_08_UAT , NULL } ;
static const FieldPart I062_290_09_LOP = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_290_09_LOP , NULL } ;
static const FieldPart * I062_290_09_PARTS [ ] = { & I062_290_09_LOP , NULL } ;
static const FieldPart I062_290_10_MLT = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_290_10_MLT , NULL } ;
static const FieldPart * I062_290_10_PARTS [ ] = { & I062_290_10_MLT , NULL } ;
/* Track Data Ages */
static const FieldPart I062_295_01_MFL = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_01_MFL , NULL } ;
static const FieldPart * I062_295_01_PARTS [ ] = { & I062_295_01_MFL , NULL } ;
static const FieldPart I062_295_02_MD1 = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_02_MD1 , NULL } ;
static const FieldPart * I062_295_02_PARTS [ ] = { & I062_295_02_MD1 , NULL } ;
static const FieldPart I062_295_03_MD2 = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_03_MD2 , NULL } ;
static const FieldPart * I062_295_03_PARTS [ ] = { & I062_295_03_MD2 , NULL } ;
static const FieldPart I062_295_04_MDA = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_04_MDA , NULL } ;
static const FieldPart * I062_295_04_PARTS [ ] = { & I062_295_04_MDA , NULL } ;
static const FieldPart I062_295_05_MD4 = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_05_MD4 , NULL } ;
static const FieldPart * I062_295_05_PARTS [ ] = { & I062_295_05_MD4 , NULL } ;
static const FieldPart I062_295_06_MD5 = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_06_MD5 , NULL } ;
static const FieldPart * I062_295_06_PARTS [ ] = { & I062_295_06_MD5 , NULL } ;
static const FieldPart I062_295_07_MHD = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_07_MHD , NULL } ;
static const FieldPart * I062_295_07_PARTS [ ] = { & I062_295_07_MHD , NULL } ;
static const FieldPart I062_295_08_IAS = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_08_IAS , NULL } ;
static const FieldPart * I062_295_08_PARTS [ ] = { & I062_295_08_IAS , NULL } ;
static const FieldPart I062_295_09_TAS = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_09_TAS , NULL } ;
static const FieldPart * I062_295_09_PARTS [ ] = { & I062_295_09_TAS , NULL } ;
static const FieldPart I062_295_10_SAL = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_10_SAL , NULL } ;
static const FieldPart * I062_295_10_PARTS [ ] = { & I062_295_10_SAL , NULL } ;
static const FieldPart I062_295_11_FSS = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_11_FSS , NULL } ;
static const FieldPart * I062_295_11_PARTS [ ] = { & I062_295_11_FSS , NULL } ;
static const FieldPart I062_295_12_TID = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_12_TID , NULL } ;
static const FieldPart * I062_295_12_PARTS [ ] = { & I062_295_12_TID , NULL } ;
static const FieldPart I062_295_13_COM = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_13_COM , NULL } ;
static const FieldPart * I062_295_13_PARTS [ ] = { & I062_295_13_COM , NULL } ;
static const FieldPart I062_295_14_SAB = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_14_SAB , NULL } ;
static const FieldPart * I062_295_14_PARTS [ ] = { & I062_295_14_SAB , NULL } ;
static const FieldPart I062_295_15_ACS = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_15_ACS , NULL } ;
static const FieldPart * I062_295_15_PARTS [ ] = { & I062_295_15_ACS , NULL } ;
static const FieldPart I062_295_16_BVR = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_16_BVR , NULL } ;
static const FieldPart * I062_295_16_PARTS [ ] = { & I062_295_16_BVR , NULL } ;
static const FieldPart I062_295_17_GVR = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_17_GVR , NULL } ;
static const FieldPart * I062_295_17_PARTS [ ] = { & I062_295_17_GVR , NULL } ;
static const FieldPart I062_295_18_RAN = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_18_RAN , NULL } ;
static const FieldPart * I062_295_18_PARTS [ ] = { & I062_295_18_RAN , NULL } ;
static const FieldPart I062_295_19_TAR = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_19_TAR , NULL } ;
static const FieldPart * I062_295_19_PARTS [ ] = { & I062_295_19_TAR , NULL } ;
static const FieldPart I062_295_20_TAN = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_20_TAN , NULL } ;
static const FieldPart * I062_295_20_PARTS [ ] = { & I062_295_20_TAN , NULL } ;
static const FieldPart I062_295_21_GSP = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_21_GSP , NULL } ;
static const FieldPart * I062_295_21_PARTS [ ] = { & I062_295_21_GSP , NULL } ;
static const FieldPart I062_295_22_VUN = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_22_VUN , NULL } ;
static const FieldPart * I062_295_22_PARTS [ ] = { & I062_295_22_VUN , NULL } ;
static const FieldPart I062_295_23_MET = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_23_MET , NULL } ;
static const FieldPart * I062_295_23_PARTS [ ] = { & I062_295_23_MET , NULL } ;
static const FieldPart I062_295_24_EMC = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_24_EMC , NULL } ;
static const FieldPart * I062_295_24_PARTS [ ] = { & I062_295_24_EMC , NULL } ;
static const FieldPart I062_295_25_POS = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_25_POS , NULL } ;
static const FieldPart * I062_295_25_PARTS [ ] = { & I062_295_25_POS , NULL } ;
static const FieldPart I062_295_26_GAL = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_26_GAL , NULL } ;
static const FieldPart * I062_295_26_PARTS [ ] = { & I062_295_26_GAL , NULL } ;
static const FieldPart I062_295_27_PUN = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_27_PUN , NULL } ;
static const FieldPart * I062_295_27_PARTS [ ] = { & I062_295_27_PUN , NULL } ;
static const FieldPart I062_295_28_MB = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_28_MB , NULL } ;
static const FieldPart * I062_295_28_PARTS [ ] = { & I062_295_28_MB , NULL } ;
static const FieldPart I062_295_29_IAR = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_29_IAR , NULL } ;
static const FieldPart * I062_295_29_PARTS [ ] = { & I062_295_29_IAR , NULL } ;
static const FieldPart I062_295_30_MAC = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_30_MAC , NULL } ;
static const FieldPart * I062_295_30_PARTS [ ] = { & I062_295_30_MAC , NULL } ;
static const FieldPart I062_295_31_BPS = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_295_31_BPS , NULL } ;
static const FieldPart * I062_295_31_PARTS [ ] = { & I062_295_31_BPS , NULL } ;
/* Vehicle Fleet Identification */
static const value_string valstr_062_300_VFI [ ] = {
{ 0 , " Unknown " } ,
{ 1 , " ATC equipment maintenance " } ,
{ 2 , " Airport maintenance " } ,
{ 3 , " Fire " } ,
{ 4 , " Bird scarer " } ,
{ 5 , " Snow plough " } ,
{ 6 , " Runway sweeper " } ,
{ 7 , " Emergency " } ,
{ 8 , " Police " } ,
{ 9 , " Bus " } ,
{ 10 , " Tug (push/tow) " } ,
{ 11 , " Grass cutter " } ,
{ 12 , " Fuel " } ,
{ 13 , " Baggage " } ,
{ 14 , " Catering " } ,
{ 15 , " Aircraft maintenance " } ,
{ 16 , " Flyco (follow me) " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_300_VFI = { 8 , 1.0 , FIELD_PART_UINT , & hf_062_300_VFI , NULL } ;
static const FieldPart * I062_300_PARTS [ ] = { & I062_300_VFI , NULL } ;
/* Measured Information */
/* Measured Position in Polar Co-ordinates */
static const FieldPart I062_340_02_RHO = { 16 , 1.0 / 256.0 , FIELD_PART_UFLOAT , & hf_062_340_02_RHO , NULL } ;
static const FieldPart I062_340_02_THETA = { 16 , 360.0 / 65536.0 , FIELD_PART_UFLOAT , & hf_062_340_02_THETA , NULL } ;
static const FieldPart * I062_340_02_PARTS [ ] = { & I062_340_02_RHO , & I062_340_02_THETA , NULL } ;
static const FieldPart I062_340_03_H = { 16 , 25.0 , FIELD_PART_FLOAT , & hf_062_340_03_H , NULL } ;
static const FieldPart * I062_340_03_PARTS [ ] = { & I062_340_03_H , NULL } ;
static const value_string valstr_062_340_04_V [ ] = {
{ 0 , " Code validated " } ,
{ 1 , " Code not validated " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_340_04_G [ ] = {
{ 0 , " Default " } ,
{ 1 , " Garbled code " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_340_04_V = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_340_04_V , NULL } ;
static const FieldPart I062_340_04_G = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_340_04_G , NULL } ;
static const FieldPart I062_340_04_FL = { 14 , 1.0 / 4.0 , FIELD_PART_FLOAT , & hf_062_340_04_FL , NULL } ;
static const FieldPart * I062_340_04_PARTS [ ] = { & I062_340_04_V , & I062_340_04_G , & I062_340_04_FL , NULL , NULL } ;
static const value_string valstr_062_340_05_V [ ] = {
{ 0 , " Code validated " } ,
{ 1 , " Code not validated " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_340_05_G [ ] = {
{ 0 , " Default " } ,
{ 1 , " Garbled code " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_340_05_L [ ] = {
{ 0 , " MODE 3/A code as derived from the reply of the transponder " } ,
{ 1 , " Smoothed MODE 3/A code as provided by a sensor local tracker " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_340_05_V = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_340_05_V , NULL } ;
static const FieldPart I062_340_05_G = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_340_05_G , NULL } ;
static const FieldPart I062_340_05_L = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_340_05_L , NULL } ;
static const FieldPart I062_340_05_SQUAWK = { 12 , 1.0 , FIELD_PART_SQUAWK , & hf_062_340_05_SQUAWK , NULL } ;
static const FieldPart * I062_340_05_PARTS [ ] = { & I062_340_05_V , & I062_340_05_G , & I062_340_05_L , & IXXX_1bit_spare , & I062_340_05_SQUAWK , NULL } ;
static const value_string valstr_062_340_06_TYP [ ] = {
{ 0 , " No detection " } ,
{ 1 , " Single PSR detection " } ,
{ 2 , " Single SSR detection " } ,
{ 3 , " SSR+PSR detection " } ,
{ 4 , " Single All-Call " } ,
{ 5 , " Single Roll-Call " } ,
{ 6 , " ModeS All-Call + PSR " } ,
{ 7 , " ModeS Roll-Call + PSR " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_340_06_SIM [ ] = {
{ 0 , " Actual target report " } ,
{ 1 , " Simulated target report " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_340_06_RAB [ ] = {
{ 0 , " Report from target transponder " } ,
{ 1 , " Report from field monitor (fixed transponder) " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_340_06_TST [ ] = {
{ 0 , " Real target report " } ,
{ 1 , " Test target report " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_340_06_TYP = { 3 , 1.0 , FIELD_PART_UINT , & hf_062_340_06_TYP , NULL } ;
static const FieldPart I062_340_06_SIM = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_340_06_SIM , NULL } ;
static const FieldPart I062_340_06_RAB = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_340_06_RAB , NULL } ;
static const FieldPart I062_340_06_TST = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_340_06_TST , NULL } ;
static const FieldPart * I062_340_06_PARTS [ ] = { & I062_340_06_TYP , & I062_340_06_SIM , & I062_340_06_RAB , & I062_340_06_TST , NULL } ;
/* Aircraft Derived Data */
/* Magnetic Heading */
static const FieldPart I062_380_03_MH = { 16 , 360.0 / 65536.0 , FIELD_PART_UFLOAT , & hf_062_380_03_MH , NULL } ;
static const FieldPart * I062_380_03_PARTS [ ] = { & I062_380_03_MH , NULL } ;
/* Indicated Airspeed/Mach Number */
/* The scaling factor of this field depends on IM field */
/* Various scaling factors not supporter. */
/* Since field not used for compatibility purposes, it is OK. */
static const FieldPart I062_380_04_IM = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_04_IM , NULL } ;
static const FieldPart I062_380_04_IAS = { 15 , 1.0 , FIELD_PART_UFLOAT , & hf_062_380_04_IAS , NULL } ;
static const FieldPart * I062_380_04_PARTS [ ] = { & I062_380_04_IM , & I062_380_04_IAS , NULL } ;
/* True Airspeed */
static const FieldPart I062_380_05_TAS = { 16 , 1.0 , FIELD_PART_UFLOAT , & hf_062_380_05_TAS , NULL } ;
static const FieldPart * I062_380_05_PARTS [ ] = { & I062_380_05_TAS , NULL } ;
/* Selected Altitude */
static const value_string valstr_062_380_06_SAS [ ] = {
{ 0 , " No source information provided " } ,
{ 1 , " Source Information provided " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_06_SOURCE [ ] = {
{ 0 , " Unknown " } ,
{ 1 , " Aircraft Altitude " } ,
{ 2 , " FCU/MCP Selected Altitude " } ,
{ 3 , " FMS Selected Altitude " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_380_06_SAS = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_06_SAS , NULL } ;
static const FieldPart I062_380_06_SOURCE = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_380_06_SOURCE , NULL } ;
static const FieldPart I062_380_06_ALT = { 13 , 25.0 , FIELD_PART_UFLOAT , & hf_062_380_06_ALT , NULL } ;
static const FieldPart * I062_380_06_PARTS [ ] = { & I062_380_06_SAS , & I062_380_06_SOURCE , & I062_380_06_ALT , NULL } ;
/* Final State Selected Altitude */
static const value_string valstr_062_380_07 [ ] = {
{ 0 , " Not active " } ,
{ 1 , " Active " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_380_07_MV = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_07_MV , NULL } ;
static const FieldPart I062_380_07_AH = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_07_AH , NULL } ;
static const FieldPart I062_380_07_AM = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_07_AM , NULL } ;
static const FieldPart I062_380_07_ALT = { 13 , 25.0 , FIELD_PART_UFLOAT , & hf_062_380_07_ALT , NULL } ;
static const FieldPart * I062_380_07_PARTS [ ] = { & I062_380_07_MV , & I062_380_07_AH , & I062_380_07_AM , & I062_380_07_ALT , NULL } ;
/* Trajectory Intent Status */
static const value_string valstr_062_380_08_NAV [ ] = {
{ 0 , " Trajectory Intent Data is available for this aircraft " } ,
{ 1 , " Trajectory Intent Data is not available for this aircraft " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_08_NVB [ ] = {
{ 0 , " Trajectory Intent Data is valid " } ,
{ 1 , " Trajectory Intent Data is not valid " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_380_08_NAV = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_08_NAV , NULL } ;
static const FieldPart I062_380_08_NVB = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_08_NVB , NULL } ;
static const FieldPart * I062_380_08_PARTS [ ] = { & I062_380_08_NAV , & I062_380_08_NVB , & IXXX_5bit_spare , & IXXX_FX , NULL } ;
/* Trajectory Intent Data */
static const value_string valstr_062_380_09_TCA [ ] = {
{ 0 , " TCP number available " } ,
{ 1 , " TCP number not available " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_09_NC [ ] = {
{ 0 , " TCP compliance " } ,
{ 1 , " TCP non-compliance " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_09_PTYP [ ] = {
{ 0 , " Unknown " } ,
{ 1 , " Fly by waypoint " } ,
{ 2 , " Fly over waypoint " } ,
{ 3 , " Hold Pattern " } ,
{ 4 , " Procedure hold " } ,
{ 5 , " Procedure turn " } ,
{ 6 , " RF leg " } ,
{ 7 , " Top of climb " } ,
{ 8 , " Top of descend " } ,
{ 9 , " Start of level " } ,
{ 10 , " Cross-over altitude " } ,
{ 11 , " Transition altitude " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_09_TD [ ] = {
{ 0 , " N/A " } ,
{ 1 , " Turn right " } ,
{ 2 , " Turn left " } ,
{ 3 , " No turn " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_09_TRA [ ] = {
{ 0 , " TTR not available " } ,
{ 1 , " TTR available " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_09_TOA [ ] = {
{ 0 , " TOV available " } ,
{ 1 , " TOV not available " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_380_09_TCA = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_09_TCA , NULL } ;
static const FieldPart I062_380_09_NC = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_09_NC , NULL } ;
static const FieldPart I062_380_09_TCP = { 6 , 1.0 , FIELD_PART_UINT , & hf_062_380_09_TCP , NULL } ;
static const FieldPart I062_380_09_ALT = { 16 , 10.0 , FIELD_PART_FLOAT , & hf_062_380_09_ALT , NULL } ;
static const FieldPart I062_380_09_LAT = { 24 , 180.0 / 8388608.0 , FIELD_PART_FLOAT , & hf_062_380_09_LAT , NULL } ;
static const FieldPart I062_380_09_LON = { 24 , 180.0 / 8388608.0 , FIELD_PART_FLOAT , & hf_062_380_09_LON , NULL } ;
static const FieldPart I062_380_09_PTYP = { 4 , 1.0 , FIELD_PART_UINT , & hf_062_380_09_PTYP , NULL } ;
static const FieldPart I062_380_09_TD = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_09_TD , NULL } ;
static const FieldPart I062_380_09_TRA = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_09_TRA , NULL } ;
static const FieldPart I062_380_09_TOA = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_09_TOA , NULL } ;
static const FieldPart I062_380_09_TOV = { 24 , 1.0 , FIELD_PART_UFLOAT , & hf_062_380_09_TOV , NULL } ;
static const FieldPart I062_380_09_TTR = { 16 , 0.01 , FIELD_PART_UINT , & hf_062_380_09_TTR , NULL } ;
static const FieldPart * I062_380_09_PARTS [ ] = { & I062_380_09_TCA , & I062_380_09_NC , & I062_380_09_TCP , & I062_380_09_ALT , & I062_380_09_LAT , & I062_380_09_LON ,
& I062_380_09_PTYP , & I062_380_09_TD , & I062_380_09_TRA , & I062_380_09_TOA , & I062_380_09_TOV , & I062_380_09_TTR , NULL } ;
/* Communications / ACAS Capability and Flight Status */
static const value_string valstr_062_380_10_COM [ ] = {
{ 0 , " No communications capability (surveillance only) " } ,
{ 1 , " Comm. A and Comm. B capability " } ,
{ 2 , " Comm. A, Comm. B and Uplink ELM " } ,
{ 3 , " Comm. A, Comm. B, Uplink ELM and Downlink ELM " } ,
{ 4 , " Level 5 Transponder capability " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_10_STAT [ ] = {
{ 0 , " No alert, no SPI, aircraft airborne " } ,
{ 1 , " No alert, no SPI, aircraft on ground " } ,
{ 2 , " Alert, no SPI, aircraft airborne " } ,
{ 3 , " Alert, no SPI, aircraft on ground " } ,
{ 4 , " Alert, SPI, aircraft airborne or on ground " } ,
{ 5 , " No alert, SPI, aircraft airborne or on ground " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_10_SSC [ ] = {
{ 0 , " No " } ,
{ 1 , " Yes " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_10_ARC [ ] = {
{ 0 , " 100 ft resolution " } ,
{ 1 , " 25 ft resolution " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_10_AIC [ ] = {
{ 0 , " No " } ,
{ 1 , " Yes " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_380_10_COM = { 3 , 1.0 , FIELD_PART_UINT , & hf_062_380_10_COM , NULL } ;
static const FieldPart I062_380_10_STAT = { 3 , 1.0 , FIELD_PART_UINT , & hf_062_380_10_STAT , NULL } ;
static const FieldPart I062_380_10_SSC = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_10_SSC , NULL } ;
static const FieldPart I062_380_10_ARC = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_10_ARC , NULL } ;
static const FieldPart I062_380_10_AIC = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_10_AIC , NULL } ;
static const FieldPart I062_380_10_B1A = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_10_B1A , NULL } ;
static const FieldPart I062_380_10_B1B = { 4 , 1.0 , FIELD_PART_UINT , & hf_062_380_10_B1B , NULL } ;
static const FieldPart * I062_380_10_PARTS [ ] = { & I062_380_10_COM , & I062_380_10_STAT , & IXXX_2bit_spare , & I062_380_10_SSC , & I062_380_10_ARC , & I062_380_10_AIC , & I062_380_10_B1A , & I062_380_10_B1B , NULL } ;
/* Status reported by ADS-B */
static const value_string valstr_062_380_11_AC [ ] = {
{ 0 , " unknown " } ,
{ 1 , " ACAS not operational " } ,
{ 2 , " ACAS operational " } ,
{ 3 , " invalid " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_11_MN [ ] = {
{ 0 , " unknown " } ,
{ 1 , " Multiple navigational aids not operating " } ,
{ 2 , " Multiple navigational aids operating " } ,
{ 3 , " invalid " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_11_DC [ ] = {
{ 0 , " unknown " } ,
{ 1 , " Differential correction " } ,
{ 2 , " No differential correction " } ,
{ 3 , " invalid " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_11_GBS [ ] = {
{ 0 , " Transponder Ground Bit not set or unknown " } ,
{ 1 , " Transponder Ground Bit set " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_11_STAT [ ] = {
{ 0 , " No emergency " } ,
{ 1 , " General emergency " } ,
{ 2 , " Lifeguard / medical " } ,
{ 3 , " Minimum fuel " } ,
{ 4 , " No communications " } ,
{ 5 , " Unlawful interference " } ,
{ 6 , " \" Downed \" Aircraft " } ,
{ 7 , " Unknown " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_380_11_AC = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_380_11_AC , NULL } ;
static const FieldPart I062_380_11_MN = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_380_11_MN , NULL } ;
static const FieldPart I062_380_11_DC = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_380_11_DC , NULL } ;
static const FieldPart I062_380_11_GBS = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_11_GBS , NULL } ;
static const FieldPart I062_380_11_STAT = { 3 , 1.0 , FIELD_PART_UINT , & hf_062_380_11_STAT , NULL } ;
static const FieldPart * I062_380_11_PARTS [ ] = { & I062_380_11_AC , & I062_380_11_MN , & I062_380_11_DC , & I062_380_11_GBS , & IXXX_6bit_spare , & I062_380_11_STAT , NULL } ;
/* ACAS Resolution Advisory Report */
static const FieldPart I062_380_12_MB = { 56 , 1.0 , FIELD_PART_UINT , & hf_062_380_12_MB , NULL } ;
static const FieldPart * I062_380_12_PARTS [ ] = { & I062_380_12_MB , NULL } ;
/* Barometric Vertical Rate */
static const FieldPart I062_380_13_BVR = { 16 , 6.25 , FIELD_PART_FLOAT , & hf_062_380_13_BVR , NULL } ;
static const FieldPart * I062_380_13_PARTS [ ] = { & I062_380_13_BVR , NULL } ;
/* Geometric Vertical Rate */
static const FieldPart I062_380_14_GVR = { 16 , 6.25 , FIELD_PART_FLOAT , & hf_062_380_14_GVR , NULL } ;
static const FieldPart * I062_380_14_PARTS [ ] = { & I062_380_14_GVR , NULL } ;
/* Roll Angle */
static const FieldPart I062_380_15_ROLL = { 16 , 0.01 , FIELD_PART_FLOAT , & hf_062_380_15_ROLL , NULL } ;
static const FieldPart * I062_380_15_PARTS [ ] = { & I062_380_15_ROLL , NULL } ;
/* Track Angle Rate */
static const value_string valstr_062_380_16_TI [ ] = {
{ 0 , " Not available " } ,
{ 1 , " Left " } ,
{ 2 , " Right " } ,
{ 3 , " Straight " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_380_16_TI = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_380_16_TI , NULL } ;
static const FieldPart I062_380_16_RATE = { 7 , 1.0 / 4.0 , FIELD_PART_FLOAT , & hf_062_380_16_RATE , NULL } ;
static const FieldPart * I062_380_16_PARTS [ ] = { & I062_380_16_TI , & IXXX_6bit_spare , & I062_380_16_RATE , NULL } ;
/* Track Angle */
static const FieldPart I062_380_17_TA = { 16 , 360.0 / 65536.0 , FIELD_PART_FLOAT , & hf_062_380_17_TA , NULL } ;
static const FieldPart * I062_380_17_PARTS [ ] = { & I062_380_17_TA , NULL } ;
/* Ground Speed */
static const FieldPart I062_380_18_GS = { 16 , 1.0 / 16384.0 , FIELD_PART_FLOAT , & hf_062_380_18_GS , NULL } ;
static const FieldPart * I062_380_18_PARTS [ ] = { & I062_380_18_GS , NULL } ;
/* Velocity Uncertainty */
static const FieldPart I062_380_19_VUC = { 16 , 1.0 , FIELD_PART_UINT , & hf_062_380_19_VUC , NULL } ;
static const FieldPart * I062_380_19_PARTS [ ] = { & I062_380_19_VUC , NULL } ;
/* Meteorological Data */
static const value_string valstr_062_380_20_WS [ ] = {
{ 0 , " Not valid Wind Speed " } ,
{ 1 , " Valid Wind Speed " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_20_WD [ ] = {
{ 0 , " Not valid Wind Direction " } ,
{ 1 , " Valid Wind Direction " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_20_TMP [ ] = {
{ 0 , " Not valid Temperature " } ,
{ 1 , " Valid Temperature " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_380_20_TRB [ ] = {
{ 0 , " Not valid Turbulence " } ,
{ 1 , " Valid Turbulence " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_380_20_WS = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_20_WS , NULL } ;
static const FieldPart I062_380_20_WD = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_20_WD , NULL } ;
static const FieldPart I062_380_20_TMP = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_20_TMP , NULL } ;
static const FieldPart I062_380_20_TRB = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_380_20_TRB , NULL } ;
static const FieldPart I062_380_20_WS_VAL = { 16 , 1.0 , FIELD_PART_UFLOAT , & hf_062_380_20_WS_VAL , NULL } ;
static const FieldPart I062_380_20_WD_VAL = { 16 , 1.0 , FIELD_PART_UFLOAT , & hf_062_380_20_WD_VAL , NULL } ;
static const FieldPart I062_380_20_TMP_VAL = { 16 , 1.0 / 4.0 , FIELD_PART_FLOAT , & hf_062_380_20_TMP_VAL , NULL } ;
static const FieldPart I062_380_20_TRB_VAL = { 8 , 1.0 , FIELD_PART_UINT , & hf_062_380_20_TRB_VAL , NULL } ;
static const FieldPart * I062_380_20_PARTS [ ] = { & I062_380_20_WS , & I062_380_20_WD , & I062_380_20_TMP , & I062_380_20_TRB , & IXXX_4bit_spare ,
& I062_380_20_WS_VAL , & I062_380_20_WD_VAL , & I062_380_20_TMP_VAL , & I062_380_20_TRB_VAL , NULL } ;
/* Emitter Category */
static const value_string valstr_062_380_21_ECAT [ ] = {
{ 1 , " light aircraft <= 7000 kg " } ,
{ 2 , " reserved " } ,
{ 3 , " 7000 kg < medium aircraft < 136000 kg " } ,
{ 4 , " reserved " } ,
{ 5 , " 136000 kg <= heavy aircraft " } ,
{ 6 , " highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise) " } ,
{ 7 , " reserved " } ,
{ 8 , " reserved " } ,
{ 9 , " reserved " } ,
{ 10 , " rotocraft " } ,
{ 11 , " glider / sailplane " } ,
{ 12 , " lighter-than-air " } ,
{ 13 , " unmanned aerial vehicle " } ,
{ 14 , " space / transatmospheric vehicle " } ,
{ 15 , " ultralight / handglider / paraglider " } ,
{ 16 , " parachutist / skydiver " } ,
{ 17 , " reserved " } ,
{ 18 , " reserved " } ,
{ 19 , " reserved " } ,
{ 20 , " surface emergency vehicle " } ,
{ 21 , " surface service vehicle " } ,
{ 22 , " fixed ground or tethered obstruction " } ,
{ 23 , " reserved " } ,
{ 24 , " reserved " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_380_21_ECAT = { 8 , 1.0 , FIELD_PART_UINT , & hf_062_380_21_ECAT , NULL } ;
static const FieldPart * I062_380_21_PARTS [ ] = { & I062_380_21_ECAT , NULL } ;
/* Position Data */
static const FieldPart I062_380_22_LAT = { 24 , 180.0 / 8388608.0 , FIELD_PART_FLOAT , & hf_062_380_22_LAT , NULL } ;
static const FieldPart I062_380_22_LON = { 24 , 180.0 / 8388608.0 , FIELD_PART_FLOAT , & hf_062_380_22_LON , NULL } ;
static const FieldPart * I062_380_22_PARTS [ ] = { & I062_380_22_LAT , & I062_380_22_LON , NULL } ;
/* Geometric Altitude Data */
static const FieldPart I062_380_23_ALT = { 16 , 6.25 , FIELD_PART_FLOAT , & hf_062_380_23_ALT , NULL } ;
static const FieldPart * I062_380_23_PARTS [ ] = { & I062_380_23_ALT , NULL } ;
/* Position Uncertainty Data */
static const FieldPart I062_380_24_PUN = { 4 , 1.0 , FIELD_PART_UINT , & hf_062_380_24_PUN , NULL } ;
static const FieldPart * I062_380_24_PARTS [ ] = { & IXXX_4bit_spare , & I062_380_24_PUN , NULL } ;
/* Indicated Airspeed */
static const FieldPart I062_380_26_IAS = { 16 , 1.0 , FIELD_PART_UFLOAT , & hf_062_380_26_IAS , NULL } ;
static const FieldPart * I062_380_26_PARTS [ ] = { & I062_380_26_IAS , NULL } ;
/* Mach Number */
static const FieldPart I062_380_27_MACH = { 16 , 0.008 , FIELD_PART_UFLOAT , & hf_062_380_27_MACH , NULL } ;
static const FieldPart * I062_380_27_PARTS [ ] = { & I062_380_27_MACH , NULL } ;
/* Barometric Pressure Setting */
static const FieldPart I062_380_28_BPS = { 12 , 0.01 , FIELD_PART_UFLOAT , & hf_062_380_28_BPS , NULL } ;
static const FieldPart * I062_380_28_PARTS [ ] = { & IXXX_4bit_spare , & I062_380_28_BPS , NULL } ;
/* Flight Plan Related Data */
/* Callsign */
static const FieldPart I062_390_02_CS = { 56 , 1.0 , FIELD_PART_ASCII , & hf_062_390_02_CS , NULL } ;
static const FieldPart * I062_390_02_PARTS [ ] = { & I062_390_02_CS , NULL } ;
/* IFPS_FLIGHT_ID */
static const value_string valstr_062_390_03_TYP [ ] = {
{ 0 , " Plan Number " } ,
{ 1 , " Unit 1 internal flight number " } ,
{ 2 , " Unit 2 internal flight number " } ,
{ 3 , " Unit 3 internal flight number " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_390_03_TYP = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_390_03_TYP , NULL } ;
static const FieldPart I062_390_03_NBR = { 27 , 1.0 , FIELD_PART_UINT , & hf_062_390_03_NBR , NULL } ;
static const FieldPart * I062_390_03_PARTS [ ] = { & I062_390_03_TYP , & IXXX_3bit_spare , & I062_390_03_NBR , NULL } ;
/* Flight Category */
static const value_string valstr_062_390_04_GAT_OAT [ ] = {
{ 0 , " Unknown " } ,
{ 1 , " General Air Traffic " } ,
{ 2 , " Operational Air Traffic " } ,
{ 3 , " Not applicable " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_390_04_FR12 [ ] = {
{ 0 , " Instrument Flight Rules " } ,
{ 1 , " Visual Flight rules " } ,
{ 2 , " Not applicable " } ,
{ 3 , " Controlled Visual Flight Rules " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_390_04_RVSM [ ] = {
{ 0 , " Unknown " } ,
{ 1 , " Approved " } ,
{ 2 , " Exempt " } ,
{ 3 , " Not Approved " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_390_04_HPR [ ] = {
{ 0 , " Normal Priority Flight " } ,
{ 1 , " High Priority Flight " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_390_04_GAT_OAT = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_390_04_GAT_OAT , NULL } ;
static const FieldPart I062_390_04_FR12 = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_390_04_FR12 , NULL } ;
static const FieldPart I062_390_04_RVSM = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_390_04_RVSM , NULL } ;
static const FieldPart I062_390_04_HPR = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_390_04_HPR , NULL } ;
static const FieldPart * I062_390_04_PARTS [ ] = { & I062_390_04_GAT_OAT , & I062_390_04_FR12 , & I062_390_04_RVSM , & I062_390_04_HPR , NULL } ;
/* Type of Aircraft */
static const FieldPart I062_390_05_ACTYP = { 32 , 1.0 , FIELD_PART_ASCII , & hf_062_390_05_ACTYP , NULL } ;
static const FieldPart * I062_390_05_PARTS [ ] = { & I062_390_05_ACTYP , NULL } ;
/* Wake Turbulence Category */
static const FieldPart I062_390_06_WTC = { 8 , 1.0 , FIELD_PART_ASCII , & hf_062_390_06_WTC , NULL } ;
static const FieldPart * I062_390_06_PARTS [ ] = { & I062_390_06_WTC , NULL } ;
/* Departure Airport */
static const FieldPart I062_390_07_ADEP = { 32 , 1.0 , FIELD_PART_ASCII , & hf_062_390_07_ADEP , NULL } ;
static const FieldPart * I062_390_07_PARTS [ ] = { & I062_390_07_ADEP , NULL } ;
/* Destination Airport */
static const FieldPart I062_390_08_ADES = { 32 , 1.0 , FIELD_PART_ASCII , & hf_062_390_08_ADES , NULL } ;
static const FieldPart * I062_390_08_PARTS [ ] = { & I062_390_08_ADES , NULL } ;
/* Runway Designation */
static const FieldPart I062_390_09_NU1 = { 8 , 1.0 , FIELD_PART_ASCII , & hf_062_390_09_NU1 , NULL } ;
static const FieldPart I062_390_09_NU2 = { 8 , 1.0 , FIELD_PART_ASCII , & hf_062_390_09_NU2 , NULL } ;
static const FieldPart I062_390_09_LTR = { 8 , 1.0 , FIELD_PART_ASCII , & hf_062_390_09_LTR , NULL } ;
static const FieldPart * I062_390_09_PARTS [ ] = { & I062_390_09_NU1 , & I062_390_09_NU2 , & I062_390_09_LTR , NULL } ;
/* Current Cleared Flight Level */
static const FieldPart I062_390_10_CFL = { 16 , 1.0 / 4.0 , FIELD_PART_UFLOAT , & hf_062_390_10_CFL , NULL } ;
static const FieldPart * I062_390_10_PARTS [ ] = { & I062_390_10_CFL , NULL } ;
/* Current Control Position */
static const FieldPart I062_390_11_CNTR = { 8 , 1.0 , FIELD_PART_UINT , & hf_062_390_11_CNTR , NULL } ;
static const FieldPart I062_390_11_POS = { 8 , 1.0 , FIELD_PART_UINT , & hf_062_390_11_POS , NULL } ;
static const FieldPart * I062_390_11_PARTS [ ] = { & I062_390_11_CNTR , & I062_390_11_POS , NULL } ;
/* Time of Departure / Arrival */
static const value_string valstr_062_390_12_TYP [ ] = {
{ 0 , " Scheduled off-block time " } ,
{ 1 , " Estimated off-block time " } ,
{ 2 , " Estimated take-off time " } ,
{ 3 , " Actual off-block time " } ,
{ 4 , " Predicted time at runway hold " } ,
{ 5 , " Actual time at runway hold " } ,
{ 6 , " Actual line-up time " } ,
{ 7 , " Actual take-off time " } ,
{ 8 , " Estimated time of arrival " } ,
{ 9 , " Predicted landing time " } ,
{ 10 , " Actual landing time " } ,
{ 11 , " Actual time off runway " } ,
{ 12 , " Predicted time to gate " } ,
{ 13 , " Actual on-block time " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_390_12_DAY [ ] = {
{ 00 , " Today " } ,
{ 01 , " Yesterday " } ,
{ 10 , " Tomorrow " } ,
{ 11 , " Invalid " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_390_12_AVS [ ] = {
{ 0 , " Seconds available " } ,
{ 1 , " Seconds not available " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_390_12_TYP = { 5 , 1.0 , FIELD_PART_UINT , & hf_062_390_12_TYP , NULL } ;
static const FieldPart I062_390_12_DAY = { 2 , 1.0 , FIELD_PART_UINT , & hf_062_390_12_DAY , NULL } ;
static const FieldPart I062_390_12_HOR = { 5 , 1.0 , FIELD_PART_UINT , & hf_062_390_12_HOR , NULL } ;
static const FieldPart I062_390_12_MIN = { 6 , 1.0 , FIELD_PART_UINT , & hf_062_390_12_MIN , NULL } ;
static const FieldPart I062_390_12_AVS = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_390_12_AVS , NULL } ;
static const FieldPart I062_390_12_SEC = { 6 , 1.0 , FIELD_PART_UINT , & hf_062_390_12_SEC , NULL } ;
static const FieldPart * I062_390_12_PARTS [ ] = { & I062_390_12_TYP , & I062_390_12_DAY ,
& IXXX_4bit_spare , & I062_390_12_HOR ,
& IXXX_2bit_spare , & I062_390_12_MIN ,
& I062_390_12_AVS , & IXXX_1bit_spare , & I062_390_12_SEC , NULL } ;
/* Aircraft Stand */
static const FieldPart I062_390_13_STAND = { 48 , 1.0 , FIELD_PART_ASCII , & hf_062_390_13_STAND , NULL } ;
static const FieldPart * I062_390_13_PARTS [ ] = { & I062_390_13_STAND , NULL } ;
/* Stand Status */
static const value_string valstr_062_390_14_EMP [ ] = {
{ 0 , " Empty " } ,
{ 1 , " Occupied " } ,
{ 2 , " Unknown " } ,
{ 3 , " Invalid " } ,
{ 0 , NULL }
} ;
static const value_string valstr_062_390_14_AVL [ ] = {
{ 0 , " Available " } ,
{ 1 , " Not available " } ,
{ 2 , " Unknown " } ,
{ 3 , " Invalid " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_390_14_EMP = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_390_14_EMP , NULL } ;
static const FieldPart I062_390_14_AVL = { 6 , 1.0 , FIELD_PART_UINT , & hf_062_390_14_AVL , NULL } ;
static const FieldPart * I062_390_14_PARTS [ ] = { & I062_390_14_EMP , & I062_390_14_AVL , NULL } ;
/* Standard Instrument Departure */
static const FieldPart I062_390_15_SID = { 56 , 1.0 , FIELD_PART_ASCII , & hf_062_390_15_SID , NULL } ;
static const FieldPart * I062_390_15_PARTS [ ] = { & I062_390_15_SID , NULL } ;
/* Standard Instrument Arrival */
static const FieldPart I062_390_16_STAR = { 56 , 1.0 , FIELD_PART_ASCII , & hf_062_390_16_STAR , NULL } ;
static const FieldPart * I062_390_16_PARTS [ ] = { & I062_390_16_STAR , NULL } ;
/* Pre-Emergency Mode 3/A */
static const value_string valstr_062_390_17_VA [ ] = {
{ 0 , " No valid Mode 3/A available " } ,
{ 1 , " Valid Mode 3/A available " } ,
{ 0 , NULL }
} ;
static const FieldPart I062_390_17_VA = { 1 , 1.0 , FIELD_PART_UINT , & hf_062_390_17_VA , NULL } ;
static const FieldPart I062_390_17_SQUAWK = { 12 , 1.0 , FIELD_PART_SQUAWK , & hf_062_390_17_SQUAWK , NULL } ;
static const FieldPart * I062_390_17_PARTS [ ] = { & IXXX_3bit_spare , & I062_390_17_VA , & I062_390_17_SQUAWK , NULL } ;
/* Pre-Emergency Callsign */
static const FieldPart I062_390_18_CS = { 56 , 1.0 , FIELD_PART_ASCII , & hf_062_390_18_CS , NULL } ;
static const FieldPart * I062_390_18_PARTS [ ] = { & I062_390_18_CS , NULL } ;
/* Estimated Accuracies */
/* Estimated Accuracy Of Track Position (Cartesian) */
static const FieldPart I062_500_01_APCX = { 16 , 0.5 , FIELD_PART_UFLOAT , & hf_062_500_01_APCX , NULL } ;
static const FieldPart I062_500_01_APCY = { 16 , 0.5 , FIELD_PART_UFLOAT , & hf_062_500_01_APCY , NULL } ;
static const FieldPart * I062_500_01_PARTS [ ] = { & I062_500_01_APCX , & I062_500_01_APCY , NULL } ;
/* XY covariance component */
static const FieldPart I062_500_02_COV = { 16 , 0.5 , FIELD_PART_FLOAT , & hf_062_500_02_COV , NULL } ;
static const FieldPart * I062_500_02_PARTS [ ] = { & I062_500_02_COV , NULL } ;
/* Estimated Accuracy Of Track Position (WGS-84) */
static const FieldPart I062_500_03_APWLAT = { 16 , 180.0 / 33554432.0 , FIELD_PART_FLOAT , & hf_062_500_03_APWLAT , NULL } ;
static const FieldPart I062_500_03_APWLON = { 16 , 180.0 / 33554432.0 , FIELD_PART_FLOAT , & hf_062_500_03_APWLON , NULL } ;
static const FieldPart * I062_500_03_PARTS [ ] = { & I062_500_03_APWLAT , & I062_500_03_APWLON , NULL } ;
/* Estimated Accuracy Of Calculated Track Geometric Altitude */
static const FieldPart I062_500_04_AGA = { 8 , 6.25 , FIELD_PART_UFLOAT , & hf_062_500_04_AGA , NULL } ;
static const FieldPart * I062_500_04_PARTS [ ] = { & I062_500_04_AGA , NULL } ;
/* Estimated Accuracy Of Calculated Track Barometric Altitude */
static const FieldPart I062_500_05_ABA = { 8 , 1.0 / 4.0 , FIELD_PART_UFLOAT , & hf_062_500_05_ABA , NULL } ;
static const FieldPart * I062_500_05_PARTS [ ] = { & I062_500_05_ABA , NULL } ;
/* Estimated Accuracy Of Track Velocity (Cartesian) */
static const FieldPart I062_500_06_ATVX = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_500_06_ATVX , NULL } ;
static const FieldPart I062_500_06_ATVY = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_500_06_ATVY , NULL } ;
static const FieldPart * I062_500_06_PARTS [ ] = { & I062_500_06_ATVX , & I062_500_06_ATVY , NULL } ;
/* Estimated Accuracy Of Acceleration (Cartesian) */
static const FieldPart I062_500_07_AAX = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_500_07_AAX , NULL } ;
static const FieldPart I062_500_07_AAY = { 8 , 0.25 , FIELD_PART_UFLOAT , & hf_062_500_07_AAY , NULL } ;
static const FieldPart * I062_500_07_PARTS [ ] = { & I062_500_07_AAX , & I062_500_07_AAY , NULL } ;
/* Estimated Accuracy Of Rate Of Climb/Descent */
static const FieldPart I062_500_08_ARC = { 8 , 6.25 , FIELD_PART_UFLOAT , & hf_062_500_08_ARC , NULL } ;
static const FieldPart * I062_500_08_PARTS [ ] = { & I062_500_08_ARC , NULL } ;
/* Composed Track Number */
static const FieldPart I062_510_SID = { 8 , 1.0 , FIELD_PART_UINT , & hf_062_510_SID , NULL } ;
static const FieldPart I062_510_STN = { 15 , 1.0 , FIELD_PART_UINT , & hf_062_510_STN , NULL } ;
2013-06-03 23:27:01 +00:00
static const FieldPart * I062_510_PARTS [ ] = { & I062_510_SID , & I062_510_STN , & IXXX_3FX , NULL } ;
2013-05-20 19:23:41 +00:00
/* Items */
static const AsterixField I062_010 = { FIXED , 2 , 0 , 0 , & hf_062_010 , IXXX_SAC_SIC , { NULL } } ;
static const AsterixField I062_015 = { FIXED , 1 , 0 , 0 , & hf_062_015 , I062_015_PARTS , { NULL } } ;
static const AsterixField I062_040 = { FIXED , 2 , 0 , 0 , & hf_062_040 , IXXX_TN_16_PARTS , { NULL } } ;
static const AsterixField I062_060 = { FIXED , 2 , 0 , 0 , & hf_062_060 , I062_060_PARTS , { NULL } } ;
static const AsterixField I062_070 = { FIXED , 3 , 0 , 0 , & hf_062_070 , IXXX_TOD , { NULL } } ;
static const AsterixField I062_080 = { FX , 1 , 0 , 0 , & hf_062_080 , I062_080_PARTS , { NULL } } ;
static const AsterixField I062_100 = { FIXED , 6 , 0 , 0 , & hf_062_100 , I062_100_PARTS , { NULL } } ;
static const AsterixField I062_105 = { FIXED , 8 , 0 , 0 , & hf_062_105 , I062_105_PARTS , { NULL } } ;
static const AsterixField I062_110_01 = { FIXED , 1 , 0 , 0 , & hf_062_110_01 , I062_110_01_PARTS , { NULL } } ;
static const AsterixField I062_110_02 = { FIXED , 4 , 0 , 0 , & hf_062_110_02 , I062_110_02_PARTS , { NULL } } ;
static const AsterixField I062_110_03 = { FIXED , 6 , 0 , 0 , & hf_062_110_03 , I062_110_03_PARTS , { NULL } } ;
static const AsterixField I062_110_04 = { FIXED , 2 , 0 , 0 , & hf_062_110_04 , I062_110_04_PARTS , { NULL } } ;
static const AsterixField I062_110_05 = { FIXED , 2 , 0 , 0 , & hf_062_110_05 , I062_110_05_PARTS , { NULL } } ;
static const AsterixField I062_110_06 = { FIXED , 1 , 0 , 0 , & hf_062_110_06 , I062_110_06_PARTS , { NULL } } ;
static const AsterixField I062_110_07 = { FIXED , 1 , 0 , 0 , & hf_062_110_07 , I062_110_07_PARTS , { NULL } } ;
static const AsterixField I062_110 = { COMPOUND , 0 , 0 , 0 , & hf_062_110 , NULL , { & I062_110_01 ,
& I062_110_02 ,
& I062_110_03 ,
& I062_110_04 ,
& I062_110_05 ,
& I062_110_06 ,
& I062_110_07 ,
NULL } } ;
static const AsterixField I062_120 = { FIXED , 2 , 0 , 0 , & hf_062_120 , I062_120_PARTS , { NULL } } ;
static const AsterixField I062_130 = { FIXED , 2 , 0 , 0 , & hf_062_130 , I062_130_PARTS , { NULL } } ;
static const AsterixField I062_135 = { FIXED , 2 , 0 , 0 , & hf_062_135 , I062_135_PARTS , { NULL } } ;
static const AsterixField I062_136 = { FIXED , 2 , 0 , 0 , & hf_062_136 , I062_136_PARTS , { NULL } } ;
static const AsterixField I062_185 = { FIXED , 4 , 0 , 0 , & hf_062_185 , I062_185_PARTS , { NULL } } ;
static const AsterixField I062_200 = { FIXED , 1 , 0 , 0 , & hf_062_200 , I062_200_PARTS , { NULL } } ;
static const AsterixField I062_210 = { FIXED , 2 , 0 , 0 , & hf_062_210 , I062_210_PARTS , { NULL } } ;
static const AsterixField I062_220 = { FIXED , 2 , 0 , 0 , & hf_062_220 , I062_220_PARTS , { NULL } } ;
static const AsterixField I062_245 = { FIXED , 7 , 0 , 0 , & hf_062_245 , NULL , { NULL } } ;
static const AsterixField I062_270 = { FX , 1 , 0 , 0 , & hf_062_270 , I062_270_PARTS , { NULL } } ;
static const AsterixField I062_290_01 = { FIXED , 1 , 0 , 0 , & hf_062_290_01 , I062_290_01_PARTS , { NULL } } ;
static const AsterixField I062_290_02 = { FIXED , 1 , 0 , 0 , & hf_062_290_02 , I062_290_02_PARTS , { NULL } } ;
static const AsterixField I062_290_03 = { FIXED , 1 , 0 , 0 , & hf_062_290_03 , I062_290_03_PARTS , { NULL } } ;
static const AsterixField I062_290_04 = { FIXED , 1 , 0 , 0 , & hf_062_290_04 , I062_290_04_PARTS , { NULL } } ;
static const AsterixField I062_290_05 = { FIXED , 2 , 0 , 0 , & hf_062_290_05 , I062_290_05_PARTS , { NULL } } ;
static const AsterixField I062_290_06 = { FIXED , 1 , 0 , 0 , & hf_062_290_06 , I062_290_06_PARTS , { NULL } } ;
static const AsterixField I062_290_07 = { FIXED , 1 , 0 , 0 , & hf_062_290_07 , I062_290_07_PARTS , { NULL } } ;
static const AsterixField I062_290_08 = { FIXED , 1 , 0 , 0 , & hf_062_290_08 , I062_290_08_PARTS , { NULL } } ;
static const AsterixField I062_290_09 = { FIXED , 1 , 0 , 0 , & hf_062_290_09 , I062_290_09_PARTS , { NULL } } ;
static const AsterixField I062_290_10 = { FIXED , 1 , 0 , 0 , & hf_062_290_10 , I062_290_10_PARTS , { NULL } } ;
static const AsterixField I062_290 = { COMPOUND , 0 , 0 , 0 , & hf_062_290 , NULL , { & I062_290_01 ,
& I062_290_02 ,
& I062_290_03 ,
& I062_290_04 ,
& I062_290_05 ,
& I062_290_06 ,
& I062_290_07 ,
& I062_290_08 ,
& I062_290_09 ,
& I062_290_10 ,
NULL } } ;
static const AsterixField I062_295_01 = { FIXED , 1 , 0 , 0 , & hf_062_295_01 , I062_295_01_PARTS , { NULL } } ;
static const AsterixField I062_295_02 = { FIXED , 1 , 0 , 0 , & hf_062_295_02 , I062_295_02_PARTS , { NULL } } ;
static const AsterixField I062_295_03 = { FIXED , 1 , 0 , 0 , & hf_062_295_03 , I062_295_03_PARTS , { NULL } } ;
static const AsterixField I062_295_04 = { FIXED , 1 , 0 , 0 , & hf_062_295_04 , I062_295_04_PARTS , { NULL } } ;
static const AsterixField I062_295_05 = { FIXED , 1 , 0 , 0 , & hf_062_295_05 , I062_295_05_PARTS , { NULL } } ;
static const AsterixField I062_295_06 = { FIXED , 1 , 0 , 0 , & hf_062_295_06 , I062_295_06_PARTS , { NULL } } ;
static const AsterixField I062_295_07 = { FIXED , 1 , 0 , 0 , & hf_062_295_07 , I062_295_07_PARTS , { NULL } } ;
static const AsterixField I062_295_08 = { FIXED , 1 , 0 , 0 , & hf_062_295_08 , I062_295_08_PARTS , { NULL } } ;
static const AsterixField I062_295_09 = { FIXED , 1 , 0 , 0 , & hf_062_295_09 , I062_295_09_PARTS , { NULL } } ;
static const AsterixField I062_295_10 = { FIXED , 1 , 0 , 0 , & hf_062_295_10 , I062_295_10_PARTS , { NULL } } ;
static const AsterixField I062_295_11 = { FIXED , 1 , 0 , 0 , & hf_062_295_11 , I062_295_11_PARTS , { NULL } } ;
static const AsterixField I062_295_12 = { FIXED , 1 , 0 , 0 , & hf_062_295_12 , I062_295_12_PARTS , { NULL } } ;
static const AsterixField I062_295_13 = { FIXED , 1 , 0 , 0 , & hf_062_295_13 , I062_295_13_PARTS , { NULL } } ;
static const AsterixField I062_295_14 = { FIXED , 1 , 0 , 0 , & hf_062_295_14 , I062_295_14_PARTS , { NULL } } ;
static const AsterixField I062_295_15 = { FIXED , 1 , 0 , 0 , & hf_062_295_15 , I062_295_15_PARTS , { NULL } } ;
static const AsterixField I062_295_16 = { FIXED , 1 , 0 , 0 , & hf_062_295_16 , I062_295_16_PARTS , { NULL } } ;
static const AsterixField I062_295_17 = { FIXED , 1 , 0 , 0 , & hf_062_295_17 , I062_295_17_PARTS , { NULL } } ;
static const AsterixField I062_295_18 = { FIXED , 1 , 0 , 0 , & hf_062_295_18 , I062_295_18_PARTS , { NULL } } ;
static const AsterixField I062_295_19 = { FIXED , 1 , 0 , 0 , & hf_062_295_19 , I062_295_19_PARTS , { NULL } } ;
static const AsterixField I062_295_20 = { FIXED , 1 , 0 , 0 , & hf_062_295_20 , I062_295_20_PARTS , { NULL } } ;
static const AsterixField I062_295_21 = { FIXED , 1 , 0 , 0 , & hf_062_295_21 , I062_295_21_PARTS , { NULL } } ;
static const AsterixField I062_295_22 = { FIXED , 1 , 0 , 0 , & hf_062_295_22 , I062_295_22_PARTS , { NULL } } ;
static const AsterixField I062_295_23 = { FIXED , 1 , 0 , 0 , & hf_062_295_23 , I062_295_23_PARTS , { NULL } } ;
static const AsterixField I062_295_24 = { FIXED , 1 , 0 , 0 , & hf_062_295_24 , I062_295_24_PARTS , { NULL } } ;
static const AsterixField I062_295_25 = { FIXED , 1 , 0 , 0 , & hf_062_295_25 , I062_295_25_PARTS , { NULL } } ;
static const AsterixField I062_295_26 = { FIXED , 1 , 0 , 0 , & hf_062_295_26 , I062_295_26_PARTS , { NULL } } ;
static const AsterixField I062_295_27 = { FIXED , 1 , 0 , 0 , & hf_062_295_27 , I062_295_27_PARTS , { NULL } } ;
static const AsterixField I062_295_28 = { FIXED , 1 , 0 , 0 , & hf_062_295_28 , I062_295_28_PARTS , { NULL } } ;
static const AsterixField I062_295_29 = { FIXED , 1 , 0 , 0 , & hf_062_295_29 , I062_295_29_PARTS , { NULL } } ;
static const AsterixField I062_295_30 = { FIXED , 1 , 0 , 0 , & hf_062_295_30 , I062_295_30_PARTS , { NULL } } ;
static const AsterixField I062_295_31 = { FIXED , 1 , 0 , 0 , & hf_062_295_31 , I062_295_31_PARTS , { NULL } } ;
static const AsterixField I062_295 = { COMPOUND , 0 , 0 , 0 , & hf_062_295 , NULL , { & I062_295_01 ,
& I062_295_02 ,
& I062_295_03 ,
& I062_295_04 ,
& I062_295_05 ,
& I062_295_06 ,
& I062_295_07 ,
& I062_295_08 ,
& I062_295_09 ,
& I062_295_10 ,
& I062_295_11 ,
& I062_295_12 ,
& I062_295_13 ,
& I062_295_14 ,
& I062_295_15 ,
& I062_295_16 ,
& I062_295_17 ,
& I062_295_18 ,
& I062_295_19 ,
& I062_295_20 ,
& I062_295_21 ,
& I062_295_22 ,
& I062_295_23 ,
& I062_295_24 ,
& I062_295_25 ,
& I062_295_26 ,
& I062_295_27 ,
& I062_295_28 ,
& I062_295_29 ,
& I062_295_30 ,
& I062_295_31 ,
NULL } } ;
static const AsterixField I062_300 = { FIXED , 1 , 0 , 0 , & hf_062_300 , I062_300_PARTS , { NULL } } ;
static const AsterixField I062_340_01 = { FIXED , 2 , 0 , 0 , & hf_062_340_01 , IXXX_SAC_SIC , { NULL } } ;
static const AsterixField I062_340_02 = { FIXED , 4 , 0 , 0 , & hf_062_340_02 , I062_340_02_PARTS , { NULL } } ;
static const AsterixField I062_340_03 = { FIXED , 2 , 0 , 0 , & hf_062_340_03 , I062_340_03_PARTS , { NULL } } ;
static const AsterixField I062_340_04 = { FIXED , 2 , 0 , 0 , & hf_062_340_04 , I062_340_04_PARTS , { NULL } } ;
static const AsterixField I062_340_05 = { FIXED , 2 , 0 , 0 , & hf_062_340_05 , I062_340_05_PARTS , { NULL } } ;
static const AsterixField I062_340_06 = { FIXED , 1 , 0 , 0 , & hf_062_340_06 , I062_340_06_PARTS , { NULL } } ;
static const AsterixField I062_340 = { COMPOUND , 0 , 0 , 0 , & hf_062_340 , NULL , { & I062_340_01 ,
& I062_340_02 ,
& I062_340_03 ,
& I062_340_04 ,
& I062_340_05 ,
& I062_340_06 ,
NULL } } ;
static const AsterixField I062_380_01 = { FIXED , 3 , 0 , 0 , & hf_062_380_01 , IXXX_AA_PARTS , { NULL } } ;
static const AsterixField I062_380_02 = { FIXED , 6 , 0 , 0 , & hf_062_380_02 , IXXX_AI_PARTS , { NULL } } ;
static const AsterixField I062_380_03 = { FIXED , 2 , 0 , 0 , & hf_062_380_03 , I062_380_03_PARTS , { NULL } } ;
static const AsterixField I062_380_04 = { FIXED , 2 , 0 , 0 , & hf_062_380_04 , I062_380_04_PARTS , { NULL } } ;
static const AsterixField I062_380_05 = { FIXED , 2 , 0 , 0 , & hf_062_380_05 , I062_380_05_PARTS , { NULL } } ;
static const AsterixField I062_380_06 = { FIXED , 2 , 0 , 0 , & hf_062_380_06 , I062_380_06_PARTS , { NULL } } ;
static const AsterixField I062_380_07 = { FIXED , 2 , 0 , 0 , & hf_062_380_07 , I062_380_07_PARTS , { NULL } } ;
static const AsterixField I062_380_08 = { FX , 1 , 0 , 0 , & hf_062_380_08 , I062_380_08_PARTS , { NULL } } ;
static const AsterixField I062_380_09 = { REPETITIVE , 15 , 1 , 0 , & hf_062_380_09 , I062_380_09_PARTS , { NULL } } ;
static const AsterixField I062_380_10 = { FIXED , 2 , 0 , 0 , & hf_062_380_10 , I062_380_10_PARTS , { NULL } } ;
static const AsterixField I062_380_11 = { FIXED , 2 , 0 , 0 , & hf_062_380_11 , I062_380_11_PARTS , { NULL } } ;
static const AsterixField I062_380_12 = { FIXED , 7 , 0 , 0 , & hf_062_380_12 , I062_380_12_PARTS , { NULL } } ;
static const AsterixField I062_380_13 = { FIXED , 2 , 0 , 0 , & hf_062_380_13 , I062_380_13_PARTS , { NULL } } ;
static const AsterixField I062_380_14 = { FIXED , 2 , 0 , 0 , & hf_062_380_14 , I062_380_14_PARTS , { NULL } } ;
static const AsterixField I062_380_15 = { FIXED , 2 , 0 , 0 , & hf_062_380_15 , I062_380_15_PARTS , { NULL } } ;
static const AsterixField I062_380_16 = { FIXED , 2 , 0 , 0 , & hf_062_380_16 , I062_380_16_PARTS , { NULL } } ;
static const AsterixField I062_380_17 = { FIXED , 2 , 0 , 0 , & hf_062_380_17 , I062_380_17_PARTS , { NULL } } ;
static const AsterixField I062_380_18 = { FIXED , 2 , 0 , 0 , & hf_062_380_18 , I062_380_18_PARTS , { NULL } } ;
static const AsterixField I062_380_19 = { FIXED , 1 , 0 , 0 , & hf_062_380_19 , I062_380_19_PARTS , { NULL } } ;
static const AsterixField I062_380_20 = { FIXED , 8 , 0 , 0 , & hf_062_380_20 , I062_380_20_PARTS , { NULL } } ;
static const AsterixField I062_380_21 = { FIXED , 1 , 0 , 0 , & hf_062_380_21 , I062_380_21_PARTS , { NULL } } ;
static const AsterixField I062_380_22 = { FIXED , 6 , 0 , 0 , & hf_062_380_22 , I062_380_22_PARTS , { NULL } } ;
static const AsterixField I062_380_23 = { FIXED , 2 , 0 , 0 , & hf_062_380_23 , I062_380_23_PARTS , { NULL } } ;
static const AsterixField I062_380_24 = { FIXED , 1 , 0 , 0 , & hf_062_380_24 , I062_380_24_PARTS , { NULL } } ;
static const AsterixField I062_380_25 = { REPETITIVE , 8 , 1 , 0 , & hf_062_380_25 , IXXX_MB , { NULL } } ;
static const AsterixField I062_380_26 = { FIXED , 2 , 0 , 0 , & hf_062_380_26 , I062_380_26_PARTS , { NULL } } ;
static const AsterixField I062_380_27 = { FIXED , 2 , 0 , 0 , & hf_062_380_27 , I062_380_27_PARTS , { NULL } } ;
static const AsterixField I062_380_28 = { FIXED , 2 , 0 , 0 , & hf_062_380_28 , I062_380_28_PARTS , { NULL } } ;
static const AsterixField I062_380 = { COMPOUND , 0 , 0 , 0 , & hf_062_380 , NULL , { & I062_380_01 ,
& I062_380_02 ,
& I062_380_03 ,
& I062_380_04 ,
& I062_380_05 ,
& I062_380_06 ,
& I062_380_07 ,
& I062_380_08 ,
& I062_380_09 ,
& I062_380_10 ,
& I062_380_11 ,
& I062_380_12 ,
& I062_380_13 ,
& I062_380_14 ,
& I062_380_15 ,
& I062_380_16 ,
& I062_380_17 ,
& I062_380_18 ,
& I062_380_19 ,
& I062_380_20 ,
& I062_380_21 ,
& I062_380_22 ,
& I062_380_23 ,
& I062_380_24 ,
& I062_380_25 ,
& I062_380_26 ,
& I062_380_27 ,
& I062_380_28 ,
NULL } } ;
static const AsterixField I062_390_01 = { FIXED , 2 , 0 , 0 , & hf_062_390_01 , IXXX_SAC_SIC , { NULL } } ;
static const AsterixField I062_390_02 = { FIXED , 7 , 0 , 0 , & hf_062_390_02 , I062_390_02_PARTS , { NULL } } ;
static const AsterixField I062_390_03 = { FIXED , 4 , 0 , 0 , & hf_062_390_03 , I062_390_03_PARTS , { NULL } } ;
static const AsterixField I062_390_04 = { FIXED , 1 , 0 , 0 , & hf_062_390_04 , I062_390_04_PARTS , { NULL } } ;
static const AsterixField I062_390_05 = { FIXED , 4 , 0 , 0 , & hf_062_390_05 , I062_390_05_PARTS , { NULL } } ;
static const AsterixField I062_390_06 = { FIXED , 1 , 0 , 0 , & hf_062_390_06 , I062_390_06_PARTS , { NULL } } ;
static const AsterixField I062_390_07 = { FIXED , 4 , 0 , 0 , & hf_062_390_07 , I062_390_07_PARTS , { NULL } } ;
static const AsterixField I062_390_08 = { FIXED , 4 , 0 , 0 , & hf_062_390_08 , I062_390_08_PARTS , { NULL } } ;
static const AsterixField I062_390_09 = { FIXED , 3 , 0 , 0 , & hf_062_390_09 , I062_390_09_PARTS , { NULL } } ;
static const AsterixField I062_390_10 = { FIXED , 2 , 0 , 0 , & hf_062_390_10 , I062_390_10_PARTS , { NULL } } ;
static const AsterixField I062_390_11 = { FIXED , 2 , 0 , 0 , & hf_062_390_11 , I062_390_11_PARTS , { NULL } } ;
static const AsterixField I062_390_12 = { REPETITIVE , 4 , 1 , 0 , & hf_062_390_12 , I062_390_12_PARTS , { NULL } } ;
static const AsterixField I062_390_13 = { FIXED , 6 , 0 , 0 , & hf_062_390_13 , I062_390_13_PARTS , { NULL } } ;
static const AsterixField I062_390_14 = { FIXED , 1 , 0 , 0 , & hf_062_390_14 , I062_390_14_PARTS , { NULL } } ;
static const AsterixField I062_390_15 = { FIXED , 7 , 0 , 0 , & hf_062_390_15 , I062_390_15_PARTS , { NULL } } ;
static const AsterixField I062_390_16 = { FIXED , 7 , 0 , 0 , & hf_062_390_16 , I062_390_16_PARTS , { NULL } } ;
static const AsterixField I062_390_17 = { FIXED , 2 , 0 , 0 , & hf_062_390_17 , I062_390_17_PARTS , { NULL } } ;
static const AsterixField I062_390_18 = { FIXED , 7 , 0 , 0 , & hf_062_390_18 , I062_390_18_PARTS , { NULL } } ;
static const AsterixField I062_390 = { COMPOUND , 0 , 0 , 0 , & hf_062_390 , NULL , { & I062_390_01 ,
& I062_390_02 ,
& I062_390_03 ,
& I062_390_04 ,
& I062_390_05 ,
& I062_390_06 ,
& I062_390_07 ,
& I062_390_08 ,
& I062_390_09 ,
& I062_390_10 ,
& I062_390_11 ,
& I062_390_12 ,
& I062_390_13 ,
& I062_390_14 ,
& I062_390_15 ,
& I062_390_16 ,
& I062_390_17 ,
& I062_390_18 ,
NULL } } ;
static const AsterixField I062_500_01 = { FIXED , 4 , 0 , 0 , & hf_062_500_01 , I062_500_01_PARTS , { NULL } } ;
static const AsterixField I062_500_02 = { FIXED , 2 , 0 , 0 , & hf_062_500_02 , I062_500_02_PARTS , { NULL } } ;
static const AsterixField I062_500_03 = { FIXED , 4 , 0 , 0 , & hf_062_500_03 , I062_500_03_PARTS , { NULL } } ;
static const AsterixField I062_500_04 = { FIXED , 1 , 0 , 0 , & hf_062_500_04 , I062_500_04_PARTS , { NULL } } ;
static const AsterixField I062_500_05 = { FIXED , 1 , 0 , 0 , & hf_062_500_05 , I062_500_05_PARTS , { NULL } } ;
static const AsterixField I062_500_06 = { FIXED , 2 , 0 , 0 , & hf_062_500_06 , I062_500_06_PARTS , { NULL } } ;
static const AsterixField I062_500_07 = { FIXED , 2 , 0 , 0 , & hf_062_500_07 , I062_500_07_PARTS , { NULL } } ;
static const AsterixField I062_500_08 = { FIXED , 1 , 0 , 0 , & hf_062_500_08 , I062_500_08_PARTS , { NULL } } ;
static const AsterixField I062_500 = { COMPOUND , 0 , 0 , 0 , & hf_062_500 , NULL , { & I062_500_01 ,
& I062_500_02 ,
& I062_500_03 ,
& I062_500_04 ,
& I062_500_05 ,
& I062_500_06 ,
& I062_500_07 ,
& I062_500_08 ,
NULL } } ;
static const AsterixField I062_510 = { FX , 3 , 0 , 0 , & hf_062_510 , I062_510_PARTS , { NULL } } ;
static const AsterixField I062_RE = { VAR , 0 , 0 , 1 , & hf_062_RE , NULL , { NULL } } ;
static const AsterixField I062_SP = { VAR , 0 , 0 , 1 , & hf_062_SP , NULL , { NULL } } ;
static const AsterixField * I062 [ ] = { & I062_010 , & IX_SPARE , & I062_015 , & I062_070 , & I062_105 , & I062_100 , & I062_185 ,
& I062_210 , & I062_060 , & I062_245 , & I062_380 , & I062_040 , & I062_080 , & I062_290 ,
& I062_200 , & I062_295 , & I062_136 , & I062_130 , & I062_135 , & I062_220 , & I062_390 ,
& I062_270 , & I062_300 , & I062_110 , & I062_120 , & I062_510 , & I062_500 , & I062_340 ,
& IX_SPARE , & IX_SPARE , & IX_SPARE , & IX_SPARE , & IX_SPARE , & I062_RE , & I062_SP , NULL } ;
/* *********************** */
/* Category 063 */
/* *********************** */
/* Fields */
/* Items */
static const AsterixField I063_010 = { FIXED , 2 , 0 , 0 , & hf_063_010 , IXXX_SAC_SIC , { NULL } } ;
static const AsterixField I063_015 = { FIXED , 1 , 0 , 0 , & hf_063_015 , NULL , { NULL } } ;
static const AsterixField I063_030 = { FIXED , 3 , 0 , 0 , & hf_063_030 , IXXX_TOD , { NULL } } ;
static const AsterixField I063_050 = { FIXED , 2 , 0 , 0 , & hf_063_050 , IXXX_SAC_SIC , { NULL } } ;
static const AsterixField I063_060 = { FX , 1 , 0 , 0 , & hf_063_060 , NULL , { NULL } } ;
static const AsterixField I063_070 = { FIXED , 2 , 0 , 0 , & hf_063_070 , NULL , { NULL } } ;
static const AsterixField I063_080 = { FIXED , 4 , 0 , 0 , & hf_063_080 , NULL , { NULL } } ;
static const AsterixField I063_081 = { FIXED , 2 , 0 , 0 , & hf_063_081 , NULL , { NULL } } ;
static const AsterixField I063_090 = { FIXED , 4 , 0 , 0 , & hf_063_090 , NULL , { NULL } } ;
static const AsterixField I063_091 = { FIXED , 2 , 0 , 0 , & hf_063_091 , NULL , { NULL } } ;
static const AsterixField I063_092 = { FIXED , 2 , 0 , 0 , & hf_063_092 , NULL , { NULL } } ;
static const AsterixField I063_RE = { VAR , 0 , 0 , 1 , & hf_063_RE , NULL , { NULL } } ;
static const AsterixField I063_SP = { VAR , 0 , 0 , 1 , & hf_063_SP , NULL , { NULL } } ;
static const AsterixField * I063 [ ] = { & I063_010 , & I063_015 , & I063_030 , & I063_050 , & I063_060 , & I063_070 , & I063_080 ,
& I063_081 , & I063_090 , & I063_091 , & I063_092 , & IX_SPARE , & I063_RE , & I063_SP , NULL } ;
/* *********************** */
/* Category 065 */
/* *********************** */
/* Fields */
/* Items */
static const AsterixField I065_000 = { FIXED , 1 , 0 , 0 , & hf_065_000 , NULL , { NULL } } ;
static const AsterixField I065_010 = { FIXED , 2 , 0 , 0 , & hf_065_010 , IXXX_SAC_SIC , { NULL } } ;
static const AsterixField I065_015 = { FIXED , 1 , 0 , 0 , & hf_065_015 , NULL , { NULL } } ;
static const AsterixField I065_020 = { FIXED , 1 , 0 , 0 , & hf_065_020 , NULL , { NULL } } ;
static const AsterixField I065_030 = { FIXED , 3 , 0 , 0 , & hf_065_030 , IXXX_TOD , { NULL } } ;
static const AsterixField I065_040 = { FIXED , 1 , 0 , 0 , & hf_065_040 , NULL , { NULL } } ;
static const AsterixField I065_050 = { FIXED , 1 , 0 , 0 , & hf_065_050 , NULL , { NULL } } ;
static const AsterixField I065_RE = { VAR , 0 , 0 , 1 , & hf_065_RE , NULL , { NULL } } ;
static const AsterixField I065_SP = { VAR , 0 , 0 , 1 , & hf_065_SP , NULL , { NULL } } ;
static const AsterixField * I065 [ ] = { & I065_010 , & I065_000 , & I065_015 , & I065_030 , & I065_020 , & I065_040 , & I065_050 ,
& IX_SPARE , & IX_SPARE , & IX_SPARE , & IX_SPARE , & IX_SPARE , & I065_RE , & I065_SP , NULL } ;
/* number of available user application profiles limited to 2 */
/* if needed array will have to be extended */
static const AsterixField * * uap [ ] [ 2 ] = {
{ NULL , NULL } , /* 000 */
{ I001_PLOT , I001_TRACK } , /* 001 */
{ I002 , NULL } , /* 002 */
{ NULL , NULL } , /* 003 */
{ NULL , NULL } , /* 004 */
{ NULL , NULL } , /* 005 */
{ NULL , NULL } , /* 006 */
{ NULL , NULL } , /* 007 */
{ NULL , NULL } , /* 008 */
2013-06-03 23:27:01 +00:00
{ I009 , NULL } , /* 009 */
2013-05-20 19:23:41 +00:00
{ NULL , NULL } , /* 010 */
{ NULL , NULL } , /* 011 */
{ NULL , NULL } , /* 012 */
{ NULL , NULL } , /* 013 */
{ NULL , NULL } , /* 014 */
{ NULL , NULL } , /* 015 */
{ NULL , NULL } , /* 016 */
{ NULL , NULL } , /* 017 */
{ NULL , NULL } , /* 018 */
{ NULL , NULL } , /* 019 */
{ NULL , NULL } , /* 020 */
{ NULL , NULL } , /* 021 */
{ NULL , NULL } , /* 022 */
{ NULL , NULL } , /* 023 */
{ NULL , NULL } , /* 024 */
{ NULL , NULL } , /* 025 */
{ NULL , NULL } , /* 026 */
{ NULL , NULL } , /* 027 */
{ NULL , NULL } , /* 028 */
{ NULL , NULL } , /* 029 */
{ NULL , NULL } , /* 030 */
{ NULL , NULL } , /* 031 */
{ NULL , NULL } , /* 032 */
{ NULL , NULL } , /* 033 */
{ I034 , NULL } , /* 034 */
{ NULL , NULL } , /* 035 */
{ NULL , NULL } , /* 036 */
{ NULL , NULL } , /* 037 */
{ NULL , NULL } , /* 038 */
{ NULL , NULL } , /* 039 */
{ NULL , NULL } , /* 040 */
{ NULL , NULL } , /* 041 */
{ NULL , NULL } , /* 042 */
{ NULL , NULL } , /* 043 */
{ NULL , NULL } , /* 044 */
{ NULL , NULL } , /* 045 */
{ NULL , NULL } , /* 046 */
{ NULL , NULL } , /* 047 */
{ I048 , NULL } , /* 048 */
{ NULL , NULL } , /* 049 */
{ NULL , NULL } , /* 050 */
{ NULL , NULL } , /* 051 */
{ NULL , NULL } , /* 052 */
{ NULL , NULL } , /* 053 */
{ NULL , NULL } , /* 054 */
{ NULL , NULL } , /* 055 */
{ NULL , NULL } , /* 056 */
{ NULL , NULL } , /* 057 */
{ NULL , NULL } , /* 058 */
{ NULL , NULL } , /* 059 */
{ NULL , NULL } , /* 060 */
{ NULL , NULL } , /* 061 */
{ I062 , NULL } , /* 062 */
{ I063 , NULL } , /* 063 */
{ NULL , NULL } , /* 064 */
{ I065 , NULL } , /* 065 */
{ NULL , NULL } , /* 066 */
{ NULL , NULL } , /* 067 */
{ NULL , NULL } , /* 068 */
{ NULL , NULL } , /* 069 */
{ NULL , NULL } , /* 070 */
{ NULL , NULL } , /* 071 */
{ NULL , NULL } , /* 072 */
{ NULL , NULL } , /* 073 */
{ NULL , NULL } , /* 074 */
{ NULL , NULL } , /* 075 */
{ NULL , NULL } , /* 076 */
{ NULL , NULL } , /* 077 */
{ NULL , NULL } , /* 078 */
{ NULL , NULL } , /* 079 */
{ NULL , NULL } , /* 080 */
{ NULL , NULL } , /* 081 */
{ NULL , NULL } , /* 082 */
{ NULL , NULL } , /* 083 */
{ NULL , NULL } , /* 084 */
{ NULL , NULL } , /* 085 */
{ NULL , NULL } , /* 086 */
{ NULL , NULL } , /* 087 */
{ NULL , NULL } , /* 088 */
{ NULL , NULL } , /* 089 */
{ NULL , NULL } , /* 090 */
{ NULL , NULL } , /* 091 */
{ NULL , NULL } , /* 092 */
{ NULL , NULL } , /* 093 */
{ NULL , NULL } , /* 094 */
{ NULL , NULL } , /* 095 */
{ NULL , NULL } , /* 096 */
{ NULL , NULL } , /* 097 */
{ NULL , NULL } , /* 098 */
{ NULL , NULL } , /* 099 */
{ NULL , NULL } , /* 100 */
{ NULL , NULL } , /* 101 */
{ NULL , NULL } , /* 102 */
{ NULL , NULL } , /* 103 */
{ NULL , NULL } , /* 104 */
{ NULL , NULL } , /* 105 */
{ NULL , NULL } , /* 106 */
{ NULL , NULL } , /* 107 */
{ NULL , NULL } , /* 108 */
{ NULL , NULL } , /* 109 */
{ NULL , NULL } , /* 110 */
{ NULL , NULL } , /* 111 */
{ NULL , NULL } , /* 112 */
{ NULL , NULL } , /* 113 */
{ NULL , NULL } , /* 114 */
{ NULL , NULL } , /* 115 */
{ NULL , NULL } , /* 116 */
{ NULL , NULL } , /* 117 */
{ NULL , NULL } , /* 118 */
{ NULL , NULL } , /* 119 */
{ NULL , NULL } , /* 120 */
{ NULL , NULL } , /* 121 */
{ NULL , NULL } , /* 122 */
{ NULL , NULL } , /* 123 */
{ NULL , NULL } , /* 124 */
{ NULL , NULL } , /* 125 */
{ NULL , NULL } , /* 126 */
{ NULL , NULL } , /* 127 */
{ NULL , NULL } , /* 128 */
{ NULL , NULL } , /* 129 */
{ NULL , NULL } , /* 130 */
{ NULL , NULL } , /* 131 */
{ NULL , NULL } , /* 132 */
{ NULL , NULL } , /* 133 */
{ NULL , NULL } , /* 134 */
{ NULL , NULL } , /* 135 */
{ NULL , NULL } , /* 136 */
{ NULL , NULL } , /* 137 */
{ NULL , NULL } , /* 138 */
{ NULL , NULL } , /* 139 */
{ NULL , NULL } , /* 140 */
{ NULL , NULL } , /* 141 */
{ NULL , NULL } , /* 142 */
{ NULL , NULL } , /* 143 */
{ NULL , NULL } , /* 144 */
{ NULL , NULL } , /* 145 */
{ NULL , NULL } , /* 146 */
{ NULL , NULL } , /* 147 */
{ NULL , NULL } , /* 148 */
{ NULL , NULL } , /* 149 */
{ NULL , NULL } , /* 150 */
{ NULL , NULL } , /* 151 */
{ NULL , NULL } , /* 152 */
{ NULL , NULL } , /* 153 */
{ NULL , NULL } , /* 154 */
{ NULL , NULL } , /* 155 */
{ NULL , NULL } , /* 156 */
{ NULL , NULL } , /* 157 */
{ NULL , NULL } , /* 158 */
{ NULL , NULL } , /* 159 */
{ NULL , NULL } , /* 160 */
{ NULL , NULL } , /* 161 */
{ NULL , NULL } , /* 162 */
{ NULL , NULL } , /* 163 */
{ NULL , NULL } , /* 164 */
{ NULL , NULL } , /* 165 */
{ NULL , NULL } , /* 166 */
{ NULL , NULL } , /* 167 */
{ NULL , NULL } , /* 168 */
{ NULL , NULL } , /* 169 */
{ NULL , NULL } , /* 170 */
{ NULL , NULL } , /* 171 */
{ NULL , NULL } , /* 172 */
{ NULL , NULL } , /* 173 */
{ NULL , NULL } , /* 174 */
{ NULL , NULL } , /* 175 */
{ NULL , NULL } , /* 176 */
{ NULL , NULL } , /* 177 */
{ NULL , NULL } , /* 178 */
{ NULL , NULL } , /* 179 */
{ NULL , NULL } , /* 180 */
{ NULL , NULL } , /* 181 */
{ NULL , NULL } , /* 182 */
{ NULL , NULL } , /* 183 */
{ NULL , NULL } , /* 184 */
{ NULL , NULL } , /* 185 */
{ NULL , NULL } , /* 186 */
{ NULL , NULL } , /* 187 */
{ NULL , NULL } , /* 188 */
{ NULL , NULL } , /* 189 */
{ NULL , NULL } , /* 190 */
{ NULL , NULL } , /* 191 */
{ NULL , NULL } , /* 192 */
{ NULL , NULL } , /* 193 */
{ NULL , NULL } , /* 194 */
{ NULL , NULL } , /* 195 */
{ NULL , NULL } , /* 196 */
{ NULL , NULL } , /* 197 */
{ NULL , NULL } , /* 198 */
{ NULL , NULL } , /* 199 */
{ NULL , NULL } , /* 200 */
{ NULL , NULL } , /* 201 */
{ NULL , NULL } , /* 202 */
{ NULL , NULL } , /* 203 */
{ NULL , NULL } , /* 204 */
{ NULL , NULL } , /* 205 */
{ NULL , NULL } , /* 206 */
{ NULL , NULL } , /* 207 */
{ NULL , NULL } , /* 208 */
{ NULL , NULL } , /* 209 */
{ NULL , NULL } , /* 210 */
{ NULL , NULL } , /* 211 */
{ NULL , NULL } , /* 212 */
{ NULL , NULL } , /* 213 */
{ NULL , NULL } , /* 214 */
{ NULL , NULL } , /* 215 */
{ NULL , NULL } , /* 216 */
{ NULL , NULL } , /* 217 */
{ NULL , NULL } , /* 218 */
{ NULL , NULL } , /* 219 */
{ NULL , NULL } , /* 220 */
{ NULL , NULL } , /* 221 */
{ NULL , NULL } , /* 222 */
{ NULL , NULL } , /* 223 */
{ NULL , NULL } , /* 224 */
{ NULL , NULL } , /* 225 */
{ NULL , NULL } , /* 226 */
{ NULL , NULL } , /* 227 */
{ NULL , NULL } , /* 228 */
{ NULL , NULL } , /* 229 */
{ NULL , NULL } , /* 230 */
{ NULL , NULL } , /* 231 */
{ NULL , NULL } , /* 232 */
{ NULL , NULL } , /* 233 */
{ NULL , NULL } , /* 234 */
{ NULL , NULL } , /* 235 */
{ NULL , NULL } , /* 236 */
{ NULL , NULL } , /* 237 */
{ NULL , NULL } , /* 238 */
{ NULL , NULL } , /* 239 */
{ NULL , NULL } , /* 240 */
{ NULL , NULL } , /* 241 */
{ NULL , NULL } , /* 242 */
{ NULL , NULL } , /* 243 */
{ NULL , NULL } , /* 244 */
{ NULL , NULL } , /* 245 */
{ NULL , NULL } , /* 246 */
{ NULL , NULL } , /* 247 */
{ NULL , NULL } , /* 248 */
{ NULL , NULL } , /* 249 */
{ NULL , NULL } , /* 250 */
{ NULL , NULL } , /* 251 */
{ NULL , NULL } , /* 252 */
{ NULL , NULL } , /* 253 */
{ NULL , NULL } , /* 254 */
{ NULL , NULL } /* 255 */
} ;
static void dissect_asterix ( tvbuff_t * tvb , packet_info * pinfo , proto_tree * tree )
{
col_set_str ( pinfo - > cinfo , COL_PROTOCOL , " ASTERIX " ) ;
col_clear ( pinfo - > cinfo , COL_INFO ) ;
if ( tree ) { /* we are being asked for details */
dissect_asterix_packet ( tvb , tree ) ;
}
}
static void dissect_asterix_packet ( tvbuff_t * tvb , proto_tree * tree )
{
guint i ;
guint8 category ;
guint16 length ;
proto_item * asterix_packet_item = NULL ;
proto_tree * asterix_packet_tree = NULL ;
for ( i = 0 ; i < tvb_reported_length ( tvb ) ; i + = length + 3 ) {
category = tvb_get_guint8 ( tvb , i ) ;
length = ( tvb_get_guint8 ( tvb , i + 1 ) < < 8 ) + tvb_get_guint8 ( tvb , i + 2 ) - 3 ; /* -3 for category and length */
/*tvb_memcpy (tvb, (guint8 *)&length, i + 1, sizeof (length));*/ /* This might not work in different endianness system */
asterix_packet_item = NULL ;
asterix_packet_tree = NULL ;
asterix_packet_item = proto_tree_add_item ( tree , proto_asterix , tvb , i , length + 3 , ENC_NA ) ;
proto_item_append_text ( asterix_packet_item , " , Category %03d " , category ) ;
asterix_packet_tree = proto_item_add_subtree ( asterix_packet_item , ett_asterix ) ;
proto_tree_add_item ( asterix_packet_tree , hf_asterix_category , tvb , i , 1 , ENC_BIG_ENDIAN ) ;
proto_tree_add_item ( asterix_packet_tree , hf_asterix_length , tvb , i + 1 , 2 , ENC_BIG_ENDIAN ) ;
dissect_asterix_data_block ( tvb , i + 3 , asterix_packet_tree , category , length ) ;
}
}
static void dissect_asterix_data_block ( tvbuff_t * tvb , guint offset , proto_tree * tree , guint8 category , gint length )
{
guint8 active_uap ;
int fspec_len , inner_offset , size , counter ;
proto_item * asterix_message_item = NULL ;
proto_tree * asterix_message_tree = NULL ;
for ( counter = 1 , inner_offset = 0 ; inner_offset < length ; counter + + ) {
active_uap = asterix_get_active_uap ( tvb , offset + inner_offset , category ) ;
size = asterix_message_length ( tvb , offset + inner_offset , category , active_uap ) ;
if ( size > 0 ) {
asterix_message_item = proto_tree_add_item ( tree , hf_asterix_message , tvb , offset + inner_offset , size , ENC_NA ) ;
proto_item_append_text ( asterix_message_item , " , #%02d, length: %d " , counter , size ) ;
asterix_message_tree = proto_item_add_subtree ( asterix_message_item , ett_asterix_message ) ;
fspec_len = asterix_fspec_len ( tvb , offset + inner_offset ) ;
/*show_fspec (tvb, asterix_message_tree, offset + inner_offset, fspec_len);*/
proto_tree_add_item ( asterix_message_tree , hf_asterix_fspec , tvb , offset + inner_offset , fspec_len , ENC_NA ) ;
size = dissect_asterix_fields ( tvb , offset + inner_offset , asterix_message_tree , category , uap [ category ] [ active_uap ] ) ;
inner_offset + = size + fspec_len ;
}
else {
inner_offset = length ;
}
}
}
static gint dissect_asterix_fields ( tvbuff_t * tvb , guint offset , proto_tree * tree , guint8 category , const AsterixField * current_uap [ ] )
{
2013-05-20 19:56:04 +00:00
guint i , j , size , start , len , inner_offset , fspec_len ;
2013-05-20 19:23:41 +00:00
guint64 counter ;
proto_item * asterix_field_item = NULL ;
proto_tree * asterix_field_tree = NULL ;
proto_item * asterix_field_item2 = NULL ;
proto_tree * asterix_field_tree2 = NULL ;
if ( current_uap = = NULL )
return 0 ;
for ( i = 0 , size = 0 ; current_uap [ i ] ! = NULL ; i + + ) {
start = asterix_field_offset ( tvb , offset , current_uap , i ) ;
if ( start > 0 ) {
len = asterix_field_length ( tvb , offset + start , current_uap [ i ] ) ;
size + = len ;
if ( current_uap [ i ] - > type & COMPOUND ) {
asterix_field_item = proto_tree_add_item ( tree , * current_uap [ i ] - > hf , tvb , offset + start , len , ENC_NA ) ;
asterix_field_tree = proto_item_add_subtree ( asterix_field_item , ett_asterix_subtree ) ;
fspec_len = asterix_fspec_len ( tvb , offset + start ) ;
proto_tree_add_item ( asterix_field_tree , hf_asterix_fspec , tvb , offset + start , fspec_len , ENC_NA ) ;
dissect_asterix_fields ( tvb , offset + start , asterix_field_tree , category , ( const AsterixField * * ) current_uap [ i ] - > field ) ;
}
else if ( current_uap [ i ] - > type & REPETITIVE ) {
asterix_field_item = proto_tree_add_item ( tree , * current_uap [ i ] - > hf , tvb , offset + start , len , ENC_NA ) ;
asterix_field_tree = proto_item_add_subtree ( asterix_field_item , ett_asterix_subtree ) ;
for ( j = 0 , counter = 0 ; j < current_uap [ i ] - > repetition_counter_size ; j + + ) {
counter = ( counter < < 8 ) + tvb_get_guint8 ( tvb , offset + start + j ) ;
}
proto_tree_add_item ( asterix_field_tree , hf_counter , tvb , offset + start , current_uap [ i ] - > repetition_counter_size , ENC_BIG_ENDIAN ) ;
for ( j = 0 , inner_offset = 0 ; j < counter ; j + + , inner_offset + = current_uap [ i ] - > length ) {
asterix_field_item2 = proto_tree_add_item ( asterix_field_tree , * current_uap [ i ] - > hf , tvb , offset + start + current_uap [ i ] - > repetition_counter_size + inner_offset , current_uap [ i ] - > length , ENC_NA ) ;
asterix_field_tree2 = proto_item_add_subtree ( asterix_field_item2 , ett_asterix_subtree ) ;
asterix_build_subtree ( tvb , offset + start + current_uap [ i ] - > repetition_counter_size + inner_offset , asterix_field_tree2 , current_uap [ i ] ) ;
}
}
else {
asterix_field_item = proto_tree_add_item ( tree , * current_uap [ i ] - > hf , tvb , offset + start , len , ENC_NA ) ;
asterix_field_tree = proto_item_add_subtree ( asterix_field_item , ett_asterix_subtree ) ;
asterix_build_subtree ( tvb , offset + start , asterix_field_tree , current_uap [ i ] ) ;
}
}
}
return size ;
}
static void asterix_build_subtree ( tvbuff_t * tvb , guint offset , proto_tree * parent , const AsterixField * field )
{
gint i , inner_offset ;
guint8 go_on ;
gint64 value ;
char * str_buffer = NULL ;
if ( field - > part ! = NULL ) {
for ( i = 0 , inner_offset = 0 , go_on = 1 ; go_on & & field - > part [ i ] ! = NULL ; i + + ) {
value = 0L ;
value = tvb_get_bits64 ( tvb , offset * 8 + inner_offset , field - > part [ i ] - > bit_length , ENC_BIG_ENDIAN ) ;
if ( field - > part [ i ] - > hf ! = NULL ) {
switch ( field - > part [ i ] - > type ) {
case FIELD_PART_FX :
if ( ! value ) go_on = 0 ;
case FIELD_PART_INT :
case FIELD_PART_UINT :
case FIELD_PART_HEX :
case FIELD_PART_ASCII :
case FIELD_PART_SQUAWK :
proto_tree_add_item ( parent , * field - > part [ i ] - > hf , tvb , offset + inner_offset / 8 , byte_length ( field - > part [ i ] - > bit_length ) , ENC_BIG_ENDIAN ) ;
break ;
case FIELD_PART_FLOAT :
twos_complement ( & value , field - > part [ i ] - > bit_length ) ;
case FIELD_PART_UFLOAT :
if ( field - > part [ i ] - > format_string ! = NULL )
2013-05-20 20:16:03 +00:00
proto_tree_add_double_format_value ( parent , * field - > part [ i ] - > hf , tvb , offset + inner_offset / 8 , byte_length ( field - > part [ i ] - > bit_length ) , value * field - > part [ i ] - > scaling_factor , field - > part [ i ] - > format_string , value * field - > part [ i ] - > scaling_factor ) ;
2013-05-20 19:23:41 +00:00
else
2013-05-20 20:16:03 +00:00
proto_tree_add_double ( parent , * field - > part [ i ] - > hf , tvb , offset + inner_offset / 8 , byte_length ( field - > part [ i ] - > bit_length ) , value * field - > part [ i ] - > scaling_factor ) ;
2013-05-20 19:23:41 +00:00
break ;
case FIELD_PART_CALLSIGN :
str_buffer = ( char * ) wmem_alloc ( wmem_packet_scope ( ) , 9 ) ;
str_buffer [ 0 ] = ' \0 ' ;
g_snprintf ( str_buffer , 8 , " %c%c%c%c%c%c%c%c, " , AISCode [ ( value > > 42 ) & 63 ] ,
AISCode [ ( value > > 36 ) & 63 ] ,
AISCode [ ( value > > 30 ) & 63 ] ,
AISCode [ ( value > > 24 ) & 63 ] ,
AISCode [ ( value > > 18 ) & 63 ] ,
AISCode [ ( value > > 12 ) & 63 ] ,
AISCode [ ( value > > 6 ) & 63 ] ,
AISCode [ value & 63 ] ) ;
proto_tree_add_string ( parent , * field - > part [ i ] - > hf , tvb , offset + inner_offset / 8 , byte_length ( field - > part [ i ] - > bit_length ) , str_buffer ) ;
break ;
}
}
inner_offset + = field - > part [ i ] - > bit_length ;
}
} /* if not null */
}
static guint8 byte_length ( guint8 bits )
{
return ( bits + 7 ) / 8 ;
}
static guint8 asterix_bit ( guint8 b , guint8 bitNo )
{
return bitNo < 8 & & ( b & ( 0x80 > > bitNo ) ) > 0 ;
}
/* Function makes gint64 two's complement.
* Only the bit_len bit are set in gint64 . All more significant
* bits need to be set to to have proper two ' s complement .
* If the number is negative , all other bits must be set to 1.
* If the number is positive , all other bits must remain 0. */
static void twos_complement ( gint64 * v , guint8 bit_len )
{
guint64 i , to_stuff ;
2013-05-20 20:45:52 +00:00
i = ( guint64 ) ( 1 < < ( bit_len - 1 ) ) ;
2013-05-20 19:23:41 +00:00
to_stuff = * v & i ;
2013-05-20 20:45:52 +00:00
i = 0 ;
2013-05-20 20:30:23 +00:00
if ( to_stuff ) i = G_GINT64_CONSTANT ( 0xffffffffffffffff ) < < bit_len ;
2013-05-20 19:23:41 +00:00
* v = * v | i ;
}
static guint8 asterix_fspec_len ( tvbuff_t * tvb , guint offset )
{
guint8 i ;
for ( i = 0 ; ( tvb_get_guint8 ( tvb , offset + i ) & 1 ) & & i < tvb_reported_length ( tvb ) - offset ; i + + ) ;
return i + 1 ;
}
2013-05-20 19:56:04 +00:00
static guint8 asterix_field_exists ( tvbuff_t * tvb , guint offset , int bitIndex )
2013-05-20 19:23:41 +00:00
{
guint8 bitNo , i ;
2013-05-20 19:56:04 +00:00
bitNo = bitIndex + bitIndex / 7 ;
2013-05-20 19:23:41 +00:00
for ( i = 0 ; i < bitNo / 8 ; i + + ) {
if ( ! ( tvb_get_guint8 ( tvb , offset + i ) & 1 ) ) return 0 ;
}
return asterix_bit ( tvb_get_guint8 ( tvb , offset + i ) , bitNo % 8 ) ;
}
static int asterix_field_length ( tvbuff_t * tvb , guint offset , const AsterixField * field )
{
guint size ;
guint64 count ;
guint8 i ;
size = 0 ;
if ( field - > type & FIXED ) {
size = field - > length ;
}
else if ( field - > type & REPETITIVE ) {
for ( i = 0 , count = 0 ; i < field - > repetition_counter_size & & i < sizeof ( count ) ; i + + )
count = ( count < < 8 ) + tvb_get_guint8 ( tvb , offset + i ) ;
2013-05-20 20:16:03 +00:00
size = ( guint ) ( field - > repetition_counter_size + count * field - > length ) ;
2013-05-20 19:23:41 +00:00
}
else if ( field - > type & FX ) {
for ( size = field - > length ; tvb_get_guint8 ( tvb , offset + size - 1 ) & 1 ; size + = field - > length ) ;
}
else if ( field - > type & VAR ) {
for ( i = 0 , size = 0 ; i < field - > header_length ; i + + ) {
size = ( size < < 8 ) + tvb_get_guint8 ( tvb , offset + i ) ;
}
}
else if ( field - > type & COMPOUND ) {
/* FSPEC */
for ( size = 0 ; tvb_get_guint8 ( tvb , offset + size ) & 1 ; size + + ) ;
size + + ;
for ( i = 0 ; field - > field [ i ] ! = NULL ; i + + ) {
if ( asterix_field_exists ( tvb , offset , i ) )
size + = asterix_field_length ( tvb , offset + size , field - > field [ i ] ) ;
}
}
return size ;
}
/* This works for category 001. For other it may require changes. */
static guint8 asterix_get_active_uap ( tvbuff_t * tvb , guint offset , guint8 category )
{
int i , inner_offset ;
AsterixField * * current_uap ;
if ( uap [ category ] [ 1 ] ! = NULL ) { /* if exists another uap */
current_uap = ( AsterixField * * ) uap [ category ] [ 0 ] ;
if ( current_uap ! = NULL ) {
inner_offset = asterix_fspec_len ( tvb , offset ) ;
for ( i = 0 ; current_uap [ i ] ! = NULL ; i + + ) {
if ( asterix_field_exists ( tvb , offset , i ) ) {
if ( current_uap [ i ] - > type & UAP ) {
return tvb_get_guint8 ( tvb , offset + inner_offset ) > > 7 ;
}
inner_offset + = asterix_field_length ( tvb , offset + inner_offset , current_uap [ i ] ) ;
}
}
}
}
return 0 ;
}
static int asterix_field_offset ( tvbuff_t * tvb , guint offset , const AsterixField * current_uap [ ] , int field_index )
{
int i , inner_offset ;
inner_offset = 0 ;
if ( asterix_field_exists ( tvb , offset , field_index ) ) {
inner_offset = asterix_fspec_len ( tvb , offset ) ;
for ( i = 0 ; i < field_index ; i + + ) {
if ( asterix_field_exists ( tvb , offset , i ) )
inner_offset + = asterix_field_length ( tvb , offset + inner_offset , current_uap [ i ] ) ;
}
}
return inner_offset ;
}
static int asterix_message_length ( tvbuff_t * tvb , guint offset , guint8 category , guint8 active_uap )
{
int i , size ;
AsterixField * * current_uap ;
current_uap = ( AsterixField * * ) uap [ category ] [ active_uap ] ;
if ( current_uap ! = NULL ) {
size = asterix_fspec_len ( tvb , offset ) ;
for ( i = 0 ; current_uap [ i ] ! = NULL ; i + + ) {
if ( asterix_field_exists ( tvb , offset , i ) ) {
size + = asterix_field_length ( tvb , offset + size , current_uap [ i ] ) ;
}
}
return size ;
}
return 0 ;
}
void proto_register_asterix ( void )
{
static hf_register_info hf [ ] = {
2013-05-20 23:23:34 +00:00
{ & hf_asterix_category , { " Category " , " asterix.category " , FT_UINT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_asterix_length , { " Length " , " asterix.length " , FT_UINT16 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_asterix_message , { " Asterix message " , " asterix.message " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_asterix_fspec , { " FSPEC " , " asterix.fspec " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_spare , { " Spare " , " asterix.spare " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_counter , { " Counter " , " asterix.counter " , FT_UINT32 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_XXX_SAC , { " SAC " , " asterix.SAC " , FT_UINT8 , BASE_DEC , NULL , 0x0 , " SAC code of the source " , HFILL } } ,
{ & hf_XXX_SIC , { " SIC " , " asterix.SIC " , FT_UINT8 , BASE_DEC , NULL , 0x0 , " SIC code of the source " , HFILL } } ,
{ & hf_XXX_FX , { " FX " , " asterix.FX " , FT_UINT8 , BASE_DEC , VALS ( valstr_XXX_FX ) , 0x01 , " Extension into next extent " , HFILL } } ,
2013-06-03 23:27:01 +00:00
/*{ &hf_XXX_2FX, { "FX", "asterix.FX", FT_UINT16, BASE_DEC, VALS (valstr_XXX_FX), 0x0001, "Extension into next extent", HFILL } },*/
{ & hf_XXX_3FX , { " FX " , " asterix.FX " , FT_UINT24 , BASE_DEC , VALS ( valstr_XXX_FX ) , 0x000001 , " Extension into next extent " , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_XXX_TOD , { " [s] " , " asterix.TOD " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , " Time of day " , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_XXX_AA , { " Aircraft Address " , " asterix.AA " , FT_UINT24 , BASE_HEX , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_XXX_AI , { " Aircraft Identification " , " asterix.AI " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_XXX_MB_DATA , { " MB DATA " , " asterix.MB_DATA " , FT_BYTES , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_XXX_BDS1 , { " BDS1 " , " asterix.BDS1 " , FT_UINT8 , BASE_DEC , NULL , 0xf0 , NULL , HFILL } } ,
{ & hf_XXX_BDS2 , { " BDS2 " , " asterix.BDS2 " , FT_UINT8 , BASE_DEC , NULL , 0x0f , NULL , HFILL } } ,
{ & hf_XXX_TN_16 , { " TN " , " asterix.TN " , FT_UINT16 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
/* Category 001 */
{ & hf_001_010 , { " 010, Data Source Identifier " , " asterix.001_010 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_020 , { " 020, Target Report Descriptor " , " asterix.001_020 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_020_TYP , { " TYP " , " asterix.001_020_TYP " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_020_TYP ) , 0x80 , NULL , HFILL } } ,
{ & hf_001_020_SIM , { " SIM " , " asterix.001_020_SIM " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_020_SIM ) , 0x40 , NULL , HFILL } } ,
{ & hf_001_020_SSR_PSR , { " SSR/PSR " , " asterix.001_020_SSP_PSR " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_020_SSR_PSR ) , 0x30 , NULL , HFILL } } ,
{ & hf_001_020_ANT , { " ANT " , " asterix.001_020_ANT " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_020_ANT ) , 0x08 , NULL , HFILL } } ,
{ & hf_001_020_SPI , { " SPI " , " asterix.001_020_SPI " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_020_SPI ) , 0x04 , NULL , HFILL } } ,
{ & hf_001_020_RAB , { " RAB " , " asterix.001_020_RAB " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_020_RAB ) , 0x02 , NULL , HFILL } } ,
{ & hf_001_020_TST , { " TST " , " asterix.001_020_TST " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_020_TST ) , 0x80 , NULL , HFILL } } ,
{ & hf_001_020_DS12 , { " DS1/DS2 " , " asterix.001_020_DS12 " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_020_DS12 ) , 0x60 , NULL , HFILL } } ,
{ & hf_001_020_ME , { " ME " , " asterix.001_020_ME " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_020_ME ) , 0x10 , NULL , HFILL } } ,
{ & hf_001_020_MI , { " MI " , " asterix.001_020_MI " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_020_MI ) , 0x08 , NULL , HFILL } } ,
{ & hf_001_030 , { " 030, Warning/Error Conditions " , " asterix.001_030 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_030_WE , { " Warning/Error Condition " , " asterix.001_030_WE " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_030_WE ) , 0xfe , NULL , HFILL } } ,
{ & hf_001_040 , { " 040, Measured Position in Polar Coordinates " , " asterix.001_040 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_001_040_RHO , { " Rho[NM] " , " asterix.001_040_RHO " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_040_THETA , { " Theta[deg] " , " asterix.001_040_THETA " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_001_042 , { " 042, Calculated Position in Cartesian Coordinates " , " asterix.001_042 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_001_042_X , { " X[NM] " , " asterix.001_042_X " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_042_Y , { " Y[NM] " , " asterix.001_042_Y " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_001_050 , { " 050, Mode-2 Code in Octal Representation " , " asterix.001_050 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_060 , { " 060, Mode-2 Code Confidence Indicator " , " asterix.001_060 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_070 , { " 070, Mode-3/A Code in Octal Representation " , " asterix.001_070 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_070_V , { " V " , " asterix.001_070_V " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_070_V ) , 0x8000 , NULL , HFILL } } ,
{ & hf_001_070_G , { " G " , " asterix.001_070_G " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_070_G ) , 0x4000 , NULL , HFILL } } ,
{ & hf_001_070_L , { " L " , " asterix.001_070_L " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_070_L ) , 0x2000 , NULL , HFILL } } ,
{ & hf_001_070_SQUAWK , { " SQUAWK " , " asterix.001_070_SQUAWK " , FT_UINT16 , BASE_OCT , NULL , 0x0fff , NULL , HFILL } } ,
{ & hf_001_080 , { " 080, Mode-3/A Code Confidence Indicator " , " asterix.001_080 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_080_QA4 , { " QA4 " , " asterix.001_080_QA4 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0800 , NULL , HFILL } } ,
{ & hf_001_080_QA2 , { " QA2 " , " asterix.001_080_QA2 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0400 , NULL , HFILL } } ,
{ & hf_001_080_QA1 , { " QA1 " , " asterix.001_080_QA1 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0200 , NULL , HFILL } } ,
{ & hf_001_080_QB4 , { " QB4 " , " asterix.001_080_QB4 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0100 , NULL , HFILL } } ,
{ & hf_001_080_QB2 , { " QB2 " , " asterix.001_080_QB2 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0080 , NULL , HFILL } } ,
{ & hf_001_080_QB1 , { " QB1 " , " asterix.001_080_QB1 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0040 , NULL , HFILL } } ,
{ & hf_001_080_QC4 , { " QC4 " , " asterix.001_080_QC4 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0020 , NULL , HFILL } } ,
{ & hf_001_080_QC2 , { " QC2 " , " asterix.001_080_QC2 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0010 , NULL , HFILL } } ,
{ & hf_001_080_QC1 , { " QC1 " , " asterix.001_080_QC1 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0008 , NULL , HFILL } } ,
{ & hf_001_080_QD4 , { " QD4 " , " asterix.001_080_QD4 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0004 , NULL , HFILL } } ,
{ & hf_001_080_QD2 , { " QD2 " , " asterix.001_080_QD2 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0002 , NULL , HFILL } } ,
{ & hf_001_080_QD1 , { " QD1 " , " asterix.001_080_QD1 " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_080_QA ) , 0x0001 , NULL , HFILL } } ,
{ & hf_001_090 , { " 090, Mode-C Code in Binary Representation " , " asterix.001_090 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_090_V , { " V " , " asterix.001_090_V " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_090_V ) , 0x8000 , NULL , HFILL } } ,
{ & hf_001_090_G , { " G " , " asterix.001_090_G " , FT_UINT16 , BASE_DEC , VALS ( valstr_001_090_G ) , 0x4000 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_001_090_FL , { " FL " , " asterix.001_090_FL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_001_100 , { " 100, Mode-C Code and Code Confidence Indicator " , " asterix.001_100 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_120 , { " 120, Measured Radial Doppler Speed " , " asterix.001_120 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_130 , { " 130, Radar Plot Characteristics " , " asterix.001_130 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_131 , { " 131, Received Power " , " asterix.001_131 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_141 , { " 141, Truncated Time of Day " , " asterix.001_141 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_001_141_TTOD , { " TTOD " , " asterix.001_141_TTOD " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_001_150 , { " 150, Presence of X-Pulse " , " asterix.001_150 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_161 , { " 161, Track Plot Number " , " asterix.001_161 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_161_TPN , { " TPN " , " asterix.001_161_TPN " , FT_UINT16 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_170 , { " 170, Track Status " , " asterix.001_170 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_170_CON , { " CON " , " asterix.001_170_CON " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_170_CON ) , 0x80 , NULL , HFILL } } ,
{ & hf_001_170_RAD , { " RAD " , " asterix.001_170_RAD " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_170_RAD ) , 0x40 , NULL , HFILL } } ,
{ & hf_001_170_MAN , { " MAN " , " asterix.001_170_MAN " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_170_MAN ) , 0x20 , NULL , HFILL } } ,
{ & hf_001_170_DOU , { " DOU " , " asterix.001_170_DOU " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_170_DOU ) , 0x10 , NULL , HFILL } } ,
{ & hf_001_170_RDPC , { " RDPC " , " asterix.001_170_RDPC " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_170_RDPC ) , 0x08 , NULL , HFILL } } ,
{ & hf_001_170_GHO , { " GHO " , " asterix.001_170_GHO " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_170_GHO ) , 0x02 , NULL , HFILL } } ,
{ & hf_001_170_TRE , { " TRE " , " asterix.001_170_TRE " , FT_UINT8 , BASE_DEC , VALS ( valstr_001_170_TRE ) , 0x80 , NULL , HFILL } } ,
{ & hf_001_200 , { " 200, Calculated Track Velocity in Polar Coordinates " , " asterix.001_200 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_210 , { " 210, Track Quality " , " asterix.001_210 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_RE , { " Reserved Field " , " asterix.001_RE " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_001_SP , { " Special Field " , " asterix.001_SP " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
/* Category 002 */
{ & hf_002_000 , { " 000, Message Type " , " asterix.002_000 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_000_MT , { " MT " , " asterix.002_000_MT " , FT_UINT8 , BASE_DEC , VALS ( valstr_002_000_MT ) , 0x0 , NULL , HFILL } } ,
{ & hf_002_010 , { " 010, Data Source Identifier " , " asterix.002_010 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_020 , { " 020, Sector Number " , " asterix.002_020 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_002_020_SN , { " Sector number " , " asterix.002_020_SN " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_002_030 , { " 030, Time of Day " , " asterix.002_030 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_041 , { " 041, Antenna Rotation Speed " , " asterix.002_041 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_002_041_ARS , { " Antenna Rotation Speed " , " asterix.002_041_ARN " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_002_050 , { " 050, Station Configuration Status " , " asterix.002_050 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_060 , { " 060, Station Processing Mode " , " asterix.002_060 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_070 , { " 070, Message Count Values " , " asterix.002_070 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_070_A , { " A " , " asterix.002_070_A " , FT_UINT16 , BASE_DEC , VALS ( valstr_002_070_A ) , 0x8000 , NULL , HFILL } } ,
{ & hf_002_070_IDENT , { " IDENT " , " asterix.002_070_V " , FT_UINT16 , BASE_DEC , VALS ( valstr_002_070_IDENT ) , 0xeb00 , NULL , HFILL } } ,
{ & hf_002_070_COUNTER , { " COUNTER " , " asterix.002_070_COUNTER " , FT_UINT16 , BASE_DEC , NULL , 0x03ff , NULL , HFILL } } ,
{ & hf_002_080 , { " 080, Warning/Error Conditions " , " asterix.002_080 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_080_WE , { " W/E value " , " asterix.002_080_WE " , FT_UINT8 , BASE_DEC , NULL , 0xfe , NULL , HFILL } } ,
{ & hf_002_090 , { " 090, Collimation Error " , " asterix.002_090 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_002_090_RE , { " Range error[NM] " , " asterix.002_090_RE " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_090_AE , { " Azimuth error[deg] " , " asterix.002_090_AE " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_002_100 , { " 100, Dynamic Window - Type 1 " , " asterix.002_100 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_002_100_RHOS , { " Rho start[NM] " , " asterix.002_100_RHOS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_100_RHOE , { " Rho end[NM] " , " asterix.002_100_RHOE " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_100_THETAS , { " Theta start[deg] " , " asterix.002_100_THETAS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_100_THETAE , { " Theta end[deg] " , " asterix.002_100_THETAE " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_002_RE , { " Reserved Field " , " asterix.002_RE " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_002_SP , { " Special Field " , " asterix.002_SP " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-06-03 23:27:01 +00:00
/* Category 009 */
{ & hf_009_000 , { " 000, Message Type " , " asterix.009_000 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_000_MT , { " MT " , " asterix.009_000_MT " , FT_UINT8 , BASE_DEC , VALS ( valstr_009_000_MT ) , 0x0 , NULL , HFILL } } ,
{ & hf_009_010 , { " 010, Data Source Identifier " , " asterix.009_010 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_020 , { " 020, Vector Qualifier " , " asterix.009_020 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_020_ORG , { " ORG " , " asterix.009_020_ORG " , FT_UINT8 , BASE_DEC , NULL , 0x80 , NULL , HFILL } } ,
{ & hf_009_020_INT , { " INT " , " asterix.009_020_INT " , FT_UINT8 , BASE_DEC , VALS ( valstr_009_020_INT ) , 0x70 , NULL , HFILL } } ,
{ & hf_009_020_DIR , { " DIR " , " asterix.009_020_DIR " , FT_UINT8 , BASE_DEC , VALS ( valstr_009_020_DIR ) , 0x0e , NULL , HFILL } } ,
{ & hf_009_030 , { " 030, Sequence of Cartesian Vectors " , " asterix.009_030 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_030_X , { " X " , " asterix.009_030_X " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_030_Y , { " Y " , " asterix.009_030_Y " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_030_VL , { " VL " , " asterix.009_030_VL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_060 , { " 060, Synchronisation/Control Signal " , " asterix.009_060 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_060_STEP , { " Step number " , " asterix.009_060_STEP " , FT_UINT8 , BASE_DEC , NULL , 0xfc , NULL , HFILL } } ,
{ & hf_009_070 , { " 070, Time of Day " , " asterix.009_070 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_080 , { " 080, Processing Status " , " asterix.009_080 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_080_SCALE , { " Scaling factor " , " asterix.009_080_SCALE " , FT_UINT24 , BASE_DEC , NULL , 0xf80000 , NULL , HFILL } } ,
{ & hf_009_080_R , { " R " , " asterix.009_080_R " , FT_UINT24 , BASE_DEC , NULL , 0x070000 , NULL , HFILL } } ,
{ & hf_009_080_Q , { " Q " , " asterix.009_080_Q " , FT_UINT24 , BASE_DEC , NULL , 0x00fffe , NULL , HFILL } } ,
{ & hf_009_090 , { " 090, Radar Configuration and Status " , " asterix.009_090 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_090_CP , { " CP " , " asterix.009_090_CP " , FT_UINT8 , BASE_DEC , NULL , 0x10 , NULL , HFILL } } ,
{ & hf_009_090_WO , { " WO " , " asterix.009_090_WO " , FT_UINT8 , BASE_DEC , NULL , 0x08 , NULL , HFILL } } ,
{ & hf_009_090_RS , { " RS " , " asterix.009_090_RS " , FT_UINT8 , BASE_DEC , NULL , 0x07 , NULL , HFILL } } ,
{ & hf_009_100 , { " 100, Vector Count " , " asterix.009_100 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_009_100_VC , { " VC " , " asterix.009_030_VC " , FT_UINT16 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
/* Category 034 */
{ & hf_034_000 , { " 000, Message Type " , " asterix.034_000 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_000_MT , { " MT " , " asterix.034_000_MT " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_000_MT ) , 0x0 , NULL , HFILL } } ,
{ & hf_034_010 , { " 010, Data Source Identifier " , " asterix.034_010 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_020 , { " 020, Sector Number " , " asterix.034_020 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_034_020_SN , { " Sector number " , " asterix.034_020_SN " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_034_030 , { " 030, Time of Day " , " asterix.034_030 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_041 , { " 041, Antenna Rotation Speed " , " asterix.034_041 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_034_041_ARS , { " Antenna Rotation Speed " , " asterix.034_041_ARN " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_034_050 , { " 050, System Configuration and Status " , " asterix.034_050 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_050_01 , { " COM " , " asterix.034_050_01 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_050_01_NOGO , { " Operational Release Status of the System " , " asterix.034_050_01_NOGO " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_01_NOGO ) , 0x80 , NULL , HFILL } } ,
{ & hf_034_050_01_RDPC , { " Radar Data Processor Chain Selection Status " , " asterix.034_050_01_RDPC " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_01_RDPC ) , 0x40 , NULL , HFILL } } ,
{ & hf_034_050_01_RDPR , { " Event to signal a reset/restart of the selected Radar Data Processor Chain, i.e. expect a new assignment of track numbers " , " asterix.034_050_01_RDPR " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_01_RDPR ) , 0x20 , NULL , HFILL } } ,
{ & hf_034_050_01_OVL_RDP , { " Radar Data Processor Overload Indicator " , " asterix.034_050_01_OVL_RDP " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_01_OVL_RDP ) , 0x10 , NULL , HFILL } } ,
{ & hf_034_050_01_OVL_XMT , { " Transmission Subsystem Overload Status " , " asterix.034_050_01_OVL_XMT " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_01_OVL_XMT ) , 0x08 , NULL , HFILL } } ,
{ & hf_034_050_01_MSC , { " Monitoring System Connected Status " , " asterix.034_050_01_MSC " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_01_MSC ) , 0x04 , NULL , HFILL } } ,
{ & hf_034_050_01_TSV , { " Time Source Validity " , " asterix.034_050_01_TSV " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_01_TSV ) , 0x02 , NULL , HFILL } } ,
{ & hf_034_050_02 , { " Specific Status information for a PSR sensor " , " asterix.034_050_02 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_050_02_ANT , { " Selected antenna " , " asterix.034_050_02_ANT " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_02_ANT ) , 0x80 , NULL , HFILL } } ,
{ & hf_034_050_02_CHAB , { " Channel A/B selection status " , " asterix.034_050_02_CHAB " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_02_CHAB ) , 0x60 , NULL , HFILL } } ,
{ & hf_034_050_02_OVL , { " Overload condition " , " asterix.034_050_02_OVL " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_02_OVL ) , 0x10 , NULL , HFILL } } ,
{ & hf_034_050_02_MSC , { " Monitoring System Connected Status " , " asterix.034_050_02_MSC " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_02_MSC ) , 0x08 , NULL , HFILL } } ,
{ & hf_034_050_03 , { " Specific Status information for a SSR sensor " , " asterix.034_050_03 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_050_03_ANT , { " Selected antenna " , " asterix.034_050_03_ANT " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_03_ANT ) , 0x80 , NULL , HFILL } } ,
{ & hf_034_050_03_CHAB , { " Channel A/B selection status " , " asterix.034_050_03_CHAB " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_03_CHAB ) , 0x60 , NULL , HFILL } } ,
{ & hf_034_050_03_OVL , { " Overload condition " , " asterix.034_050_03_OVL " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_03_OVL ) , 0x10 , NULL , HFILL } } ,
{ & hf_034_050_03_MSC , { " Monitoring System Connected Status " , " asterix.034_050_03_MSC " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_050_03_MSC ) , 0x08 , NULL , HFILL } } ,
{ & hf_034_050_04 , { " Specific Status information for a Mode S sensor " , " asterix.034_050_04 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_050_04_ANT , { " Selected antenna " , " asterix.034_050_04_ANT " , FT_UINT16 , BASE_DEC , VALS ( valstr_034_050_04_ANT ) , 0x8000 , NULL , HFILL } } ,
{ & hf_034_050_04_CHAB , { " Channel A/B selection status for surveillance " , " asterix.034_050_04_CHAB " , FT_UINT16 , BASE_DEC , VALS ( valstr_034_050_04_CHAB ) , 0x6000 , NULL , HFILL } } ,
{ & hf_034_050_04_OVL_SUR , { " Overload condition " , " asterix.034_050_04_OVL_SUR " , FT_UINT16 , BASE_DEC , VALS ( valstr_034_050_04_OVL_SUR ) , 0x1000 , NULL , HFILL } } ,
{ & hf_034_050_04_MSC , { " Monitoring System Connected Status " , " asterix.034_050_04_MSC " , FT_UINT16 , BASE_DEC , VALS ( valstr_034_050_04_MSC ) , 0x0800 , NULL , HFILL } } ,
{ & hf_034_050_04_SCF , { " Channel A/B selection status for Surveillance Co-ordination Function " , " asterix.034_050_04_SCF " , FT_UINT16 , BASE_DEC , VALS ( valstr_034_050_04_SCF ) , 0x0400 , NULL , HFILL } } ,
{ & hf_034_050_04_DLF , { " Channel A/B selection status for Data Link Function " , " asterix.034_050_04_DLF " , FT_UINT16 , BASE_DEC , VALS ( valstr_034_050_04_DLF ) , 0x0200 , NULL , HFILL } } ,
{ & hf_034_050_04_OVL_SCF , { " Overload in Surveillance " , " asterix.034_050_04_OVL_SCF " , FT_UINT16 , BASE_DEC , VALS ( valstr_034_050_04_OVL_SCF ) , 0x0100 , NULL , HFILL } } ,
{ & hf_034_050_04_OVL_DLF , { " Overload in Data Link Function " , " asterix.034_050_04_OVL_DLF " , FT_UINT16 , BASE_DEC , VALS ( valstr_034_050_04_OVL_DLF ) , 0x0080 , NULL , HFILL } } ,
{ & hf_034_060 , { " 060, System Processing Mode " , " asterix.034_060 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_060_01 , { " COM " , " asterix.034_060_01 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_060_01_RED_RDP , { " Reduction Steps in use for an overload of the RDP " , " asterix.034_060_01_RED_RDP " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_060_RED ) , 0x70 , NULL , HFILL } } ,
{ & hf_034_060_01_RED_XMT , { " Reduction Steps in use for an overload of the Transmission subsystem " , " asterix.034_060_01_RED_XMT " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_060_RED ) , 0x0e , NULL , HFILL } } ,
{ & hf_034_060_02 , { " Specific Processing Mode information for a PSR sensor " , " asterix.034_060_02 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_060_02_POL , { " Polarization in use by PSR " , " asterix.034_060_02_POL " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_060_02_POL ) , 0x80 , NULL , HFILL } } ,
{ & hf_034_060_02_RED_RAD , { " Reduction Steps in use as result of an overload within the PSR subsystem " , " asterix.034_060_02_RED_RDP " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_060_RED ) , 0x70 , NULL , HFILL } } ,
{ & hf_034_060_02_STC , { " Sensitivity Time Control Map in use " , " asterix.034_060_02_STC " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_060_02_STC ) , 0x70 , NULL , HFILL } } ,
{ & hf_034_060_03 , { " Specific Processing Mode information for a SSR sensor " , " asterix.034_060_03 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_060_03_RED_RAD , { " Reduction Steps in use as result of an overload within the SSR subsystem " , " asterix.034_060_03_RED_RDP " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_060_RED ) , 0xe0 , NULL , HFILL } } ,
{ & hf_034_060_04 , { " Specific Processing Mode information for a Mode S Sensor " , " asterix.034_060_04 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_060_04_RED_RAD , { " Reduction Steps in use as result of an overload within the Mode S subsystem " , " asterix.034_060_04_RED_RDP " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_060_RED ) , 0xe0 , NULL , HFILL } } ,
{ & hf_034_060_04_CLU , { " Cluster State " , " asterix.034_060_04_CLU " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_060_04_CLU ) , 0x10 , NULL , HFILL } } ,
{ & hf_034_070 , { " 070, Message Count Values " , " asterix.034_070 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_070_TYP , { " Type of message counter " , " asterix.034_070_TYP " , FT_UINT16 , BASE_DEC , VALS ( valstr_034_070_TYP ) , 0xf800 , NULL , HFILL } } ,
{ & hf_034_070_COUNTER , { " COUNTER " , " asterix.034_070_COUNTER " , FT_UINT16 , BASE_DEC , NULL , 0x07ff , NULL , HFILL } } ,
{ & hf_034_090 , { " 090, Collimation Error " , " asterix.034_090 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_034_090_RE , { " Range error[NM] " , " asterix.034_090_RE " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_090_AE , { " Azimuth error[deg] " , " asterix.034_090_AE " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_034_100 , { " 100, Generic Polar Window " , " asterix.034_100 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_035_100_RHOS , { " Rho start[NM] " , " asterix.034_100_RHOS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_035_100_RHOE , { " Rho end[NM] " , " asterix.034_100_RHOE " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_035_100_THETAS , { " Theta start[deg] " , " asterix.034_100_THETAS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_035_100_THETAE , { " Theta end[deg] " , " asterix.034_100_THETAE " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_034_110 , { " 110, Data Filter " , " asterix.034_110 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_110_TYP , { " TYP " , " asterix.034_100_TYP " , FT_UINT8 , BASE_DEC , VALS ( valstr_034_110_TYP ) , 0x0 , NULL , HFILL } } ,
{ & hf_034_120 , { " 120, 3D-Position Of Data Source " , " asterix.034_120 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_034_120_H , { " Height in WGS 84[m] " , " asterix.034_120_H " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_120_LAT , { " Latitude in WGS 84[deg] " , " asterix.034_120_LAT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_120_LON , { " Longitude in WGS 84[deg] " , " asterix.034_120_LON " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_034_RE , { " Reserved Field " , " asterix.034_RE " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_034_SP , { " Special Field " , " asterix.034_SP " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
/* Category 048 */
{ & hf_048_010 , { " 010, Data Source Identifier " , " asterix.048_010 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_020 , { " 020, Target Report Descriptor " , " asterix.048_020 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_020_TYP , { " TYP " , " asterix.048_020_TYP " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_020_TYP ) , 0xe0 , " Type of detection " , HFILL } } ,
{ & hf_048_020_SIM , { " SIM " , " asterix.048_020_SIM " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_020_SIM ) , 0x10 , " Simulated od Actual target " , HFILL } } ,
{ & hf_048_020_RDP , { " RDP " , " asterix.048_020_RDP " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_020_RDP ) , 0x08 , " RDP CHain " , HFILL } } ,
{ & hf_048_020_SPI , { " SPI " , " asterix.048_020_SPI " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_020_SPI ) , 0x04 , " Special Position Identification " , HFILL } } ,
{ & hf_048_020_RAB , { " RAB " , " asterix.048_020_RAB " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_020_RAB ) , 0x02 , " Report from aircraft or field monitor " , HFILL } } ,
{ & hf_048_020_TST , { " TST " , " asterix.048_020_TST " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_020_TST ) , 0x80 , " Real or test target " , HFILL } } ,
{ & hf_048_020_ME , { " ME " , " asterix.048_020_ME " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_020_ME ) , 0x10 , " Military emergency " , HFILL } } ,
{ & hf_048_020_MI , { " MI " , " asterix.048_020_MI " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_020_MI ) , 0x08 , " Military identification " , HFILL } } ,
{ & hf_048_020_FOE , { " FOE/FRI " , " asterix.048_020_FOE " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_020_FOE ) , 0x06 , " Foe of friend " , HFILL } } ,
{ & hf_048_030 , { " 030, Warning/Error Conditions " , " asterix.048_030 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 23:23:34 +00:00
{ & hf_048_030_WE , { " W/E value " , " asterix.048_030_WE " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_030_WE ) , 0xfe , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_048_040 , { " 040, Measured Position in Polar Co-ordinates " , " asterix.048_040 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 23:23:34 +00:00
{ & hf_048_040_RHO , { " RHO[NM] " , " asterix.048_040_RHO " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_040_THETA , { " THETA[deg] " , " asterix.048_040_THETA " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_048_042 , { " 042, Calculated Position in Cartesian Co-ordinates " , " asterix.048_042 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 23:23:34 +00:00
{ & hf_048_042_X , { " X[NM] " , " asterix.048_042_X " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_042_Y , { " Y[deg] " , " asterix.048_042_Y " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_048_050 , { " 050, Mode-2 Code in Octal Representation " , " asterix.048_050 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_050_V , { " V " , " asterix.048_050_V " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_050_V ) , 0x8000 , NULL , HFILL } } ,
{ & hf_048_050_G , { " G " , " asterix.048_050_G " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_050_G ) , 0x4000 , NULL , HFILL } } ,
{ & hf_048_050_L , { " L " , " asterix.048_050_L " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_050_L ) , 0x2000 , NULL , HFILL } } ,
{ & hf_048_050_SQUAWK , { " SQUAWK " , " asterix.048_050_SQUAWK " , FT_UINT16 , BASE_OCT , NULL , 0x0fff , NULL , HFILL } } ,
{ & hf_048_055 , { " 055, Mode-1 Code in Octal Representation " , " asterix.048_055 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_055_V , { " V " , " asterix.048_055_V " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_055_V ) , 0x80 , NULL , HFILL } } ,
{ & hf_048_055_G , { " G " , " asterix.048_055_G " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_055_G ) , 0x40 , NULL , HFILL } } ,
{ & hf_048_055_L , { " L " , " asterix.048_055_L " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_055_L ) , 0x20 , NULL , HFILL } } ,
{ & hf_048_055_CODE , { " CODE " , " asterix.048_055_CODE " , FT_UINT8 , BASE_OCT , NULL , 0x1f , NULL , HFILL } } ,
{ & hf_048_060 , { " 060, Mode-2 Code Confidence Indicator " , " asterix.048_060 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_065 , { " 065, Mode-1 Code Confidence Indicator " , " asterix.048_065 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_070 , { " 070, Mode-3/A Code in Octal Representation " , " asterix.048_070 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_070_V , { " V " , " asterix.048_070_V " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_070_V ) , 0x8000 , NULL , HFILL } } ,
{ & hf_048_070_G , { " G " , " asterix.048_070_G " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_070_G ) , 0x4000 , NULL , HFILL } } ,
{ & hf_048_070_L , { " L " , " asterix.048_070_L " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_070_L ) , 0x2000 , NULL , HFILL } } ,
{ & hf_048_070_SQUAWK , { " SQUAWK " , " asterix.048_070_SQUAWK " , FT_UINT16 , BASE_OCT , NULL , 0x0fff , NULL , HFILL } } ,
{ & hf_048_080 , { " 080, Mode-3/A Code Confidence Indicator " , " asterix.048_080 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_090 , { " 090, Flight Level in Binary Representation " , " asterix.048_090 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_090_V , { " V " , " asterix.048_090_V " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_090_V ) , 0x8000 , NULL , HFILL } } ,
{ & hf_048_090_G , { " G " , " asterix.048_090_G " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_090_G ) , 0x4000 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_048_090_FL , { " FL " , " asterix.048_090_FL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_048_100 , { " 100, Mode-C Code and Code Confidence Indicator " , " asterix.048_100 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_110 , { " 110, Height Measured by a 3D Radar " , " asterix.048_110 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_120 , { " 120, Radial Doppler Speed " , " asterix.048_120 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_120_01 , { " Subfield #1: Calculated Doppler Speed " , " asterix.048_120_01 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_120_01_D , { " D " , " asterix.048_120_01_D " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_120_01_D ) , 0x8000 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_048_120_01_CAL , { " CAL[m/s] " , " asterix.048_120_01_CAL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_048_120_02 , { " Subfield # 2: Raw Doppler Speed " , " asterix.048_120_02 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_048_120_02_DOP , { " DOP[m/s] " , " asterix.048_120_02_DOP " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_120_02_AMB , { " AMB[m/s] " , " asterix.048_120_02_AMB " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_120_02_FRQ , { " FRQ[MHz] " , " asterix.048_120_02_FRQ " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_048_130 , { " 130, Radar Plot Characteristics " , " asterix.048_130 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_048_130_01 , { " SRL[deg] " , " asterix.048_130_01 " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_048_130_02 , { " SRR " , " asterix.048_130_02 " , FT_UINT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_130_03 , { " SAM[dBm] " , " asterix.048_130_03 " , FT_INT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_130_04 , { " PRL[deg] " , " asterix.048_130_04 " , FT_INT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_130_05 , { " PAM[dBm] " , " asterix.048_130_05 " , FT_INT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_130_06 , { " RPD[NM] " , " asterix.048_130_06 " , FT_INT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_130_07 , { " APD[deg] " , " asterix.048_130_07 " , FT_INT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_140 , { " 140, Time of Day " , " asterix.048_140 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_161 , { " 161, Track Number " , " asterix.048_161 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_161_TN , { " TN " , " asterix.048_161_TN " , FT_UINT16 , BASE_DEC , NULL , 0x0fff , NULL , HFILL } } ,
{ & hf_048_170 , { " 170, Track Status " , " asterix.048_170 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_170_CNF , { " CNF " , " asterix.048_170_CNF " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_170_CNF ) , 0x80 , " Confirmed vs. Tentative Track " , HFILL } } ,
{ & hf_048_170_RAD , { " RAD " , " asterix.048_170_RAD " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_170_RAD ) , 0x60 , " Type of Sensor(s) maintaining Track " , HFILL } } ,
{ & hf_048_170_DOU , { " DOU " , " asterix.048_170_DOU " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_170_DOU ) , 0x10 , " Signals level of confidence in plot to track association process " , HFILL } } ,
{ & hf_048_170_MAH , { " MAH " , " asterix.048_170_MAH " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_170_MAH ) , 0x08 , " Manoeuvre detection in Horizontal Sense " , HFILL } } ,
{ & hf_048_170_CDM , { " CDM " , " asterix.048_170_CDM " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_170_CDM ) , 0x06 , " Climbing / Descending Mode " , HFILL } } ,
{ & hf_048_170_TRE , { " TRE " , " asterix.048_170_TRE " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_170_TRE ) , 0x80 , " Signal for End_of_Track " , HFILL } } ,
{ & hf_048_170_GHO , { " GHO " , " asterix.048_170_GHO " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_170_GHO ) , 0x40 , " Ghost vs. true target " , HFILL } } ,
{ & hf_048_170_SUP , { " SUP " , " asterix.048_170_SUP " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_170_SUP ) , 0x20 , " Track maintained with track information from neighbouring Node B on the cluster, or network " , HFILL } } ,
{ & hf_048_170_TCC , { " TCC " , " asterix.048_170_TCC " , FT_UINT8 , BASE_DEC , VALS ( valstr_048_170_TCC ) , 0x10 , " Type of plot coordinate transformation mechanism " , HFILL } } ,
{ & hf_048_200 , { " 200, Calculated Track Velocity in Polar Co-ordinates " , " asterix.048_200 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_048_200_GS , { " Calculated groundspeed[NM/s] " , " asterix.048_200_GS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_200_HDG , { " Calculated heading[deg] " , " asterix.048_200_HDG " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_048_210 , { " 210, Track Quality " , " asterix.048_210 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_048_210_X , { " Sigma (X)[NM] " , " asterix.048_210_X " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_210_Y , { " Sigma (Y)[NM] " , " asterix.048_210_Y " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_210_V , { " Sigma (V)[NM/s] " , " asterix.048_210_V " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_210_H , { " Sigma (H)[deg] " , " asterix.048_210_H " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_048_220 , { " 220, Aircraft Address " , " asterix.048_220 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_230 , { " 230, Communications/ACAS Capability and Flight Status " , " asterix.048_230 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_230_COM , { " COM " , " asterix.048_230_COM " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_230_COM ) , 0xe000 , " Communications capabiltiy of the transponder " , HFILL } } ,
{ & hf_048_230_STAT , { " STAT " , " asterix.048_230_STAT " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_230_STAT ) , 0x1c00 , " Flight status " , HFILL } } ,
{ & hf_048_230_SI , { " SI " , " asterix.048_230_SI " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_230_SI ) , 0x0200 , " SI/II Transponder Capability " , HFILL } } ,
{ & hf_048_230_MSSC , { " MSSC " , " asterix.048_230_MSSC " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_230_MSSC ) , 0x0080 , " Mode-S Specific Service Capability " , HFILL } } ,
{ & hf_048_230_ARC , { " ARC " , " asterix.048_230_ARC " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_230_ARC ) , 0x0040 , " Altitude reporting capability " , HFILL } } ,
{ & hf_048_230_AIC , { " AIC " , " asterix.048_230_AIC " , FT_UINT16 , BASE_DEC , VALS ( valstr_048_230_AIC ) , 0x0020 , " Aircraft identification capability " , HFILL } } ,
{ & hf_048_230_B1A , { " B1A " , " asterix.048_230_B1A " , FT_UINT16 , BASE_DEC , NULL , 0x0010 , " BDS 1,0 bit 16 " , HFILL } } ,
{ & hf_048_230_B1B , { " B1B " , " asterix.048_230_B1B " , FT_UINT16 , BASE_DEC , NULL , 0x000f , " BDS 1,0 bits 37/40 " , HFILL } } ,
{ & hf_048_240 , { " 240, Aircraft Identification " , " asterix.048_240 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_250 , { " 250, Mode S MB Data " , " asterix.048_250 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_260 , { " 260, ACAS Resolution Advisory Report " , " asterix.048_260 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_RE , { " Reserved Expansion Field " , " asterix.048_RE " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_048_SP , { " Special Purpose Field " , " asterix.048_SP " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
/* Category 062*/
{ & hf_062_010 , { " 010, Data Source Identifier " , " asterix.062_010 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_015 , { " 015, Service Identification " , " asterix.062_015 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_015_SI , { " SI " , " asterix.062_015_SI " , FT_UINT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_040 , { " 040, Track Number " , " asterix.062_040 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_060 , { " 060, Track Mode 3/A Code " , " asterix.062_060 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_060_CH , { " CH " , " asterix.062_060_CH " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_060_CH ) , 0x2000 , " Change in Mode 3/A " , HFILL } } ,
{ & hf_062_060_SQUAWK , { " SQUAWK " , " asterix.062_060_SQUAWK " , FT_UINT16 , BASE_OCT , NULL , 0x0fff , NULL , HFILL } } ,
{ & hf_062_070 , { " 070, Time Of Track Information " , " asterix.062_070 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_080 , { " 080, Track Status " , " asterix.062_080 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_080_MON , { " MON " , " asterix.062_080_MON " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_MON ) , 0x80 , NULL , HFILL } } ,
{ & hf_062_080_SPI , { " SPI " , " asterix.062_080_SPI " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_SPI ) , 0x40 , NULL , HFILL } } ,
{ & hf_062_080_MRH , { " MRH " , " asterix.062_080_MRH " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_MRH ) , 0x20 , NULL , HFILL } } ,
{ & hf_062_080_SRC , { " SRC " , " asterix.062_080_SRC " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_SRC ) , 0x1c , NULL , HFILL } } ,
{ & hf_062_080_CNF , { " CNF " , " asterix.062_080_CNF " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_CNF ) , 0x02 , NULL , HFILL } } ,
{ & hf_062_080_SIM , { " SIM " , " asterix.062_080_SIM " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_SIM ) , 0x80 , NULL , HFILL } } ,
{ & hf_062_080_TSE , { " TSE " , " asterix.062_080_TSE " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_TSE ) , 0x40 , NULL , HFILL } } ,
{ & hf_062_080_TSB , { " TSB " , " asterix.062_080_TSB " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_TSB ) , 0x20 , NULL , HFILL } } ,
{ & hf_062_080_FPC , { " FPC " , " asterix.062_080_FPC " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_FPC ) , 0x10 , NULL , HFILL } } ,
{ & hf_062_080_AFF , { " AFF " , " asterix.062_080_AFF " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_AFF ) , 0x08 , NULL , HFILL } } ,
{ & hf_062_080_STP , { " STP " , " asterix.062_080_STP " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_STP ) , 0x04 , NULL , HFILL } } ,
{ & hf_062_080_KOS , { " KOS " , " asterix.062_080_KOS " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_KOS ) , 0x02 , NULL , HFILL } } ,
{ & hf_062_080_AMA , { " AMA " , " asterix.062_080_AMA " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_AMA ) , 0x80 , NULL , HFILL } } ,
{ & hf_062_080_MD4 , { " MD4 " , " asterix.062_080_MD4 " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_MD4 ) , 0x60 , NULL , HFILL } } ,
{ & hf_062_080_ME , { " ME " , " asterix.062_080_ME " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_ME ) , 0x10 , NULL , HFILL } } ,
{ & hf_062_080_MI , { " MI " , " asterix.062_080_MI " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_MI ) , 0x08 , NULL , HFILL } } ,
{ & hf_062_080_MD5 , { " MD5 " , " asterix.062_080_MD5 " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_MD5 ) , 0x06 , NULL , HFILL } } ,
{ & hf_062_080_CST , { " CST " , " asterix.062_080_CST " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_CST ) , 0x80 , NULL , HFILL } } ,
{ & hf_062_080_PSR , { " PSR " , " asterix.062_080_PSR " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_PSR ) , 0x40 , NULL , HFILL } } ,
{ & hf_062_080_SSR , { " SSR " , " asterix.062_080_SSR " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_SSR ) , 0x20 , NULL , HFILL } } ,
{ & hf_062_080_MDS , { " MDS " , " asterix.062_080_MDS " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_MDS ) , 0x10 , NULL , HFILL } } ,
{ & hf_062_080_ADS , { " ADS " , " asterix.062_080_ADS " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_ADS ) , 0x08 , NULL , HFILL } } ,
{ & hf_062_080_SUC , { " SUC " , " asterix.062_080_SUC " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_SUC ) , 0x04 , NULL , HFILL } } ,
{ & hf_062_080_AAC , { " AAC " , " asterix.062_080_AAC " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_AAC ) , 0x02 , NULL , HFILL } } ,
{ & hf_062_080_SDS , { " SDS " , " asterix.062_080_SDS " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_SDS ) , 0xe0 , NULL , HFILL } } ,
{ & hf_062_080_EMS , { " EMS " , " asterix.062_080_EMS " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_EMS ) , 0x38 , NULL , HFILL } } ,
{ & hf_062_080_PFT , { " PFT " , " asterix.062_080_PFT " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_PFT ) , 0x04 , NULL , HFILL } } ,
{ & hf_062_080_FPLT , { " FPLT " , " asterix.062_080_FPLT " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_FPLT ) , 0x02 , NULL , HFILL } } ,
{ & hf_062_080_DUPT , { " DUPT " , " asterix.062_080_DUPT " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_DUPT ) , 0x80 , NULL , HFILL } } ,
{ & hf_062_080_DUPF , { " DUPT " , " asterix.062_080_DUPF " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_DUPF ) , 0x40 , NULL , HFILL } } ,
{ & hf_062_080_DUPM , { " DUPM " , " asterix.062_080_DUPM " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_080_DUPM ) , 0x20 , NULL , HFILL } } ,
{ & hf_062_100 , { " 100, Calculated Track Position (Cartesian) " , " asterix.062_100 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_100_X , { " X[m] " , " asterix.062_100_X " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_100_Y , { " Y[m] " , " asterix.062_100_Y " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_105 , { " 105, Calculated Position In WGS-84 Co-ordinates " , " asterix.062_105 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_105_LAT , { " LAT[deg] " , " asterix.062_105_LAT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_105_LON , { " LON[deg] " , " asterix.062_105_LON " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_110 , { " 110, Mode 5 Data reports & Extended Mode 1 Code " , " asterix.062_110 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_110_01 , { " #1: Mode 5 Summary " , " asterix.062_110_01 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_110_01_M5 , { " MD5 " , " asterix.062_110_01_MD5 " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_01_M5 ) , 0x80 , NULL , HFILL } } ,
{ & hf_062_110_01_ID , { " ID " , " asterix.062_110_01_ID " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_01_ID ) , 0x40 , NULL , HFILL } } ,
{ & hf_062_110_01_DA , { " DA " , " asterix.062_110_01_DA " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_01_DA ) , 0x20 , NULL , HFILL } } ,
{ & hf_062_110_01_M1 , { " M1 " , " asterix.062_110_01_M1 " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_01_M1 ) , 0x10 , NULL , HFILL } } ,
{ & hf_062_110_01_M2 , { " M2 " , " asterix.062_110_01_M2 " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_01_M2 ) , 0x08 , NULL , HFILL } } ,
{ & hf_062_110_01_M3 , { " M3 " , " asterix.062_110_01_M3 " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_01_M3 ) , 0x04 , NULL , HFILL } } ,
{ & hf_062_110_01_MC , { " MC " , " asterix.062_110_01_MC " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_01_MC ) , 0x02 , NULL , HFILL } } ,
{ & hf_062_110_01_X , { " X " , " asterix.062_110_01_X " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_01_X ) , 0x01 , NULL , HFILL } } ,
{ & hf_062_110_02 , { " #2: Mode 5 PIN /National Origin/ Mission Code " , " asterix.062_110_02 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_110_02_PIN , { " PIN " , " asterix.062_110_02_PIN " , FT_UINT16 , BASE_DEC , NULL , 0x3fff , NULL , HFILL } } ,
{ & hf_062_110_02_NAT , { " NAT " , " asterix.062_110_02_NAT " , FT_UINT16 , BASE_DEC , NULL , 0x1f00 , NULL , HFILL } } ,
{ & hf_062_110_02_MIS , { " MIS " , " asterix.062_110_02_MIS " , FT_UINT16 , BASE_DEC , NULL , 0 X003f , NULL , HFILL } } ,
{ & hf_062_110_03 , { " #3: Mode 5 Reported Position " , " asterix.062_ " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_110_03_LAT , { " LAT[deg] " , " asterix.062_110_03_LAT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_110_03_LON , { " LON[deg] " , " asterix.062_110_03_LON " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_110_04 , { " #4: Mode 5 GNSS-derived Altitude " , " asterix.062_11_04 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_110_04_RES , { " RES " , " asterix.062_110_04_RES " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_110_04_RES ) , 0x6000 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_110_04_GA , { " GA[feet] " , " asterix.062_110_04_GA " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_110_05 , { " #5: Extended Mode 1 Code in Octal Representation " , " asterix.062_110_05 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_110_05_SQUAWK , { " SQUAWK " , " asterix.062_110_05_SQUAWK " , FT_UINT16 , BASE_OCT , NULL , 0x0fff , NULL , HFILL } } ,
{ & hf_062_110_06 , { " #6: Time Offset for POS and GA " , " asterix.062_11_06 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_110_06_TOS , { " TOS[s] " , " asterix.062_110_06_TOS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_110_07 , { " #7: X Pulse Presence " , " asterix.062_110_07 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_110_07_X5 , { " X5 " , " asterix.062_110_07_X5 " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_07_X5 ) , 0x01 , NULL , HFILL } } ,
{ & hf_062_110_07_XC , { " XC " , " asterix.062_110_07_XC " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_07_XC ) , 0x08 , NULL , HFILL } } ,
{ & hf_062_110_07_X3 , { " X3 " , " asterix.062_110_07_X3 " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_07_X3 ) , 0x04 , NULL , HFILL } } ,
{ & hf_062_110_07_X2 , { " X2 " , " asterix.062_110_07_X2 " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_07_X2 ) , 0x02 , NULL , HFILL } } ,
{ & hf_062_110_07_X1 , { " X1 " , " asterix.062_110_07_X1 " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_110_07_X1 ) , 0x01 , NULL , HFILL } } ,
{ & hf_062_120 , { " 120, Track Mode 2 Code " , " asterix.062_120 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_120_SQUAWK , { " SQUAWK " , " asterix.062_120_SQUAWK " , FT_UINT16 , BASE_OCT , NULL , 0x0fff , NULL , HFILL } } ,
{ & hf_062_130 , { " 130, Calculated Track Geometric Altitude " , " asterix.062_130 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_130_ALT , { " Altitude[feet] " , " asterix.062_130_ALT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_135 , { " 135, Calculated Track Barometric Altitude " , " asterix.062_135 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_135_QNH , { " QNH " , " asterix.062_135_QNH " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_135_QNH ) , 0x8000 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_135_ALT , { " Altitude[FL] " , " asterix.062_135_ALT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_136 , { " 136, Measured Flight Level " , " asterix.062_136 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_136_ALT , { " Measured Flight Level[FL] " , " asterix.062_136_ALT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_185 , { " 185, Calculated Track Velocity (Cartesian) " , " asterix.062_185 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_185_VX , { " Vx[m] " , " asterix.062_185_VX " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_185_VY , { " Vy[m] " , " asterix.062_185_VY " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_200 , { " 200, Mode of Movement " , " asterix.062_200 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_200_TRANS , { " TRANS " , " asterix.062_200_TRANS " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_200_TRANS ) , 0xc0 , NULL , HFILL } } ,
{ & hf_062_200_LONG , { " LONG " , " asterix.062_200_LONG " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_200_LONG ) , 0x30 , NULL , HFILL } } ,
{ & hf_062_200_VERT , { " VERT " , " asterix.062_200_VERT " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_200_VERT ) , 0x0c , NULL , HFILL } } ,
{ & hf_062_200_ADF , { " ADF " , " asterix.062_200_ADF " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_200_ADF ) , 0x02 , NULL , HFILL } } ,
{ & hf_062_210 , { " 210, Calculated Acceleration (Cartesian) " , " asterix.062_210 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_210_AX , { " Ax[m/s^2] " , " asterix.062_210_AX " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_210_AY , { " Ay[m/s^2] " , " asterix.062_210_AY " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_220 , { " 220, Calculated Rate Of Climb/Descent " , " asterix.062_220 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_220_ROCD , { " ROCD[feet/minute] " , " asterix.062_220_ROCD " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_245 , { " 245, Target Identification " , " asterix.062_245 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_270 , { " 270, Target Size & Orientation " , " asterix.062_270 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_270_LENGTH , { " Length[m] " , " asterix.062_270_LENGTH " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_270_ORIENTATION , { " Orientation[m] " , " asterix.062_270_ORIENTATION " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_270_WIDTH , { " Width[m] " , " asterix.062_270_WIDTH " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_290 , { " 290, System Track Update Ages " , " asterix.062_ " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_290_01 , { " #1: Track Age " , " asterix.062_290_01 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_290_01_TRK , { " TRK[s] " , " asterix.062_290_01_TRK " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_290_02 , { " #2: PSR Age " , " asterix.062_290_02 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_290_02_PSR , { " PSR[s] " , " asterix.062_290_02_PSR " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_290_03 , { " #3: SSR Age " , " asterix.062_290_03 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_290_03_SSR , { " SSR[s] " , " asterix.062_290_03_SSR " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_290_04 , { " #4: Mode S Age " , " asterix.062_290_04 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_290_04_MDS , { " MDS[s] " , " asterix.062_290_04_MDS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_290_05 , { " #5: ADS-C Age " , " asterix.062_290_05 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_290_05_ADS , { " ADS[s] " , " asterix.062_290_05_ADS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_290_06 , { " #6: ES Age " , " asterix.062_290_06 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_290_06_ES , { " ES[s] " , " asterix.062_290_06_ES " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_290_07 , { " #7: VDL Age " , " asterix.062_290_07 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_290_07_VDL , { " VDL[s] " , " asterix.062_290_07_VDL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_290_08 , { " #8: UAT Age " , " asterix.062_290_08 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_290_08_UAT , { " UAT[s] " , " asterix.062_290_08_UAT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_290_09 , { " #9: Loop Age " , " asterix.062_290_09 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_290_09_LOP , { " LOP[s] " , " asterix.062_290_09_LOP " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_290_10 , { " #10: Multilateration Age " , " asterix.062_290_10 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_290_10_MLT , { " MLT[s] " , " asterix.062_290_10_MLT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295 , { " 295, Track Data Ages " , " asterix.062_295 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_295_01 , { " #1: Measured Flight Level Age " , " asterix.062_295_01 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_01_MFL , { " MFL[s] " , " asterix.062_295_01_MFL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_02 , { " #2: Mode 1 Age " , " asterix.062_295_02 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_02_MD1 , { " MD1[s] " , " asterix.062_295_02_MD1 " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_03 , { " #3: Mode 2 Age " , " asterix.062_295_03 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_03_MD2 , { " MD2[s] " , " asterix.062_295_03_MD2 " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_04 , { " #4: Mode 3/A Age " , " asterix.062_295_04 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_04_MDA , { " MDA[s] " , " asterix.062_295_04_MDA " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_05 , { " #5: Mode 4 Age " , " asterix.062_295_05 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_05_MD4 , { " MD4[s] " , " asterix.062_295_05_MD4 " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_06 , { " #6: Mode 5 Age " , " asterix.062_295_06 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_06_MD5 , { " MD5[s] " , " asterix.062_295_06_MD5 " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_07 , { " #7: Magnetic Heading Age " , " asterix.062_295_07 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_07_MHD , { " MHD[s] " , " asterix.062_295_07_MHD " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_08 , { " #8: Indicated Airspeed / Mach Nb age " , " asterix.062_295_08 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_08_IAS , { " IAS[s] " , " asterix.062_295_08_IAS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_09 , { " #9: True Airspeed Age " , " asterix.062_295_09 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_09_TAS , { " TAS[s] " , " asterix.062_295_09_TAS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_10 , { " #10: Selected Altitude Age " , " asterix.062_295_10 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_10_SAL , { " SAL[s] " , " asterix.062_295_10_SAL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_11 , { " #11: Final State Selected Altitude Age " , " asterix.062_295_11 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_11_FSS , { " FSS[s] " , " asterix.062_295_11_FSS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_12 , { " #12: Trajectory Intent Age " , " asterix.062_295_12 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_12_TID , { " TID[s] " , " asterix.062_295_12_TID " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_13 , { " #13: Communication/ACAS Capability and Flight Status Age " , " asterix.062_295_13 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_13_COM , { " COM[s] " , " asterix.062_295_13_COM " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_14 , { " #14: Status Reported by ADS-B Age " , " asterix.062_295_14 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_14_SAB , { " SAB[s] " , " asterix.062_295_14_SAB " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_15 , { " #15: ACAS Resolution Advisory Report Age " , " asterix.062_295_15 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_15_ACS , { " ACS[s] " , " asterix.062_295_15_ACS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_16 , { " #16: Barometric Vertical Rate Age " , " asterix.062_295_16 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_16_BVR , { " BVR[s] " , " asterix.062_295_16_BVR " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_17 , { " #17: Geometrical Vertical Rate Age " , " asterix.062_295_17 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_17_GVR , { " GVR[s] " , " asterix.062_295_17_GVR " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_18 , { " #18: Roll Angle Age " , " asterix.062_295_18 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_18_RAN , { " RAN[s] " , " asterix.062_295_18_RAN " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_19 , { " #19: Track Angle Rate Age " , " asterix.062_295_19 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_19_TAR , { " TAR[s] " , " asterix.062_295_19_TAR " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_20 , { " #20: Track Angle Age " , " asterix.062_295_20 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_20_TAN , { " TAN[s] " , " asterix.062_295_20_TAN " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_21 , { " #21: Ground Speed Age " , " asterix.062_295_21 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_21_GSP , { " GSP[s] " , " asterix.062_295_21_GSP " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_22 , { " #22: Velocity Uncertainty Age " , " asterix.062_295_22 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_22_VUN , { " VUN[s] " , " asterix.062_295_22_VUN " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_23 , { " #23: Meteorological Data Age " , " asterix.062_295_23 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_23_MET , { " MET[s] " , " asterix.062_295_23_MET " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_24 , { " #24: Emitter Category Age " , " asterix.062_295_24 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_24_EMC , { " EMC[s] " , " asterix.062_295_24_EMC " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_25 , { " #25: Position Age " , " asterix.062_295_25 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_25_POS , { " POS[s] " , " asterix.062_295_25_POS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_26 , { " #26: Geometric Altitude Age " , " asterix.062_295_26 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_26_GAL , { " GAL[s] " , " asterix.062_295_26_GAL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_27 , { " #27: Position Uncertainty Age " , " asterix.062_295_27 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_27_PUN , { " PUN[s] " , " asterix.062_295_27_PUN " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_28 , { " #28: Mode S MB Data Age " , " asterix.062_295_28 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_28_MB , { " MB[s] " , " asterix.062_295_28_MB " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_29 , { " #29: Indicated Airspeed Data Age " , " asterix.062_295_29 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_29_IAR , { " IAR[s] " , " asterix.062_295_29_IAR " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_30 , { " #30: Mach Number Data Age " , " asterix.062_295_30 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_30_MAC , { " MAC[s] " , " asterix.062_295_30_MAC " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_295_31 , { " #31: Barometric Pressure Setting Data Age " , " asterix.062_295_31 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_295_31_BPS , { " 31[s] " , " asterix.062_295_31_BPS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_300 , { " 300, Vehicle Fleet Identification " , " asterix.062_300 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_300_VFI , { " VFI " , " asterix.062_300_VFI " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_300_VFI ) , 0x0 , NULL , HFILL } } ,
{ & hf_062_340 , { " 340, Measured Information " , " asterix.062_340 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_340_01 , { " #1: Sensor Identification " , " asterix.062_340_01 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_340_02 , { " #2: Measured Position " , " asterix.062_340_02 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 23:23:34 +00:00
{ & hf_062_340_02_RHO , { " RHO[NM] " , " asterix.062_340_02_RHO " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_340_02_THETA , { " THETA[deg] " , " asterix.062_340_02_THETA " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_340_03 , { " #3: Measured 3-D Height " , " asterix.062_340_03 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_340_03_H , { " HEIGHT[feet] " , " asterix.062_340_03_H " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_340_04 , { " #4: Last Measured Mode C Code " , " asterix.062_340_ " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_340_04_V , { " V " , " asterix.062_340_04_V " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_340_04_V ) , 0x8000 , NULL , HFILL } } ,
{ & hf_062_340_04_G , { " G " , " asterix.062_340_04_G " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_340_04_G ) , 0x4000 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_340_04_FL , { " HEIGHT[FL] " , " asterix.062_340_04_FL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_340_05 , { " #5: Last Measured Mode 3/A Code " , " asterix.062_340_ " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_340_05_V , { " V " , " asterix.062_340_05_V " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_340_05_V ) , 0x8000 , NULL , HFILL } } ,
{ & hf_062_340_05_G , { " G " , " asterix.062_340_05_G " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_340_05_G ) , 0x4000 , NULL , HFILL } } ,
{ & hf_062_340_05_L , { " L " , " asterix.062_340_05_L " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_340_05_L ) , 0x2000 , NULL , HFILL } } ,
{ & hf_062_340_05_SQUAWK , { " SQUAWK " , " asterix.062_340_05_SQUAWK " , FT_UINT16 , BASE_OCT , NULL , 0x0fff , NULL , HFILL } } ,
{ & hf_062_340_06 , { " #6: Report Type " , " asterix.062_340_06 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_340_06_TYP , { " TYP " , " asterix.062_340_06_TYP " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_340_06_TYP ) , 0xe0 , NULL , HFILL } } ,
{ & hf_062_340_06_SIM , { " SIM " , " asterix.062_340_06_SIM " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_340_06_SIM ) , 0x10 , NULL , HFILL } } ,
{ & hf_062_340_06_RAB , { " RAB " , " asterix.062_340_06_RAB " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_340_06_RAB ) , 0x08 , NULL , HFILL } } ,
{ & hf_062_340_06_TST , { " TST " , " asterix.062_340_06_TST " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_340_06_TST ) , 0x04 , NULL , HFILL } } ,
{ & hf_062_380 , { " 380, Aircraft Derived Data " , " asterix.062_380 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_01 , { " #1: Target Address " , " asterix.062_380_01 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_02 , { " #2: Target Identification " , " asterix.062_380_02 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_03 , { " #3: Magnetic Heading " , " asterix.062_380_03 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_03_MH , { " MH[deg] " , " asterix.062_380_03_MH " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_04 , { " #4: Indicated Airspeed / Mach No " , " asterix.062_380_4 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_04_IM , { " IM " , " asterix.062_380_04_IM " , FT_UINT16 , BASE_DEC , NULL , 0x8000 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_04_IAS , { " IAS[NM/s or Mach] " , " asterix.062_380_04_IAS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_05 , { " #5: True Airspeed " , " asterix.062_380_05 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_05_TAS , { " TAS[knot] " , " asterix.062_380_05_TAS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_06 , { " #6: Selected Altitude " , " asterix.062_380_06 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_06_SAS , { " SAS " , " asterix.062_380_06_SAS " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_06_SAS ) , 0x8000 , NULL , HFILL } } ,
{ & hf_062_380_06_SOURCE , { " SOURCE " , " asterix.062_380_06_SOURCE " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_06_SOURCE ) , 0x6000 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_06_ALT , { " ALT[feet] " , " asterix.062_380_06_ALT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_07 , { " #7: Final State Selected Altitude " , " asterix.062_380_07 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_07_MV , { " MV " , " asterix.062_380_07_MV " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_07 ) , 0x8000 , NULL , HFILL } } ,
{ & hf_062_380_07_AH , { " AH " , " asterix.062_380_07_AH " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_07 ) , 0x4000 , NULL , HFILL } } ,
{ & hf_062_380_07_AM , { " AM " , " asterix.062_380_07_AM " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_07 ) , 0x2000 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_07_ALT , { " ALT[feet] " , " asterix.062_380_07_ALT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_08 , { " #8: Trajectory Intent Status " , " asterix.062_380_08 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_08_NAV , { " NAV " , " asterix.062_380_08_NAV " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_08_NAV ) , 0x80 , NULL , HFILL } } ,
{ & hf_062_380_08_NVB , { " NVB " , " asterix.062_380_08_NVB " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_08_NVB ) , 0x40 , NULL , HFILL } } ,
{ & hf_062_380_09 , { " #9: " , " asterix.062_380_09 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_09_TCA , { " TCA " , " asterix.062_380_09_TCA " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_09_TCA ) , 0x80 , NULL , HFILL } } ,
{ & hf_062_380_09_NC , { " NC " , " asterix.062_380_09_NC " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_09_NC ) , 0x80 , NULL , HFILL } } ,
{ & hf_062_380_09_TCP , { " TCP " , " asterix.062_380_09_TCP " , FT_UINT8 , BASE_DEC , NULL , 0x3f , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_09_ALT , { " ALT[feet] " , " asterix.062_380_09_ALT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_09_LAT , { " LAT[deg] " , " asterix.062_380_09_LAT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_09_LON , { " LON[deg] " , " asterix.062_380_09_LON " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_09_PTYP , { " PTYP " , " asterix.062_380_09_PTYP " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_09_PTYP ) , 0xf0 , NULL , HFILL } } ,
{ & hf_062_380_09_TD , { " TD " , " asterix.062_380_09_TD " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_09_PTYP ) , 0x0c , NULL , HFILL } } ,
{ & hf_062_380_09_TRA , { " TRA " , " asterix.062_380_09_TRA " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_09_TRA ) , 0x02 , NULL , HFILL } } ,
{ & hf_062_380_09_TOA , { " TOA " , " asterix.062_380_09_TOA " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_09_TOA ) , 0x01 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_09_TOV , { " TOV[s] " , " asterix.062_380_09_TOV " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_09_TTR , { " TTR[NM] " , " asterix.062_380_09_TTR " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_10 , { " #10: Communications/ACAS Capability and Flight Status reported by Mode-S " , " asterix.062_380_10 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_10_COM , { " COM " , " asterix.062_380_10_COM " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_10_COM ) , 0xe000 , NULL , HFILL } } ,
{ & hf_062_380_10_STAT , { " STAT " , " asterix.062_380_10_STAT " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_10_STAT ) , 0x1c00 , NULL , HFILL } } ,
{ & hf_062_380_10_SSC , { " SSC " , " asterix.062_380_10_SSC " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_10_SSC ) , 0x0080 , NULL , HFILL } } ,
{ & hf_062_380_10_ARC , { " ARC " , " asterix.062_380_10_ARC " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_10_ARC ) , 0x0040 , NULL , HFILL } } ,
{ & hf_062_380_10_AIC , { " AIC " , " asterix.062_380_10_AIC " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_10_AIC ) , 0x0020 , NULL , HFILL } } ,
{ & hf_062_380_10_B1A , { " B1A " , " asterix.062_380_10_B1A " , FT_UINT16 , BASE_DEC , NULL , 0x0010 , NULL , HFILL } } ,
{ & hf_062_380_10_B1B , { " B1B " , " asterix.062_380_10_B1B " , FT_UINT16 , BASE_DEC , NULL , 0x000f , NULL , HFILL } } ,
{ & hf_062_380_11 , { " #11: Status reported by ADS-B " , " asterix.062_380_11 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_11_AC , { " AC " , " asterix.062_380_11_AC " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_11_AC ) , 0xc000 , NULL , HFILL } } ,
{ & hf_062_380_11_MN , { " MN " , " asterix.062_380_11_MN " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_11_MN ) , 0x3000 , NULL , HFILL } } ,
{ & hf_062_380_11_DC , { " DC " , " asterix.062_380_11_DC " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_11_DC ) , 0x0c00 , NULL , HFILL } } ,
{ & hf_062_380_11_GBS , { " GBS " , " asterix.062_380_11_GBS " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_11_GBS ) , 0x0200 , NULL , HFILL } } ,
{ & hf_062_380_11_STAT , { " STAT " , " asterix.062_380_11_STAT " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_11_STAT ) , 0x0007 , NULL , HFILL } } ,
{ & hf_062_380_12 , { " #12: ACAS Resolution Advisory Report " , " asterix.062_380_12 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_12_MB , { " MB DATA " , " asterix.062_380_12_MB " , FT_BYTES , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_13 , { " #13: Barometric Vertical Rate " , " asterix.062_380_13 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_13_BVR , { " BVR[feet/min] " , " asterix.062_380_13_BVR " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_14 , { " #14: Geometric Vertical Rate " , " asterix.062_380_14 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_14_GVR , { " GVR[feet/min] " , " asterix.062_380_14_GVR " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_15 , { " #15: Roll Angle " , " asterix.062_380_15 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_15_ROLL , { " ROLL[deg] " , " asterix.062_380_15_ROLL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_16 , { " #16: Track Angle Rate " , " asterix.062_380_16 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_16_TI , { " TI " , " asterix.062_380_16_TI " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_380_16_TI ) , 0xc000 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_16_RATE , { " RATE[deg/s] " , " asterix.062_380_16_RATE " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_17 , { " #17: Track Angle " , " asterix.062_380_17 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_17_TA , { " TA[deg] " , " asterix.062_380_17_TA " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_18 , { " #18: Ground Speed " , " asterix.062_380_18 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_18_GS , { " GS[NM/s] " , " asterix.062_380_18_GS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_19 , { " #19: Velocity Uncertainty " , " asterix.062_380_19 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_19_VUC , { " VUC " , " asterix.062_380_19_VUC " , FT_UINT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_20 , { " #20: Met Data " , " asterix.062_380_20 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_20_WS , { " WS " , " asterix.062_380_20_WS " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_20_WS ) , 0x80 , NULL , HFILL } } ,
{ & hf_062_380_20_WD , { " WD " , " asterix.062_380_20_WD " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_20_WD ) , 0x40 , NULL , HFILL } } ,
{ & hf_062_380_20_TMP , { " TMP " , " asterix.062_380_20_TMP " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_20_TMP ) , 0x20 , NULL , HFILL } } ,
{ & hf_062_380_20_TRB , { " TRB " , " asterix.062_380_20_TRB " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_20_TRB ) , 0x10 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_20_WS_VAL , { " WS[knot] " , " asterix.062_380_20_WS_VAL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_20_WD_VAL , { " WD[deg] " , " asterix.062_380_20_WD_VAL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_20_TMP_VAL , { " TMP[deg Celcius] " , " asterix.062_380_20_TMP_VAL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_20_TRB_VAL , { " TRB " , " asterix.062_380_20_TRB_VAL " , FT_UINT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_21 , { " #21: Emitter Category " , " asterix.062_380_21 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_21_ECAT , { " ECAT " , " asterix.062_380_21_ECAT " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_380_21_ECAT ) , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_22 , { " #22: Position " , " asterix.062_380_22 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_22_LAT , { " LAT[deg] " , " asterix.062_380_22_LAT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_22_LON , { " LON[deg] " , " asterix.062_380_22_LON " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_23 , { " #23: Geometric Altitude " , " asterix.062_380_23 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_23_ALT , { " ALT[feet] " , " asterix.062_380_23_ALT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_24 , { " #24: Position Uncertainty " , " asterix.062_380_24 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_24_PUN , { " PUN " , " asterix.062_380_24_PUN " , FT_UINT8 , BASE_DEC , NULL , 0x0f , NULL , HFILL } } ,
{ & hf_062_380_25 , { " #25: MODE S MB DATA " , " asterix.062_380_25 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_380_26 , { " #26: Indicated Airspeed " , " asterix.062_380_26 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_26_IAS , { " IAS[knot] " , " asterix.062_380_26_IAS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_27 , { " #27: Mach Number " , " asterix.062_380_27 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_27_MACH , { " MACH[mach] " , " asterix.062_380_27_MACH " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_380_28 , { " #28: Barometric Pressure Setting (derived from Mode S BDS 4,0) " , " asterix.062_380_28 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_380_28_BPS , { " BPS[mb] " , " asterix.062_380_28_BPS " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_390 , { " 390, Flight Plan Related Data " , " asterix.062_390 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_01 , { " #1: FPPS Identification Tag " , " asterix.062_01 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_02 , { " #2: Callsign " , " asterix.062_02 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_02_CS , { " CS " , " asterix.062_390_02_CS " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_03 , { " #3: IFPS_FLIGHT_ID " , " asterix.062_03 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_03_TYP , { " TYP " , " asterix.062_390_03_TYP " , FT_UINT32 , BASE_DEC , VALS ( valstr_062_390_03_TYP ) , 0xc0000000 , NULL , HFILL } } ,
{ & hf_062_390_03_NBR , { " NBR " , " asterix.062_390_03_NBR " , FT_UINT32 , BASE_DEC , NULL , 0x07ffffff , NULL , HFILL } } ,
{ & hf_062_390_04 , { " #4: Flight Category " , " asterix.062_04 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_04_GAT_OAT , { " GAT/OAT " , " asterix.062_390_04_GAT_OAT " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_390_04_GAT_OAT ) , 0xc0 , NULL , HFILL } } ,
{ & hf_062_390_04_FR12 , { " FR1/FR2 " , " asterix.062_390_04_FR12 " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_390_04_FR12 ) , 0x30 , NULL , HFILL } } ,
{ & hf_062_390_04_RVSM , { " RVSM " , " asterix.062_390_04_RVSM " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_390_04_RVSM ) , 0x0c , NULL , HFILL } } ,
{ & hf_062_390_04_HPR , { " HPR " , " asterix.062_390_04_HPR " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_390_04_HPR ) , 0x02 , NULL , HFILL } } ,
{ & hf_062_390_05 , { " #5: Type of Aircraft " , " asterix.062_05 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_05_ACTYP , { " ACTYP " , " asterix.062_390_05_ACTYP " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_06 , { " #6: Wake Turbulence Category " , " asterix.062_06 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_06_WTC , { " WTC " , " asterix.062_390_06_WTC " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_07 , { " #7: Departure Airport " , " asterix.062_07 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_07_ADEP , { " ADEP " , " asterix.062_390_07_ADEP " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_08 , { " #8: Destination Airport " , " asterix.062_08 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_08_ADES , { " ADES " , " asterix.062_390_08_ADES " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_09 , { " #9: Runway Designation " , " asterix.062_09 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_09_NU1 , { " NU1 " , " asterix.062_390_09_NU1 " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_09_NU2 , { " NU2 " , " asterix.062_390_09_NU2 " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_09_LTR , { " LTR " , " asterix.062_390_09_LTR " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_10 , { " #10: Current Cleared Flight Level " , " asterix.062_10 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_390_10_CFL , { " CFL[FL] " , " asterix.062_390_10_CFL " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_390_11 , { " #11: Current Control Position " , " asterix.062_11 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_11_CNTR , { " CNTR " , " asterix.062_390_11_CNTR " , FT_UINT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_11_POS , { " POS " , " asterix.062_390_11_POS " , FT_UINT8 , BASE_DEC , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_12 , { " #12: Time of Departure / Arrival " , " asterix.062_12 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_12_TYP , { " TYP " , " asterix.062_390_12_TYP " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_390_12_TYP ) , 0xf8 , NULL , HFILL } } ,
{ & hf_062_390_12_DAY , { " DAY " , " asterix.062_390_12_DAY " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_390_12_DAY ) , 0x06 , NULL , HFILL } } ,
{ & hf_062_390_12_HOR , { " HOUR " , " asterix.062_390_12_HOR " , FT_UINT8 , BASE_DEC , NULL , 0x1f , NULL , HFILL } } ,
{ & hf_062_390_12_MIN , { " MIN " , " asterix.062_390_12_MIN " , FT_UINT8 , BASE_DEC , NULL , 0x3f , NULL , HFILL } } ,
{ & hf_062_390_12_AVS , { " AVS " , " asterix.062_390_12_AVS " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_390_12_AVS ) , 0x80 , NULL , HFILL } } ,
{ & hf_062_390_12_SEC , { " SEC " , " asterix.062_390_12_SEC " , FT_UINT8 , BASE_DEC , NULL , 0x3f , NULL , HFILL } } ,
{ & hf_062_390_13 , { " #13: Aircraft Stand " , " asterix.062_13 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_13_STAND , { " STAND " , " asterix.062_390_13_STAND " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_14 , { " #14: Stand Status " , " asterix.062_14 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_14_EMP , { " EMP " , " asterix.062_390_14_EMP " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_390_14_EMP ) , 0xc0 , NULL , HFILL } } ,
{ & hf_062_390_14_AVL , { " AVL " , " asterix.062_390_14_AVL " , FT_UINT8 , BASE_DEC , VALS ( valstr_062_390_14_AVL ) , 0x30 , NULL , HFILL } } ,
{ & hf_062_390_15 , { " #15: Standard Instrument Departure " , " asterix.062_15 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_15_SID , { " SID " , " asterix.062_390_15_SID " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_16 , { " #16: Standard Instrument Arrival " , " asterix.062_16 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_16_STAR , { " STAR " , " asterix.062_390_16_STAR " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_17 , { " #17: Pre-Emergency Mode 3/A " , " asterix.062_17 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_17_VA , { " VA " , " asterix.062_390_17_VA " , FT_UINT16 , BASE_DEC , VALS ( valstr_062_390_17_VA ) , 0x1000 , NULL , HFILL } } ,
{ & hf_062_390_17_SQUAWK , { " SQUAWK " , " asterix.062_390_17_SQUAWK " , FT_UINT16 , BASE_OCT , NULL , 0x0fff , NULL , HFILL } } ,
{ & hf_062_390_18 , { " #18: Pre-Emergency Callsign " , " asterix.062_18 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_390_18_CS , { " CS " , " asterix.062_390_18_CS " , FT_STRING , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_500 , { " 500, Estimated Accuracies " , " asterix.062_500 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_500_01 , { " #1: Estimated Accuracy Of Track Position (Cartesian) " , " asterix.062_01 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_500_01_APCX , { " APC X[m] " , " asterix.062_500_01_APCX " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_500_01_APCY , { " APC Y[m] " , " asterix.062_500_01_APCY " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_500_02 , { " #2: XY covariance component " , " asterix.062_02 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_500_02_COV , { " COV[m] " , " asterix.062_500_02_COV " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_500_03 , { " #3: Estimated Accuracy Of Track Position (WGS-84) " , " asterix.062_03 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_500_03_APWLAT , { " APW LAT[deg] " , " asterix.062_500_03_APWLAT " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_500_03_APWLON , { " APW LON[deg] " , " asterix.062_500_03_APWLON " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_500_04 , { " #4: Estimated Accuracy Of Calculated Track Geometric Altitude " , " asterix.062_04 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_500_04_AGA , { " AGA[feet] " , " asterix.062_500_04_AGA " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_500_05 , { " #5: Estimated Accuracy Of Calculated Track Barometric Altitude " , " asterix.062_05 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_500_05_ABA , { " ABA[FL] " , " asterix.062_500_05_ABA " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_500_06 , { " #6: " , " asterix.062_06 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_500_06_ATVX , { " ATV X[m/s] " , " asterix.062_500_06_ATVX " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_500_06_ATVY , { " ATV Y[m/s] " , " asterix.062_500_06_ATVY " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_500_07 , { " #7: Estimated Accuracy Of Acceleration (Cartesian) " , " asterix.062_07 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_500_07_AAX , { " AA X[m/s^2] " , " asterix.062_500_07_AAX " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_500_07_AAY , { " AA X[m/s^2] " , " asterix.062_500_07_AAY " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_500_08 , { " #8: Estimated Accuracy Of Rate Of Climb/Descent " , " asterix.062_08 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 20:16:03 +00:00
{ & hf_062_500_08_ARC , { " ARC[feet/min] " , " asterix.062_500_08_ARC " , FT_DOUBLE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
2013-05-20 19:23:41 +00:00
{ & hf_062_510 , { " 510, Composed Track Number " , " asterix.062_510 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_510_SID , { " SID " , " asterix.062_510_SID " , FT_UINT24 , BASE_DEC , NULL , 0xfffffe , NULL , HFILL } } ,
{ & hf_062_510_STN , { " STN " , " asterix.062_510_STN " , FT_UINT24 , BASE_DEC , NULL , 0xfffffe , NULL , HFILL } } ,
{ & hf_062_RE , { " Reserved Expansion Field " , " asterix.062_RE " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_062_SP , { " Special Purpose Field " , " asterix.062_SP " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
/* Category 063 */
{ & hf_063_010 , { " 010, Data Source Identifier " , " asterix.063_010 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_015 , { " 015, Service Identification " , " asterix.063_015 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_030 , { " 030, Time of Message " , " asterix.063_030 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_050 , { " 050, Sensor Identifier " , " asterix.063_050 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_060 , { " 060, Sensor Configuration and Status " , " asterix.063_060 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_070 , { " 070, Time Stamping Bias " , " asterix.063_070 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_080 , { " 080, SSR / Mode S Range Gain and Bias " , " asterix.063_080 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_081 , { " 081, SSR / Mode S Azimuth Bias " , " asterix.063_081 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_090 , { " 090, PSR Range Gain and Bias " , " asterix.063_090 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_091 , { " 091, PSR Azimuth Bias " , " asterix.063_091 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_092 , { " 092, PSR Elevation Bias " , " asterix.063_092 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_RE , { " Reserved Expansion Field " , " asterix.063_RE " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_063_SP , { " Special Purpose Field " , " asterix.063_SP " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
/* Category 065 */
{ & hf_065_000 , { " 000, Message Type " , " asterix.063_000 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_065_010 , { " 010, Data Source Identifier " , " asterix.063_010 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_065_015 , { " 015, Service Identification " , " asterix.063_015 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_065_020 , { " 020, Batch Number " , " asterix.063_020 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_065_030 , { " 030, Time of Message " , " asterix.063_030 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_065_040 , { " 040, SDPS Configuration and Status " , " asterix.063_040 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_065_050 , { " 050, Service Status Report " , " asterix.063_050 " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_065_RE , { " Reserved Expansion Field " , " asterix.063_RE " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
{ & hf_065_SP , { " Special Purpose Field " , " asterix.063_SP " , FT_NONE , BASE_NONE , NULL , 0x0 , NULL , HFILL } } ,
} ;
/* Setup protocol subtree array */
static gint * ett [ ] = {
& ett_asterix ,
& ett_asterix_category ,
& ett_asterix_length ,
& ett_asterix_message ,
& ett_asterix_subtree ,
& ett_spare ,
& ett_counter ,
& ett_XXX_SAC ,
& ett_XXX_SIC ,
& ett_XXX_FX ,
2013-06-03 23:27:01 +00:00
/*&ett_XXX_2FX,*/
& ett_XXX_3FX ,
2013-05-20 19:23:41 +00:00
& ett_XXX_TOD ,
& ett_XXX_AA ,
& ett_XXX_AI ,
& ett_XXX_MB_DATA ,
& ett_XXX_BDS1 ,
& ett_XXX_BDS2 ,
& ett_XXX_TN_16 ,
/* Category 001 */
& ett_001_010 ,
& ett_001_020 ,
& ett_001_020_TYP ,
& ett_001_020_SIM ,
& ett_001_020_SSR_PSR ,
& ett_001_020_ANT ,
& ett_001_020_SPI ,
& ett_001_020_RAB ,
& ett_001_020_TST ,
& ett_001_020_DS12 ,
& ett_001_020_ME ,
& ett_001_020_MI ,
& ett_001_030 ,
& ett_001_030_WE ,
& ett_001_040 ,
& ett_001_040_RHO ,
& ett_001_040_THETA ,
& ett_001_042 ,
& ett_001_042_X ,
& ett_001_042_Y ,
& ett_001_050 ,
& ett_001_060 ,
& ett_001_070 ,
& ett_001_070_V ,
& ett_001_070_G ,
& ett_001_070_L ,
& ett_001_070_SQUAWK ,
& ett_001_080 ,
& ett_001_080_QA4 ,
& ett_001_080_QA2 ,
& ett_001_080_QA1 ,
& ett_001_080_QB4 ,
& ett_001_080_QB2 ,
& ett_001_080_QB1 ,
& ett_001_080_QC4 ,
& ett_001_080_QC2 ,
& ett_001_080_QC1 ,
& ett_001_080_QD4 ,
& ett_001_080_QD2 ,
& ett_001_080_QD1 ,
& ett_001_090 ,
& ett_001_090_V ,
& ett_001_090_G ,
& ett_001_090_FL ,
& ett_001_100 ,
& ett_001_120 ,
& ett_001_130 ,
& ett_001_131 ,
& ett_001_141 ,
& ett_001_141_TTOD ,
& ett_001_150 ,
& ett_001_161 ,
& ett_001_161_TPN ,
& ett_001_170 ,
& ett_001_170_CON ,
& ett_001_170_RAD ,
& ett_001_170_MAN ,
& ett_001_170_DOU ,
& ett_001_170_RDPC ,
& ett_001_170_GHO ,
& ett_001_170_TRE ,
& ett_001_200 ,
& ett_001_210 ,
& ett_001_RE ,
& ett_001_SP ,
/* Category 002 */
& ett_002_000 ,
& ett_002_000_MT ,
& ett_002_010 ,
& ett_002_020 ,
& ett_002_020_SN ,
& ett_002_030 ,
& ett_002_041 ,
& ett_002_041_ARS ,
& ett_002_050 ,
& ett_002_060 ,
& ett_002_070 ,
& ett_002_070_A ,
& ett_002_070_IDENT ,
& ett_002_070_COUNTER ,
& ett_002_080 ,
& ett_002_080_WE ,
& ett_002_090 ,
& ett_002_090_RE ,
& ett_002_090_AE ,
& ett_002_100 ,
& ett_002_100_RHOS ,
& ett_002_100_RHOE ,
& ett_002_100_THETAS ,
& ett_002_100_THETAE ,
& ett_002_RE ,
& ett_002_SP ,
2013-06-03 23:27:01 +00:00
/* Category 009 */
& ett_009_000 ,
& ett_009_000_MT ,
& ett_009_010 ,
& ett_009_020 ,
& ett_009_020_ORG ,
& ett_009_020_INT ,
& ett_009_020_DIR ,
& ett_009_030 ,
& ett_009_030_X ,
& ett_009_030_Y ,
& ett_009_030_VL ,
& ett_009_060 ,
& ett_009_060_STEP ,
& ett_009_070 ,
& ett_009_080 ,
& ett_009_080_SCALE ,
& ett_009_080_R ,
& ett_009_080_Q ,
& ett_009_090 ,
& ett_009_090_CP ,
& ett_009_090_WO ,
& ett_009_090_RS ,
& ett_009_100 ,
& ett_009_100_VC ,
2013-05-20 19:23:41 +00:00
/* Category 034 */
& ett_034_000 ,
& ett_034_000_MT ,
& ett_034_010 ,
& ett_034_020 ,
& ett_034_020_SN ,
& ett_034_030 ,
& ett_034_041 ,
& ett_034_041_ARS ,
& ett_034_050 ,
& ett_034_050_01 ,
& ett_034_050_01_NOGO ,
& ett_034_050_01_RDPC ,
& ett_034_050_01_RDPR ,
& ett_034_050_01_OVL_RDP ,
& ett_034_050_01_OVL_XMT ,
& ett_034_050_01_MSC ,
& ett_034_050_01_TSV ,
& ett_034_050_02 ,
& ett_034_050_02_ANT ,
& ett_034_050_02_CHAB ,
& ett_034_050_02_OVL ,
& ett_034_050_02_MSC ,
& ett_034_050_03 ,
& ett_034_050_03_ANT ,
& ett_034_050_03_CHAB ,
& ett_034_050_03_OVL ,
& ett_034_050_03_MSC ,
& ett_034_050_04 ,
& ett_034_050_04_ANT ,
& ett_034_050_04_CHAB ,
& ett_034_050_04_OVL_SUR ,
& ett_034_050_04_MSC ,
& ett_034_050_04_SCF ,
& ett_034_050_04_DLF ,
& ett_034_050_04_OVL_SCF ,
& ett_034_050_04_OVL_DLF ,
& ett_034_060 ,
& ett_034_060_01 ,
& ett_034_060_01_RED_RDP ,
& ett_034_060_01_RED_XMT ,
& ett_034_060_02 ,
& ett_034_060_02_POL ,
& ett_034_060_02_RED_RAD ,
& ett_034_060_02_STC ,
& ett_034_060_03 ,
& ett_034_060_03_RED_RAD ,
& ett_034_060_04 ,
& ett_034_060_04_RED_RAD ,
& ett_034_060_04_CLU ,
& ett_034_070 ,
& ett_034_070_TYP ,
& ett_034_070_COUNTER ,
& ett_034_090 ,
& ett_034_090_RE ,
& ett_034_090_AE ,
& ett_034_100 ,
& ett_035_100_RHOS ,
& ett_035_100_RHOE ,
& ett_035_100_THETAS ,
& ett_035_100_THETAE ,
& ett_034_110 ,
& ett_034_110_TYP ,
& ett_034_120 ,
& ett_034_120_H ,
& ett_034_120_LAT ,
& ett_034_120_LON ,
& ett_034_RE ,
& ett_034_SP ,
/* Category 048 */
& ett_048_010 ,
& ett_048_020 ,
& ett_048_020_TYP ,
& ett_048_020_SIM ,
& ett_048_020_RDP ,
& ett_048_020_SPI ,
& ett_048_020_RAB ,
& ett_048_020_TST ,
& ett_048_020_ME ,
& ett_048_020_MI ,
& ett_048_020_FOE ,
& ett_048_030 ,
& ett_048_030_WE ,
& ett_048_040 ,
& ett_048_040_RHO ,
& ett_048_040_THETA ,
& ett_048_042 ,
& ett_048_042_X ,
& ett_048_042_Y ,
& ett_048_050 ,
& ett_048_050_V ,
& ett_048_050_G ,
& ett_048_050_L ,
& ett_048_050_SQUAWK ,
& ett_048_055 ,
& ett_048_055_V ,
& ett_048_055_G ,
& ett_048_055_L ,
& ett_048_055_CODE ,
& ett_048_060 ,
& ett_048_065 ,
& ett_048_070 ,
& ett_048_070_V ,
& ett_048_070_G ,
& ett_048_070_L ,
& ett_048_070_SQUAWK ,
& ett_048_080 ,
& ett_048_090 ,
& ett_048_090_V ,
& ett_048_090_G ,
& ett_048_090_FL ,
& ett_048_100 ,
& ett_048_110 ,
& ett_048_120 ,
& ett_048_120_01 ,
& ett_048_120_01_D ,
& ett_048_120_01_CAL ,
& ett_048_120_02 ,
& ett_048_120_02_DOP ,
& ett_048_120_02_AMB ,
& ett_048_120_02_FRQ ,
& ett_048_130 ,
& ett_048_130_01 ,
& ett_048_130_02 ,
& ett_048_130_03 ,
& ett_048_130_04 ,
& ett_048_130_05 ,
& ett_048_130_06 ,
& ett_048_130_07 ,
& ett_048_140 ,
& ett_048_161 ,
& ett_048_161_TN ,
& ett_048_170 ,
& ett_048_170_CNF ,
& ett_048_170_RAD ,
& ett_048_170_DOU ,
& ett_048_170_MAH ,
& ett_048_170_CDM ,
& ett_048_170_TRE ,
& ett_048_170_GHO ,
& ett_048_170_SUP ,
& ett_048_170_TCC ,
& ett_048_200 ,
& ett_048_200_GS ,
& ett_048_200_HDG ,
& ett_048_210 ,
& ett_048_210_X ,
& ett_048_210_Y ,
& ett_048_210_V ,
& ett_048_210_H ,
& ett_048_220 ,
& ett_048_230 ,
& ett_048_230_COM ,
& ett_048_230_STAT ,
& ett_048_230_SI ,
& ett_048_230_MSSC ,
& ett_048_230_ARC ,
& ett_048_230_AIC ,
& ett_048_230_B1A ,
& ett_048_230_B1B ,
& ett_048_240 ,
& ett_048_250 ,
& ett_048_260 ,
& ett_048_RE ,
& ett_048_SP ,
/* Category 062*/
& ett_062_010 ,
& ett_062_015 ,
& ett_062_015_SI ,
& ett_062_040 ,
& ett_062_060 ,
& ett_062_060_CH ,
& ett_062_060_SQUAWK ,
& ett_062_070 ,
& ett_062_080 ,
& ett_062_080_MON ,
& ett_062_080_SPI ,
& ett_062_080_MRH ,
& ett_062_080_SRC ,
& ett_062_080_CNF ,
& ett_062_080_SIM ,
& ett_062_080_TSE ,
& ett_062_080_TSB ,
& ett_062_080_FPC ,
& ett_062_080_AFF ,
& ett_062_080_STP ,
& ett_062_080_KOS ,
& ett_062_080_AMA ,
& ett_062_080_MD4 ,
& ett_062_080_ME ,
& ett_062_080_MI ,
& ett_062_080_MD5 ,
& ett_062_080_CST ,
& ett_062_080_PSR ,
& ett_062_080_SSR ,
& ett_062_080_MDS ,
& ett_062_080_ADS ,
& ett_062_080_SUC ,
& ett_062_080_AAC ,
& ett_062_080_SDS ,
& ett_062_080_EMS ,
& ett_062_080_PFT ,
& ett_062_080_FPLT ,
& ett_062_080_DUPT ,
& ett_062_080_DUPF ,
& ett_062_080_DUPM ,
& ett_062_100 ,
& ett_062_100_X ,
& ett_062_100_Y ,
& ett_062_105 ,
& ett_062_105_LAT ,
& ett_062_105_LON ,
& ett_062_110 ,
& ett_062_110_01 ,
& ett_062_110_01_M5 ,
& ett_062_110_01_ID ,
& ett_062_110_01_DA ,
& ett_062_110_01_M1 ,
& ett_062_110_01_M2 ,
& ett_062_110_01_M3 ,
& ett_062_110_01_MC ,
& ett_062_110_01_X ,
& ett_062_110_02 ,
& ett_062_110_02_PIN ,
& ett_062_110_02_NAT ,
& ett_062_110_02_MIS ,
& ett_062_110_03 ,
& ett_062_110_03_LAT ,
& ett_062_110_03_LON ,
& ett_062_110_04 ,
& ett_062_110_04_RES ,
& ett_062_110_04_GA ,
& ett_062_110_05 ,
& ett_062_110_05_SQUAWK ,
& ett_062_110_06 ,
& ett_062_110_06_TOS ,
& ett_062_110_07 ,
& ett_062_110_07_X5 ,
& ett_062_110_07_XC ,
& ett_062_110_07_X3 ,
& ett_062_110_07_X2 ,
& ett_062_110_07_X1 ,
& ett_062_120 ,
& ett_062_120_SQUAWK ,
& ett_062_130 ,
& ett_062_130_ALT ,
& ett_062_135 ,
& ett_062_135_QNH ,
& ett_062_135_ALT ,
& ett_062_136 ,
& ett_062_136_ALT ,
& ett_062_185 ,
& ett_062_185_VX ,
& ett_062_185_VY ,
& ett_062_200 ,
& ett_062_200_TRANS ,
& ett_062_200_LONG ,
& ett_062_200_VERT ,
& ett_062_200_ADF ,
& ett_062_210 ,
& ett_062_210_AX ,
& ett_062_210_AY ,
& ett_062_220 ,
& ett_062_220_ROCD ,
& ett_062_245 ,
& ett_062_270 ,
& ett_062_270_LENGTH ,
& ett_062_270_ORIENTATION ,
& ett_062_270_WIDTH ,
& ett_062_290 ,
& ett_062_290_01 ,
& ett_062_290_01_TRK ,
& ett_062_290_02 ,
& ett_062_290_02_PSR ,
& ett_062_290_03 ,
& ett_062_290_03_SSR ,
& ett_062_290_04 ,
& ett_062_290_04_MDS ,
& ett_062_290_05 ,
& ett_062_290_05_ADS ,
& ett_062_290_06 ,
& ett_062_290_06_ES ,
& ett_062_290_07 ,
& ett_062_290_07_VDL ,
& ett_062_290_08 ,
& ett_062_290_08_UAT ,
& ett_062_290_09 ,
& ett_062_290_09_LOP ,
& ett_062_290_10 ,
& ett_062_290_10_MLT ,
& ett_062_295 ,
& ett_062_295_01 ,
& ett_062_295_01_MFL ,
& ett_062_295_02 ,
& ett_062_295_02_MD1 ,
& ett_062_295_03 ,
& ett_062_295_03_MD2 ,
& ett_062_295_04 ,
& ett_062_295_04_MDA ,
& ett_062_295_05 ,
& ett_062_295_05_MD4 ,
& ett_062_295_06 ,
& ett_062_295_06_MD5 ,
& ett_062_295_07 ,
& ett_062_295_07_MHD ,
& ett_062_295_08 ,
& ett_062_295_08_IAS ,
& ett_062_295_09 ,
& ett_062_295_09_TAS ,
& ett_062_295_10 ,
& ett_062_295_10_SAL ,
& ett_062_295_11 ,
& ett_062_295_11_FSS ,
& ett_062_295_12 ,
& ett_062_295_12_TID ,
& ett_062_295_13 ,
& ett_062_295_13_COM ,
& ett_062_295_14 ,
& ett_062_295_14_SAB ,
& ett_062_295_15 ,
& ett_062_295_15_ACS ,
& ett_062_295_16 ,
& ett_062_295_16_BVR ,
& ett_062_295_17 ,
& ett_062_295_17_GVR ,
& ett_062_295_18 ,
& ett_062_295_18_RAN ,
& ett_062_295_19 ,
& ett_062_295_19_TAR ,
& ett_062_295_20 ,
& ett_062_295_20_TAN ,
& ett_062_295_21 ,
& ett_062_295_21_GSP ,
& ett_062_295_22 ,
& ett_062_295_22_VUN ,
& ett_062_295_23 ,
& ett_062_295_23_MET ,
& ett_062_295_24 ,
& ett_062_295_24_EMC ,
& ett_062_295_25 ,
& ett_062_295_25_POS ,
& ett_062_295_26 ,
& ett_062_295_26_GAL ,
& ett_062_295_27 ,
& ett_062_295_27_PUN ,
& ett_062_295_28 ,
& ett_062_295_28_MB ,
& ett_062_295_29 ,
& ett_062_295_29_IAR ,
& ett_062_295_30 ,
& ett_062_295_30_MAC ,
& ett_062_295_31 ,
& ett_062_295_31_BPS ,
& ett_062_300 ,
& ett_062_300_VFI ,
& ett_062_340 ,
& ett_062_340_01 ,
& ett_062_340_02 ,
& ett_062_340_02_RHO ,
& ett_062_340_02_THETA ,
& ett_062_340_03 ,
& ett_062_340_03_H ,
& ett_062_340_04 ,
& ett_062_340_04_V ,
& ett_062_340_04_G ,
& ett_062_340_04_FL ,
& ett_062_340_05 ,
& ett_062_340_05_V ,
& ett_062_340_05_G ,
& ett_062_340_05_L ,
& ett_062_340_05_SQUAWK ,
& ett_062_340_06 ,
& ett_062_340_06_TYP ,
& ett_062_340_06_SIM ,
& ett_062_340_06_RAB ,
& ett_062_340_06_TST ,
& ett_062_380_01 ,
& ett_062_380_02 ,
& ett_062_380_03 ,
& ett_062_380 ,
& ett_062_380_03_MH ,
& ett_062_380_04 ,
& ett_062_380_04_IM ,
& ett_062_380_04_IAS ,
& ett_062_380_05 ,
& ett_062_380_05_TAS ,
& ett_062_380_06 ,
& ett_062_380_06_SAS ,
& ett_062_380_06_SOURCE ,
& ett_062_380_06_ALT ,
& ett_062_380_07 ,
& ett_062_380_07_MV ,
& ett_062_380_07_AH ,
& ett_062_380_07_AM ,
& ett_062_380_07_ALT ,
& ett_062_380_08 ,
& ett_062_380_08_NAV ,
& ett_062_380_08_NVB ,
& ett_062_380_09 ,
& ett_062_380_09_TCA ,
& ett_062_380_09_NC ,
& ett_062_380_09_TCP ,
& ett_062_380_09_ALT ,
& ett_062_380_09_LAT ,
& ett_062_380_09_LON ,
& ett_062_380_09_PTYP ,
& ett_062_380_09_TD ,
& ett_062_380_09_TRA ,
& ett_062_380_09_TOA ,
& ett_062_380_09_TOV ,
& ett_062_380_09_TTR ,
& ett_062_380_10 ,
& ett_062_380_10_COM ,
& ett_062_380_10_STAT ,
& ett_062_380_10_SSC ,
& ett_062_380_10_ARC ,
& ett_062_380_10_AIC ,
& ett_062_380_10_B1A ,
& ett_062_380_10_B1B ,
& ett_062_380_11 ,
& ett_062_380_11_AC ,
& ett_062_380_11_MN ,
& ett_062_380_11_DC ,
& ett_062_380_11_GBS ,
& ett_062_380_11_STAT ,
& ett_062_380_12 ,
& ett_062_380_12_MB ,
& ett_062_380_13 ,
& ett_062_380_13_BVR ,
& ett_062_380_14 ,
& ett_062_380_14_GVR ,
& ett_062_380_15 ,
& ett_062_380_15_ROLL ,
& ett_062_380_16 ,
& ett_062_380_16_TI ,
& ett_062_380_16_RATE ,
& ett_062_380_17 ,
& ett_062_380_17_TA ,
& ett_062_380_18 ,
& ett_062_380_18_GS ,
& ett_062_380_19 ,
& ett_062_380_19_VUC ,
& ett_062_380_20 ,
& ett_062_380_20_WS ,
& ett_062_380_20_WD ,
& ett_062_380_20_TMP ,
& ett_062_380_20_TRB ,
& ett_062_380_20_WS_VAL ,
& ett_062_380_20_WD_VAL ,
& ett_062_380_20_TMP_VAL ,
& ett_062_380_20_TRB_VAL ,
& ett_062_380_21 ,
& ett_062_380_21_ECAT ,
& ett_062_380_22 ,
& ett_062_380_22_LAT ,
& ett_062_380_22_LON ,
& ett_062_380_23 ,
& ett_062_380_23_ALT ,
& ett_062_380_24 ,
& ett_062_380_24_PUN ,
& ett_062_380_25 ,
& ett_062_380_26 ,
& ett_062_380_26_IAS ,
& ett_062_380_27 ,
& ett_062_380_27_MACH ,
& ett_062_380_28 ,
& ett_062_380_28_BPS ,
& ett_062_390 ,
& ett_062_390_01 ,
& ett_062_390_02 ,
& ett_062_390_02_CS ,
& ett_062_390_03 ,
& ett_062_390_03_TYP ,
& ett_062_390_03_NBR ,
& ett_062_390_04 ,
& ett_062_390_04_GAT_OAT ,
& ett_062_390_04_FR12 ,
& ett_062_390_04_RVSM ,
& ett_062_390_04_HPR ,
& ett_062_390_05 ,
& ett_062_390_05_ACTYP ,
& ett_062_390_06 ,
& ett_062_390_06_WTC ,
& ett_062_390_07 ,
& ett_062_390_07_ADEP ,
& ett_062_390_08 ,
& ett_062_390_08_ADES ,
& ett_062_390_09 ,
& ett_062_390_09_NU1 ,
& ett_062_390_09_NU2 ,
& ett_062_390_09_LTR ,
& ett_062_390_10 ,
& ett_062_390_10_CFL ,
& ett_062_390_11 ,
& ett_062_390_11_CNTR ,
& ett_062_390_11_POS ,
& ett_062_390_12 ,
& ett_062_390_12_TYP ,
& ett_062_390_12_DAY ,
& ett_062_390_12_HOR ,
& ett_062_390_12_MIN ,
& ett_062_390_12_AVS ,
& ett_062_390_12_SEC ,
& ett_062_390_13 ,
& ett_062_390_13_STAND ,
& ett_062_390_14 ,
& ett_062_390_14_EMP ,
& ett_062_390_14_AVL ,
& ett_062_390_15 ,
& ett_062_390_15_SID ,
& ett_062_390_16 ,
& ett_062_390_16_STAR ,
& ett_062_390_17 ,
& ett_062_390_17_VA ,
& ett_062_390_17_SQUAWK ,
& ett_062_390_18 ,
& ett_062_390_18_CS ,
& ett_062_500 ,
& ett_062_500_01 ,
& ett_062_500_01_APCX ,
& ett_062_500_01_APCY ,
& ett_062_500_02 ,
& ett_062_500_02_COV ,
& ett_062_500_03 ,
& ett_062_500_03_APWLAT ,
& ett_062_500_03_APWLON ,
& ett_062_500_04 ,
& ett_062_500_04_AGA ,
& ett_062_500_05 ,
& ett_062_500_05_ABA ,
& ett_062_500_06 ,
& ett_062_500_06_ATVX ,
& ett_062_500_06_ATVY ,
& ett_062_500_07 ,
& ett_062_500_07_AAX ,
& ett_062_500_07_AAY ,
& ett_062_500_08 ,
& ett_062_500_08_ARC ,
& ett_062_510 ,
& ett_062_510_SID ,
& ett_062_510_STN ,
& ett_062_RE ,
& ett_062_SP ,
/* Category 063 */
& ett_063_010 ,
& ett_063_015 ,
& ett_063_030 ,
& ett_063_050 ,
& ett_063_060 ,
& ett_063_070 ,
& ett_063_080 ,
& ett_063_081 ,
& ett_063_090 ,
& ett_063_091 ,
& ett_063_092 ,
& ett_063_RE ,
& ett_063_SP ,
/* Category 065 */
& ett_065_000 ,
& ett_065_010 ,
& ett_065_015 ,
& ett_065_020 ,
& ett_065_030 ,
& ett_065_040 ,
& ett_065_050 ,
& ett_065_RE ,
& ett_065_SP
} ;
proto_asterix = proto_register_protocol (
" ASTERIX packet " , /* name */
" ASTERIX " , /* short name */
" asterix " /* abbrev */
) ;
proto_register_field_array ( proto_asterix , hf , array_length ( hf ) ) ;
proto_register_subtree_array ( ett , array_length ( ett ) ) ;
register_dissector ( " asterix " , dissect_asterix , proto_asterix ) ;
}
void proto_reg_handoff_asterix ( void )
{
data_handle = find_dissector ( " data " ) ;
asterix_handle = create_dissector_handle ( dissect_asterix , proto_asterix ) ;
dissector_add_uint ( " udp.port " , ASTERIX_PORT , asterix_handle ) ;
}
/*
* Editor modelines - http : //www.wireshark.org/tools/modelines.html
*
* Local variables :
* c - basic - offset : 4
* tab - width : 8
* indent - tabs - mode : nil
* End :
*
* vi : set shiftwidth = 4 tabstop = 8 expandtab :
* : indentSize = 4 : tabSize = 8 : noTabs = true :
*/