Lines Matching refs:nlh

66 size_t mnl_nlmsg_get_payload_len(const struct nlmsghdr *nlh)  in mnl_nlmsg_get_payload_len()  argument
68 return nlh->nlmsg_len - MNL_NLMSG_HDRLEN; in mnl_nlmsg_get_payload_len()
83 struct nlmsghdr *nlh = buf; in mnl_nlmsg_put_header() local
86 nlh->nlmsg_len = len; in mnl_nlmsg_put_header()
87 return nlh; in mnl_nlmsg_put_header()
101 void *mnl_nlmsg_put_extra_header(struct nlmsghdr *nlh, in mnl_nlmsg_put_extra_header() argument
104 char *ptr = (char *)nlh + nlh->nlmsg_len; in mnl_nlmsg_put_extra_header()
106 nlh->nlmsg_len += len; in mnl_nlmsg_put_extra_header()
117 void *mnl_nlmsg_get_payload(const struct nlmsghdr *nlh) in mnl_nlmsg_get_payload() argument
119 return (void *)nlh + MNL_NLMSG_HDRLEN; in mnl_nlmsg_get_payload()
130 void *mnl_nlmsg_get_payload_offset(const struct nlmsghdr *nlh, in mnl_nlmsg_get_payload_offset() argument
133 return (void *)nlh + MNL_NLMSG_HDRLEN + MNL_ALIGN(offset); in mnl_nlmsg_get_payload_offset()
152 bool mnl_nlmsg_ok(const struct nlmsghdr *nlh, int len) in mnl_nlmsg_ok() argument
155 nlh->nlmsg_len >= sizeof(struct nlmsghdr) && in mnl_nlmsg_ok()
156 (int)nlh->nlmsg_len <= len; in mnl_nlmsg_ok()
172 struct nlmsghdr *mnl_nlmsg_next(const struct nlmsghdr *nlh, in mnl_nlmsg_next() argument
175 *len -= MNL_ALIGN(nlh->nlmsg_len); in mnl_nlmsg_next()
176 return (struct nlmsghdr *)((void *)nlh + MNL_ALIGN(nlh->nlmsg_len)); in mnl_nlmsg_next()
187 void *mnl_nlmsg_get_payload_tail(const struct nlmsghdr *nlh) in mnl_nlmsg_get_payload_tail() argument
189 return (void *)nlh + MNL_ALIGN(nlh->nlmsg_len); in mnl_nlmsg_get_payload_tail()
206 bool mnl_nlmsg_seq_ok(const struct nlmsghdr *nlh, in mnl_nlmsg_seq_ok() argument
209 return nlh->nlmsg_seq && seq ? nlh->nlmsg_seq == seq : true; in mnl_nlmsg_seq_ok()
226 bool mnl_nlmsg_portid_ok(const struct nlmsghdr *nlh, in mnl_nlmsg_portid_ok() argument
229 return nlh->nlmsg_pid && portid ? nlh->nlmsg_pid == portid : true; in mnl_nlmsg_portid_ok()
232 static void mnl_nlmsg_fprintf_header(FILE *fd, const struct nlmsghdr *nlh) in mnl_nlmsg_fprintf_header() argument
235 fprintf(fd, "| %.010u |\t| message length |\n", nlh->nlmsg_len); in mnl_nlmsg_fprintf_header()
237 nlh->nlmsg_type, in mnl_nlmsg_fprintf_header()
238 nlh->nlmsg_flags & NLM_F_REQUEST ? 'R' : '-', in mnl_nlmsg_fprintf_header()
239 nlh->nlmsg_flags & NLM_F_MULTI ? 'M' : '-', in mnl_nlmsg_fprintf_header()
240 nlh->nlmsg_flags & NLM_F_ACK ? 'A' : '-', in mnl_nlmsg_fprintf_header()
241 nlh->nlmsg_flags & NLM_F_ECHO ? 'E' : '-'); in mnl_nlmsg_fprintf_header()
242 fprintf(fd, "| %.010u |\t| sequence number|\n", nlh->nlmsg_seq); in mnl_nlmsg_fprintf_header()
243 fprintf(fd, "| %.010u |\t| port ID |\n", nlh->nlmsg_pid); in mnl_nlmsg_fprintf_header()
247 static void mnl_nlmsg_fprintf_payload(FILE *fd, const struct nlmsghdr *nlh, in mnl_nlmsg_fprintf_payload() argument
253 for (i=sizeof(struct nlmsghdr); i<nlh->nlmsg_len; i+=4) { in mnl_nlmsg_fprintf_payload()
254 char *b = (char *) nlh; in mnl_nlmsg_fprintf_payload()
258 if (nlh->nlmsg_type < NLMSG_MIN_TYPE) { in mnl_nlmsg_fprintf_payload()
363 const struct nlmsghdr *nlh = data; in mnl_nlmsg_fprintf() local
366 while (mnl_nlmsg_ok(nlh, len)) { in mnl_nlmsg_fprintf()
367 mnl_nlmsg_fprintf_header(fd, nlh); in mnl_nlmsg_fprintf()
368 mnl_nlmsg_fprintf_payload(fd, nlh, extra_header_size); in mnl_nlmsg_fprintf()
369 nlh = mnl_nlmsg_next(nlh, &len); in mnl_nlmsg_fprintf()
475 struct nlmsghdr *nlh = b->cur; in mnl_nlmsg_batch_next() local
477 if (b->buflen + nlh->nlmsg_len > b->limit) { in mnl_nlmsg_batch_next()
481 b->cur = b->buf + b->buflen + nlh->nlmsg_len; in mnl_nlmsg_batch_next()
482 b->buflen += nlh->nlmsg_len; in mnl_nlmsg_batch_next()
497 struct nlmsghdr *nlh = b->cur; in mnl_nlmsg_batch_reset() local
498 memcpy(b->buf, b->cur, nlh->nlmsg_len); in mnl_nlmsg_batch_reset()
499 b->buflen = nlh->nlmsg_len; in mnl_nlmsg_batch_reset()