#include <string.h> and/or #include <stdio.h> not needed.
[obnox/wireshark/wip.git] / epan / dissectors / packet-isis-hello.h
1 /* packet-isis-hello.h
2  * Declares for hello handling inside isis.
3  *
4  * $Id$
5  * Stuart Stanley <stuarts@mxmail.net>
6  *
7  * Wireshark - Network traffic analyzer
8  * By Gerald Combs <gerald@wireshark.org>
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_RESTART_RR                 0x01
47 #define ISIS_RESTART_RA                 0x02
48 #define ISIS_RESTART_SA                 0x04
49 #define ISIS_MASK_RESTART_RR(x)            ((x)&ISIS_RESTART_RR)
50 #define ISIS_MASK_RESTART_RA(x)            ((x)&ISIS_RESTART_RA)
51 #define ISIS_MASK_RESTART_SA(x)            ((x)&ISIS_RESTART_SA)
52
53 /*
54  * Published API functions.  NOTE, this are "local" API functions and
55  * are only valid from with isis decodes.
56  */
57 extern void isis_dissect_isis_hello(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
58         int offset, int hello_type, int header_length,int id_length);
59 extern void isis_register_hello(int proto_isis);
60
61 #endif /* _PACKET_ISIS_HELLO_H */