Lines Matching refs:ainfo

685  * properties.  `ainfo' is an input as well as output parameter. When an
686 * address or an address property is found, `ainfo' is updated with the
696 i_ipadm_nvl2ainfo_common(nvlist_t *nvl, ipadm_addr_info_t *ainfo)
723 * Extract relevant information from `nvl' and populate `ainfo'.
729 ainfo->ia_pflags |= IPADM_ADDRF_UP;
739 (void) strlcpy(ainfo->ia_sname, snamestr,
740 sizeof (ainfo->ia_sname));
743 (void) strlcpy(ainfo->ia_dname, dnamestr,
744 sizeof (ainfo->ia_dname));
752 ainfo->ia_pflags |= IPADM_ADDRF_UP;
762 * name and the property value. Update the `ainfo->ia_pflags'
768 ainfo->ia_pflags |= IPADM_ADDRF_DEPRECATED;
772 ainfo->ia_pflags |= IPADM_ADDRF_PRIVATE;
782 * `ainfo' is an input as well as output parameter. When an address or an
783 * address property is found, `ainfo' is updated with the information found.
792 * care of freeing the fields in `ainfo'.
795 i_ipadm_nvl2ainfo_active(nvlist_t *nvl, ipadm_addr_info_t *ainfo)
797 return (i_ipadm_nvl2ainfo_common(nvl, ainfo));
803 * both. `ainfo' is an input as well as output parameter. When an address
804 * or an address property is found, `ainfo' is updated with the information
810 * All the relevant fields in `ainfo' will be filled by this function based
814 * care of freeing any fields in `ainfo' that it allocated.
817 i_ipadm_nvl2ainfo_persist(nvlist_t *nvl, ipadm_addr_info_t *ainfo)
833 status = i_ipadm_nvl2ainfo_common(nvl, ainfo);
854 ifa = &ainfo->ia_ifa;
855 (void) strlcpy(ainfo->ia_aobjname, aobjname,
856 sizeof (ainfo->ia_aobjname));
868 ainfo->ia_atype = atype;
937 ipadm_addr_info_t *ainfo = NULL;
950 status = i_ipadm_active_addr_info(iph, ifname, &ainfo,
972 if (ainfo == NULL && ifname != NULL &&
975 *addrinfo = ainfo;
982 if (ainfo != NULL) {
983 for (curr = ainfo; IA_NEXT(curr) != NULL; curr = IA_NEXT(curr))
992 * If an address A was found in active, we will already have `ainfo',
994 * update `ainfo' with persistent information (`ia_pflags).
1006 for (curr = ainfo; curr != NULL; curr = IA_NEXT(curr)) {
1012 * We did not find this address object in `ainfo'.
1015 * details and append to `ainfo'.
1024 ainfo = curr;
1039 *addrinfo = ainfo;
1045 ipadm_free_addr_info(ainfo);
3753 i_ipadm_get_dhcp_info(ipadm_addrobj_t addr, ipadm_addr_info_t *ainfo)
3781 ainfo->ia_lease_begin = dhstatus->if_began;
3782 ainfo->ia_lease_expire = dhstatus->if_lease;
3783 ainfo->ia_lease_renew = dhstatus->if_t1;
3826 dlinfo.di_physaddrlen + 1, &ainfo->ia_clientid);
3828 ainfo->ia_clientid_type = IPADM_CID_DEFAULT;
3863 n_octets, &ainfo->ia_clientid);
3881 &ainfo->ia_clientid);
3887 dhstatus->if_cidlen, &ainfo->ia_clientid);
3897 sep = strchr(ainfo->ia_clientid, ',');
3901 typestr = malloc(sep - ainfo->ia_clientid + 1);
3904 (void) strlcpy(typestr, ainfo->ia_clientid,
3905 sep - ainfo->ia_clientid + 1);
3909 ainfo->ia_clientid_type = IPADM_CID_DUID_LLT;
3912 ainfo->ia_clientid_type = IPADM_CID_DUID_LL;
3915 ainfo->ia_clientid_type = IPADM_CID_DUID_EN;
3918 ainfo->ia_clientid_type = IPADM_CID_OTHER;
4040 ipadm_free_addr_info(ipadm_addr_info_t *ainfo)
4044 if (ainfo == NULL)
4047 for (a = ainfo; a != NULL; a = IA_NEXT(a))
4049 freeifaddrs((struct ifaddrs *)ainfo);