# mongoc_socket_new()

## Synopsis

    mongoc_socket_t *
    mongoc_socket_new (int domain,
                       int type,
                       int protocol) BSON_GNUC_WARN_UNUSED_RESULT;

## Parameters

- `domain`: An int containing the address family such as AF_INET.

- `type`: An int containing the socket type such as SOCK_STREAM.

- `protocol`: A protocol subset, typically 0.

## Description

Creates a new `mongoc_socket_t` structure. This calls `socket()` underneath to create a network socket.

## Returns

A new socket if successful, otherwise `NULL` and errno is set. The result should be freed with mongoc_socket_destroy() when no longer in use.