Use one func to print timestamp from nlmsg
Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
This commit is contained in:
parent
27b14f2e87
commit
ddb1129b75
|
|
@ -35,17 +35,6 @@ static void usage(void)
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int show_mark(FILE *fp, const struct nlmsghdr *n)
|
|
||||||
{
|
|
||||||
char *tstr;
|
|
||||||
time_t secs = ((__u32*)NLMSG_DATA(n))[0];
|
|
||||||
long usecs = ((__u32*)NLMSG_DATA(n))[1];
|
|
||||||
tstr = asctime(localtime(&secs));
|
|
||||||
tstr[strlen(tstr)-1] = 0;
|
|
||||||
fprintf(fp, "Timestamp: %s %lu us\n", tstr, usecs);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int accept_msg(const struct sockaddr_nl *who,
|
static int accept_msg(const struct sockaddr_nl *who,
|
||||||
struct nlmsghdr *n, void *arg)
|
struct nlmsghdr *n, void *arg)
|
||||||
{
|
{
|
||||||
|
|
@ -75,7 +64,8 @@ static int accept_msg(const struct sockaddr_nl *who,
|
||||||
return print_mdb(who, n, arg);
|
return print_mdb(who, n, arg);
|
||||||
|
|
||||||
case NLMSG_TSTAMP:
|
case NLMSG_TSTAMP:
|
||||||
return show_mark(fp, n);
|
print_nlmsg_timestamp(fp, n);
|
||||||
|
return 0;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
|
|
@ -148,6 +148,7 @@ static inline __u32 nl_mgrp(__u32 group)
|
||||||
|
|
||||||
|
|
||||||
int print_timestamp(FILE *fp);
|
int print_timestamp(FILE *fp);
|
||||||
|
void print_nlmsg_timestamp(FILE *fp, const struct nlmsghdr *n);
|
||||||
|
|
||||||
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
||||||
|
|
||||||
|
|
@ -160,4 +161,5 @@ struct iplink_req;
|
||||||
int iplink_parse(int argc, char **argv, struct iplink_req *req,
|
int iplink_parse(int argc, char **argv, struct iplink_req *req,
|
||||||
char **name, char **type, char **link, char **dev,
|
char **name, char **type, char **link, char **dev,
|
||||||
int *group, int *index);
|
int *group, int *index);
|
||||||
|
|
||||||
#endif /* __UTILS_H__ */
|
#endif /* __UTILS_H__ */
|
||||||
|
|
|
||||||
|
|
@ -126,12 +126,7 @@ static int accept_msg(const struct sockaddr_nl *who,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (n->nlmsg_type == NLMSG_TSTAMP) {
|
if (n->nlmsg_type == NLMSG_TSTAMP) {
|
||||||
char *tstr;
|
print_nlmsg_timestamp(fp, n);
|
||||||
time_t secs = ((__u32*)NLMSG_DATA(n))[0];
|
|
||||||
long usecs = ((__u32*)NLMSG_DATA(n))[1];
|
|
||||||
tstr = asctime(localtime(&secs));
|
|
||||||
tstr[strlen(tstr)-1] = 0;
|
|
||||||
fprintf(fp, "Timestamp: %s %lu us\n", tstr, usecs);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (n->nlmsg_type != NLMSG_ERROR && n->nlmsg_type != NLMSG_NOOP &&
|
if (n->nlmsg_type != NLMSG_ERROR && n->nlmsg_type != NLMSG_NOOP &&
|
||||||
|
|
|
||||||
10
lib/utils.c
10
lib/utils.c
|
|
@ -868,3 +868,13 @@ int inet_get_addr(const char *src, __u32 *dst, struct in6_addr *dst6)
|
||||||
else
|
else
|
||||||
return inet_pton(AF_INET, src, dst);
|
return inet_pton(AF_INET, src, dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void print_nlmsg_timestamp(FILE *fp, const struct nlmsghdr *n)
|
||||||
|
{
|
||||||
|
char *tstr;
|
||||||
|
time_t secs = ((__u32*)NLMSG_DATA(n))[0];
|
||||||
|
long usecs = ((__u32*)NLMSG_DATA(n))[1];
|
||||||
|
tstr = asctime(localtime(&secs));
|
||||||
|
tstr[strlen(tstr)-1] = 0;
|
||||||
|
fprintf(fp, "Timestamp: %s %lu us\n", tstr, usecs);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue