for storage and retrieval of private data in the curl handle.
object. This is the value read from the Content-Type: field. If you get NULL,
it means that the server didn't send a valid Content-Type header or that the
protocol used doesn't support this. (Added in 7.9.4)
+.TP
+.B CURLINFO_PRIVATE
+Pass a pointer to a 'char *' to receive the pointer to the private data
+associated with the curl handle (set with the CURLOPT_PRIVATE option to curl_easy_setopt).
+(Added in 7.10.3)
.PP
-
.SH RETURN VALUE
If the operation was successful, CURLE_OK is returned. Otherwise an
appropriate error code will be returned.
will be used. Set the string to NULL to disable kerberos4. The kerberos
support only works for FTP. (Added in 7.3)
.PP
+.SH OTHER OPTIONS
+.TP 0.4i
+.B CURLOPT_PRIVATE
+Pass a char * as parameter, pointing to data that should be
+associated with the curl handle. The pointer can be subsequently retrieved using
+the CURLINFO_PRIVATE options to curl_easy_getinfo. (Added in 7.10.3)
+.PP
.SH RETURN VALUE
CURLE_OK (zero) means that the option was set properly, non-zero means an
error occurred as \fI<curl/curl.h>\fP defines. See the \fIlibcurl-errors.3\fP
the response to be compressed. */
CINIT(ENCODING, OBJECTPOINT, 102),
+ /* Set pointer to private data */
+ CINIT(PRIVATE, OBJECTPOINT, 103),
CURLOPT_LASTENTRY /* the last unused */
} CURLoption;
CURLINFO_REDIRECT_TIME = CURLINFO_DOUBLE + 19,
CURLINFO_REDIRECT_COUNT = CURLINFO_LONG + 20,
+ CURLINFO_PRIVATE = CURLINFO_STRING + 21,
+
/* Fill in new entries here! */
- CURLINFO_LASTONE = 21
+ CURLINFO_LASTONE = 22
} CURLINFO;
/* unfortunately, the easy.h and multi.h include files need options and info
case CURLINFO_CONTENT_TYPE:
*param_charp = data->info.contenttype;
break;
+ case CURLINFO_PRIVATE:
+ *param_charp = data->set.private?data->set.private:(char *)"";
+ break;
default:
return CURLE_BAD_FUNCTION_ARGUMENT;
}
data->set.proxytype = va_arg(param, long);
break;
+ case CURLOPT_PRIVATE:
+ /*
+ * Set private data pointer.
+ */
+ data->set.private = va_arg(param, char *);
+ break;
+
default:
/* unknown tag and its companion, just ignore: */
return CURLE_FAILED_INIT; /* correct this */
int dns_cache_timeout; /* DNS cache timeout */
long buffer_size; /* size of receive buffer to use */
+
+ char *private; /* Private data */
/* Here follows boolean settings that define how to behave during
this session. They are STATIC, set by libcurl users or at least initially