code: def IterIfaddrs(ifaddrs):
    
    precondition.AssertOptionalType(ifaddrs, ctypes.POINTER(Ifaddrs))
  
    while ifaddrs:
      yield ifaddrs.contents
      ifaddrs = ifaddrs.contents.ifa_next
docs: Iterates over contents of the intrusive linked list of `ifaddrs`.
  
    Args:
      ifaddrs: A pointer to the first node of `ifaddrs` linked list. Can be NULL.
  
    Yields:
      Instances of `Ifaddr`.