Use one func to print timestamp from nlmsg

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
This commit is contained in:
Vadim Kochan 2015-01-13 20:14:24 +02:00 committed by Stephen Hemminger
parent 27b14f2e87
commit ddb1129b75
4 changed files with 15 additions and 18 deletions

View File

@ -35,17 +35,6 @@ static void usage(void)
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,
struct nlmsghdr *n, void *arg)
{
@ -75,7 +64,8 @@ static int accept_msg(const struct sockaddr_nl *who,
return print_mdb(who, n, arg);
case NLMSG_TSTAMP:
return show_mark(fp, n);
print_nlmsg_timestamp(fp, n);
return 0;
default:
return 0;

View File

@ -148,6 +148,7 @@ static inline __u32 nl_mgrp(__u32 group)
int print_timestamp(FILE *fp);
void print_nlmsg_timestamp(FILE *fp, const struct nlmsghdr *n);
#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,
char **name, char **type, char **link, char **dev,
int *group, int *index);
#endif /* __UTILS_H__ */

View File

@ -126,12 +126,7 @@ static int accept_msg(const struct sockaddr_nl *who,
return 0;
}
if (n->nlmsg_type == NLMSG_TSTAMP) {
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);
print_nlmsg_timestamp(fp, n);
return 0;
}
if (n->nlmsg_type != NLMSG_ERROR && n->nlmsg_type != NLMSG_NOOP &&

View File

@ -868,3 +868,13 @@ int inet_get_addr(const char *src, __u32 *dst, struct in6_addr *dst6)
else
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);
}