CURLOPT_NEW_DIRECTORY_PERMS(3) Introduction to Library Functions CURLOPT_NEW_DIRECTORY_PERMS(3)

CURLOPT_NEW_DIRECTORY_PERMS - permissions for remotely created directories

#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NEW_DIRECTORY_PERMS,

long mode);

Pass a long as a parameter, containing the value of the permissions that is set on newly created directories on the remote server. The default value is 0755, but any valid value can be used. The only protocols that can use this are sftp://, scp://, and file://.

0755

This functionality affects file, scp and sftp

int main(void)
{

CURL *curl = curl_easy_init();
if(curl) {
CURLcode ret;
curl_easy_setopt(curl, CURLOPT_URL,
"sftp://upload.example.com/newdir/file.zip");
curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, 1L);
curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, 0644L);
ret = curl_easy_perform(curl);
} }

Added in curl 7.16.4

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).

CURLOPT_FTP_CREATE_MISSING_DIRS(3), CURLOPT_NEW_FILE_PERMS(3), CURLOPT_UPLOAD(3)

2025-02-08 libcurl