curl/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.md
Viktor Szakats 1fb734bc2d
docs: tidy-up scheme references
After this patch `://` schemes are lowercase and enclosed in backticks.

Also:
- docs/libcurl/libcurl-multi.md: drop a stray C code fence.
- docs/libcurl/libcurl-tutorial.md: replace single/double quotes with
  Markdown markup where applicable.

Ref: #21646

Closes #21674
2026-05-19 16:55:45 +02:00

1.2 KiB

c SPDX-License-Identifier Title Section Source See-also Protocol Added-in
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. curl CURLOPT_NEW_FILE_PERMS 3 libcurl
CURLOPT_NEW_DIRECTORY_PERMS (3)
CURLOPT_UPLOAD (3)
SFTP
SCP
FILE
7.16.4

NAME

CURLOPT_NEW_FILE_PERMS - permissions for remotely created files

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NEW_FILE_PERMS,
                          long mode);

DESCRIPTION

Pass a long as a parameter, containing the value of the permissions that are set on newly created files on the remote server. The default value is 0644. The only protocols that can use this are sftp://, scp://, and file://.

DEFAULT

0644

%PROTOCOLS%

EXAMPLE

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode result;
    curl_easy_setopt(curl, CURLOPT_URL, "sftp://upload.example.com/file.txt");
    curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, 0664L);
    result = curl_easy_perform(curl);
  }
}

%AVAILABILITY%

RETURN VALUE

curl_easy_setopt(3) returns a CURLcode indicating success or error.

CURLE_OK (0) means everything was OK, non-zero means an error occurred, see libcurl-errors(3).