PreviousUpNext

15.3.546  src/lib/std/src/socket/unix-domain-socket.api

## unix-domain-socket.api

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




stipulate
    package sok =  socket__premicrothread;                                                      # socket__premicrothread        is from   src/lib/std/socket--premicrothread.pkg
    package ts  =  socket;                                                                      # socket                        is from   src/lib/std/src/socket/socket.pkg
herein

    # This api is implemented in:
    #
    #     src/lib/std/src/socket/unix-domain-socket.pkg
    #
    api Unix_Domain_Socket {
        #
        Unix;

        Threadkit_Socket(X) =  ts::Threadkit_Socket( Unix, X ); 

        Stream_Socket(X)    =  Threadkit_Socket( sok::Stream(X) );
        Datagram_Socket     =  Threadkit_Socket( sok::Datagram );

        Unix_Domain_Socket_Address
            =
            ts::Socket_Address( Unix );

        unix_address_family:  ts::af::Address_Family;                                           #  4.3BSD internal protocols 

        string_to_unix_domain_socket_address:    String -> Unix_Domain_Socket_Address;
        unix_domain_socket_address_to_string:    Unix_Domain_Socket_Address -> String;

        package stream:   api { make_socket:       Void ->  Stream_Socket(X);
                                make_socket_pair:  Void -> (Stream_Socket(X), Stream_Socket(X));
                              };

        package datagram: api { make_socket:       Void -> Datagram_Socket;
                                make_socket_pair:  Void -> (Datagram_Socket, Datagram_Socket);
                              };
    };
end;

## COPYRIGHT (c) 1995 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext