#define NAME_MAX_LEN 512
struct rtnl_hash_entry {
- struct rtnl_hash_entry *next;
- const char * name;
+ struct rtnl_hash_entry *next;
+ const char *name;
unsigned int id;
};
return;
}
- if (id<0)
+ if (id < 0)
continue;
entry = malloc(sizeof(*entry));
fclose(fp);
return;
}
- if (id<0 || id>size)
+ if (id < 0 || id > size)
continue;
tab[id] = strdup(namebuf);
fclose(fp);
}
-static char * rtnl_rtprot_tab[256] = {
- [RTPROT_UNSPEC] = "none",
- [RTPROT_REDIRECT] ="redirect",
- [RTPROT_KERNEL] = "kernel",
- [RTPROT_BOOT] = "boot",
- [RTPROT_STATIC] = "static",
-
- [RTPROT_GATED] = "gated",
- [RTPROT_RA] = "ra",
- [RTPROT_MRT] = "mrt",
- [RTPROT_ZEBRA] ="zebra",
- [RTPROT_BIRD] = "bird",
- [RTPROT_BABEL] = "babel",
+static char *rtnl_rtprot_tab[256] = {
+ [RTPROT_UNSPEC] = "none",
+ [RTPROT_REDIRECT] = "redirect",
+ [RTPROT_KERNEL] = "kernel",
+ [RTPROT_BOOT] = "boot",
+ [RTPROT_STATIC] = "static",
+
+ [RTPROT_GATED] = "gated",
+ [RTPROT_RA] = "ra",
+ [RTPROT_MRT] = "mrt",
+ [RTPROT_ZEBRA] = "zebra",
+ [RTPROT_BIRD] = "bird",
+ [RTPROT_BABEL] = "babel",
[RTPROT_DNROUTED] = "dnrouted",
- [RTPROT_XORP] = "xorp",
- [RTPROT_NTK] = "ntk",
- [RTPROT_DHCP] = "dhcp",
+ [RTPROT_XORP] = "xorp",
+ [RTPROT_NTK] = "ntk",
+ [RTPROT_DHCP] = "dhcp",
};
rtnl_rtprot_tab, 256);
}
-const char * rtnl_rtprot_n2a(int id, char *buf, int len)
+const char *rtnl_rtprot_n2a(int id, char *buf, int len)
{
- if (id<0 || id>=256) {
+ if (id < 0 || id >= 256) {
snprintf(buf, len, "%u", id);
return buf;
}
int rtnl_rtprot_a2n(__u32 *id, const char *arg)
{
- static char *cache = NULL;
+ static char *cache;
static unsigned long res;
char *end;
int i;
if (!rtnl_rtprot_init)
rtnl_rtprot_initialize();
- for (i=0; i<256; i++) {
+ for (i = 0; i < 256; i++) {
if (rtnl_rtprot_tab[i] &&
strcmp(rtnl_rtprot_tab[i], arg) == 0) {
cache = rtnl_rtprot_tab[i];
return 0;
}
-static char * rtnl_rtscope_tab[256] = {
- "global",
+
+static char *rtnl_rtscope_tab[256] = {
+ [RT_SCOPE_UNIVERSE] = "global",
+ [RT_SCOPE_NOWHERE] = "nowhere",
+ [RT_SCOPE_HOST] = "host",
+ [RT_SCOPE_LINK] = "link",
+ [RT_SCOPE_SITE] = "site",
};
static int rtnl_rtscope_init;
static void rtnl_rtscope_initialize(void)
{
rtnl_rtscope_init = 1;
- rtnl_rtscope_tab[RT_SCOPE_NOWHERE] = "nowhere";
- rtnl_rtscope_tab[RT_SCOPE_HOST] = "host";
- rtnl_rtscope_tab[RT_SCOPE_LINK] = "link";
- rtnl_rtscope_tab[RT_SCOPE_SITE] = "site";
rtnl_tab_initialize(CONFDIR "/rt_scopes",
rtnl_rtscope_tab, 256);
}
const char *rtnl_rtscope_n2a(int id, char *buf, int len)
{
- if (id<0 || id>=256) {
+ if (id < 0 || id >= 256) {
snprintf(buf, len, "%d", id);
return buf;
}
+
if (!rtnl_rtscope_tab[id]) {
if (!rtnl_rtscope_init)
rtnl_rtscope_initialize();
}
+
if (rtnl_rtscope_tab[id])
return rtnl_rtscope_tab[id];
+
snprintf(buf, len, "%d", id);
return buf;
}
int rtnl_rtscope_a2n(__u32 *id, const char *arg)
{
- static const char *cache = NULL;
+ static const char *cache;
static unsigned long res;
char *end;
int i;
if (!rtnl_rtscope_init)
rtnl_rtscope_initialize();
- for (i=0; i<256; i++) {
+ for (i = 0; i < 256; i++) {
if (rtnl_rtscope_tab[i] &&
strcmp(rtnl_rtscope_tab[i], arg) == 0) {
cache = rtnl_rtscope_tab[i];
}
-static char * rtnl_rtrealm_tab[256] = {
+static char *rtnl_rtrealm_tab[256] = {
"unknown",
};
const char *rtnl_rtrealm_n2a(int id, char *buf, int len)
{
- if (id<0 || id>=256) {
+ if (id < 0 || id >= 256) {
snprintf(buf, len, "%d", id);
return buf;
}
int rtnl_rtrealm_a2n(__u32 *id, const char *arg)
{
- static char *cache = NULL;
+ static char *cache;
static unsigned long res;
char *end;
int i;
if (!rtnl_rtrealm_init)
rtnl_rtrealm_initialize();
- for (i=0; i<256; i++) {
+ for (i = 0; i < 256; i++) {
if (rtnl_rtrealm_tab[i] &&
strcmp(rtnl_rtrealm_tab[i], arg) == 0) {
cache = rtnl_rtrealm_tab[i];
static struct rtnl_hash_entry main_table_entry = { .name = "main" };
static struct rtnl_hash_entry local_table_entry = { .name = "local" };
-static struct rtnl_hash_entry * rtnl_rttable_hash[256] = {
+static struct rtnl_hash_entry *rtnl_rttable_hash[256] = {
[RT_TABLE_DEFAULT] = &dflt_table_entry,
[RT_TABLE_MAIN] = &main_table_entry,
[RT_TABLE_LOCAL] = &local_table_entry,
if (strcmp(de->d_name + len - 5, ".conf"))
continue;
- snprintf(path, sizeof(path), CONFDIR "/rt_tables.d/%s", de->d_name);
+ snprintf(path, sizeof(path),
+ CONFDIR "/rt_tables.d/%s", de->d_name);
rtnl_hash_initialize(path, rtnl_rttable_hash, 256);
}
closedir(d);
}
-const char * rtnl_rttable_n2a(__u32 id, char *buf, int len)
+const char *rtnl_rttable_n2a(__u32 id, char *buf, int len)
{
struct rtnl_hash_entry *entry;
int rtnl_rttable_a2n(__u32 *id, const char *arg)
{
- static const char *cache = NULL;
+ static const char *cache;
static unsigned long res;
struct rtnl_hash_entry *entry;
char *end;
if (!rtnl_rttable_init)
rtnl_rttable_initialize();
- for (i=0; i<256; i++) {
+ for (i = 0; i < 256; i++) {
entry = rtnl_rttable_hash[i];
while (entry && strcmp(entry->name, arg))
entry = entry->next;
}
-static char * rtnl_rtdsfield_tab[256] = {
+static char *rtnl_rtdsfield_tab[256] = {
"0",
};
const char *rtnl_dsfield_n2a(int id, char *buf, int len)
{
- if (id<0 || id>=256) {
+ if (id < 0 || id >= 256) {
snprintf(buf, len, "%d", id);
return buf;
}
int rtnl_dsfield_a2n(__u32 *id, const char *arg)
{
- static char *cache = NULL;
+ static char *cache;
static unsigned long res;
char *end;
int i;
if (!rtnl_rtdsfield_init)
rtnl_rtdsfield_initialize();
- for (i=0; i<256; i++) {
+ for (i = 0; i < 256; i++) {
if (rtnl_rtdsfield_tab[i] &&
strcmp(rtnl_rtdsfield_tab[i], arg) == 0) {
cache = rtnl_rtdsfield_tab[i];
}
-static struct rtnl_hash_entry dflt_group_entry = { .id = 0, .name = "default" };
+static struct rtnl_hash_entry dflt_group_entry = {
+ .id = 0, .name = "default"
+};
-static struct rtnl_hash_entry * rtnl_group_hash[256] = {
+static struct rtnl_hash_entry *rtnl_group_hash[256] = {
[0] = &dflt_group_entry,
};
int rtnl_group_a2n(int *id, const char *arg)
{
- static const char *cache = NULL;
+ static const char *cache;
static unsigned long res;
struct rtnl_hash_entry *entry;
char *end;
if (!rtnl_group_init)
rtnl_group_initialize();
- for (i=0; i<256; i++) {
+ for (i = 0; i < 256; i++) {
entry = rtnl_group_hash[i];
while (entry && strcmp(entry->name, arg))
entry = entry->next;
if (!rtnl_group_init)
rtnl_group_initialize();
- for (i=0; i<256; i++) {
+ for (i = 0; i < 256; i++) {
entry = rtnl_group_hash[i];
- if (entry && entry->id == id) {
+ if (entry && entry->id == id)
return entry->name;
- }
}
snprintf(buf, len, "%d", id);
int nl_proto_a2n(__u32 *id, const char *arg)
{
- static char *cache = NULL;
+ static char *cache;
static unsigned long res;
char *end;
int i;