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