/* libcmis * Version: MPL 1.1 / GPLv2+ / LGPLv2+ * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License or as specified alternatively below. You may obtain a copy of * the License at http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * Major Contributor(s): * Copyright (C) 2011 SUSE * * * All Rights Reserved. * * For minor contributions see the git repository. * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPLv2+"), or * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"), * in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable * instead of those above. */ #ifndef _MOCKUP_CURL_CURL_H_ #define _MOCKUP_CURL_CURL_H_ #ifdef __cplusplus extern "C" { #endif /* Curl used symbols to mockup */ typedef void CURL; typedef enum { CURLIOE_OK, /* I/O operation successful */ CURLIOE_UNKNOWNCMD, /* command was unknown to callback */ CURLIOE_FAILRESTART, /* failed to restart the read */ CURLIOE_LAST /* never use */ } curlioerr; #define CURL_GLOBAL_SSL (1<<0) #define CURL_GLOBAL_WIN32 (1<<1) #define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32) #define CURLOPTTYPE_LONG 0 #define CURLOPTTYPE_OBJECTPOINT 10000 #define CURLOPTTYPE_FUNCTIONPOINT 20000 #define CURLOPTTYPE_OFF_T 30000 typedef enum { CURLOPT_WRITEFUNCTION = CURLOPTTYPE_FUNCTIONPOINT + 11, CURLOPT_READFUNCTION = CURLOPTTYPE_FUNCTIONPOINT + 12, CURLOPT_WRITEDATA = CURLOPTTYPE_OBJECTPOINT + 1, CURLOPT_HEADERFUNCTION = CURLOPTTYPE_FUNCTIONPOINT + 79, CURLOPT_WRITEHEADER = CURLOPTTYPE_OBJECTPOINT + 29, CURLOPT_FOLLOWLOCATION = CURLOPTTYPE_LONG + 52, CURLOPT_MAXREDIRS = CURLOPTTYPE_LONG + 68, CURLOPT_INFILESIZE = CURLOPTTYPE_LONG + 14, CURLOPT_READDATA = CURLOPTTYPE_OBJECTPOINT + 9, CURLOPT_UPLOAD = CURLOPTTYPE_LONG + 46, CURLOPT_IOCTLFUNCTION = CURLOPTTYPE_FUNCTIONPOINT + 130, CURLOPT_IOCTLDATA = CURLOPTTYPE_OBJECTPOINT + 131, CURLOPT_HTTPHEADER = CURLOPTTYPE_OBJECTPOINT + 23, CURLOPT_POSTFIELDSIZE = CURLOPTTYPE_LONG + 60, CURLOPT_POST = CURLOPTTYPE_LONG + 47, CURLOPT_CUSTOMREQUEST = CURLOPTTYPE_OBJECTPOINT + 36, CURLOPT_URL = CURLOPTTYPE_OBJECTPOINT + 2, CURLOPT_HTTPAUTH = CURLOPTTYPE_LONG + 107, CURLOPT_USERNAME = CURLOPTTYPE_OBJECTPOINT + 173, CURLOPT_PASSWORD = CURLOPTTYPE_OBJECTPOINT + 174, CURLOPT_USERPWD = CURLOPTTYPE_OBJECTPOINT + 5, CURLOPT_ERRORBUFFER = CURLOPTTYPE_OBJECTPOINT + 10, CURLOPT_FAILONERROR = CURLOPTTYPE_LONG + 45, CURLOPT_VERBOSE = CURLOPTTYPE_LONG + 41, CURLOPT_PROXY = CURLOPTTYPE_OBJECTPOINT + 4, CURLOPT_PROXYUSERPWD = CURLOPTTYPE_OBJECTPOINT + 6, CURLOPT_PROXYAUTH = CURLOPTTYPE_LONG + 111, CURLOPT_PROXYUSERNAME = CURLOPTTYPE_OBJECTPOINT + 175, CURLOPT_PROXYPASSWORD = CURLOPTTYPE_OBJECTPOINT + 176, CURLOPT_NOPROXY = CURLOPTTYPE_OBJECTPOINT + 177, CURLOPT_SSL_VERIFYPEER = CURLOPTTYPE_LONG + 64, CURLOPT_SSL_VERIFYHOST = CURLOPTTYPE_LONG + 81, CURLOPT_CERTINFO = CURLOPTTYPE_LONG + 172 } CURLoption; #define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4) #define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE) typedef enum { CURLE_OK = 0, CURLE_HTTP_RETURNED_ERROR = 22, CURLE_SSL_CACERT = 60, /* TODO Add some more error codes from curl? */ CURL_LAST } CURLcode; struct curl_slist { char *data; struct curl_slist *next; }; struct curl_slist *curl_slist_append( struct curl_slist *, const char * ); void curl_slist_free_all( struct curl_slist * ); void curl_free( void *p ); CURLcode curl_global_init( long flags ); CURL *curl_easy_init( void ); void curl_easy_cleanup( CURL *curl ); CURLcode curl_easy_setopt( CURL *curl, long option, ... ); char *curl_easy_escape( CURL *handle, const char *string, int length ); char *curl_unescape( const char *string, int length ); char *curl_easy_unescape( CURL *handle, const char *string, int length, int *outlength ); CURLcode curl_easy_perform( CURL *curl ); void curl_easy_reset( CURL *curl ); struct curl_certinfo { int num_of_certs; struct curl_slist **certinfo; }; #define CURLINFO_LONG 0x200000 #define CURLINFO_SLIST 0x400000 typedef enum { CURLINFO_NONE, CURLINFO_RESPONSE_CODE = CURLINFO_LONG + 2, CURLINFO_CERTINFO = CURLINFO_SLIST + 34, CURLINFO_LASTONE = 42 } CURLINFO; CURLcode curl_easy_getinfo( CURL *curl, long info, ... ); #define LIBCURL_VERSION_MAJOR 7 #define LIBCURL_VERSION_MINOR 26 #define LIBCURL_VERSION_PATCH 0 #ifdef __cplusplus } #endif #endif