libnetlink: style cleanups

Follow kernel style related cleanups:
 * break long lines
 * remove unnecessary void * cast
This commit is contained in:
Stephen Hemminger 2016-11-29 13:15:08 -08:00
parent 1b109a30bf
commit 2c500a4dc2
1 changed files with 75 additions and 44 deletions

View File

@ -43,7 +43,7 @@ void rtnl_close(struct rtnl_handle *rth)
} }
} }
int rtnl_open_byproto(struct rtnl_handle *rth, unsigned subscriptions, int rtnl_open_byproto(struct rtnl_handle *rth, unsigned int subscriptions,
int protocol) int protocol)
{ {
socklen_t addr_len; socklen_t addr_len;
@ -58,12 +58,14 @@ int rtnl_open_byproto(struct rtnl_handle *rth, unsigned subscriptions,
return -1; return -1;
} }
if (setsockopt(rth->fd,SOL_SOCKET,SO_SNDBUF,&sndbuf,sizeof(sndbuf)) < 0) { if (setsockopt(rth->fd, SOL_SOCKET, SO_SNDBUF,
&sndbuf, sizeof(sndbuf)) < 0) {
perror("SO_SNDBUF"); perror("SO_SNDBUF");
return -1; return -1;
} }
if (setsockopt(rth->fd,SOL_SOCKET,SO_RCVBUF,&rcvbuf,sizeof(rcvbuf)) < 0) { if (setsockopt(rth->fd, SOL_SOCKET, SO_RCVBUF,
&rcvbuf, sizeof(rcvbuf)) < 0) {
perror("SO_RCVBUF"); perror("SO_RCVBUF");
return -1; return -1;
} }
@ -72,12 +74,14 @@ int rtnl_open_byproto(struct rtnl_handle *rth, unsigned subscriptions,
rth->local.nl_family = AF_NETLINK; rth->local.nl_family = AF_NETLINK;
rth->local.nl_groups = subscriptions; rth->local.nl_groups = subscriptions;
if (bind(rth->fd, (struct sockaddr*)&rth->local, sizeof(rth->local)) < 0) { if (bind(rth->fd, (struct sockaddr *)&rth->local,
sizeof(rth->local)) < 0) {
perror("Cannot bind netlink socket"); perror("Cannot bind netlink socket");
return -1; return -1;
} }
addr_len = sizeof(rth->local); addr_len = sizeof(rth->local);
if (getsockname(rth->fd, (struct sockaddr*)&rth->local, &addr_len) < 0) { if (getsockname(rth->fd, (struct sockaddr *)&rth->local,
&addr_len) < 0) {
perror("Cannot getsockname"); perror("Cannot getsockname");
return -1; return -1;
} }
@ -86,14 +90,15 @@ int rtnl_open_byproto(struct rtnl_handle *rth, unsigned subscriptions,
return -1; return -1;
} }
if (rth->local.nl_family != AF_NETLINK) { if (rth->local.nl_family != AF_NETLINK) {
fprintf(stderr, "Wrong address family %d\n", rth->local.nl_family); fprintf(stderr, "Wrong address family %d\n",
rth->local.nl_family);
return -1; return -1;
} }
rth->seq = time(NULL); rth->seq = time(NULL);
return 0; return 0;
} }
int rtnl_open(struct rtnl_handle *rth, unsigned subscriptions) int rtnl_open(struct rtnl_handle *rth, unsigned int subscriptions)
{ {
return rtnl_open_byproto(rth, subscriptions, NETLINK_ROUTE); return rtnl_open_byproto(rth, subscriptions, NETLINK_ROUTE);
} }
@ -123,7 +128,7 @@ int rtnl_wilddump_req_filter(struct rtnl_handle *rth, int family, int type,
.ext_filter_mask = filt_mask, .ext_filter_mask = filt_mask,
}; };
return send(rth->fd, (void*)&req, sizeof(req), 0); return send(rth->fd, &req, sizeof(req), 0);
} }
int rtnl_wilddump_req_filter_fn(struct rtnl_handle *rth, int family, int type, int rtnl_wilddump_req_filter_fn(struct rtnl_handle *rth, int family, int type,
@ -169,7 +174,7 @@ int rtnl_wilddump_stats_req_filter(struct rtnl_handle *rth, int fam, int type,
req.ifsm.family = fam; req.ifsm.family = fam;
req.ifsm.filter_mask = filt_mask; req.ifsm.filter_mask = filt_mask;
return send(rth->fd, (void *)&req, sizeof(req), 0); return send(rth->fd, &req, sizeof(req), 0);
} }
int rtnl_send(struct rtnl_handle *rth, const void *buf, int len) int rtnl_send(struct rtnl_handle *rth, const void *buf, int len)
@ -199,6 +204,7 @@ int rtnl_send_check(struct rtnl_handle *rth, const void *buf, int len)
h = NLMSG_NEXT(h, status)) { h = NLMSG_NEXT(h, status)) {
if (h->nlmsg_type == NLMSG_ERROR) { if (h->nlmsg_type == NLMSG_ERROR) {
struct nlmsgerr *err = (struct nlmsgerr *)NLMSG_DATA(h); struct nlmsgerr *err = (struct nlmsgerr *)NLMSG_DATA(h);
if (h->nlmsg_len < NLMSG_LENGTH(sizeof(struct nlmsgerr))) if (h->nlmsg_len < NLMSG_LENGTH(sizeof(struct nlmsgerr)))
fprintf(stderr, "ERROR truncated\n"); fprintf(stderr, "ERROR truncated\n");
else else
@ -237,7 +243,7 @@ int rtnl_dump_request_n(struct rtnl_handle *rth, struct nlmsghdr *n)
{ {
struct sockaddr_nl nladdr = { .nl_family = AF_NETLINK }; struct sockaddr_nl nladdr = { .nl_family = AF_NETLINK };
struct iovec iov = { struct iovec iov = {
.iov_base = (void*) n, .iov_base = n,
.iov_len = n->nlmsg_len .iov_len = n->nlmsg_len
}; };
struct msghdr msg = { struct msghdr msg = {
@ -296,6 +302,7 @@ int rtnl_dump_filter_l(struct rtnl_handle *rth,
for (a = arg; a->filter; a++) { for (a = arg; a->filter; a++) {
struct nlmsghdr *h = (struct nlmsghdr *)buf; struct nlmsghdr *h = (struct nlmsghdr *)buf;
msglen = status; msglen = status;
while (NLMSG_OK(h, msglen)) { while (NLMSG_OK(h, msglen)) {
@ -317,6 +324,7 @@ int rtnl_dump_filter_l(struct rtnl_handle *rth,
} }
if (h->nlmsg_type == NLMSG_ERROR) { if (h->nlmsg_type == NLMSG_ERROR) {
struct nlmsgerr *err = (struct nlmsgerr *)NLMSG_DATA(h); struct nlmsgerr *err = (struct nlmsgerr *)NLMSG_DATA(h);
if (h->nlmsg_len < NLMSG_LENGTH(sizeof(struct nlmsgerr))) { if (h->nlmsg_len < NLMSG_LENGTH(sizeof(struct nlmsgerr))) {
fprintf(stderr, fprintf(stderr,
"ERROR truncated\n"); "ERROR truncated\n");
@ -377,11 +385,11 @@ int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n,
struct nlmsghdr *answer, size_t maxlen) struct nlmsghdr *answer, size_t maxlen)
{ {
int status; int status;
unsigned seq; unsigned int seq;
struct nlmsghdr *h; struct nlmsghdr *h;
struct sockaddr_nl nladdr = { .nl_family = AF_NETLINK }; struct sockaddr_nl nladdr = { .nl_family = AF_NETLINK };
struct iovec iov = { struct iovec iov = {
.iov_base = (void*) n, .iov_base = n,
.iov_len = n->nlmsg_len .iov_len = n->nlmsg_len
}; };
struct msghdr msg = { struct msghdr msg = {
@ -420,7 +428,9 @@ int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n,
return -1; return -1;
} }
if (msg.msg_namelen != sizeof(nladdr)) { if (msg.msg_namelen != sizeof(nladdr)) {
fprintf(stderr, "sender address length == %d\n", msg.msg_namelen); fprintf(stderr,
"sender address length == %d\n",
msg.msg_namelen);
exit(1); exit(1);
} }
for (h = (struct nlmsghdr *)buf; status >= sizeof(*h); ) { for (h = (struct nlmsghdr *)buf; status >= sizeof(*h); ) {
@ -432,7 +442,9 @@ int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n,
fprintf(stderr, "Truncated message\n"); fprintf(stderr, "Truncated message\n");
return -1; return -1;
} }
fprintf(stderr, "!!!malformed message: len=%d\n", len); fprintf(stderr,
"!!!malformed message: len=%d\n",
len);
exit(1); exit(1);
} }
@ -447,6 +459,7 @@ int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n,
if (h->nlmsg_type == NLMSG_ERROR) { if (h->nlmsg_type == NLMSG_ERROR) {
struct nlmsgerr *err = (struct nlmsgerr *)NLMSG_DATA(h); struct nlmsgerr *err = (struct nlmsgerr *)NLMSG_DATA(h);
if (l < sizeof(struct nlmsgerr)) { if (l < sizeof(struct nlmsgerr)) {
fprintf(stderr, "ERROR truncated\n"); fprintf(stderr, "ERROR truncated\n");
} else if (!err->error) { } else if (!err->error) {
@ -545,7 +558,9 @@ int rtnl_listen(struct rtnl_handle *rtnl,
return -1; return -1;
} }
if (msg.msg_namelen != sizeof(nladdr)) { if (msg.msg_namelen != sizeof(nladdr)) {
fprintf(stderr, "Sender address length == %d\n", msg.msg_namelen); fprintf(stderr,
"Sender address length == %d\n",
msg.msg_namelen);
exit(1); exit(1);
} }
@ -573,7 +588,9 @@ int rtnl_listen(struct rtnl_handle *rtnl,
fprintf(stderr, "Truncated message\n"); fprintf(stderr, "Truncated message\n");
return -1; return -1;
} }
fprintf(stderr, "!!!malformed message: len=%d\n", len); fprintf(stderr,
"!!!malformed message: len=%d\n",
len);
exit(1); exit(1);
} }
@ -601,7 +618,7 @@ int rtnl_from_file(FILE *rtnl, rtnl_listen_filter_t handler,
int status; int status;
struct sockaddr_nl nladdr = { .nl_family = AF_NETLINK }; struct sockaddr_nl nladdr = { .nl_family = AF_NETLINK };
char buf[16384]; char buf[16384];
struct nlmsghdr *h = (void*)buf; struct nlmsghdr *h = (struct nlmsghdr *)buf;
while (1) { while (1) {
int err, len; int err, len;
@ -681,7 +698,9 @@ int addattr_l(struct nlmsghdr *n, int maxlen, int type, const void *data,
struct rtattr *rta; struct rtattr *rta;
if (NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len) > maxlen) { if (NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len) > maxlen) {
fprintf(stderr, "addattr_l ERROR: message exceeded bound of %d\n",maxlen); fprintf(stderr,
"addattr_l ERROR: message exceeded bound of %d\n",
maxlen);
return -1; return -1;
} }
rta = NLMSG_TAIL(n); rta = NLMSG_TAIL(n);
@ -695,7 +714,9 @@ int addattr_l(struct nlmsghdr *n, int maxlen, int type, const void *data,
int addraw_l(struct nlmsghdr *n, int maxlen, const void *data, int len) int addraw_l(struct nlmsghdr *n, int maxlen, const void *data, int len)
{ {
if (NLMSG_ALIGN(n->nlmsg_len) + NLMSG_ALIGN(len) > maxlen) { if (NLMSG_ALIGN(n->nlmsg_len) + NLMSG_ALIGN(len) > maxlen) {
fprintf(stderr, "addraw_l ERROR: message exceeded bound of %d\n",maxlen); fprintf(stderr,
"addraw_l ERROR: message exceeded bound of %d\n",
maxlen);
return -1; return -1;
} }
@ -744,7 +765,9 @@ int rta_addattr32(struct rtattr *rta, int maxlen, int type, __u32 data)
struct rtattr *subrta; struct rtattr *subrta;
if (RTA_ALIGN(rta->rta_len) + len > maxlen) { if (RTA_ALIGN(rta->rta_len) + len > maxlen) {
fprintf(stderr,"rta_addattr32: Error! max allowed bound %d exceeded\n",maxlen); fprintf(stderr,
"rta_addattr32: Error! max allowed bound %d exceeded\n",
maxlen);
return -1; return -1;
} }
subrta = (struct rtattr *)(((char *)rta) + RTA_ALIGN(rta->rta_len)); subrta = (struct rtattr *)(((char *)rta) + RTA_ALIGN(rta->rta_len));
@ -762,7 +785,9 @@ int rta_addattr_l(struct rtattr *rta, int maxlen, int type,
int len = RTA_LENGTH(alen); int len = RTA_LENGTH(alen);
if (RTA_ALIGN(rta->rta_len) + RTA_ALIGN(len) > maxlen) { if (RTA_ALIGN(rta->rta_len) + RTA_ALIGN(len) > maxlen) {
fprintf(stderr,"rta_addattr_l: Error! max allowed bound %d exceeded\n",maxlen); fprintf(stderr,
"rta_addattr_l: Error! max allowed bound %d exceeded\n",
maxlen);
return -1; return -1;
} }
subrta = (struct rtattr *)(((char *)rta) + RTA_ALIGN(rta->rta_len)); subrta = (struct rtattr *)(((char *)rta) + RTA_ALIGN(rta->rta_len));
@ -822,11 +847,13 @@ int parse_rtattr_flags(struct rtattr *tb[], int max, struct rtattr *rta,
rta = RTA_NEXT(rta, len); rta = RTA_NEXT(rta, len);
} }
if (len) if (len)
fprintf(stderr, "!!!Deficit %d, rta_len=%d\n", len, rta->rta_len); fprintf(stderr, "!!!Deficit %d, rta_len=%d\n",
len, rta->rta_len);
return 0; return 0;
} }
int parse_rtattr_byindex(struct rtattr *tb[], int max, struct rtattr *rta, int len) int parse_rtattr_byindex(struct rtattr *tb[], int max,
struct rtattr *rta, int len)
{ {
int i = 0; int i = 0;
@ -837,7 +864,8 @@ int parse_rtattr_byindex(struct rtattr *tb[], int max, struct rtattr *rta, int l
rta = RTA_NEXT(rta, len); rta = RTA_NEXT(rta, len);
} }
if (len) if (len)
fprintf(stderr, "!!!Deficit %d, rta_len=%d\n", len, rta->rta_len); fprintf(stderr, "!!!Deficit %d, rta_len=%d\n",
len, rta->rta_len);
return i; return i;
} }
@ -848,12 +876,15 @@ struct rtattr *parse_rtattr_one(int type, struct rtattr *rta, int len)
return rta; return rta;
rta = RTA_NEXT(rta, len); rta = RTA_NEXT(rta, len);
} }
if (len) if (len)
fprintf(stderr, "!!!Deficit %d, rta_len=%d\n", len, rta->rta_len); fprintf(stderr, "!!!Deficit %d, rta_len=%d\n",
len, rta->rta_len);
return NULL; return NULL;
} }
int __parse_rtattr_nested_compat(struct rtattr *tb[], int max, struct rtattr *rta, int __parse_rtattr_nested_compat(struct rtattr *tb[], int max,
struct rtattr *rta,
int len) int len)
{ {
if (RTA_PAYLOAD(rta) < len) if (RTA_PAYLOAD(rta) < len)