aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/getinfo.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/getinfo.c b/lib/getinfo.c
index e554931a9..e7a484524 100644
--- a/lib/getinfo.c
+++ b/lib/getinfo.c
@@ -33,6 +33,7 @@
#include <stdarg.h>
#include <stdlib.h>
#include "memory.h"
+#include "ssluse.h"
/* Make this the last #include */
#include "memdebug.h"
@@ -73,6 +74,7 @@ CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...)
long *param_longp=NULL;
double *param_doublep=NULL;
char **param_charp=NULL;
+ struct curl_slist **param_slistp=NULL;
va_start(arg, info);
switch(info&CURLINFO_TYPEMASK) {
@@ -93,6 +95,11 @@ CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...)
if(NULL == param_doublep)
return CURLE_BAD_FUNCTION_ARGUMENT;
break;
+ case CURLINFO_SLIST:
+ param_slistp = va_arg(arg, struct curl_slist **);
+ if(NULL == param_slistp)
+ return CURLE_BAD_FUNCTION_ARGUMENT;
+ break;
}
switch(info) {
@@ -174,6 +181,10 @@ CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...)
case CURLINFO_NUM_CONNECTS:
*param_longp = data->info.numconnects;
break;
+ case CURLINFO_SSL_ENGINES:
+ Curl_SSL_engines_list(data);
+ *param_slistp = data->engine_list;
+ break;
default:
return CURLE_BAD_FUNCTION_ARGUMENT;
}