"Fossies" - the Fresh Open Source Software Archive

Member "motion-Release-4.3.0/src/netcam_ftp.h" (14 Jan 2020, 1808 Bytes) of package /linux/misc/motion-Release-4.3.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "netcam_ftp.h" see the Fossies "Dox" file reference documentation.

    1 /*
    2  *      Much of the FTP routines was inspired by the nanoftp.c module from
    3  *      libxml2 (Copyright Daniel Veillard, 2003).  The routines have been
    4  *      modified to fit the needs of the Motion project.
    5  *
    6  *      Copyright 2005, William M. Brack
    7  *      This software is distributed under the GNU Public license Version 2.
    8  *      See also the file 'COPYING'.
    9  *
   10  */
   11 #ifndef _INCLUDE_NETCAM_FTP_H
   12 #define _INCLUDE_NETCAM_FTP_H
   13 
   14 #define FTP_BUF_SIZE    1024
   15 
   16 typedef struct ftp_context {
   17     char      *path;               /* the path within the URL */
   18     char      *user;               /* user string */
   19     char      *passwd;             /* passwd string */
   20     struct    sockaddr_in ftp_address; /* the socket addr structure */
   21     int       passive;             /* flag show passive/active mode used */
   22     int       control_file_desc;   /* file descriptor for the control socket */
   23     int       data_file_desc;      /* file descriptor for the data socket */
   24     int       state;               /* WRITE / READ / CLOSED */
   25     int       returnValue;         /* the protocol return value */
   26 
   27     /* buffer for data received from the control connection */
   28     char      control_buffer[FTP_BUF_SIZE + 1];
   29     int       control_buffer_index;
   30     int       control_buffer_used;
   31     int       control_buffer_answer;
   32 } ftp_context, *ftp_context_pointer;
   33 
   34 
   35 /* The public interface */
   36 ftp_context_pointer ftp_new_context(void);
   37 void ftp_free_context(ftp_context_pointer);
   38 ftp_context_pointer ftpOpen(const char *);
   39 int ftp_connect(netcam_context_ptr);
   40 int ftp_send_type(ftp_context_pointer, const char);
   41 int ftp_get_socket(ftp_context_pointer);
   42 int ftp_read(ftp_context_pointer, void *, int);
   43 int ftp_close(ftp_context_pointer);
   44 int netcam_setup_ftp(netcam_context_ptr netcam, struct url_t *url);
   45 
   46 #endif