"Fossies" - the Fresh Open Source Software Archive

Member "motion-Release-4.3.0/src/netcam_http.h" (14 Jan 2020, 1957 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_http.h" see the Fossies "Dox" file reference documentation.

    1 #ifndef _INCLUDE_NETCAM_HTTP_H
    2 #define _INCLUDE_NETCAM_HTTP_H
    3 
    4 
    5 #include <netdb.h>
    6 #include <netinet/in.h>
    7 #include <sys/socket.h>
    8 
    9 #define MJPG_MH_MAGIC          "MJPG"
   10 #define MJPG_MH_MAGIC_SIZE          4
   11 
   12 typedef struct file_context {
   13     char      *path;               /* the path within the URL */
   14     int       control_file_desc;   /* file descriptor for the control socket */
   15     time_t    last_st_mtime;       /* time this image was modified */
   16 } tfile_context;
   17 
   18 
   19 /*
   20  * MJPG Chunk header for MJPG streaming.
   21  * Little-endian data is read from the network.
   22  */
   23 typedef struct {
   24     char mh_magic[MJPG_MH_MAGIC_SIZE];     /* must contain the string MJP
   25                                               not null-terminated. */
   26     unsigned int mh_framesize;             /* Total size of the current
   27                                               frame in bytes (~45kb on WVC200) */
   28     unsigned short mh_framewidth;          /* Frame width in pixels */
   29     unsigned short mh_frameheight;         /* Frame height in pixels */
   30     unsigned int mh_frameoffset;           /* Offset of this chunk relative
   31                                               to the beginning of frame. */
   32     unsigned short mh_chunksize;           /* The size of the chunk data
   33                                               following this header. */
   34     char mh_reserved[30];                  /* Unknown data, seems to be
   35                                               constant between all headers */
   36 } mjpg_header;
   37 
   38 
   39 void netcam_disconnect(netcam_context_ptr netcam);
   40 int netcam_connect(netcam_context_ptr netcam, int err_flag);
   41 int netcam_read_first_header(netcam_context_ptr netcam);
   42 int netcam_setup_html(netcam_context_ptr netcam, struct url_t *url);
   43 int netcam_setup_mjpg(netcam_context_ptr netcam, struct url_t *url);
   44 int netcam_setup_file(netcam_context_ptr netcam, struct url_t *url);
   45 int netcam_read_next_header(netcam_context_ptr netcam);
   46 
   47 #endif // _INCLUDE_NETCAM_HTTP_H