]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * IS-IS Rout(e)ing protocol - isis_misc.h | |
3 | * Miscellanous routines | |
4 | * | |
5 | * Copyright (C) 2001,2002 Sampo Saaristo | |
6 | * Tampere University of Technology | |
7 | * Institute of Communications Engineering | |
8 | * | |
9 | * This program is free software; you can redistribute it and/or modify it | |
10 | * under the terms of the GNU General Public Licenseas published by the Free | |
11 | * Software Foundation; either version 2 of the License, or (at your option) | |
12 | * any later version. | |
13 | * | |
14 | * This program is distributed in the hope that it will be useful,but WITHOUT | |
15 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
16 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
17 | * more details. | |
18 | * | |
19 | * You should have received a copy of the GNU General Public License along | |
20 | * with this program; see the file COPYING; if not, write to the Free Software | |
21 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
22 | */ | |
23 | ||
24 | #ifndef _ZEBRA_ISIS_MISC_H | |
25 | #define _ZEBRA_ISIS_MISC_H | |
26 | ||
27 | int string2circuit_t(const char *); | |
28 | const char *circuit_t2string(int); | |
29 | const char *circuit_state2string(int state); | |
30 | const char *circuit_type2string(int type); | |
31 | const char *syst2string(int); | |
32 | struct in_addr newprefix2inaddr(uint8_t *prefix_start, uint8_t prefix_masklen); | |
33 | /* | |
34 | * Converting input to memory stored format | |
35 | * return value of 0 indicates wrong input | |
36 | */ | |
37 | int dotformat2buff(uint8_t *, const char *); | |
38 | int sysid2buff(uint8_t *, const char *); | |
39 | ||
40 | /* | |
41 | * Printing functions | |
42 | */ | |
43 | const char *isonet_print(const uint8_t *, int len); | |
44 | const char *sysid_print(const uint8_t *); | |
45 | const char *snpa_print(const uint8_t *); | |
46 | const char *rawlspid_print(const uint8_t *); | |
47 | const char *isis_format_id(const uint8_t *id, size_t len); | |
48 | const char *time2string(uint32_t); | |
49 | const char *nlpid2str(uint8_t nlpid); | |
50 | /* typedef struct nlpids nlpids; */ | |
51 | char *nlpid2string(struct nlpids *); | |
52 | const char *print_sys_hostname(const uint8_t *sysid); | |
53 | void zlog_dump_data(void *data, int len); | |
54 | ||
55 | /* | |
56 | * misc functions | |
57 | */ | |
58 | unsigned long isis_jitter(unsigned long timer, unsigned long jitter); | |
59 | ||
60 | /* | |
61 | * macros | |
62 | */ | |
63 | #define GETSYSID(A) \ | |
64 | (A->area_addr + (A->addr_len - (ISIS_SYS_ID_LEN + ISIS_NSEL_LEN))) | |
65 | ||
66 | /* used for calculating nice string representation instead of plain seconds */ | |
67 | ||
68 | #define SECS_PER_MINUTE 60 | |
69 | #define SECS_PER_HOUR 3600 | |
70 | #define SECS_PER_DAY 86400 | |
71 | #define SECS_PER_WEEK 604800 | |
72 | #define SECS_PER_MONTH 2628000 | |
73 | #define SECS_PER_YEAR 31536000 | |
74 | ||
75 | enum { ISIS_UI_LEVEL_BRIEF, | |
76 | ISIS_UI_LEVEL_DETAIL, | |
77 | ISIS_UI_LEVEL_EXTENSIVE, | |
78 | }; | |
79 | ||
80 | #include "lib/log.h" | |
81 | void log_multiline(int priority, const char *prefix, const char *format, ...) | |
82 | PRINTFRR(3, 4); | |
83 | struct vty; | |
84 | void vty_multiline(struct vty *vty, const char *prefix, const char *format, ...) | |
85 | PRINTFRR(3, 4); | |
86 | void vty_out_timestr(struct vty *vty, time_t uptime); | |
87 | #endif |