/* packet-pw-atm.h * Interface of pw-atm module * Copyright 2009, Artem Tamazov * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef PACKET_PW_ATM_H #define PACKET_PW_ATM_H #include "packet-pw-common.h" typedef enum { PWATM_MODE_UNKNOWN = 0 ,PWATM_MODE_N1_NOCW ,PWATM_MODE_N1_CW ,PWATM_MODE_11_VCC ,PWATM_MODE_11_VPC ,PWATM_MODE_AAL5_SDU ,PWATM_MODE_AAL5_PDU } pwatm_mode_t; typedef enum { PWATM_SUBMODE_DEFAULT = 0 ,PWATM_SUBMODE_ADMIN_CELL /*used in aal5_sdu dissector only*/ } pwatm_submode_t; typedef struct { int pw_cell_number; int props; gint packet_size; pwatm_mode_t mode; pwatm_submode_t submode; struct { /* * ATM-specific attributes which remain the same * across all the cells in the pw packet. Values are filled * by sub-dissectors and read by upper-level dissector. * Meanings of values: * (-1) - value is unknown * (-2) - value is different among cells * positive - value is the same in all cells * Machinery is implemented in the UPDATE_CUMULATIVE_VALUE macro. */ gint32 vpi; gint32 vci; gint32 clp; gint32 pti; } cumulative; gint32 vpi; /*-1 if unknown*/ gint32 vci; /*-1 if unknown*/ gint32 pti; /*-1 if unknown*/ struct { /* * Some fields from 3rd byte of CW. Filled by cell_header dissector. * In in AAL5 PDU mode, this allows control_word dissector to print * these values in the CW heading line in the tree. * Meanings of values: * (-1) - value is unknown */ gint32 m; gint32 v; gint32 rsv; gint32 u; gint32 e; gint32 clp; } cwb3; gboolean aal5_sdu_frame_relay_cr_bit; /*see rfc4717 10.1*/ gboolean cell_mode_oam; /*atm admin cell*/ gboolean enable_fill_columns_by_atm_dissector; } pwatm_private_data_t; #define PWATM_PRIVATE_DATA_T_INITIALIZER { \ 0, PWC_PACKET_PROPERTIES_T_INITIALIZER, 0 \ ,PWATM_MODE_UNKNOWN, PWATM_SUBMODE_DEFAULT \ ,{-1, -1, -1, -1 } \ ,-1, -1, -1 \ ,{-1, -1, -1, -1, -1, -1 } \ ,FALSE, FALSE, TRUE \ } #endif /*PACKET_PW_ATM_H*/