Lines Matching refs:vp
29 struct vic_provinfo *vp; in vic_provinfo_alloc() local
34 vp = kzalloc(VIC_PROVINFO_MAX_DATA, flags); in vic_provinfo_alloc()
35 if (!vp) in vic_provinfo_alloc()
38 memcpy(vp->oui, oui, sizeof(vp->oui)); in vic_provinfo_alloc()
39 vp->type = type; in vic_provinfo_alloc()
40 vp->length = htonl(sizeof(vp->num_tlvs)); in vic_provinfo_alloc()
42 return vp; in vic_provinfo_alloc()
45 void vic_provinfo_free(struct vic_provinfo *vp) in vic_provinfo_free() argument
47 kfree(vp); in vic_provinfo_free()
50 int vic_provinfo_add_tlv(struct vic_provinfo *vp, u16 type, u16 length, in vic_provinfo_add_tlv() argument
55 if (!vp || !value) in vic_provinfo_add_tlv()
58 if (ntohl(vp->length) + offsetof(struct vic_provinfo_tlv, value) + in vic_provinfo_add_tlv()
62 tlv = (struct vic_provinfo_tlv *)((u8 *)vp->tlv + in vic_provinfo_add_tlv()
63 ntohl(vp->length) - sizeof(vp->num_tlvs)); in vic_provinfo_add_tlv()
69 vp->num_tlvs = htonl(ntohl(vp->num_tlvs) + 1); in vic_provinfo_add_tlv()
70 vp->length = htonl(ntohl(vp->length) + in vic_provinfo_add_tlv()
76 size_t vic_provinfo_size(struct vic_provinfo *vp) in vic_provinfo_size() argument
78 return vp ? ntohl(vp->length) + sizeof(*vp) - sizeof(vp->num_tlvs) : 0; in vic_provinfo_size()