curl/docs/libcurl/opts/CURLOPT_LOCALPORT.md
Daniel Stenberg e3fe020089
docs/libcurl: generate PROTOCOLS from meta-data
Remove the PROTOCOLS section from the source files completely and
instead generate them based on the header data in the curldown files.

It also generates TLS backend information for options marked for TLS as
protocol.

Closes #13175
2024-03-23 18:13:03 +01:00

1.2 KiB

c SPDX-License-Identifier Title Section Source See-also Protocol
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. curl CURLOPT_LOCALPORT 3 libcurl
CURLINFO_LOCAL_PORT (3)
CURLOPT_INTERFACE (3)
CURLOPT_LOCALPORTRANGE (3)
All

NAME

CURLOPT_LOCALPORT - local port number to use for socket

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORT, long port);

DESCRIPTION

Pass a long. This sets the local port number of the socket used for the connection. This can be used in combination with CURLOPT_INTERFACE(3) and you are recommended to use CURLOPT_LOCALPORTRANGE(3) as well when this option is set. Valid port numbers are 1 - 65535.

DEFAULT

0, disabled - use whatever the system thinks is fine

EXAMPLE

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode res;
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin");
    curl_easy_setopt(curl, CURLOPT_LOCALPORT, 49152L);
    /* and try 20 more ports following that */
    curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, 20L);
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
  }
}

AVAILABILITY

Added in 7.15.2

RETURN VALUE

Returns CURLE_OK