/*
This source file is part of Scol
For the latest info, see http://www.scolring.org

Copyright (c) 2010 Stephane Bisaro, aka Iri <iri@irizone.net>

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA, or go to
http://www.gnu.org/copyleft/lesser.txt

For others informations, please contact us from http://www.scolring.org/
*/

#ifndef __CURL_LIBRARY_H__
#define __CURL_LIBRARY_H__

#include "main.h"
#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>

#include <curl/curl.h>

#include "lib_string.h"
#include "lib_sys.h"




#define CURL_PKG_NB     10  /* nb packages */
#define CURL_RFL_NB     1   /* nb reflexes */

#define CURL_CB_NEW     0   /* callback SCOL_curlNewUrl */


/* Scol object "ObjCurl" */
int ObjCurl;
#define OBJCURL_HANDLE  0

/* internals structure */

struct FTPcommands
{
    char command[64];
    int flag;   /* reserved */
    struct FTPcommands *pNext;
};

struct StrCurl
{
    CURL * hcurl;
    char cerr[CURL_ERROR_SIZE];
    char * url;
    struct curl_slist *header;
    struct curl_slist *preheader;
    struct FTPcommands *ftpcmds;
    int mode;
    CURLcode result;
    mmachine m2m;
    FILE * anyfile;
};

#endif /* __CURL_LIBRARY_H__ */
