anchor.diff:    end type c_sockaddr_storage
   
     
  -  ! Not interoperable due to pointers.
     type, bind(C) :: c_addrinfo
       integer(c_int) :: ai_flags
       integer(c_int) :: ai_family
  
positive.code:     type(c_ptr) :: ai_next
    end type c_addrinfo
  
    ! popen  
    interface
      type (c_ptr) function c_popen(command, mode) bind(C, name='popen')
        use, intrinsic :: ISO_C_BINDING
        character(kind=c_char), dimension(*) :: command, mode
      end function
    end interface
  
    ! fgets  
    interface
      type (c_ptr) function c_fgets(str, siz, stream) bind(C, name='fgets')
        use, intrinsic :: ISO_C_BINDING
        ! assumed size, or any shape works here, but not assume shape...?
  
negative.code:       integer(c_size_t), value :: length
        integer(c_int), value :: flags
      end function c_send
  
      integer(c_int) function c_fork() bind(C, name='fork')
        use, intrinsic :: iso_c_binding
      end function c_fork
  
      integer(c_int) function c_accept(socket, address, address_len) bind(c, name='accept')
        use, intrinsic :: iso_c_binding
        integer(c_int), value :: socket
        type(c_ptr), value :: address, address_len
      end function c_accept
  
      integer(c_int) function c_close(fd) bind(c, name='close')
        use, intrinsic :: iso_c_binding
        integer(c_int), value :: fd
  