version 1.1.1.1, 2012/02/21 17:26:12
|
version 1.1.1.2, 2016/11/02 10:09:12
|
Line 24
|
Line 24
|
|
|
#define OSPF6_DAEMON_VERSION "0.9.7r" |
#define OSPF6_DAEMON_VERSION "0.9.7r" |
|
|
|
#include "libospf.h" |
|
#include "thread.h" |
|
|
/* global variables */ |
/* global variables */ |
extern struct thread_master *master; |
extern struct thread_master *master; |
|
|
#ifdef INRIA_IPV6 |
|
#ifndef IPV6_PKTINFO |
|
#define IPV6_PKTINFO IPV6_RECVPKTINFO |
|
#endif /* IPV6_PKTINFO */ |
|
#endif /* INRIA_IPV6 */ |
|
|
|
/* Historical for KAME. */ |
/* Historical for KAME. */ |
#ifndef IPV6_JOIN_GROUP |
#ifndef IPV6_JOIN_GROUP |
#ifdef IPV6_ADD_MEMBERSHIP |
#ifdef IPV6_ADD_MEMBERSHIP |
Line 74 extern struct thread_master *master;
|
Line 71 extern struct thread_master *master;
|
} \ |
} \ |
} while (0) |
} while (0) |
#endif /*timersub*/ |
#endif /*timersub*/ |
#define timerstring(tv, buf, size) \ | #define timerstring(tv, buf, size) \ |
do { \ | do { \ |
if ((tv)->tv_sec / 60 / 60 / 24) \ | if ((tv)->tv_sec / 60 / 60 / 24) \ |
snprintf (buf, size, "%ldd%02ld:%02ld:%02ld", \ | snprintf (buf, size, "%lldd%02lld:%02lld:%02lld", \ |
(tv)->tv_sec / 60 / 60 / 24, \ | (tv)->tv_sec / 60LL / 60 / 24, \ |
(tv)->tv_sec / 60 / 60 % 24, \ | (tv)->tv_sec / 60LL / 60 % 24, \ |
(tv)->tv_sec / 60 % 60, \ | (tv)->tv_sec / 60LL % 60, \ |
(tv)->tv_sec % 60); \ | (tv)->tv_sec % 60LL); \ |
else \ | else \ |
snprintf (buf, size, "%02ld:%02ld:%02ld", \ | snprintf (buf, size, "%02lld:%02lld:%02lld", \ |
(tv)->tv_sec / 60 / 60 % 24, \ | (tv)->tv_sec / 60LL / 60 % 24, \ |
(tv)->tv_sec / 60 % 60, \ | (tv)->tv_sec / 60LL % 60, \ |
(tv)->tv_sec % 60); \ | (tv)->tv_sec % 60LL); \ |
} while (0) |
} while (0) |
#define timerstring_local(tv, buf, size) \ |
#define timerstring_local(tv, buf, size) \ |
do { \ |
do { \ |
Line 98 extern struct thread_master *master;
|
Line 95 extern struct thread_master *master;
|
zlog_warn ("strftime error"); \ |
zlog_warn ("strftime error"); \ |
} while (0) |
} while (0) |
|
|
|
#define threadtimer_string(now, t, buf, size) \ |
|
do { \ |
|
struct timeval result; \ |
|
if (!t) \ |
|
snprintf(buf, size, "inactive"); \ |
|
else { \ |
|
timersub(&t->u.sands, &now, &result); \ |
|
timerstring(&result, buf, size); \ |
|
} \ |
|
} while (0) |
|
|
/* for commands */ |
/* for commands */ |
#define OSPF6_AREA_STR "Area information\n" |
#define OSPF6_AREA_STR "Area information\n" |
#define OSPF6_AREA_ID_STR "Area ID (as an IPv4 notation)\n" |
#define OSPF6_AREA_ID_STR "Area ID (as an IPv4 notation)\n" |
Line 113 extern struct thread_master *master;
|
Line 121 extern struct thread_master *master;
|
return CMD_SUCCESS; \ |
return CMD_SUCCESS; \ |
} |
} |
|
|
| |
/* Function Prototypes */ |
/* Function Prototypes */ |
extern struct route_node *route_prev (struct route_node *node); |
extern struct route_node *route_prev (struct route_node *node); |
|
|