PreviousUpNext

15.4.1208  src/lib/std/src/socket/plain-socket.pkg

## plain-socket.pkg

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

stipulate
    package pre =  proto_socket;                                        # proto_socket                  is from   src/lib/std/src/socket/proto-socket.pkg
    package ps  =  plain_socket__premicrothread;                        # plain_socket__premicrothread  is from   src/lib/std/src/socket/plain-socket--premicrothread.pkg
herein

    package   plain_socket
    : (weak)  Plain_Socket                                              # Plain_Socket          is from   src/lib/std/src/socket/plain-socket.api
    {
    /*
        # Return a list of the supported address families.
        # This should include at least:  socket__premicrothread::af::inet.
        #
        addressFamilies = ps::addressFamilies

        # Return a list of the supported socket types.
        # This should include at least:
        #     socket__premicrothread::SOCKET::stream
        #     socket__premicrothread::SOCKET::dgram.
        #
        socketTypes = ps::socketTypes
    */


        fun make_socket  arg                                                    # Create sockets using default protocol.
            =
            pre::make_socket (ps::make_socket arg);

        fun make_socket_pair  arg
            =
            {   (ps::make_socket_pair  arg)
                    ->
                    (s1, s2);

                ( pre::make_socket s1,
                  pre::make_socket s2
                );
            };

        fun make_socket'  arg                                                   # Create sockets using the specified protocol.
            =
            pre::make_socket (ps::make_socket' arg);

        fun make_socket_pair'  arg
            =
            {   (ps::make_socket_pair'  arg)
                    ->
                    (s1, s2);

                ( pre::make_socket s1,
                  pre::make_socket s2
                );
            };

    };
end;

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


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext