namespace ugcs::vsm::sockets

namespace sockets {

// typedefs

typedef int Socket_handle;

// global variables

const int SEND_FLAGS = 0;

// global functions

void Init_sockets();
void Done_sockets();

int Create_socketpair(
    Socket_handle&,
    Socket_handle&
    );

int Close_socket(Socket_handle);
bool Is_last_operation_pending();
int Make_nonblocking(Socket_handle);
int Disable_sigpipe(Socket_handle);

int Prepare_for_listen(
    Socket_handle,
    bool is_multicast
    );

} // namespace sockets