Mercurial > routeflapper
comparison src/routeconfig.h @ 4:180d26aa2a17
Fedora 9 compile and const correctness.
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Thu, 12 Jun 2008 17:51:33 -0700 |
parents | 48d06780cf77 |
children |
comparison
equal
deleted
inserted
replaced
3:4a81cc2da570 | 4:180d26aa2a17 |
---|---|
13 enum pattern_style {style_reset, style_path, style_announce, style_withdraw, style_ip}; | 13 enum pattern_style {style_reset, style_path, style_announce, style_withdraw, style_ip}; |
14 enum suspicion {suspicious_none, suspicious_origin, suspicious_adjacency}; | 14 enum suspicion {suspicious_none, suspicious_origin, suspicious_adjacency}; |
15 | 15 |
16 class PATTERN { | 16 class PATTERN { |
17 pattern_style style; | 17 pattern_style style; |
18 char * pattern; // owned by the string table | 18 const char * pattern; // owned by the string table |
19 regex_t re; | 19 regex_t re; |
20 int index1; // zero based substring of the regex match that contains the as list or prefix value | 20 int index1; // zero based substring of the regex match that contains the as list or prefix value |
21 int index2; // zero based substring of the regex match that contains the prefix length | 21 int index2; // zero based substring of the regex match that contains the prefix length |
22 public: | 22 public: |
23 ~PATTERN(); | 23 ~PATTERN(); |
24 PATTERN(TOKEN &tok, pattern_style style_, char *pattern_, int index1_, int index2_); | 24 PATTERN(TOKEN &tok, pattern_style style_, const char *pattern_, int index1_, int index2_); |
25 bool process(char *buf, CONFIG &con, char *file_name, int pattern_index); | 25 bool process(char *buf, CONFIG &con, const char *file_name, int pattern_index); |
26 void dump(int level, int index, char *token); | 26 void dump(int level, int index, const char *token); |
27 void dump(int level); | 27 void dump(int level); |
28 }; | 28 }; |
29 | 29 |
30 typedef ROUTECONFIG * ROUTECONFIGP; | 30 typedef ROUTECONFIG * ROUTECONFIGP; |
31 typedef PATTERN * PATTERNP; | 31 typedef PATTERN * PATTERNP; |
33 typedef list<PATTERNP> pattern_list; | 33 typedef list<PATTERNP> pattern_list; |
34 const int buflen = 1024; | 34 const int buflen = 1024; |
35 | 35 |
36 class ROUTECONFIG { | 36 class ROUTECONFIG { |
37 TOKEN * tokp; | 37 TOKEN * tokp; |
38 char * file_name; // name of the syslog file | 38 const char * file_name; // name of the syslog file |
39 pattern_list patterns; // owns the patterns | 39 pattern_list patterns; // owns the patterns |
40 int fd; | 40 int fd; |
41 struct stat openfdstat; | 41 struct stat openfdstat; |
42 int len; // bytes in the buffer | 42 int len; // bytes in the buffer |
43 char buf[buflen]; | 43 char buf[buflen]; |
44 public: | 44 public: |
45 ROUTECONFIG(TOKEN &tok, char *file_name_); | 45 ROUTECONFIG(TOKEN &tok, const char *file_name_); |
46 ~ROUTECONFIG(); | 46 ~ROUTECONFIG(); |
47 bool failed() { return (fd == -1); }; | 47 bool failed() { return (fd == -1); }; |
48 void open(bool msg); | 48 void open(bool msg); |
49 bool read(CONFIG &con); | 49 bool read(CONFIG &con); |
50 void close(); | 50 void close(); |
69 void dump(); | 69 void dump(); |
70 void read(); | 70 void read(); |
71 }; | 71 }; |
72 | 72 |
73 void discard(string_set &s); | 73 void discard(string_set &s); |
74 char* register_string(string_set &s, char *name); | 74 const char* register_string(string_set &s, const char *name); |
75 char* register_string(char *name); | 75 const char* register_string(const char *name); |
76 void clear_strings(); | 76 void clear_strings(); |
77 void clear_rib(); | 77 void clear_rib(); |
78 int ip_address(char *have); | 78 int ip_address(const char *have); |
79 bool load_conf(CONFIG &dc, char *fn); | 79 bool load_conf(CONFIG &dc, const char *fn); |
80 void routing_hourly_update(); | 80 void routing_hourly_update(); |
81 void token_init(); | 81 void token_init(); |
82 | 82 |
83 extern char *token_announce_aslist_index; | 83 extern const char *token_announce_aslist_index; |
84 extern char *token_announce_pattern; | 84 extern const char *token_announce_pattern; |
85 extern char *token_announce_prelen_index; | 85 extern const char *token_announce_prelen_index; |
86 extern char *token_announce_preval_index; | 86 extern const char *token_announce_preval_index; |
87 extern char *token_file; | 87 extern const char *token_file; |
88 extern char *token_include; | 88 extern const char *token_include; |
89 extern char *token_lbrace; | 89 extern const char *token_lbrace; |
90 extern char *token_rbrace; | 90 extern const char *token_rbrace; |
91 extern char *token_semi; | 91 extern const char *token_semi; |
92 extern char *token_slash; | 92 extern const char *token_slash; |
93 extern char *token_withdraw_aslist_index; | 93 extern const char *token_withdraw_aslist_index; |
94 extern char *token_withdraw_pattern; | 94 extern const char *token_withdraw_pattern; |
95 extern char *token_withdraw_prelen_index; | 95 extern const char *token_withdraw_prelen_index; |
96 extern char *token_withdraw_preval_index; | 96 extern const char *token_withdraw_preval_index; |
97 | 97 |