CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KEEP_SENDING_ON_ERROR,
long keep_sending);
This option is suitable for manual NTLM authentication, i.e. if an application does not use CURLOPT_HTTPAUTH(3), but instead sets "Authorization: NTLM ..." headers manually using CURLOPT_HTTPHEADER(3).
Most applications do not need this option.
CURL *curl = curl_easy_init();
if(curl) {
CURLcode ret;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "sending data");
curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, 1L);
ret = curl_easy_perform(curl);
}