#include <string.h> and/or #include <stdio.h> not needed.
[obnox/wireshark/wip.git] / epan / dissectors / packet-umts_fp.h
1 /* packet-fp.h
2  *
3  * Martin Mathieson
4  * $Id$
5  *
6  * Wireshark - Network traffic analyzer
7  * By Gerald Combs <gerald@wireshark.org>
8  * Copyright 1998 Gerald Combs
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; either version 2
13  * of the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
23  */
24
25 /* Channel types */
26 #define CHANNEL_RACH_FDD      1
27 #define CHANNEL_RACH_TDD      2
28 #define CHANNEL_FACH_FDD      3
29 #define CHANNEL_FACH_TDD      4
30 #define CHANNEL_DSCH_FDD      5
31 #define CHANNEL_DSCH_TDD      6
32 #define CHANNEL_USCH_TDD_384  8
33 #define CHANNEL_USCH_TDD_128  24
34 #define CHANNEL_PCH           9
35 #define CHANNEL_CPCH          10
36 #define CHANNEL_BCH           11
37 #define CHANNEL_DCH           12
38 #define CHANNEL_HSDSCH        13
39 #define CHANNEL_IUR_CPCHF     14
40 #define CHANNEL_IUR_FACH      15
41 #define CHANNEL_IUR_DSCH      16
42 #define CHANNEL_EDCH          17
43 #define CHANNEL_RACH_TDD_128  66
44
45 enum fp_interface_type
46 {
47     IuB_Interface,
48     IuR_Interface
49 };
50
51 enum division_type
52 {
53     Division_FDD=1,
54     Division_TDD_384=2,
55     Division_TDD_128=3,
56     Division_TDD_768=4
57 };
58
59 enum fp_hsdsch_entity
60 {
61     entity_not_specified=0,
62     hs=1,
63     ehs=2
64 };
65
66 enum fp_link_type
67 {
68     FP_Link_Unknown,
69     FP_Link_ATM,
70     FP_Link_Ethernet
71 };
72
73 /* Info attached to each FP packet */
74 typedef struct fp_info
75 {
76     enum fp_interface_type iface_type;
77     enum division_type     division;
78     guint8  release;                     /* e.g. 99, 4, 5, 6, 7 */
79     guint16 release_year;                /* e.g. 2001 */
80     guint8  release_month;               /* e.g. 12 for December */
81     gboolean is_uplink;
82     gint channel;                       /* see definitions above */
83     guint8  dch_crc_present;            /* 0=No, 1=Yes, 2=Unknown */
84     gint paging_indications;
85     gint num_chans;
86 #define MAX_FP_CHANS  64
87     gint chan_tf_size[MAX_FP_CHANS];
88     gint chan_num_tbs[MAX_FP_CHANS];
89
90 #define MAX_EDCH_DDIS 16
91     gint   no_ddi_entries;
92     guint8 edch_ddi[MAX_EDCH_DDIS];
93     guint  edch_macd_pdu_size[MAX_EDCH_DDIS];
94
95     gint cur_tb;        /* current transport block (required for dissecting of single TBs */
96     gint cur_chan;  /* current channel, required to retrieve the correct channel configuration for UMTS MAC */
97
98     guint16 srcport, destport;
99
100     enum   fp_hsdsch_entity hsdsch_entity;
101     enum   fp_link_type link_type;
102 } fp_info;
103