diff options
author | Guy Harris <guy@alum.mit.edu> | 2004-09-29 00:52:45 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2004-09-29 00:52:45 +0000 |
commit | eaadcc4c62c5a61273c814f86d33ed859ba8917b (patch) | |
tree | e8504dda24b1aaede3776d8c20fd4379a0df3ba2 /epan | |
parent | 31158d0d0ecd4fe605bc1675424c06c024acef0c (diff) |
Move various tables into the epan directory.
svn path=/trunk/; revision=12130
Diffstat (limited to 'epan')
42 files changed, 975 insertions, 40 deletions
diff --git a/epan/Makefile.common b/epan/Makefile.common index 4f857b129e..46bc39a7df 100644 --- a/epan/Makefile.common +++ b/epan/Makefile.common @@ -27,6 +27,7 @@ LIBETHEREAL_SRC = \ addr_and_mask.c \ addr_resolv.c \ adler32.c \ + afn.c \ atalk-utils.c \ base64.c \ bitswap.c \ @@ -45,6 +46,7 @@ LIBETHEREAL_SRC = \ filesystem.c \ frame_data.c \ in_cksum.c \ + ipproto.c \ ipv4.c \ osi-utils.c \ packet.c \ @@ -56,6 +58,7 @@ LIBETHEREAL_SRC = \ sha1.c \ sna-utils.c \ strutil.c \ + t35.c \ tap.c \ timestamp.c \ to_str.c \ @@ -68,6 +71,7 @@ LIBETHEREAL_INCLUDES = \ addr_resolv.h \ address.h \ adler32.h \ + afn.h \ atalk-utils.h \ base64.h \ bitswap.h \ @@ -90,6 +94,7 @@ LIBETHEREAL_INCLUDES = \ frame_data.h \ gdebug.h \ in_cksum.h \ + ipproto.h \ ipv4.h \ ipv6-utils.h \ nstime.h \ @@ -107,6 +112,7 @@ LIBETHEREAL_INCLUDES = \ slab.h \ sna-utils.h \ strutil.h \ + t35.h \ tap.h \ timestamp.h \ to_str.h \ @@ -116,14 +122,11 @@ LIBETHEREAL_INCLUDES = \ # dissector helpers (needed from the dissectors, but not a dissector itself) DISSECTOR_SUPPORT_SRC = \ - ../afn.c \ ../asn1.c \ ../column.c \ ../follow.c \ ../h225-persistentdata.c \ - ../ipproto.c \ ../ptvcursor.c \ ../reassemble.c \ - ../t35.c \ ../xmlstub.c diff --git a/epan/afn.c b/epan/afn.c new file mode 100644 index 0000000000..89c38d710b --- /dev/null +++ b/epan/afn.c @@ -0,0 +1,52 @@ +/* afn.c + * RFC 1700 address family numbers + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <epan/packet.h> +#include <epan/afn.h> + +const value_string afn_vals[] = { + { 0, "Reserved" }, + { AFNUM_INET, "IPv4" }, + { AFNUM_INET6, "IPv6" }, + { AFNUM_NSAP, "NSAP" }, + { AFNUM_HDLC, "HDLC (8-bit multidrop)" }, + { AFNUM_BBN1822, "BBN 1822" }, + { AFNUM_802, "802" }, + { AFNUM_E163, "E.163" }, + { AFNUM_E164, "E.164" }, + { AFNUM_F69, "F.69" }, + { AFNUM_X121, "X.121" }, + { AFNUM_IPX, "IPX" }, + { AFNUM_ATALK, "Appletalk" }, + { AFNUM_DECNET, "Decnet IV" }, + { AFNUM_BANYAN, "Banyan Vines" }, + { AFNUM_E164NSAP, "E.164 with NSAP subaddress" }, + { AFNUM_L2VPN, "Layer-2 VPN" }, + { 65535, "Reserved" }, + { 0, NULL }, +}; diff --git a/epan/afn.h b/epan/afn.h new file mode 100644 index 0000000000..d621c44821 --- /dev/null +++ b/epan/afn.h @@ -0,0 +1,48 @@ +/* afn.h + * RFC 1700 address family numbers + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __AFN_H__ +#define __AFN_H__ + +/* RFC1700 address family numbers */ +#define AFNUM_INET 1 +#define AFNUM_INET6 2 +#define AFNUM_NSAP 3 +#define AFNUM_HDLC 4 +#define AFNUM_BBN1822 5 +#define AFNUM_802 6 +#define AFNUM_E163 7 +#define AFNUM_E164 8 +#define AFNUM_F69 9 +#define AFNUM_X121 10 +#define AFNUM_IPX 11 +#define AFNUM_ATALK 12 +#define AFNUM_DECNET 13 +#define AFNUM_BANYAN 14 +#define AFNUM_E164NSAP 15 +/* draft-kompella-ppvpn-l2vpn */ +#define AFNUM_L2VPN 196 +extern const value_string afn_vals[]; + +#endif /* __AFN_H__ */ diff --git a/epan/dissectors/packet-bgp.c b/epan/dissectors/packet-bgp.c index 1dd350108e..4cb64750e1 100644 --- a/epan/dissectors/packet-bgp.c +++ b/epan/dissectors/packet-bgp.c @@ -60,7 +60,7 @@ #include "packet-bgp.h" #include "packet-ipv6.h" #include "packet-frame.h" -#include "afn.h" +#include <epan/afn.h> #include <epan/prefs.h> static const value_string bgptypevals[] = { diff --git a/epan/dissectors/packet-clnp.c b/epan/dissectors/packet-clnp.c index 8386dcc7a2..365d323c24 100644 --- a/epan/dissectors/packet-clnp.c +++ b/epan/dissectors/packet-clnp.c @@ -39,7 +39,7 @@ #include "packet-isis.h" #include "packet-esis.h" #include "nlpid.h" -#include "ipproto.h" +#include <epan/ipproto.h> /* protocols and fields */ diff --git a/epan/dissectors/packet-cpha.c b/epan/dissectors/packet-cpha.c index 77f7a75543..6ce650c535 100644 --- a/epan/dissectors/packet-cpha.c +++ b/epan/dissectors/packet-cpha.c @@ -37,7 +37,7 @@ #endif #include <epan/packet.h> -#include "ipproto.h" +#include <epan/ipproto.h> static int proto_cphap = -1; diff --git a/epan/dissectors/packet-dns.c b/epan/dissectors/packet-dns.c index 55d46f1fbb..95d3841baa 100644 --- a/epan/dissectors/packet-dns.c +++ b/epan/dissectors/packet-dns.c @@ -37,7 +37,7 @@ #include <glib.h> #include <epan/ipv6-utils.h> #include <epan/packet.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include <epan/addr_resolv.h> #include "packet-dns.h" #include "packet-tcp.h" diff --git a/epan/dissectors/packet-dvmrp.c b/epan/dissectors/packet-dvmrp.c index 9c919385fe..dbb776a5d1 100644 --- a/epan/dissectors/packet-dvmrp.c +++ b/epan/dissectors/packet-dvmrp.c @@ -60,7 +60,7 @@ #include <glib.h> #include <epan/packet.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include "packet-igmp.h" #include "packet-dvmrp.h" diff --git a/epan/dissectors/packet-eigrp.c b/epan/dissectors/packet-eigrp.c index 7f28ed6a9f..f44dccc27f 100644 --- a/epan/dissectors/packet-eigrp.c +++ b/epan/dissectors/packet-eigrp.c @@ -33,7 +33,7 @@ #include <epan/atalk-utils.h> #include <epan/addr_and_mask.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include "packet-ipx.h" /* diff --git a/epan/dissectors/packet-etherip.c b/epan/dissectors/packet-etherip.c index 302a422579..b24e2e89dd 100644 --- a/epan/dissectors/packet-etherip.c +++ b/epan/dissectors/packet-etherip.c @@ -30,7 +30,7 @@ #include <string.h> #include <glib.h> #include <epan/packet.h> -#include "ipproto.h" +#include <epan/ipproto.h> static int proto_etherip = -1; static int hf_etherip_ver = -1; diff --git a/epan/dissectors/packet-gre.c b/epan/dissectors/packet-gre.c index f1c090325f..8dd12afc3c 100644 --- a/epan/dissectors/packet-gre.c +++ b/epan/dissectors/packet-gre.c @@ -33,7 +33,7 @@ #include <epan/in_cksum.h> #include "etypes.h" #include "greproto.h" -#include "ipproto.h" +#include <epan/ipproto.h> #include "llcsaps.h" /* diff --git a/epan/dissectors/packet-h225.c b/epan/dissectors/packet-h225.c index 6f018d7523..1d848267d6 100644 --- a/epan/dissectors/packet-h225.c +++ b/epan/dissectors/packet-h225.c @@ -43,7 +43,7 @@ #include "packet-h225.h" #include "packet-h235.h" #include "packet-h245.h" -#include "t35.h" +#include <epan/t35.h> #include "h225-persistentdata.h" #define UDP_PORT_RAS1 1718 diff --git a/epan/dissectors/packet-h245.c b/epan/dissectors/packet-h245.c index 8653bffd44..46f10cf7a2 100644 --- a/epan/dissectors/packet-h245.c +++ b/epan/dissectors/packet-h245.c @@ -41,7 +41,7 @@ #include <epan/prefs.h> #include "packet-tpkt.h" #include "packet-per.h" -#include "t35.h" +#include <epan/t35.h> #include "packet-rtp.h" #include "packet-rtcp.h" diff --git a/epan/dissectors/packet-icmpv6.c b/epan/dissectors/packet-icmpv6.c index fd8675b593..e7badf1f18 100644 --- a/epan/dissectors/packet-icmpv6.c +++ b/epan/dissectors/packet-icmpv6.c @@ -50,7 +50,7 @@ #include "packet-dns.h" #include <epan/in_cksum.h> #include <epan/addr_resolv.h> -#include "ipproto.h" +#include <epan/ipproto.h> #ifndef offsetof #define offsetof(type, member) ((size_t)(&((type *)0)->member)) diff --git a/epan/dissectors/packet-igmp.c b/epan/dissectors/packet-igmp.c index fcec8a7569..bd6839b946 100644 --- a/epan/dissectors/packet-igmp.c +++ b/epan/dissectors/packet-igmp.c @@ -108,7 +108,7 @@ #endif #include <epan/packet.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include <epan/in_cksum.h> #include "packet-dvmrp.h" #include "packet-pim.h" diff --git a/epan/dissectors/packet-igrp.c b/epan/dissectors/packet-igrp.c index bbbc4b60be..555e2dbe3d 100644 --- a/epan/dissectors/packet-igrp.c +++ b/epan/dissectors/packet-igrp.c @@ -36,7 +36,7 @@ #include <string.h> #include <glib.h> #include <epan/packet.h> -#include "ipproto.h" +#include <epan/ipproto.h> #define IGRP_HEADER_LENGTH 12 #define IGRP_ENTRY_LENGTH 14 diff --git a/epan/dissectors/packet-ip.c b/epan/dissectors/packet-ip.c index 7bb95d8da1..029a960f66 100644 --- a/epan/dissectors/packet-ip.c +++ b/epan/dissectors/packet-ip.c @@ -36,7 +36,7 @@ #include <epan/packet.h> #include <epan/addr_resolv.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include "ip_opts.h" #include <epan/prefs.h> #include "reassemble.h" diff --git a/epan/dissectors/packet-ipdc.c b/epan/dissectors/packet-ipdc.c index 7f91eb09ab..3fafa560cc 100644 --- a/epan/dissectors/packet-ipdc.c +++ b/epan/dissectors/packet-ipdc.c @@ -45,7 +45,7 @@ #include "packet-ipdc.h" #include "packet-tcp.h" #include <epan/packet.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include <epan/prefs.h> static int proto_ipdc = -1; diff --git a/epan/dissectors/packet-ipsec.c b/epan/dissectors/packet-ipsec.c index 673affdb54..fd1cc8d961 100644 --- a/epan/dissectors/packet-ipsec.c +++ b/epan/dissectors/packet-ipsec.c @@ -33,7 +33,7 @@ #include <epan/packet.h> #include "packet-ipsec.h" #include <epan/addr_resolv.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include <epan/prefs.h> /* Place AH payload in sub tree */ diff --git a/epan/dissectors/packet-ipv6.c b/epan/dissectors/packet-ipv6.c index edd485e0cb..1b026a6f6b 100644 --- a/epan/dissectors/packet-ipv6.c +++ b/epan/dissectors/packet-ipv6.c @@ -38,7 +38,7 @@ #include <epan/addr_resolv.h> #include <epan/prefs.h> #include "reassemble.h" -#include "ipproto.h" +#include <epan/ipproto.h> #include "etypes.h" #include "ppptypes.h" #include "aftypes.h" diff --git a/epan/dissectors/packet-ipvs-syncd.c b/epan/dissectors/packet-ipvs-syncd.c index 97f7abe324..3b974beb23 100644 --- a/epan/dissectors/packet-ipvs-syncd.c +++ b/epan/dissectors/packet-ipvs-syncd.c @@ -35,7 +35,7 @@ #endif #include <epan/packet.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include <epan/in_cksum.h> static int proto_ipvs_syncd = -1; diff --git a/epan/dissectors/packet-isakmp.c b/epan/dissectors/packet-isakmp.c index ff71dc8566..fe3f44812f 100644 --- a/epan/dissectors/packet-isakmp.c +++ b/epan/dissectors/packet-isakmp.c @@ -40,7 +40,7 @@ #include <epan/packet.h> #include <epan/ipv6-utils.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include <epan/dissectors/packet-x509if.h> #define isakmp_min(a, b) ((a<b) ? a : b) diff --git a/epan/dissectors/packet-ldp.c b/epan/dissectors/packet-ldp.c index 7c1586fa9c..7589ea44d2 100644 --- a/epan/dissectors/packet-ldp.c +++ b/epan/dissectors/packet-ldp.c @@ -40,7 +40,7 @@ #include <epan/packet.h> #include <epan/addr_resolv.h> #include <epan/prefs.h> -#include "afn.h" +#include <epan/afn.h> #include "packet-frame.h" #include "packet-diffserv-mpls-common.h" diff --git a/epan/dissectors/packet-lmp.c b/epan/dissectors/packet-lmp.c index 4cc7902993..dead87a5bb 100644 --- a/epan/dissectors/packet-lmp.c +++ b/epan/dissectors/packet-lmp.c @@ -53,7 +53,7 @@ #include <prefs.h> #include <epan/in_cksum.h> #include "etypes.h" -#include "ipproto.h" +#include <epan/ipproto.h> #include "packet-ip.h" #include "packet-rsvp.h" diff --git a/epan/dissectors/packet-mip6.c b/epan/dissectors/packet-mip6.c index cf0cf16b37..607cb49e2d 100644 --- a/epan/dissectors/packet-mip6.c +++ b/epan/dissectors/packet-mip6.c @@ -30,7 +30,7 @@ #include <epan/packet.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include "ip_opts.h" #include "packet-mip6.h" diff --git a/epan/dissectors/packet-ospf.c b/epan/dissectors/packet-ospf.c index 5ec4ea2ac2..eca05fe7e7 100644 --- a/epan/dissectors/packet-ospf.c +++ b/epan/dissectors/packet-ospf.c @@ -44,7 +44,7 @@ #include <glib.h> #include <epan/packet.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include <epan/in_cksum.h> #include "packet-rsvp.h" diff --git a/epan/dissectors/packet-pgm.c b/epan/dissectors/packet-pgm.c index 1e49807ab8..6b90fbdb06 100644 --- a/epan/dissectors/packet-pgm.c +++ b/epan/dissectors/packet-pgm.c @@ -34,8 +34,8 @@ #include <time.h> #include <string.h> #include <epan/packet.h> -#include "afn.h" -#include "ipproto.h" +#include <epan/afn.h> +#include <epan/ipproto.h> #include <epan/in_cksum.h> #include <epan/addr_resolv.h> #include <epan/strutil.h> diff --git a/epan/dissectors/packet-pim.c b/epan/dissectors/packet-pim.c index 124e2ab346..ef997f5744 100644 --- a/epan/dissectors/packet-pim.c +++ b/epan/dissectors/packet-pim.c @@ -36,8 +36,8 @@ #endif #include <epan/packet.h> -#include "ipproto.h" -#include "afn.h" +#include <epan/ipproto.h> +#include <epan/afn.h> #include "packet-ipv6.h" #include <epan/in_cksum.h> diff --git a/epan/dissectors/packet-portmap.c b/epan/dissectors/packet-portmap.c index 72b55e6beb..724f8a95b4 100644 --- a/epan/dissectors/packet-portmap.c +++ b/epan/dissectors/packet-portmap.c @@ -32,7 +32,7 @@ #include "packet-rpc.h" #include "packet-portmap.h" -#include "ipproto.h" +#include <epan/ipproto.h> #include "epan/conversation.h" #include "epan/packet_info.h" diff --git a/epan/dissectors/packet-rsvp.c b/epan/dissectors/packet-rsvp.c index 3e213fe802..28c7ded946 100644 --- a/epan/dissectors/packet-rsvp.c +++ b/epan/dissectors/packet-rsvp.c @@ -71,7 +71,7 @@ #include <prefs.h> #include <epan/in_cksum.h> #include "etypes.h" -#include "ipproto.h" +#include <epan/ipproto.h> #include "packet-rsvp.h" #include "packet-ip.h" diff --git a/epan/dissectors/packet-sctp.c b/epan/dissectors/packet-sctp.c index 632b758639..68af7772d7 100644 --- a/epan/dissectors/packet-sctp.c +++ b/epan/dissectors/packet-sctp.c @@ -49,7 +49,7 @@ #include <epan/prefs.h> #include <epan/packet.h> #include <epan/tap.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include "packet-sctp.h" #include "sctpppids.h" diff --git a/epan/dissectors/packet-t38.c b/epan/dissectors/packet-t38.c index 160ae00e51..d14086e76d 100644 --- a/epan/dissectors/packet-t38.c +++ b/epan/dissectors/packet-t38.c @@ -55,7 +55,7 @@ #include <string.h> #include <epan/prefs.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include "packet-per.h" #include <epan/prefs.h> #include "packet-tpkt.h" diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c index bd6470aded..4ce03a0a88 100644 --- a/epan/dissectors/packet-tcp.c +++ b/epan/dissectors/packet-tcp.c @@ -33,7 +33,7 @@ #include <epan/packet.h> #include <epan/addr_resolv.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include "ip_opts.h" #include "follow.h" #include <epan/prefs.h> diff --git a/epan/dissectors/packet-teredo.c b/epan/dissectors/packet-teredo.c index 56c97abb63..36b0935849 100644 --- a/epan/dissectors/packet-teredo.c +++ b/epan/dissectors/packet-teredo.c @@ -38,7 +38,7 @@ #include <glib.h> #include <epan/packet.h> #include <epan/addr_resolv.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include <epan/prefs.h> #include "packet-ip.h" diff --git a/epan/dissectors/packet-udp.c b/epan/dissectors/packet-udp.c index a737d7e57b..02fd247727 100644 --- a/epan/dissectors/packet-udp.c +++ b/epan/dissectors/packet-udp.c @@ -36,7 +36,7 @@ #include <glib.h> #include <epan/packet.h> #include <epan/addr_resolv.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include <epan/in_cksum.h> #include <epan/prefs.h> diff --git a/epan/dissectors/packet-vines.c b/epan/dissectors/packet-vines.c index 4440012385..80b86f5e26 100644 --- a/epan/dissectors/packet-vines.c +++ b/epan/dissectors/packet-vines.c @@ -35,7 +35,7 @@ #include "packet-vines.h" #include "etypes.h" #include "ppptypes.h" -#include "ipproto.h" +#include <epan/ipproto.h> #include "arcnet_pids.h" #include "llcsaps.h" diff --git a/epan/dissectors/packet-vj.c b/epan/dissectors/packet-vj.c index 6329b8a48a..015478816e 100644 --- a/epan/dissectors/packet-vj.c +++ b/epan/dissectors/packet-vj.c @@ -69,7 +69,7 @@ #include <epan/prefs.h> #include "packet-ppp.h" #include "ppptypes.h" -#include "ipproto.h" +#include <epan/ipproto.h> #include <epan/in_cksum.h> /* Define relevant IP/TCP parameters */ diff --git a/epan/dissectors/packet-vrrp.c b/epan/dissectors/packet-vrrp.c index a470f77815..dda91030ea 100644 --- a/epan/dissectors/packet-vrrp.c +++ b/epan/dissectors/packet-vrrp.c @@ -32,7 +32,7 @@ #include <string.h> #include <glib.h> #include <epan/packet.h> -#include "ipproto.h" +#include <epan/ipproto.h> #include <epan/in_cksum.h> static gint proto_vrrp = -1; diff --git a/epan/ipproto.c b/epan/ipproto.c new file mode 100644 index 0000000000..77d9bb4702 --- /dev/null +++ b/epan/ipproto.c @@ -0,0 +1,215 @@ +/* ipproto.c + * Routines for converting IPv4 protocol/v6 nxthdr field into string + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#ifdef HAVE_NETDB_H +# include <netdb.h> +#endif + +#include <glib.h> + +#include <epan/ipproto.h> +#include <epan/packet.h> +#include <epan/addr_resolv.h> +#include <epan/dissectors/packet-ip.h> + +#ifdef NEED_SNPRINTF_H +# include "snprintf.h" +#endif + +static const value_string ipproto_val[] = { +#if 0 + { IP_PROTO_IP, "IPv4" }, +#endif + { IP_PROTO_HOPOPTS, "IPv6 hop-by-hop option" }, + { IP_PROTO_ICMP, "ICMP" }, + { IP_PROTO_IGMP, "IGMP" }, + { IP_PROTO_GGP, "GGP" }, + { IP_PROTO_IPIP, "IPIP" }, +#if 0 + { IP_PROTO_IPV4, "IPv4" }, +#endif + { IP_PROTO_STREAM, "Stream" }, + { IP_PROTO_TCP, "TCP" }, + { IP_PROTO_CBT, "CBT" }, + { IP_PROTO_EGP, "EGP" }, + { IP_PROTO_IGP, "IGRP" }, + { IP_PROTO_BBN_RCC, "BBN RCC" }, + { IP_PROTO_NVPII, "Network Voice" }, + { IP_PROTO_PUP, "PUP" }, + { IP_PROTO_ARGUS, "ARGUS" }, + { IP_PROTO_EMCON, "EMCON" }, + { IP_PROTO_XNET, "XNET" }, + { IP_PROTO_CHAOS, "CHAOS" }, + { IP_PROTO_UDP, "UDP" }, + { IP_PROTO_MUX, "Multiplex" }, + { IP_PROTO_DCNMEAS, "DCN Measurement" }, + { IP_PROTO_HMP, "Host Monitoring" }, + { IP_PROTO_PRM, "Packet radio" }, + { IP_PROTO_IDP, "IDP" }, + { IP_PROTO_TRUNK1, "Trunk-1" }, + { IP_PROTO_TRUNK2, "Trunk-2" }, + { IP_PROTO_LEAF1, "Leaf-1" }, + { IP_PROTO_LEAF2, "Leaf-2" }, + { IP_PROTO_RDP, "Reliable Data" }, + { IP_PROTO_IRT, "IRT" }, + { IP_PROTO_TP, "ISO TP4" }, + { IP_PROTO_BULK, "Bulk Data" }, + { IP_PROTO_MFE_NSP, "MFE NSP" }, + { IP_PROTO_MERIT, "Merit Internodal" }, + { IP_PROTO_SEP, "Sequential Exchange" }, + { IP_PROTO_3PC, "3rd Party Connect" }, + { IP_PROTO_IDPR, "Interdomain routing" }, + { IP_PROTO_XTP, "XTP" }, + { IP_PROTO_DDP, "Datagram delivery"}, + { IP_PROTO_CMTP, "Control Message" }, + { IP_PROTO_TPPP, "TP++" }, + { IP_PROTO_IL, "IL" }, + { IP_PROTO_IPV6, "IPv6" }, + { IP_PROTO_SDRP, "Source demand routing" }, + { IP_PROTO_ROUTING, "IPv6 routing" }, + { IP_PROTO_FRAGMENT,"IPv6 fragment" }, + { IP_PROTO_IDRP, "IDRP" }, + { IP_PROTO_RSVP, "RSVP" }, + { IP_PROTO_GRE, "GRE" }, + { IP_PROTO_MHRP, "MHRP" }, + { IP_PROTO_BNA, "BNA" }, + { IP_PROTO_ESP, "ESP" }, + { IP_PROTO_AH, "AH" }, + { IP_PROTO_INSLP, "INSLP" }, + { IP_PROTO_SWIPE, "SWIPE" }, + { IP_PROTO_NARP, "NBMA ARP"}, + { IP_PROTO_TLSP, "TLSP Kryptonet" }, + { IP_PROTO_SKIP, "SKIP" }, + { IP_PROTO_ICMPV6, "ICMPv6" }, + { IP_PROTO_NONE, "IPv6 no next header" }, + { IP_PROTO_DSTOPTS, "IPv6 destination option" }, + { IP_PROTO_MIPV6_OLD, "Mobile IPv6 (old)" }, + { IP_PROTO_SATEXPAK,"SATNET EXPAK" }, + { IP_PROTO_KRYPTOLAN, "Kryptolan" }, + { IP_PROTO_RVD, "Remote Virtual Disk" }, + { IP_PROTO_IPPC, "IPPC" }, + { IP_PROTO_SATMON, "SATNET Monitoring" }, + { IP_PROTO_VISA, "VISA" }, + { IP_PROTO_IPCV, "IPCV" }, + { IP_PROTO_CPNX, "CPNX" }, + { IP_PROTO_CPHB, "CPHB" }, + { IP_PROTO_WSN, "Wang Span" }, + { IP_PROTO_PVP, "Packet Video" }, + { IP_PROTO_BRSATMON,"Backroom SATNET Mon" }, + { IP_PROTO_SUNND, "Sun ND Protocol" }, + { IP_PROTO_WBMON, "Wideband Mon" }, + { IP_PROTO_WBEXPAK, "Wideband Expak" }, + { IP_PROTO_EON, "EON" }, + { IP_PROTO_VMTP, "VMTP" }, + { IP_PROTO_SVMTP, "Secure VMTP" }, + { IP_PROTO_VINES, "VINES" }, + { IP_PROTO_TTP, "TTP" }, + { IP_PROTO_NSFNETIGP,"NSFNET IGP" }, + { IP_PROTO_DGP, "Dissimilar Gateway" }, + { IP_PROTO_TCF, "TCF" }, + { IP_PROTO_EIGRP, "EIGRP" }, + { IP_PROTO_OSPF, "OSPF IGP" }, + { IP_PROTO_SPRITE, "Sprite RPC" }, + { IP_PROTO_LARP, "Locus ARP" }, + { IP_PROTO_MTP, "Multicast Transport" }, + { IP_PROTO_AX25, "AX.25 Frames" }, + { IP_PROTO_IPINIP, "IP in IP" }, + { IP_PROTO_MICP, "MICP" }, + { IP_PROTO_SCCCP, "Semaphore" }, + { IP_PROTO_ETHERIP, "Ether in IP" }, + { IP_PROTO_ENCAP, "ENCAP" }, + { IP_PROTO_GMTP, "GMTP" }, + { IP_PROTO_IFMP, "Ipsilon Flow" }, + { IP_PROTO_PNNI, "PNNI over IP" }, + { IP_PROTO_PIM, "PIM" }, + { IP_PROTO_ARIS, "ARIS" }, + { IP_PROTO_SCPS, "SCPS" }, + { IP_PROTO_QNX, "QNX" }, + { IP_PROTO_AN, "Active Networks" }, + { IP_PROTO_IPCOMP, "IPComp" }, + { IP_PROTO_SNP, "Sitara Networks" }, + { IP_PROTO_COMPAQ, "Compaq Peer" }, + { IP_PROTO_IPX, "IPX IN IP" }, + { IP_PROTO_VRRP, "VRRP" }, + { IP_PROTO_PGM, "PGM" }, + { IP_PROTO_L2TP, "Layer 2 Tunneling" }, + { IP_PROTO_DDX, "DDX" }, + { IP_PROTO_IATP, "IATP" }, + { IP_PROTO_STP, "STP" }, + { IP_PROTO_SRP, "SpectraLink" }, + { IP_PROTO_UTI, "UTI" }, + { IP_PROTO_SMP, "SMP" }, + { IP_PROTO_SM, "SM" }, + { IP_PROTO_PTP, "PTP" }, + { IP_PROTO_ISIS, "ISIS over IP" }, + { IP_PROTO_FIRE, "FIRE" }, + { IP_PROTO_CRTP, "CRTP" }, + { IP_PROTO_CRUDP, "CRUDP" }, + { IP_PROTO_SSCOPMCE,"SSCOPMCE" }, + { IP_PROTO_IPLT, "IPLT" }, + { IP_PROTO_SPS, "Secure Packet" }, + { IP_PROTO_PIPE, "PIPE" }, + { IP_PROTO_SCTP, "SCTP" }, + { IP_PROTO_FC, "Fibre Channel" }, + { IP_PROTO_RSVPE2EI,"RSVP E2EI" }, + { IP_PROTO_MIPV6, "Mobile IPv6" }, + { IP_PROTO_AX4000, "AX/4000 Testframe" }, + { IP_PROTO_NCS_HEARTBEAT,"Novell NCS Heartbeat" }, + { 0, NULL }, +}; + +const char *ipprotostr(int proto) { + static char buf[128]; + const char *s; +#ifdef HAVE_GETPROTOBYNUMBER + struct protoent *pe; +#endif + + if ((s = match_strval(proto, ipproto_val)) != NULL) + goto ok; + +#ifdef HAVE_GETPROTOBYNUMBER + /* + * XXX - have another flag for resolving network-layer + * protocol names? + */ + if (g_resolv_flags != 0) { + pe = getprotobynumber(proto); + if (pe) { + s = pe->p_name; + goto ok; + } + } +#endif + + s = "Unknown"; + +ok: + snprintf(buf, sizeof(buf), "%s", s); + return buf; +} diff --git a/epan/ipproto.h b/epan/ipproto.h new file mode 100644 index 0000000000..fe112c5cf9 --- /dev/null +++ b/epan/ipproto.h @@ -0,0 +1,187 @@ +/* ipproto.h + * Declarations of IP protocol numbers, and of routines for converting + * IP protocol numbers into strings. + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __IPPROTO_H__ +#define __IPPROTO_H__ + +/* + * IP protocol numbers. + */ +#define IP_PROTO_IP 0 /* dummy for IP */ +#define IP_PROTO_HOPOPTS 0 /* IP6 hop-by-hop options - RFC1883 */ +#define IP_PROTO_ICMP 1 /* control message protocol - RFC792 */ +#define IP_PROTO_IGMP 2 /* group mgmt protocol - RFC1112 */ +#define IP_PROTO_GGP 3 /* gateway^2 (deprecated) - RFC823*/ +#define IP_PROTO_IPIP 4 /* IP inside IP - RFC2003*/ +#define IP_PROTO_IPV4 4 /* IP header */ +#define IP_PROTO_STREAM 5 /* Stream - RFC1190, RFC1819 */ +#define IP_PROTO_TCP 6 /* TCP - RFC792 */ +#define IP_PROTO_CBT 7 /* CBT - <A.Ballardie@cs.ucl.ac.uk> */ +#define IP_PROTO_EGP 8 /* exterior gateway protocol - RFC888 */ +#define IP_PROTO_IGP 9 /* any private interior gateway protocol ... */ +#define IP_PROTO_IGRP 9 /* ... and used by Cisco for IGRP */ +#define IP_PROTO_BBN_RCC 10 /* BBN RCC Monitoring */ +#define IP_PROTO_NVPII 11 /* Network Voice Protocol - RFC741 */ +#define IP_PROTO_PUP 12 /* pup */ +#define IP_PROTO_ARGUS 13 /* ARGUS */ +#define IP_PROTO_EMCON 14 /* EMCON */ +#define IP_PROTO_XNET 15 /* Cross net debugger - IEN158 */ +#define IP_PROTO_CHAOS 16 /* CHAOS */ +#define IP_PROTO_UDP 17 /* user datagram protocol - RFC768 */ +#define IP_PROTO_MUX 18 /* multiplexing - IEN90 */ +#define IP_PROTO_DCNMEAS 19 /* DCN Measurement Subsystems */ +#define IP_PROTO_HMP 20 /* Host Monitoring - RFC869 */ +#define IP_PROTO_PRM 21 /* Packet radio measurement */ +#define IP_PROTO_IDP 22 /* xns idp */ +#define IP_PROTO_TRUNK1 23 +#define IP_PROTO_TRUNK2 24 +#define IP_PROTO_LEAF1 25 +#define IP_PROTO_LEAF2 26 +#define IP_PROTO_RDP 27 /* Reliable Data Protocol - RFC908 */ +#define IP_PROTO_IRT 28 /* Internet Reliable Transation - RFC938 */ +#define IP_PROTO_TP 29 /* tp-4 w/ class negotiation - RFC905 */ +#define IP_PROTO_BULK 30 /* Bulk Data Transfer Protocol - RFC969 */ +#define IP_PROTO_MFE_NSP 31 /* MFE Network Services Protocol */ +#define IP_PROTO_MERIT 32 /* MERIT Internodal Protocol */ +#define IP_PROTO_SEP 33 /* Sequential Exchange Protocol */ +#define IP_PROTO_3PC 34 /* Third party connect protocol */ +#define IP_PROTO_IDPR 35 /* Interdomain policy routing protocol */ +#define IP_PROTO_XTP 36 /* XTP */ +#define IP_PROTO_DDP 37 /* Datagram Delivery Protocol */ +#define IP_PROTO_CMTP 38 /* Control Message Transport Protocol */ +#define IP_PROTO_TPPP 39 /* TP++ Transport Protocol */ +#define IP_PROTO_IL 40 /* IL Transport Protocol */ +#define IP_PROTO_IPV6 41 /* IP6 header */ +#define IP_PROTO_SDRP 42 /* Source demand routing protocol */ +#define IP_PROTO_ROUTING 43 /* IP6 routing header */ +#define IP_PROTO_FRAGMENT 44 /* IP6 fragmentation header */ +#define IP_PROTO_IDRP 45 /* Inter-Domain Routing Protocol */ +#define IP_PROTO_RSVP 46 /* Resource ReSerVation protocol */ +#define IP_PROTO_GRE 47 /* General Routing Encapsulation */ +#define IP_PROTO_MHRP 48 /* Mobile Host Routing Protocol */ +#define IP_PROTO_BNA 49 /* BNA */ +#define IP_PROTO_ESP 50 /* Encap Security Payload for IPv6 - RFC2406 */ +#define IP_PROTO_AH 51 /* Authentication Header for IPv6 - RFC2402*/ +#define IP_PROTO_INSLP 52 /* Integrated Net Layer Security */ +#define IP_PROTO_SWIPE 53 /* IP with Encryption */ +#define IP_PROTO_NARP 54 /* NBMA Address resolution protocol - RFC1735 */ +#define IP_PROTO_MOBILE 55 /* IP Mobility */ +#define IP_PROTO_TLSP 56 /* Transport Layer Security Protocol using */ + /* Kryptonet key management */ +#define IP_PROTO_SKIP 57 /* SKIP */ +#define IP_PROTO_ICMPV6 58 /* ICMP6 - RFC1883*/ +#define IP_PROTO_NONE 59 /* IP6 no next header - RFC1883 */ +#define IP_PROTO_DSTOPTS 60 /* IP6 destination options - RFC1883 */ +/* 61 is reserved by IANA for any host internal protocol */ +/* + * The current Protocol Numbers list says that the IP protocol number for + * mobility headers is 135; it cites draft-ietf-mobileip-ipv6-24, but + * that draft doesn't actually give a number. + * + * It appears that 62 used to be used, even though that's assigned to + * a protocol called CFTP; however, the only reference for CFTP is a + * Network Message from BBN back in 1982, so, for now, we support 62, + * as well as 135, as a protocol number for mobility headers. + */ +#define IP_PROTO_MIPV6_OLD 62 /* Mobile IPv6 */ +/* 63 is reserved by IANA for any local network */ +#define IP_PROTO_SATEXPAK 64 +#define IP_PROTO_KRYPTOLAN 65 +#define IP_PROTO_RVD 66 /* MIT Remote virtual disk protocol */ +#define IP_PROTO_IPPC 67 /* Internet Pluribus Packet Core */ +/* 68 is reserved by IANA for any distributed file system */ +#define IP_PROTO_SATMON 69 /* SATNET Monitoring */ +#define IP_PROTO_VISA 70 /* VISA Protocol */ +#define IP_PROTO_IPCV 71 /* Internet Packet Core Utility */ +#define IP_PROTO_CPNX 72 /* Computer Protocol Network Executive */ +#define IP_PROTO_CPHB 73 /* Computer Protocol Heart Beat */ +#define IP_PROTO_WSN 74 /* WANG Span Network */ +#define IP_PROTO_PVP 75 /* Packet Video Protocol */ +#define IP_PROTO_BRSATMON 76 /* Backroon SATNET Monitoring */ +#define IP_PROTO_SUNND 77 /* SUN ND Protocol - Temporary */ +#define IP_PROTO_WBMON 78 /* Wideband Monitoring */ +#define IP_PROTO_WBEXPAK 79 /* Wideband EXPAK */ +#define IP_PROTO_EON 80 /* ISO cnlp */ +#define IP_PROTO_VMTP 81 +#define IP_PROTO_SVMTP 82 /* Secure VMTP */ +#define IP_PROTO_VINES 83 /* Vines over raw IP */ +#define IP_PROTO_TTP 84 +#define IP_PROTO_NSFNETIGP 85 /* NSFNET IGP */ +#define IP_PROTO_DGP 86 /* Dissimilar Gateway Protocol */ +#define IP_PROTO_TCF 87 +#define IP_PROTO_EIGRP 88 +#define IP_PROTO_OSPF 89 /* OSPF Interior Gateway Protocol - RFC1583 */ +#define IP_PROTO_SPRITE 90 /* SPRITE RPC protocol */ +#define IP_PROTO_LARP 91 /* Locus Address Resolution Protocol */ +#define IP_PROTO_MTP 92 /* Multicast Transport Protocol */ +#define IP_PROTO_AX25 93 /* AX.25 frames */ +#define IP_PROTO_IPINIP 94 /* IP within IP Encapsulation protocol */ +#define IP_PROTO_MICP 95 /* Mobile Internetworking Control Protocol */ +#define IP_PROTO_SCCCP 96 /* Semaphore communications security protocol */ +#define IP_PROTO_ETHERIP 97 /* Ethernet-within-IP - RFC 3378 */ +#define IP_PROTO_ENCAP 98 /* encapsulation header - RFC1241*/ +/* 99 is reserved by IANA for any private encryption scheme */ +#define IP_PROTO_GMTP 100 +#define IP_PROTO_IFMP 101 /* Ipsilon flow management protocol */ +#define IP_PROTO_PNNI 102 /* PNNI over IP */ +#define IP_PROTO_PIM 103 /* Protocol Independent Mcast */ +#define IP_PROTO_ARIS 104 +#define IP_PROTO_SCPS 105 +#define IP_PROTO_QNX 106 +#define IP_PROTO_AN 107 /* Active Networks */ +#define IP_PROTO_IPCOMP 108 /* IP payload compression - RFC2393 */ +#define IP_PROTO_SNP 109 /* Sitara Networks Protocol */ +#define IP_PROTO_COMPAQ 110 /* Compaq Peer Protocol */ +#define IP_PROTO_IPX 111 /* IPX over IP */ +#define IP_PROTO_VRRP 112 /* Virtual Router Redundancy Protocol */ +#define IP_PROTO_PGM 113 /* Pragmatic General Multicast */ +/* 114 is reserved by IANA for any zero hop protocol */ +#define IP_PROTO_L2TP 115 /* Layer Two Tunnelling Protocol */ +#define IP_PROTO_DDX 116 /* D-II Data Exchange */ +#define IP_PROTO_IATP 117 /* Interactive Agent Transfer Protocol */ +#define IP_PROTO_STP 118 /* Schedule Transfer Protocol */ +#define IP_PROTO_SRP 119 /* Spectralink Radio Protocol */ +#define IP_PROTO_UTI 120 +#define IP_PROTO_SMP 121 /* Simple Message Protocol */ +#define IP_PROTO_SM 122 +#define IP_PROTO_PTP 123 /* Performance Transparency Protocol */ +#define IP_PROTO_ISIS 124 /* ISIS over IPv4 */ +#define IP_PROTO_FIRE 125 +#define IP_PROTO_CRTP 126 /* Combat Radio Transport Protocol */ +#define IP_PROTO_CRUDP 127 /* Combat Radio User Datagram */ +#define IP_PROTO_SSCOPMCE 128 +#define IP_PROTO_IPLT 129 +#define IP_PROTO_SPS 130 /* Secure Packet Shield */ +#define IP_PROTO_PIPE 131 /* Private IP Encapsulation within IP */ +#define IP_PROTO_SCTP 132 /* Stream Control Transmission Protocol */ +#define IP_PROTO_FC 133 /* Fibre Channel */ +#define IP_PROTO_RSVPE2EI 134 /* RSVP E2E Ignore - RFC3175 */ +#define IP_PROTO_MIPV6 135 /* Mobile IPv6 */ +#define IP_PROTO_AX4000 173 /* AX/4000 Testblock - non IANA */ +#define IP_PROTO_NCS_HEARTBEAT 224 /* Novell NCS Heartbeat - http://support.novell.com/cgi-bin/search/searchtid.cgi?/10071158.htm */ + +extern const char *ipprotostr(int proto); + +#endif /* ipproto.h */ diff --git a/epan/t35.c b/epan/t35.c new file mode 100644 index 0000000000..9be5a82977 --- /dev/null +++ b/epan/t35.c @@ -0,0 +1,395 @@ +/* t35.c + * T.35 and H.221 tables + * 2003 Tomas Kukosa + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include <epan/t35.h> + +/* Recommendation T.35 (02/2000) */ +/* Annex to ITU Operational Bulletin No. 766 - 15.VI.2002 */ +const value_string T35CountryCode_vals[] = { + { 0x00, "Japan"}, + { 0x01, "Albania"}, + { 0x02, "Algeria"}, + { 0x03, "American Samoa"}, + { 0x04, "Germany"}, + { 0x05, "Anguilla"}, + { 0x06, "Antigua and Barbuda"}, + { 0x07, "Argentina"}, + { 0x08, "Ascension (see S. Helena)"}, + { 0x09, "Australia"}, + { 0x0a, "Austria"}, + { 0x0b, "Bahamas"}, + { 0x0c, "Bahrain"}, + { 0x0d, "Bangladesh"}, + { 0x0e, "Barbados"}, + { 0x0f, "Belgium"}, + { 0x10, "Belize"}, + { 0x11, "Benin"}, + { 0x12, "Bermuda"}, + { 0x13, "Bhutan"}, + { 0x14, "Bolivia"}, + { 0x15, "Botswana"}, + { 0x16, "Brazil"}, + { 0x17, "British Antarctic Territory"}, + { 0x18, "British Indian Ocean Territory"}, + { 0x19, "British Virgin Islands"}, + { 0x1a, "Brunei Darussalam"}, + { 0x1b, "Bulgaria"}, + { 0x1c, "Myanmar"}, + { 0x1d, "Burundi"}, + { 0x1e, "Belarus"}, + { 0x1f, "Cameroon"}, + { 0x20, "Canada"}, + { 0x21, "Cape Verde"}, + { 0x22, "Cayman Islands"}, + { 0x23, "Central African Rep."}, + { 0x24, "Chad"}, + { 0x25, "Chile"}, + { 0x26, "China"}, + { 0x27, "Colombia"}, + { 0x28, "Comoros"}, + { 0x29, "Congo"}, + { 0x2a, "Cook Islands"}, + { 0x2b, "Costa Rica"}, + { 0x2c, "Cuba"}, + { 0x2d, "Cyprus"}, + { 0x2e, "Czech Rep."}, + { 0x2f, "Cambodia"}, + { 0x30, "Dem. People's Rep. of Korea"}, + { 0x31, "Denmark"}, + { 0x32, "Djibouti"}, + { 0x33, "Dominican Rep."}, + { 0x34, "Dominica"}, + { 0x35, "Ecuador"}, + { 0x36, "Egypt"}, + { 0x37, "El Salvador"}, + { 0x38, "Equatorial Guinea"}, + { 0x39, "Ethiopia"}, + { 0x3a, "Falkland Islands (Malvinas)"}, + { 0x3b, "Fiji"}, + { 0x3c, "Finland"}, + { 0x3d, "France"}, + { 0x3e, "French Polynesia"}, + /* { 0x3f, "(Available)"}, */ + { 0x40, "Gabon"}, + { 0x41, "Gambia"}, + { 0x42, "Germany"}, + { 0x43, "Angola"}, + { 0x44, "Ghana"}, + { 0x45, "Gibraltar"}, + { 0x46, "Greece"}, + { 0x47, "Grenada"}, + { 0x48, "Guam"}, + { 0x49, "Guatemala"}, + { 0x4a, "Guernsey"}, + { 0x4b, "Guinea"}, + { 0x4c, "Guinea-Bissau"}, + { 0x4d, "Guayana"}, + { 0x4e, "Haiti"}, + { 0x4f, "Honduras"}, + { 0x50, "Hong Kong, China"}, + { 0x51, "Hungary"}, + { 0x52, "Iceland"}, + { 0x53, "India"}, + { 0x54, "Indonesia"}, + { 0x55, "Iran (Islamic Republic of)"}, + { 0x56, "Iraq"}, + { 0x57, "Ireland"}, + { 0x58, "Israel"}, + { 0x59, "Italy"}, + { 0x5a, "Côte d'Ivoire"}, + { 0x5b, "Jamaica"}, + { 0x5c, "Afghanistan"}, + { 0x5d, "Jersey"}, + { 0x5e, "Jordan"}, + { 0x5f, "Kenya"}, + { 0x60, "Kiribati"}, + { 0x61, "Korea (Rep. of)"}, + { 0x62, "Kuwait"}, + { 0x63, "Lao P.D.R."}, + { 0x64, "Lebanon"}, + { 0x65, "Lesotho"}, + { 0x66, "Liberia"}, + { 0x67, "Libya"}, + { 0x68, "Liechtenstein"}, + { 0x69, "Luxembourg"}, + { 0x6a, "Macao, China"}, + { 0x6b, "Madagascar"}, + { 0x6c, "Malaysia"}, + { 0x6d, "Malawi"}, + { 0x6e, "Maldives"}, + { 0x6f, "Mali"}, + { 0x70, "Malta"}, + { 0x71, "Mauritania"}, + { 0x72, "Mauritius"}, + { 0x73, "Mexico"}, + { 0x74, "Monaco"}, + { 0x75, "Mongolia"}, + { 0x76, "Montserrat"}, + { 0x77, "Morocco"}, + { 0x78, "Mozambique"}, + { 0x79, "Nauru"}, + { 0x7a, "Nepal"}, + { 0x7b, "Netherlands"}, + { 0x7c, "Netherlands Antilles"}, + { 0x7d, "New Caledonia"}, + { 0x7e, "New Zealand"}, + { 0x7f, "Nicaragua"}, + { 0x80, "Niger"}, + { 0x81, "Nigeria"}, + { 0x82, "Norway"}, + { 0x83, "Oman"}, + { 0x84, "Pakistan"}, + { 0x85, "Panama"}, + { 0x86, "Papua New Guinea"}, + { 0x87, "Paraguay"}, + { 0x88, "Peru"}, + { 0x89, "Philippines"}, + { 0x8a, "Poland"}, + { 0x8b, "Portugal"}, + { 0x8c, "Puerto Rico"}, + { 0x8d, "Qatar"}, + { 0x8e, "Romania"}, + { 0x8f, "Rwanda"}, + { 0x90, "Saint Kitts and Nevis"}, + { 0x91, "Saint Croix"}, + { 0x92, "Saint Helena and Ascension"}, + { 0x93, "Saint Lucia"}, + { 0x94, "San Marino"}, + { 0x95, "Saint Thomas"}, + { 0x96, "Sao Tome and Principe"}, + { 0x97, "Saint Vincent and the Grenadines"}, + { 0x98, "Saudi Arabia"}, + { 0x99, "Senegal"}, + { 0x9a, "Seychelles"}, + { 0x9b, "Sierra Leone"}, + { 0x9c, "Singapore"}, + { 0x9d, "Solomon"}, + { 0x9e, "Somalia"}, + { 0x9f, "South Africa"}, + { 0xa0, "Spain"}, + { 0xa1, "Sri Lanka"}, + { 0xa2, "Sudan"}, + { 0xa3, "Suriname"}, + { 0xa4, "Swaziland"}, + { 0xa5, "Sweden"}, + { 0xa6, "Switzerland"}, + { 0xa7, "Syria"}, + { 0xa8, "Tanzania"}, + { 0xa9, "Thailand"}, + { 0xaa, "Togo"}, + { 0xab, "Tonga"}, + { 0xac, "Trinidad and Tobago"}, + { 0xad, "Tunisia"}, + { 0xae, "Turkey"}, + { 0xaf, "Turks and Caicos Islands"}, + { 0xb0, "Tuvalu"}, + { 0xb1, "Uganda"}, + { 0xb2, "Ukraine"}, + { 0xb3, "United Arab Emirates"}, + { 0xb4, "United Kingdom"}, + { 0xb5, "United States"}, + { 0xb6, "Burkina Faso"}, + { 0xb7, "Uruguay"}, + { 0xb8, "Russia"}, + { 0xb9, "Vanuatu"}, + { 0xba, "Vatican"}, + { 0xbb, "Venezuela"}, + { 0xbc, "Viet Nam"}, + { 0xbd, "Wallis and Futuna"}, + { 0xbe, "Samoa"}, + { 0xbf, "Yemen"}, + { 0xc0, "Yemen"}, + { 0xc1, "Yugoslavia"}, + { 0xc2, "Dem. Rep. of the Congo"}, + { 0xc3, "Zambia"}, + { 0xc4, "Zimbabwe"}, + { 0xc5, "Slovakia"}, + { 0xc6, "Slovenia"}, + { 0, NULL } +}; + + +const value_string T35Extension_vals[] = { + { 0, NULL } +}; + +const value_string H221ManufacturerCode_vals[] = { + { 0x04000042, "Deutsche Telekom AG" }, /* From Ref. 3 */ + { 0x04000043, "Deutsche Telekom AG" }, /* From Ref. 3 */ + { 0x04000082, "Siemens AG" }, /* From Ref. 3 */ + { 0x04000084, "ITO Communication" }, /* From Ref. 3 */ + { 0x04000086, "Hauni Elektronik" }, /* From Ref. 3 */ + { 0x04000088, "Dr.Neuhaus Mikroelektronik" }, /* From Ref. 3 */ + { 0x0400008a, "mps Software" }, /* From Ref. 3 */ + { 0x0400008b, "Ferrari electronik GmbH" }, /* From Ref. 3 */ + { 0x0400008c, "mbp Kommunikationssysteme GmbH" }, /* From Ref. 3 */ + { 0x0400008d, "Schneider Rundfunkwerke AG" }, /* From Ref. 3 */ + { 0x0400008e, "Digitronic computersysteme gmbh" }, /* From Ref. 3 */ + { 0x0400008f, "DeTeWe - Deutsche Telephonwerke AG &Co" }, /* From Ref. 3 */ + { 0x04000082, "SITK Institut für Telekommunikation GmbH & Co KG" },/* From Ref. 3 */ + { 0x0900003D, "Equivalence (OpenH323)" }, /* From captures */ + { 0x20000081, "Mediatrix Telecom" }, /* From Ref. 1 */ + { 0x3d000310, "Swissvoice" }, + { 0x3d000311, "Swissvoice" }, + { 0x3d000312, "Swissvoice" }, + { 0x3d000313, "Swissvoice" }, + { 0x3d000314, "Swissvoice" }, + { 0x3d000315, "Swissvoice" }, + { 0x3d000316, "Swissvoice" }, + { 0x3d000317, "Swissvoice" }, + { 0x3d000318, "Swissvoice" }, + { 0x3d000319, "Swissvoice" }, + { 0x3d00031a, "Swissvoice" }, + { 0x3d00031b, "Swissvoice" }, + { 0x3d00031c, "Swissvoice" }, + { 0x3d00031d, "Swissvoice" }, + { 0x3d00031e, "Swissvoice" }, + { 0x3d00031f, "Swissvoice" }, + { 0x82000002, "Ericsson" }, /* From captures */ + { 0xa5000001, "Ericsson" }, /* From captures */ + { 0xb4000000, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb4000001, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb4000002, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb4000003, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb4000004, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb4000005, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb4000006, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb4000007, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb4000008, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb4000009, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb400000a, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb400000b, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb400000c, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb400000d, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb400000e, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb400000f, "British Telecommunications" }, /* From Ref. 2 */ + { 0xb4000010, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb4000011, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb4000012, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb4000013, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb4000014, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb4000015, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb4000016, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb4000017, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb4000018, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb4000019, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb400001a, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb400001b, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb400001c, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb400001d, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb400001e, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb400001f, "GPT Video Systems" }, /* From Ref. 2 */ + { 0xb4000020, "Marconi Communications" }, /* From Ref. 2 */ + { 0xb4000021, "Indigo Active Vision Systems" }, /* From Ref. 2 */ + { 0xb4000022, "LiveWorks Limited" }, /* From Ref. 2 */ + { 0xb4000023, "ATL Telecom Limited" }, /* From Ref. 2 */ + { 0xb400002a, "Network Alchemy Limited" }, /* From Ref. 2 */ + { 0xb4000042, "Motion Media Technology" }, /* From Ref. 2 */ + { 0xb4000044, "Data Connection" }, /* From Ref. 2 */ + { 0xb4000045, "Westbay Engineers" }, /* From Ref. 2 */ + { 0xb4000049, "ImageCom" }, /* From Ref. 2 */ + { 0xb400004d, "Madge Networks" }, /* From Ref. 2 */ + { 0xb4000052, "Ridgeway Systems and Software" }, /* From Ref. 2 */ + { 0xb4000053, "SpliceCom" }, /* From Ref. 2 */ + { 0xb4000054, "TeleWare" }, /* From Ref. 2 */ + { 0xb4000056, "Vegastream" }, /* From Ref. 2 */ + { 0xb4000066, "Westell" }, /* From Ref. 2 */ + { 0xb4000069, "ISDN Communications" }, /* From Ref. 2 */ + { 0xb40000c0, "Codian" }, /* From Ref. 2 */ + + { 0xb5000000, "Compression Labs" }, /* From Ref. 1 */ + { 0xb5000001, "PictureTel" }, /* From Ref. 1 */ + { 0xb5000002, "Compression Labs" }, /* From Ref. 1 */ + { 0xb5000003, "VTEL" }, /* From Ref. 1 */ + { 0xb5000005, "ERIS" }, /* From Ref. 1 */ + { 0xb5000007, "AT&T Worldworx" }, /* From Ref. 1 */ + { 0xb5000009, "VideoServer" }, /* From Ref. 1 */ + { 0xb500000b, "3Com Corporation" }, /* From Ref. 1 */ + { 0xb500000c, "Clarent Corporation" }, /* From Ref. 1 */ + { 0xb500000d, "Genesys Telecommunications Labs Inc" }, /* From Ref. 1 */ + { 0xb500000e, "C-Phone Corporation." }, /* From Ref. 1 */ + { 0xb500000f, "Science Dynamics Corporation" }, /* From Ref. 1 */ + { 0xb5000010, "AT&T Starpoint" }, /* From Ref. 1 */ + { 0xb5000011, "Netscape Conference" }, /* From Ref. 1 */ + { 0xb5000012, "Cisco" }, /* From Ref. 1 */ + { 0xb5000013, "Cirilium, Inc." }, /* From Ref. 1 */ + { 0xb5000014, "Ascend Communications, Inc." }, /* From Ref. 1 */ + { 0xb5000015, "RADVision, Inc." }, /* From Ref. 1 */ + { 0xb5000016, "Objective Communications" }, /* From Ref. 1 */ + { 0xb5000017, "VocalTec Communications, Inc." }, /* From Ref. 1 */ + { 0xb5000018, "Serome Technology, Inc." }, /* From Ref. 1 */ + { 0xb5000019, "Aspect Communications" }, /* From Ref. 1 */ + { 0xb500001a, "Cintech Tele-Management" }, /* From Ref. 1 */ + { 0xb500001b, "Philips Video Conferencing Systems" }, /* From Ref. 1 */ + { 0xb500001c, "Vertical Networks, Inc." }, /* From Ref. 1 */ + { 0xb500001d, "Syndeo Corp." }, /* From Ref. 1 */ + { 0xb500001e, "Telxon Corporation" }, /* From Ref. 1 */ + { 0xb500001f, "Network Equipment Technologies" }, /* From Ref. 1 */ + { 0xb5000020, "Pagoo, Inc." }, /* From Ref. 1 */ + { 0xb5000021, "General Dynamics" }, /* From Ref. 1 */ + { 0xb5000022, "Vanguard Managed Solutions" }, /* From Ref. 1 */ + { 0xb5000023, "TeleStream Technologies, Inc." }, /* From Ref. 1 */ + { 0xb5000024, "Spirent Communications" }, /* From Ref. 1 */ + { 0xb5000025, "CrystalVoice Communications" }, /* From Ref. 1 */ + { 0xb5000026, "Xiph.org" }, /* From Ref. 1 */ + { 0xb5000027, "NACT Telecommunications" }, /* From Ref. 1 */ + { 0xb5000028, "AudioCodes, Inc." }, /* From Ref. 1 */ + { 0xb5000120, "AT&T - GBCS" }, /* From Ref. 1 */ + { 0xb5000168, "Leadtek Research Inc." }, /* From Ref. 1 */ + { 0xb5000247, "Lucent Technologies" }, /* From Ref. 1 */ + { 0xb500029a, "Symbol Technologies Inc." }, /* From Ref. 1 */ + { 0xb5000378, "StarVox, Inc." }, /* From Ref. 1 */ + { 0xb50003f7, "Inari Inc." }, /* From Ref. 1 */ + { 0xb5000727, "Quintum Technologies, Inc." }, /* From Ref. 1 */ + { 0xb5000918, "Netrix Corporation" }, /* From Ref. 1 */ + { 0xb500101e, "SysMaster Corporation" }, /* From Ref. 1 */ + { 0xb5001a1a, "Alpha Telecom, Inc. U.S.A." }, /* From Ref. 1 */ + { 0xb5002331, "ViaVideo" }, /* From Ref. 1 */ + { 0xb500301c, "Congruency, Inc." }, /* From Ref. 1 */ + { 0xb5003039, "MiBridge Inc." }, /* From Ref. 1 */ + { 0xb5003838, "8x8 Inc." }, /* From Ref. 1 */ + { 0xb5004147, "Agere Systems" }, /* From Ref. 1 */ + { 0xb5004153, "Artisoft Inc." }, /* From Ref. 1 */ + { 0xb5004156, "Avaya" }, /* From Ref. 1 */ + { 0xb5004242, "IBM." }, /* From Ref. 1 */ + { 0xb5004257, "StreamComm" }, /* From Ref. 1 */ + + { 0xb5004c54, "Lucent Technologies" }, /* From Ref. 1 */ + { 0xb5004d47, "MediaGate" }, /* From Ref. 1 */ + { 0xb5004e54, "Nortel Networks" }, /* From Ref. 1 */ + + { 0xb5005243, "Siemens Business Communication Systems" }, /* From Ref. 1 */ + { 0xb500534c, "Microsoft" }, /* From Ref. 1 */ + + { 0xb500600d, "Lucent Technologies" }, /* From Ref. 1 */ + + { 0xb5008080, "Intel" }, /* From Ref. 1 */ + { 0xa5000001, "Ericsson" }, /* From captures */ + { 0, NULL } +}; +/* Ref 1 http://www.delta-info.com/Protocol_Test/Manufacturer_codes.html */ +/* Ref 2 http://www.cix.co.uk/~bpechey/H221/h221code.htm */ +/* Ref 3 http://www.regtp.de/reg_tele/start/in_05-06-03-11-00_m/index.html */ + diff --git a/epan/t35.h b/epan/t35.h new file mode 100644 index 0000000000..a9d8abf422 --- /dev/null +++ b/epan/t35.h @@ -0,0 +1,35 @@ +/* t35.h + * T.35 and H.221 tables + * 2003 Tomas Kukosa + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __T35_H__ +#define __T35_H__ + +#include "epan/value_string.h" + +extern const value_string T35CountryCode_vals[]; +extern const value_string T35Extension_vals[]; +extern const value_string H221ManufacturerCode_vals[]; + +#endif /* __T35_H__ */ |