diff options
Diffstat (limited to 'networking/libiproute')
-rw-r--r-- | networking/libiproute/iproute.c | 22 | ||||
-rw-r--r-- | networking/libiproute/libnetlink.h | 1 | ||||
-rw-r--r-- | networking/libiproute/linux/pkt_sched.h | 2 | ||||
-rw-r--r-- | networking/libiproute/utils.c | 20 | ||||
-rw-r--r-- | networking/libiproute/utils.h | 12 |
5 files changed, 22 insertions, 35 deletions
diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c index bf6f95f..acb5169 100644 --- a/networking/libiproute/iproute.c +++ b/networking/libiproute/iproute.c @@ -57,6 +57,28 @@ static int flush_update(void) return 0; } +static int get_hz(void) +{ + static int hz_internal; + FILE *fp; + + if (hz_internal) + return hz_internal; + + fp = fopen("/proc/net/psched", "r"); + if (fp) { + unsigned nom, denom; + + if (fscanf(fp, "%*08x%*08x%08x%08x", &nom, &denom) == 2) + if (nom == 1000000) + hz_internal = denom; + fclose(fp); + } + if (!hz_internal) + hz_internal = sysconf(_SC_CLK_TCK); + return hz_internal; +} + static int print_route(struct sockaddr_nl *who ATTRIBUTE_UNUSED, struct nlmsghdr *n, void *arg) { diff --git a/networking/libiproute/libnetlink.h b/networking/libiproute/libnetlink.h index bd19136..6dd242d 100644 --- a/networking/libiproute/libnetlink.h +++ b/networking/libiproute/libnetlink.h @@ -2,7 +2,6 @@ #ifndef __LIBNETLINK_H__ #define __LIBNETLINK_H__ 1 -//#include <asm/types.h> #include <linux/netlink.h> #include <linux/rtnetlink.h> diff --git a/networking/libiproute/linux/pkt_sched.h b/networking/libiproute/linux/pkt_sched.h index 36c0a46..012bb57 100644 --- a/networking/libiproute/linux/pkt_sched.h +++ b/networking/libiproute/linux/pkt_sched.h @@ -15,8 +15,6 @@ filler or even bulk. */ -//#include <asm/types.h> - #define TC_PRIO_BESTEFFORT 0 #define TC_PRIO_FILLER 1 #define TC_PRIO_BULK 2 diff --git a/networking/libiproute/utils.c b/networking/libiproute/utils.c index aa60ffd..7e74e1c 100644 --- a/networking/libiproute/utils.c +++ b/networking/libiproute/utils.c @@ -294,26 +294,6 @@ int inet_addr_match(inet_prefix * a, inet_prefix * b, int bits) return 0; } -int __iproute2_hz_internal; - -int __get_hz(void) -{ - int hz = 0; - FILE *fp = fopen("/proc/net/psched", "r"); - - if (fp) { - unsigned nom, denom; - - if (fscanf(fp, "%*08x%*08x%08x%08x", &nom, &denom) == 2) - if (nom == 1000000) - hz = denom; - fclose(fp); - } - if (hz) - return hz; - return sysconf(_SC_CLK_TCK); -} - const char *rt_addr_n2a(int af, int ATTRIBUTE_UNUSED len, void *addr, char *buf, int buflen) { diff --git a/networking/libiproute/utils.h b/networking/libiproute/utils.h index 3ecbb3a..c8ac631 100644 --- a/networking/libiproute/utils.h +++ b/networking/libiproute/utils.h @@ -3,8 +3,6 @@ #define __UTILS_H__ 1 #include "libbb.h" -//#include <asm/types.h> -//#include <resolv.h> #include "libnetlink.h" #include "ll_map.h" @@ -90,14 +88,4 @@ int dnet_pton(int af, const char *src, void *addr); const char *ipx_ntop(int af, const void *addr, char *str, size_t len); int ipx_pton(int af, const char *src, void *addr); -extern int __iproute2_hz_internal; -extern int __get_hz(void); - -static inline int get_hz(void) -{ - if (__iproute2_hz_internal == 0) - __iproute2_hz_internal = __get_hz(); - return __iproute2_hz_internal; -} - #endif /* __UTILS_H__ */ |