const char *
netspeed_rx(const char *interface)
{
- uint64_t oldrxbytes;
- static uint64_t rxbytes;
+ uintmax_t oldrxbytes;
+ static uintmax_t rxbytes;
extern const unsigned int interval;
char path[PATH_MAX];
interface) < 0) {
return NULL;
}
- if (pscanf(path, "%llu", &rxbytes) != 1) {
+ if (pscanf(path, "%ju", &rxbytes) != 1) {
return NULL;
}
if (oldrxbytes == 0) {
return NULL;
}
- return fmt_human_2((rxbytes - oldrxbytes) * 1000 / interval);
+ return fmt_human((rxbytes - oldrxbytes) * 1000 / interval,
+ 1024);
}
const char *
netspeed_tx(const char *interface)
{
- uint64_t oldtxbytes;
- static uint64_t txbytes;
+ uintmax_t oldtxbytes;
+ static uintmax_t txbytes;
extern const unsigned int interval;
char path[PATH_MAX];
interface) < 0) {
return NULL;
}
- if (pscanf(path, "%llu", &txbytes) != 1) {
+ if (pscanf(path, "%ju", &txbytes) != 1) {
return NULL;
}
if (oldtxbytes == 0) {
return NULL;
}
- return fmt_human_2((txbytes - oldtxbytes) * 1000 / interval);
+ return fmt_human((txbytes - oldtxbytes) * 1000 / interval,
+ 1024);
}
-#elif defined(__OpenBSD__)
+#elif defined(__OpenBSD__) | defined(__FreeBSD__)
#include <string.h>
#include <ifaddrs.h>
#include <sys/types.h>
{
struct ifaddrs *ifal, *ifa;
struct if_data *ifd;
- uint64_t oldrxbytes;
- static uint64_t rxbytes;
+ uintmax_t oldrxbytes;
+ static uintmax_t rxbytes;
extern const unsigned int interval;
int if_ok = 0;
return NULL;
}
- return fmt_human_2((rxbytes - oldrxbytes) * 1000 / interval);
+ return fmt_human((rxbytes - oldrxbytes) * 1000 / interval,
+ 1024);
}
const char *
{
struct ifaddrs *ifal, *ifa;
struct if_data *ifd;
- uint64_t oldtxbytes;
- static uint64_t txbytes;
+ uintmax_t oldtxbytes;
+ static uintmax_t txbytes;
extern const unsigned int interval;
int if_ok = 0;
return NULL;
}
- return fmt_human_2((txbytes - oldtxbytes) * 1000 / interval);
+ return fmt_human((txbytes - oldtxbytes) * 1000 / interval,
+ 1024);
}
#endif