LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   how to fix error"CURLOPT_USERNAME’ undeclared "in curl ftp programming (https://www.linuxquestions.org/questions/linux-newbie-8/how-to-fix-error-curlopt_username%92-undeclared-in-curl-ftp-programming-813095/)

renuaseri 06-09-2010 04:46 AM

how to fix error"CURLOPT_USERNAME’ undeclared "in curl ftp programming
 
hi all ,

i have written file transfer program using libcurl.

#include <stdio.h>
#include <curl/curl.h>
#include <curl/types.h>
#include <curl/easy.h>

/*
* This is an example showing how to get a single file from an FTP server.
* It delays the actual destination file creation until the first write
* callback so that it won’t create an empty file in case the remote file
* doesn’t exist or something else fails.
*/
#define UPLOAD_FILE_AS "11.txt"
#define REMOTE_URL "ftp://10.114.5.0/" UPLOAD_FILE_AS

struct FtpFile
{
const char *filename;
FILE *stream;
};

static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream)
{
struct FtpFile *out=(struct FtpFile *)stream;
if(out && !out->stream)
{
/* open file for writing */
out->stream=fopen(out->filename, "wb");
if(!out->stream)
return -1; /* failure, can’t open file to write */
}
return fwrite(buffer, size, nmemb, out->stream);
}

int main(void)
{
CURL *curl;
CURLcode res;
struct FtpFile ftpfile={"11.txt", NULL}; /* name to store the file as if succesful */
struct curl_slist *headerlist=NULL;
static const char buf_1 [] = "DELE " UPLOAD_FILE_AS;
curl_global_init(CURL_GLOBAL_DEFAULT);

curl = curl_easy_init();

if(curl)
{
/*
* Get curl 7.9.2 from sunet.se’s FTP site. curl 7.9.2 is most likely not
* present there by the time you read this, so you’d better replace the
* URL with one that works!
*/

headerlist = curl_slist_append(headerlist, buf_1);
curl_easy_setopt(curl, CURLOPT_URL, REMOTE_URL);
curl_easy_setopt (curl, CURLOPT_VERBOSE, 1);
curl_easy_setopt (curl, CURLOPT_USERNAME , "v4user");
curl_easy_setopt (curl, CURLOPT_PASSWORD ,"v4user");

/* Define our callback to get called when there’s data to be written */
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite);

/* Set a pointer to our struct to pass to the callback */
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile);

/* Switch on full protocol/debug output */
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);

curl_easy_setopt(curl, CURLOPT_POSTQUOTE, headerlist);
res = curl_easy_perform(curl);

/* always cleanup */
curl_easy_cleanup(curl);

if(CURLE_OK != res)
{
/* we failed */
fprintf(stderr, "curl told us %d\n", res);
}
}

if(ftpfile.stream)
fclose(ftpfile.stream); /* close the local file */

curl_global_cleanup();

return 0;

}


i am using command for compile:--
"gcc ftpget.c -o ftpget.o -lcurl"


on this command i getting these error:

ftpget.c:53: error: ‘CURLOPT_USERNAME’ undeclared (first use in this function)
ftpget.c:53: error: (Each undeclared identifier is reported only once
ftpget.c:53: error: for each function it appears in.)
ftpget.c:54: error: ‘CURLOPT_PASSWORD’ undeclared (first use in this function)

plz help me how to remove above error......is it required any more header file to include?

Andrew Benton 06-10-2010 06:35 PM

Have you tried asking this in the programming forum? This looks a bit beyond Newbie to me!


All times are GMT -5. The time now is 09:47 AM.