Home | History | Annotate | Download | only in src

Lines Matching refs:nfa

101 	struct nfattr *nfa = NFM_NFA(NLMSG_DATA(nlh));
109 nfa, ((void *)nfa - (void *)nlh));
115 while (NFA_OK(nfa, len)) {
116 printf(" nfa@%p: nfa_type=%u, nfa_len=%u\n",
117 nfa, NFA_TYPE(nfa), nfa->nfa_len);
118 nfa = NFA_NEXT(nfa,len);
879 struct nfattr *nfa;
890 nfa = NLMSG_TAIL(n);
891 nfa->nfa_type = type;
892 nfa->nfa_len = len;
893 memcpy(NFA_DATA(nfa), data, alen);
901 * @nfa: struct nfattr
908 int nfnl_nfa_addattr_l(struct nfattr *nfa, int maxlen, int type,
914 assert(nfa);
918 if (NFA_ALIGN(nfa->nfa_len) + len > maxlen) {
923 subnfa = (struct nfattr *)(((char *)nfa) + NFA_ALIGN(nfa->nfa_len));
927 nfa->nfa_len = NFA_ALIGN(nfa->nfa_len) + len;
952 * @nfa: struct nfattr
958 int nfnl_nfa_addattr16(struct nfattr *nfa, int maxlen, int type,
961 assert(nfa);
965 return nfnl_nfa_addattr_l(nfa, maxlen, type, &data, sizeof(data));
990 * @nfa: struct nfattr
996 int nfnl_nfa_addattr32(struct nfattr *nfa, int maxlen, int type,
999 assert(nfa);
1003 return nfnl_nfa_addattr_l(nfa, maxlen, type, &data, sizeof(data));
1030 * @nfa: pointer to list of nfattrs
1031 * @len: length of 'nfa'
1036 int nfnl_parse_attr(struct nfattr *tb[], int max, struct nfattr *nfa, int len)
1040 assert(nfa);
1044 while (NFA_OK(nfa, len)) {
1045 if (NFA_TYPE(nfa) <= max)
1046 tb[NFA_TYPE(nfa)-1] = nfa;
1047 nfa = NFA_NEXT(nfa,len);
1057 * @nfa: pointer to 'struct nfattr' (caller-allocated)
1063 void nfnl_build_nfa_iovec(struct iovec *iov, struct nfattr *nfa,
1067 assert(nfa);
1070 nfa->nfa_len = sizeof(struct nfattr) + len;
1071 nfa->nfa_type = type;
1073 iov[0].iov_base = nfa;
1074 iov[0].iov_len = sizeof(*nfa);
1238 struct nfattr *nfa[])
1242 assert(nfa);
1266 memset(nfa, 0, sizeof(struct nfattr *) * cb->attr_count);
1283 nfa[flavor - 1] = attr;
1312 struct nfattr *nfa[ssh->cb[type].attr_count];
1314 err = nfnl_check_attributes(h, nlh, nfa);
1318 return ssh->cb[type].call(nlh, nfa, ssh->cb[type].data);