From Chris Wilson:
[obnox/wireshark/wip.git] / packet-isis-hello.h
1 /* packet-isis-hello.h
2  * Declares for hello handling inside isis.
3  *
4  * $Id: packet-isis-hello.h,v 1.11 2003/12/08 20:40:33 guy Exp $
5  * Stuart Stanley <stuarts@mxmail.net>
6  *
7  * Ethereal - Network traffic analyzer
8  * By Gerald Combs <gerald@ethereal.com>
9  * Copyright 1998 Gerald Combs
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License
13  * as published by the Free Software Foundation; either version 2
14  * of the License, or (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
24  */
25
26 #ifndef _PACKET_ISIS_HELLO_H
27 #define _PACKET_ISIS_HELLO_H
28
29 /*
30  * Declarations for L1/L2 hello base header.
31  */
32 #define ISIS_HELLO_CTYPE_MASK           0x03
33 #define ISIS_HELLO_CT_RESERVED_MASK     0xfc
34 #define ISIS_HELLO_PRIORITY_MASK        0x7f
35 #define ISIS_HELLO_P_RESERVED_MASK      0x80
36
37 #define ISIS_HELLO_TYPE_RESERVED        0
38 #define ISIS_HELLO_TYPE_LEVEL_1         1
39 #define ISIS_HELLO_TYPE_LEVEL_2         2
40 #define ISIS_HELLO_TYPE_LEVEL_12        3
41
42 /*
43  * misc. bittest macros
44  */
45
46 #define ISIS_MASK_RESTART_RR(x)            ((x)&0x1)
47 #define ISIS_MASK_RESTART_RA(x)            ((x)&0x2)
48
49 /*
50  * Published API functions.  NOTE, this are "local" API functions and
51  * are only valid from with isis decodes.
52  */
53 extern void isis_dissect_isis_hello(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
54         int offset, int hello_type, int header_length,int id_length);
55 extern void isis_register_hello(int proto_isis);
56
57 #endif /* _PACKET_ISIS_HELLO_H */