ifr_cap_nv
ifr.ifr_cap_nv.buf_length = ifr.ifr_cap_nv.length = nvbuflen;
ifr.ifr_cap_nv.buffer = buf;
ifr.ifr_cap_nv.buffer = buf;
ifr.ifr_cap_nv.buf_length = IFR_CAP_NV_MAXBUFSIZE;
nvcap = nvlist_unpack(ifr.ifr_cap_nv.buffer,
ifr.ifr_cap_nv.length, 0);
ifr.ifr_cap_nv.buffer = malloc(IFR_CAP_NV_MAXBUFSIZE);
memcpy(ifr.ifr_cap_nv.buffer, data, nvlen);
ifr.ifr_cap_nv.buf_length = IFR_CAP_NV_MAXBUFSIZE;
ifr.ifr_cap_nv.length = nvlen;
free(ifr.ifr_cap_nv.buffer);
*nvl = nvlist_unpack(ifr.ifr_cap_nv.buffer, ifr.ifr_cap_nv.length, 0);
free(ifr.ifr_cap_nv.buffer);
free(ifr.ifr_cap_nv.buffer);
if (nvbuflen > ifr->ifr_cap_nv.buf_length) {
ifr->ifr_cap_nv.length = nvbuflen;
ifr->ifr_cap_nv.buffer = NULL;
ifr->ifr_cap_nv.length = nvbuflen;
error = copyout(buf, ifr->ifr_cap_nv.buffer, nvbuflen);
if (ifr->ifr_cap_nv.length > IFR_CAP_NV_MAXBUFSIZE)
buf = malloc(ifr->ifr_cap_nv.length, M_TEMP, M_WAITOK);
error = copyin(ifr->ifr_cap_nv.buffer, buf,
ifr->ifr_cap_nv.length);
nvcap = nvlist_unpack(buf, ifr->ifr_cap_nv.length, 0);
if (nvbuflen > ifr->ifr_cap_nv.buf_length) {
ifr->ifr_cap_nv.length = nvbuflen;
ifr->ifr_cap_nv.buffer = NULL;
ifr->ifr_cap_nv.length = nvbuflen;
error = copyout(packed, ifr->ifr_cap_nv.buffer, nvbuflen);
if (ifr->ifr_cap_nv.length > IFR_CAP_NV_MAXBUFSIZE)
data = malloc(ifr->ifr_cap_nv.length, M_PF, M_WAITOK);
if ((error = copyin(ifr->ifr_cap_nv.buffer, data,
ifr->ifr_cap_nv.length)) != 0) {
if ((nvl = nvlist_unpack(data, ifr->ifr_cap_nv.length, 0)) == NULL) {