PreviousUpNext

15.3.528  src/lib/std/src/socket/threadkit-internet-socket.api

## threadkit-internet-socket.api

# Compiled by:
#     src/lib/std/standard.lib



api Threadkit_Internet_Socket {

    Inet;

    Threadkit_Socket( A_sock_type )
        =
        threadkit_pre_socket::Threadkit_Socket( Inet, A_sock_type );

    Stream_Socket( A_mode )
        =
        Threadkit_Socket( pre_socket::Stream( A_mode ) );

    Datagram_Socket
        =
        Threadkit_Socket( pre_socket::Datagram );

    Socket_Address
        =
        pre_socket::Socket_Address( Inet );

    inet_af:  pre_socket::af::Address_Family;   #  DARPA internet protocols 

    to_address
        :
        ( dns_host_lookup::Internet_Address,
          Int
        )
        ->
        Socket_Address;

    from_address
        :
        Socket_Address
        ->
        ( dns_host_lookup::Internet_Address,
          Int
        );


    any:   Int -> Socket_Address;

    package udp:  api { socket:   Void -> Datagram_Socket;
                        socket':  Int  -> Datagram_Socket;
                      };

    package tcp:  api { socket:   Void -> Stream_Socket( A_mode );
                        socket' : Int  -> Stream_Socket( A_mode );

                        # TCP control options:
                        # 
                        get_nodelay:    Stream_Socket( A_mode ) -> Bool;
                        set_nodelay:   (Stream_Socket( A_mode ), Bool) -> Void;
                      };
};


## COPYRIGHT (c) 1995 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext