Lines Matching refs:Instance
31 instance into user-supplied buffers. This function is used optionally to retrieve
34 @param[in] This Pointer to the EFI_UDP6_PROTOCOL instance.
49 data is available because this instance has not
64 UDP6_INSTANCE_DATA *Instance;
73 Instance = UDP6_INSTANCE_DATA_FROM_THIS (This);
75 if (!Instance->Configured && (Udp6ConfigData != NULL)) {
85 CopyMem (Udp6ConfigData, &Instance->ConfigData, sizeof (EFI_UDP6_CONFIG_DATA));
88 Ip = Instance->IpInfo->Ip.Ip6;
103 Initialize and start this instance of the EFI UDPv6 Protocol.
105 Reset this instance of the EFI UDPv6 Protocol.
107 @param[in] This Pointer to the EFI_UDP6_PROTOCOL instance.
115 driver to bind a source address to this instance.
122 @retval EFI_ALREADY_STARTED The EFI UDPv6 Protocol instance is already
127 instance of the EFI UDPv6 Protocol.
130 instance.
132 memory for this EFI UDPv6 Protocol instance.
134 this instance was not opened.
145 UDP6_INSTANCE_DATA *Instance;
158 Instance = UDP6_INSTANCE_DATA_FROM_THIS (This);
160 if (!Instance->Configured && (UdpConfigData == NULL)) {
164 Udp6Service = Instance->Udp6Service;
187 if (Instance->Configured) {
189 // The instance is already configured, try to do the re-configuration.
191 if (!Udp6IsReconfigurable (&Instance->ConfigData, UdpConfigData)) {
203 Instance->ConfigData.TrafficClass = UdpConfigData->TrafficClass;
204 Instance->ConfigData.HopLimit = UdpConfigData->HopLimit;
205 Instance->ConfigData.ReceiveTimeout = UdpConfigData->ReceiveTimeout;
206 Instance->ConfigData.TransmitTimeout = UdpConfigData->TransmitTimeout;
214 // Configure the Ip instance wrapped in the IpInfo.
216 Status = IpIoConfigIp (Instance->IpInfo, &Ip6ConfigData);
219 Instance->IsNoMapping = TRUE;
225 Instance->IsNoMapping = FALSE;
231 &Instance->ConfigData,
235 IP6_COPY_ADDRESS (&Instance->ConfigData.StationAddress, &Ip6ConfigData.StationAddress);
239 Status = Udp6Bind (&Udp6Service->ChildrenList, &Instance->ConfigData);
242 // Reset the ip instance if bind fails.
244 IpIoConfigIp (Instance->IpInfo, NULL);
251 IP6_COPY_ADDRESS (&LocalAddr, &Instance->ConfigData.StationAddress);
252 IP6_COPY_ADDRESS (&RemoteAddr, &Instance->ConfigData.RemoteAddress);
254 Instance->HeadSum = NetIp6PseudoHeadChecksum (
261 Instance->Configured = TRUE;
265 // UdpConfigData is NULL, reset the instance.
267 Instance->Configured = FALSE;
268 Instance->IsNoMapping = FALSE;
271 // Reset the Ip instance wrapped in the IpInfo.
273 IpIoConfigIp (Instance->IpInfo, NULL);
278 Instance->Udp6Proto.Cancel (&Instance->Udp6Proto, NULL);
281 // Remove the buffered RxData for this instance.
283 Udp6FlushRcvdDgram (Instance);
285 ASSERT (IsListEmpty (&Instance->DeliveredDgramQue));
299 @param[in] This Pointer to the EFI_UDP6_PROTOCOL instance.
306 @retval EFI_NOT_STARTED The EFI UDPv6 Protocol instance has not been
330 UDP6_INSTANCE_DATA *Instance;
352 Instance = UDP6_INSTANCE_DATA_FROM_THIS (This);
353 if (!Instance->Configured) {
357 Ip = Instance->IpInfo->Ip.Ip6;
362 // Invoke the Ip instance the Udp6 instance consumes to do the group operation.
372 // datagrams from the 0 station address IP instance and then UDP delivers to
373 // the matched instance. This copy of multicast IPs is used to avoid receive
378 Status = NetMapInsertTail (&Instance->McastIps, (VOID *) McastIp, NULL);
381 NetMapIterate (&Instance->McastIps, Udp6LeaveGroup, MulticastAddress);
400 This function places a sending request to this instance of the EFI UDPv6 Protocol,
403 @param[in] This Pointer to the EFI_UDP6_PROTOCOL instance.
408 @retval EFI_NOT_STARTED This EFI UDPv6 Protocol instance has not been
411 choosing a source address for this instance, but
435 instance's UdpConfigData.RemoteAddress is unspecified.
457 UDP6_INSTANCE_DATA *Instance;
475 Instance = UDP6_INSTANCE_DATA_FROM_THIS (This);
477 if (!Instance->Configured) {
486 Status = Udp6ValidateTxToken (Instance, Token);
491 if (EFI_ERROR (NetMapIterate (&Instance->TxTokens, Udp6TokenExist, Token)) ||
492 EFI_ERROR (NetMapIterate (&Instance->RxTokens, Udp6TokenExist, Token))
523 Udp6Service = Instance->Udp6Service;
528 ConfigData = &Instance->ConfigData;
596 HeadSum = Instance->HeadSum;
621 Status = NetMapInsertTail (&Instance->TxTokens, Token, Packet);
638 Instance->IpInfo,
639 Instance,
648 Udp6RemoveToken (&Instance->TxTokens, Token);
667 @param[in] This Pointer to the EFI_UDP6_PROTOCOL instance.
672 @retval EFI_NOT_STARTED This EFI UDPv6 Protocol instance has not been
682 The EFI UDPv6 Protocol instance has been reset to
698 UDP6_INSTANCE_DATA *Instance;
705 Instance = UDP6_INSTANCE_DATA_FROM_THIS (This);
707 if (!Instance->Configured) {
713 if (EFI_ERROR (NetMapIterate (&Instance->RxTokens, Udp6TokenExist, Token)) ||
714 EFI_ERROR (NetMapIterate (&Instance->TxTokens, Udp6TokenExist, Token))
729 Status = NetMapInsertTail (&Instance->RxTokens, Token, NULL);
738 Udp6ReportIcmpError (Instance);
743 Udp6InstanceDeliverDgram (Instance);
761 @param[in] This Pointer to the EFI_UDP6_PROTOCOL instance.
772 @retval EFI_NOT_STARTED This instance has not been started.
789 UDP6_INSTANCE_DATA *Instance;
796 Instance = UDP6_INSTANCE_DATA_FROM_THIS (This);
798 if (!Instance->Configured) {
805 // Cancle the tokens specified by Token for this instance.
807 Status = Udp6InstanceCancelToken (Instance, Token);
824 @param[in] This Pointer to the EFI_UDP6_PROTOCOL instance.
839 UDP6_INSTANCE_DATA *Instance;
846 Instance = UDP6_INSTANCE_DATA_FROM_THIS (This);
847 Ip = Instance->IpInfo->Ip.Ip6;
850 // Invode the Ip instance consumed by the udp instance to do the poll operation.