nanoftp

Name

nanoftp —

Synopsis



void        (*ftpListCallback)              (void *userData,
                                             const char *filename,
                                             const char *attrib,
                                             const char *owner,
                                             const char *group,
                                             unsigned long size,
                                             int links,
                                             int year,
                                             const char *month,
                                             int day,
                                             int minute);
void        (*ftpDataCallback)              (void *userData,
                                             const char *data,
                                             int len);
void        xmlNanoFTPInit                  (void);
void*       xmlNanoFTPNewCtxt               (const char *URL);
void        xmlNanoFTPFreeCtxt              (void *ctx);
void*       xmlNanoFTPConnectTo             (const char *server,
                                             int port);
void*       xmlNanoFTPOpen                  (const char *URL);
int         xmlNanoFTPConnect               (void *ctx);
int         xmlNanoFTPClose                 (void *ctx);
int         xmlNanoFTPQuit                  (void *ctx);
int         xmlNanoFTPGetResponse           (void *ctx);
int         xmlNanoFTPCheckResponse         (void *ctx);
int         xmlNanoFTPCwd                   (void *ctx,
                                             char *directory);
int         xmlNanoFTPGetConnection         (void *ctx);
int         xmlNanoFTPCloseConnection       (void *ctx);
int         xmlNanoFTPList                  (void *ctx,
                                             ftpListCallback callback,
                                             void *userData,
                                             char *filename);
int         xmlNanoFTPGetSocket             (void *ctx,
                                             const char *filename);
int         xmlNanoFTPGet                   (void *ctx,
                                             ftpDataCallback callback,
                                             void *userData,
                                             const char *filename);
int         xmlNanoFTPRead                  (void *ctx,
                                             void *dest,
                                             int len);

Description

Details

ftpListCallback ()

void        (*ftpListCallback)              (void *userData,
                                             const char *filename,
                                             const char *attrib,
                                             const char *owner,
                                             const char *group,
                                             unsigned long size,
                                             int links,
                                             int year,
                                             const char *month,
                                             int day,
                                             int minute);

userData : 
filename : 
attrib : 
owner : 
group : 
size : 
links : 
year : 
month : 
day : 
minute : 


ftpDataCallback ()

void        (*ftpDataCallback)              (void *userData,
                                             const char *data,
                                             int len);

userData : 
data : 
len : 


xmlNanoFTPInit ()

void        xmlNanoFTPInit                  (void);

Initialize the FTP handling.


xmlNanoFTPNewCtxt ()

void*       xmlNanoFTPNewCtxt               (const char *URL);

Allocate and initialize a new FTP context.

URL : The URL used to initialize the context


xmlNanoFTPFreeCtxt ()

void        xmlNanoFTPFreeCtxt              (void *ctx);

Frees the context after closing the connection.

ctx : an FTP context


xmlNanoFTPConnectTo ()

void*       xmlNanoFTPConnectTo             (const char *server,
                                             int port);

Tries to open a control connection to the given server/port

server : an FTP server name
port : 


xmlNanoFTPOpen ()

void*       xmlNanoFTPOpen                  (const char *URL);

Start to fetch the given ftp:// resource

URL : the URL to the resource


xmlNanoFTPConnect ()

int         xmlNanoFTPConnect               (void *ctx);

Tries to open a control connection

ctx : an FTP context
Returns :-1 in case of error, 0 otherwise


xmlNanoFTPClose ()

int         xmlNanoFTPClose                 (void *ctx);

Close the connection and both control and transport

ctx : an FTP context
Returns :-1 incase of error, 0 otherwise


xmlNanoFTPQuit ()

int         xmlNanoFTPQuit                  (void *ctx);

Send a QUIT command to the server

ctx : an FTP context
Returns :-1 in case of error, 0 otherwise


xmlNanoFTPGetResponse ()

int         xmlNanoFTPGetResponse           (void *ctx);

Get the response from the FTP server after a command.

ctx : an FTP context
Returns :the code number


xmlNanoFTPCheckResponse ()

int         xmlNanoFTPCheckResponse         (void *ctx);

Check if there is a response from the FTP server after a command.

ctx : an FTP context
Returns :the code number, or 0


xmlNanoFTPCwd ()

int         xmlNanoFTPCwd                   (void *ctx,
                                             char *directory);

ctx : 
directory : 
Returns : 


xmlNanoFTPGetConnection ()

int         xmlNanoFTPGetConnection         (void *ctx);

Try to open a data connection to the server. Currently only passive mode is supported.

ctx : an FTP context
Returns :-1 incase of error, 0 otherwise


xmlNanoFTPCloseConnection ()

int         xmlNanoFTPCloseConnection       (void *ctx);

Close the data connection from the server

ctx : an FTP context
Returns :-1 incase of error, 0 otherwise


xmlNanoFTPList ()

int         xmlNanoFTPList                  (void *ctx,
                                             ftpListCallback callback,
                                             void *userData,
                                             char *filename);

Do a listing on the server. All files info are passed back in the callbacks.

ctx : an FTP context
callback : the user callback
userData : the user callback data
filename : optional files to list
Returns :-1 incase of error, 0 otherwise


xmlNanoFTPGetSocket ()

int         xmlNanoFTPGetSocket             (void *ctx,
                                             const char *filename);

Initiate fetch of the given file from the server.

ctx : an FTP context
filename : the file to retrieve
Returns :the socket for the data connection, or <0 in case of error


xmlNanoFTPGet ()

int         xmlNanoFTPGet                   (void *ctx,
                                             ftpDataCallback callback,
                                             void *userData,
                                             const char *filename);

Fetch the given file from the server. All data are passed back in the callbacks. The last callback has a size of 0 block.

ctx : an FTP context
callback : the user callback
userData : the user callback data
filename : the file to retrieve
Returns :-1 incase of error, 0 otherwise


xmlNanoFTPRead ()

int         xmlNanoFTPRead                  (void *ctx,
                                             void *dest,
                                             int len);

This function tries to read len bytes from the existing FTP connection and saves them in dest. This is a blocking call.

ctx : the FTP context
dest : a buffer
len : the buffer length
Returns :the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.