Lines Matching refs:Instance
25 @param[in] Context Pointer to the IP6 config instance data.
40 @param[in] IpSb The IP6 service binding instance.
62 // instance whose local IP is neither 0 nor the link-local address.
139 @param[in] Instance Pointer to the IP6 config instance data.
149 IN IP6_CONFIG_INSTANCE *Instance,
166 if (Instance->Dhcp6Handle != NULL) {
170 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
172 Instance->OtherInfoOnly = OtherInfoOnly;
178 &Instance->Dhcp6Handle
185 if (Instance->Dhcp6SbNotifyEvent == NULL) {
186 Instance->Dhcp6SbNotifyEvent = EfiCreateProtocolNotifyEvent (
190 (VOID *) Instance,
191 &Instance->Registration
200 if (Instance->Dhcp6SbNotifyEvent != NULL) {
201 gBS->CloseEvent (Instance->Dhcp6SbNotifyEvent);
205 Instance->Dhcp6Handle,
207 (VOID **) &Instance->Dhcp6,
214 Dhcp6 = Instance->Dhcp6;
238 Dhcp6CfgData.IaDescriptor.IaId = Instance->IaId;
239 Dhcp6CfgData.IaInfoEvent = Instance->Dhcp6Event;
273 Instance->Dhcp6Event,
275 Instance
314 @param[in, out] Instance The pointer to the IP6 config instance data.
324 IN OUT IP6_CONFIG_INSTANCE *Instance
388 Instance->IaId = Variable->IaId;
394 DataItem = &Instance->DataItem[DataRecord.DataType];
435 @param[in] Instance The pointer to the IP6 configuration instance data.
444 IN IP6_CONFIG_INSTANCE *Instance
459 DataItem = &Instance->DataItem[Index];
471 Variable->IaId = Instance->IaId;
477 DataItem = &Instance->DataItem[Index];
510 of the communication device this IP6Config instance manages.
512 @param[in] Instance Pointer to the IP6 config instance data.
527 IN IP6_CONFIG_INSTANCE *Instance,
539 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
559 Item = &Instance->DataItem[Ip6ConfigDataTypeInterfaceInfo];
588 for the communication device managed by this IP6Config instance, if the link local
592 @param[in] Instance Pointer to the IP6 configuration instance data.
604 IN IP6_CONFIG_INSTANCE *Instance,
617 DataItem = &Instance->DataItem[Ip6ConfigDataTypeAltInterfaceId];
630 managed by this IP6Config instance. The policy will affect other configuration settings.
632 @param[in] Instance Pointer to the IP6 config instance data.
645 IN IP6_CONFIG_INSTANCE *Instance,
664 if (NewPolicy == Instance->Policy) {
674 DataItem = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];
683 DataItem = &Instance->DataItem[Ip6ConfigDataTypeGateway];
692 DataItem = &Instance->DataItem[Ip6ConfigDataTypeDnsServer];
702 if (Instance->Dhcp6Handle != NULL) {
703 Ip6ConfigDestroyDhcp6 (Instance);
707 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
710 Instance->Policy = NewPolicy;
722 @param[in] Instance The Instance Pointer to the IP6 config instance data.
734 IN IP6_CONFIG_INSTANCE *Instance,
745 OldDadXmits = Instance->DataItem[Ip6ConfigDataTypeDupAddrDetectTransmits].Data.DadXmits;
764 @param[in] Context Pointer to the IP6 configuration instance data.
774 IP6_CONFIG_INSTANCE *Instance;
783 Instance = (IP6_CONFIG_INSTANCE *) Context;
784 NET_CHECK_SIGNATURE (Instance, IP6_CONFIG_INSTANCE_SIGNATURE);
785 Item = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];
801 NetMapInsertTail (&Instance->DadPassedMap, ManualAddr, NULL);
803 NetMapInsertTail (&Instance->DadFailedMap, ManualAddr, NULL);
806 DadPassCount = NetMapGetCount (&Instance->DadPassedMap);
807 DadFailCount = NetMapGetCount (&Instance->DadFailedMap);
837 while (!NetMapIsEmpty (&Instance->DadPassedMap)) {
838 ManualAddr = (EFI_IP6_CONFIG_MANUAL_ADDRESS *) NetMapRemoveHead (&Instance->DadPassedMap, NULL);
856 while (!NetMapIsEmpty (&Instance->DadFailedMap)) {
857 NetMapRemoveHead (&Instance->DadFailedMap, NULL);
860 while (!NetMapIsEmpty (&Instance->DadPassedMap)) {
861 NetMapRemoveHead (&Instance->DadPassedMap, NULL);
868 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
869 Ip6ConfigWriteConfigData (IpSb->MacString, Instance);
878 @param[in] Instance Pointer to the IP6 configuration instance data.
897 IN IP6_CONFIG_INSTANCE *Instance,
920 ASSERT (Instance->DataItem[Ip6ConfigDataTypeManualAddress].Status != EFI_NOT_READY);
926 if (Instance->Policy != Ip6ConfigPolicyManual) {
958 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
996 DataItem = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];
1081 Ip6ManualAddrDadCallback (TRUE, &NewAddress->Address, Instance);
1100 Instance
1174 @param[in] Instance The pointer to the IP6 config instance data.
1192 IN IP6_CONFIG_INSTANCE *Instance,
1214 if (Instance->Policy != Ip6ConfigPolicyManual) {
1234 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
1235 Item = &Instance->DataItem[Ip6ConfigDataTypeGateway];
1306 @param[in] Instance The pointer to the IP6 config instance data.
1324 IN IP6_CONFIG_INSTANCE *Instance,
1344 if (Instance->Policy != Ip6ConfigPolicyManual) {
1348 Item = &Instance->DataItem[Ip6ConfigDataTypeDnsServer];
1425 Generate the operational state of the interface this IP6 config instance manages
1428 @param[in] IpSb The pointer to the IP6 service binding instance.
1453 @param[in] Dhcp6 The pointer to the EFI_DHCP6_PROTOCOL instance.
1454 @param[in, out] Instance The pointer to the IP6 configuration instance data.
1465 IN OUT IP6_CONFIG_INSTANCE *Instance,
1536 Item = &Instance->DataItem[Ip6ConfigDataTypeDnsServer];
1573 @param[in] Context Pointer to the IP6 configuration instance data.
1583 IP6_CONFIG_INSTANCE *Instance;
1585 Instance = (IP6_CONFIG_INSTANCE *) Context;
1586 NET_CHECK_SIGNATURE (Instance, IP6_CONFIG_INSTANCE_SIGNATURE);
1595 if (Instance->FailedIaAddressCount > 0 ) {
1596 Instance->FailedIaAddressCount--;
1602 IP6_COPY_ADDRESS (Instance->DeclineAddress + Instance->DeclineAddressCount, TargetAddress);
1603 Instance->DeclineAddressCount++;
1606 if (Instance->FailedIaAddressCount == Instance->DeclineAddressCount) {
1610 if (Instance->DeclineAddressCount != 0) {
1614 if (Instance->Dhcp6 != NULL) {
1615 Instance->Dhcp6->Decline (
1616 Instance->Dhcp6,
1617 Instance->DeclineAddressCount,
1618 Instance->DeclineAddress
1623 if (Instance->DeclineAddress != NULL) {
1624 FreePool (Instance->DeclineAddress);
1626 Instance->DeclineAddress = NULL;
1627 Instance->DeclineAddressCount = 0;
1635 @param[in] Context The pointer to the IP6 configuration instance data.
1645 IP6_CONFIG_INSTANCE *Instance;
1656 Instance = (IP6_CONFIG_INSTANCE *) Context;
1658 if ((Instance->Policy != Ip6ConfigPolicyAutomatic) || Instance->OtherInfoOnly) {
1669 Dhcp6 = Instance->Dhcp6;
1676 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
1681 if (Instance->DeclineAddress != NULL) {
1682 FreePool (Instance->DeclineAddress);
1685 Instance->DeclineAddress = (EFI_IPv6_ADDRESS *) AllocatePool (Ia->IaAddressCount * sizeof (EFI_IPv6_ADDRESS));
1686 if (Instance->DeclineAddress == NULL) {
1690 Instance->FailedIaAddressCount = Ia->IaAddressCount;
1691 Instance->DeclineAddressCount = 0;
1707 Instance
1725 if (Instance->FailedIaAddressCount > 0) {
1726 Instance->FailedIaAddressCount--;
1735 Ip6ConfigParseDhcpReply (Dhcp6, Instance, Dhcp6ModeData.Ia->ReplyPacket);
1749 @param[in] Context The pointer to the IP6 configuration instance data.
1773 @param[in] Context The pointer to the IP6 config instance data.
1783 IP6_CONFIG_INSTANCE *Instance;
1785 Instance = (IP6_CONFIG_INSTANCE *) Context;
1787 if ((Instance->Dhcp6Handle != NULL) || (Instance->Policy != Ip6ConfigPolicyAutomatic)) {
1794 Ip6ConfigStartStatefulAutoConfig (Instance, Instance->OtherInfoOnly);
1799 device this EFI IPv6 Configuration Protocol instance manages.
1803 Configuration Protocol instance manages.
1819 @param[in] This The pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
1856 IP6_CONFIG_INSTANCE *Instance;
1867 Instance = IP6_CONFIG_INSTANCE_FROM_PROTOCOL (This);
1868 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
1877 Status = Instance->DataItem[DataType].Status;
1880 if (Instance->DataItem[DataType].SetData == NULL) {
1887 Status = Instance->DataItem[DataType].SetData (Instance, DataSize, Data);
1892 NetMapIterate (&Instance->DataItem[DataType].EventMap, Ip6ConfigSignalEvent, NULL);
1893 Ip6ConfigWriteConfigData (IpSb->MacString, Instance);
1900 NetMapIterate (&Instance->DataItem[DataType].EventMap, Ip6ConfigSignalEvent, NULL);
1917 device that this EFI IPv6 Configuration Protocol instance manages.
1920 stack running on the communication device that this EFI IPv6 Configuration Protocol instance
1933 @param[in] This Pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
1964 IP6_CONFIG_INSTANCE *Instance;
1977 Instance = IP6_CONFIG_INSTANCE_FROM_PROTOCOL (This);
1978 DataItem = &Instance->DataItem[DataType];
1980 Status = Instance->DataItem[DataType].Status;
1985 Status = DataItem->GetData (Instance, DataSize, Data);
1986 } else if (*DataSize < Instance->DataItem[DataType].DataSize) {
1990 *DataSize = Instance->DataItem[DataType].DataSize;
1994 *DataSize = Instance->DataItem[DataType].DataSize;
1995 CopyMem (Data, Instance->DataItem[DataType].Data.Ptr, *DataSize);
2013 @param[in] This Pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
2036 IP6_CONFIG_INSTANCE *Instance;
2050 Instance = IP6_CONFIG_INSTANCE_FROM_PROTOCOL (This);
2051 EventMap = &Instance->DataItem[DataType].EventMap;
2079 @param This The pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
2101 IP6_CONFIG_INSTANCE *Instance;
2114 Instance = IP6_CONFIG_INSTANCE_FROM_PROTOCOL (This);
2116 Item = NetMapFindKey (&Instance->DataItem[DataType].EventMap, Event);
2119 NetMapRemoveItem (&Instance->DataItem[DataType].EventMap, Item, NULL);
2134 @param[out] Instance The buffer of IP6_CONFIG_INSTANCE to be initialized.
2142 OUT IP6_CONFIG_INSTANCE *Instance
2153 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
2155 Instance->Signature = IP6_CONFIG_INSTANCE_SIGNATURE;
2174 Instance->IfIndex = IfIndex;
2175 NetListInsertBefore (Entry, &Instance->Link);
2181 NetMapInit (&Instance->DataItem[Index].EventMap);
2187 NetMapInit (&Instance->DadFailedMap);
2188 NetMapInit (&Instance->DadPassedMap);
2194 DataItem = &Instance->DataItem[Ip6ConfigDataTypeInterfaceInfo];
2196 DataItem->Data.Ptr = &Instance->InterfaceInfo;
2197 DataItem->DataSize = sizeof (Instance->InterfaceInfo);
2199 Ip6ConfigInitIfInfo (IpSb, &Instance->InterfaceInfo);
2201 DataItem = &Instance->DataItem[Ip6ConfigDataTypeAltInterfaceId];
2203 DataItem->Data.Ptr = &Instance->AltIfId;
2204 DataItem->DataSize = sizeof (Instance->AltIfId);
2208 DataItem = &Instance->DataItem[Ip6ConfigDataTypePolicy];
2210 DataItem->Data.Ptr = &Instance->Policy;
2211 DataItem->DataSize = sizeof (Instance->Policy);
2212 Instance->Policy = Ip6ConfigPolicyAutomatic;
2215 DataItem = &Instance->DataItem[Ip6ConfigDataTypeDupAddrDetectTransmits];
2217 DataItem->Data.Ptr = &Instance->DadXmits;
2218 DataItem->DataSize = sizeof (Instance->DadXmits);
2219 Instance->DadXmits.DupAddrDetectTransmits = IP6_CONFIG_DEFAULT_DAD_XMITS;
2222 DataItem = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];
2226 DataItem = &Instance->DataItem[Ip6ConfigDataTypeGateway];
2230 DataItem = &Instance->DataItem[Ip6ConfigDataTypeDnsServer];
2241 Instance,
2242 &Instance->Dhcp6Event
2246 Instance->Configured = TRUE;
2251 Status = Ip6ConfigReadConfigData (IpSb->MacString, Instance);
2257 Instance->IaId = NET_RANDOM (NetRandomInitSeed ());
2260 Instance->IaId |= (IpSb->SnpMode.CurrentAddress.Addr[Index] << ((Index << 3) & 31));
2263 Ip6ConfigWriteConfigData (IpSb->MacString, Instance);
2268 Instance->Ip6Config.SetData = EfiIp6ConfigSetData;
2269 Instance->Ip6Config.GetData = EfiIp6ConfigGetData;
2270 Instance->Ip6Config.RegisterDataNotify = EfiIp6ConfigRegisterDataNotify;
2271 Instance->Ip6Config.UnregisterDataNotify = EfiIp6ConfigUnregisterDataNotify;
2277 return Ip6ConfigFormInit (Instance);
2283 @param[in, out] Instance The buffer of IP6_CONFIG_INSTANCE to be freed.
2288 IN OUT IP6_CONFIG_INSTANCE *Instance
2294 if (Instance->DeclineAddress != NULL) {
2295 FreePool (Instance->DeclineAddress);
2298 if (!Instance->Configured) {
2302 if (Instance->Dhcp6Handle != NULL) {
2304 Ip6ConfigDestroyDhcp6 (Instance);
2310 if (Instance->Dhcp6Event != NULL) {
2311 gBS->CloseEvent (Instance->Dhcp6Event);
2314 NetMapClean (&Instance->DadPassedMap);
2315 NetMapClean (&Instance->DadFailedMap);
2319 DataItem = &Instance->DataItem[Index];
2329 NetMapClean (&Instance->DataItem[Index].EventMap);
2332 Ip6ConfigFormUnload (Instance);
2334 RemoveEntryList (&Instance->Link);
2340 @param[in, out] Instance The buffer of IP6_CONFIG_INSTANCE to be freed.
2348 IN OUT IP6_CONFIG_INSTANCE *Instance
2355 Dhcp6 = Instance->Dhcp6;
2360 Instance->Dhcp6 = NULL;
2362 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
2368 Instance->Dhcp6Handle,
2381 Instance->Dhcp6Handle
2384 Instance->Dhcp6Handle = NULL;