/****************************************************************************
 * Copyright (C) 2015
 * by Dimok
 *
 * This software is provided 'as-is', without any express or implied
 * warranty. In no event will the authors be held liable for any
 * damages arising from the use of this software.
 *
 * Permission is granted to anyone to use this software for any
 * purpose, including commercial applications, and to alter it and
 * redistribute it freely, subject to the following restrictions:
 *
 * 1. The origin of this software must not be misrepresented; you
 * must not claim that you wrote the original software. If you use
 * this software in a product, an acknowledgment in the product
 * documentation would be appreciated but is not required.
 *
 * 2. Altered source versions must be plainly marked as such, and
 * must not be misrepresented as being the original software.
 *
 * 3. This notice may not be removed or altered from any source
 * distribution.
 ***************************************************************************/
#ifndef __CURL_FUNCTIONS_H_
#define __CURL_FUNCTIONS_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <gctypes.h>
#include "socket_functions.h"
typedef int socklen_t;
#include <curl/curl.h>
#include <curl/easy.h>

void InitCurlFunctionPointers(void);
void InitAcquireCurl(void);

extern CURLcode (* n_curl_global_init)(long flags);
extern CURL * (* n_curl_easy_init)(void);
extern CURLcode (* n_curl_easy_setopt)(CURL *curl, CURLoption option, ...);
extern CURLcode (* n_curl_easy_perform)(CURL *curl);
extern void (* n_curl_easy_cleanup)(CURL *curl);
extern CURLcode (* n_curl_easy_getinfo)(CURL *curl, CURLINFO info, ...);

#ifdef __cplusplus
}
#endif

#endif // __CURL_FUNCTIONS_H_
