libnetlink: style cleanups
Follow kernel style related cleanups: * break long lines * remove unnecessary void * cast
This commit is contained in:
parent
1b109a30bf
commit
2c500a4dc2
|
|
@ -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)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue