Lines Matching refs:nla
30 static int validate_nla(const struct nlattr *nla, int maxtype, in validate_nla() argument
34 int minlen = 0, attrlen = nla_len(nla), type = nla_type(nla); in validate_nla()
55 if (!minlen || memchr(nla_data(nla), '\0', minlen) == NULL) in validate_nla()
64 char *buf = nla_data(nla); in validate_nla()
86 nla = nla_data(nla) + NLA_ALIGN(pt->len); in validate_nla()
87 if (attrlen < NLA_ALIGN(pt->len) + NLA_HDRLEN + nla_len(nla)) in validate_nla()
125 const struct nlattr *nla; in nla_validate() local
128 nla_for_each_attr(nla, head, len, rem) { in nla_validate()
129 err = validate_nla(nla, maxtype, policy); in nla_validate()
185 const struct nlattr *nla; in nla_parse() local
190 nla_for_each_attr(nla, head, len, rem) { in nla_parse()
191 u16 type = nla_type(nla); in nla_parse()
195 err = validate_nla(nla, maxtype, policy); in nla_parse()
200 tb[type] = (struct nlattr *)nla; in nla_parse()
224 const struct nlattr *nla; in nla_find() local
227 nla_for_each_attr(nla, head, len, rem) in nla_find()
228 if (nla_type(nla) == attrtype) in nla_find()
229 return (struct nlattr *)nla; in nla_find()
247 size_t nla_strlcpy(char *dst, const struct nlattr *nla, size_t dstsize) in nla_strlcpy() argument
249 size_t srclen = nla_len(nla); in nla_strlcpy()
250 char *src = nla_data(nla); in nla_strlcpy()
295 int nla_memcmp(const struct nlattr *nla, const void *data, in nla_memcmp() argument
298 int d = nla_len(nla) - size; in nla_memcmp()
301 d = memcmp(nla_data(nla), data, size); in nla_memcmp()
312 int nla_strcmp(const struct nlattr *nla, const char *str) in nla_strcmp() argument
315 char *buf = nla_data(nla); in nla_strcmp()
316 int attrlen = nla_len(nla); in nla_strcmp()
324 d = memcmp(nla_data(nla), str, len); in nla_strcmp()
345 struct nlattr *nla; in __nla_reserve() local
347 nla = (struct nlattr *) skb_put(skb, nla_total_size(attrlen)); in __nla_reserve()
348 nla->nla_type = attrtype; in __nla_reserve()
349 nla->nla_len = nla_attr_size(attrlen); in __nla_reserve()
351 memset((unsigned char *) nla + nla->nla_len, 0, nla_padlen(attrlen)); in __nla_reserve()
353 return nla; in __nla_reserve()
431 struct nlattr *nla; in __nla_put() local
433 nla = __nla_reserve(skb, attrtype, attrlen); in __nla_put()
434 memcpy(nla_data(nla), data, attrlen); in __nla_put()