"Fossies" - the Fresh Open Source Software Archive

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

    1 /*
    2  *
    3  * conf.h - function prototypes for the config handling routines
    4  *
    5  * Originally written for the dproxy package by Matthew Pratt.
    6  *
    7  * Copyright 2000 Jeroen Vreeken (pe1rxq@chello.nl)
    8  *
    9  * This software is licensed under the terms of the GNU General
   10  * Public License (GPL). Please see the file COPYING for details.
   11  *
   12  *
   13  */
   14 
   15 #ifndef _INCLUDE_CONF_H
   16 #define _INCLUDE_CONF_H
   17 
   18 /*
   19  * More parameters may be added later.
   20  */
   21 struct config {
   22     /* Overall system configuration parameters */
   23     /* daemon is directly cast into the cnt context rather than conf */
   24     int             setup_mode;
   25     char            *pid_file;
   26     char            *log_file;
   27     int             log_level;
   28     char            *log_type;
   29     int             quiet;
   30     int             native_language;
   31     const char      *camera_name;
   32     int             camera_id;
   33     const char      *camera_dir;
   34     const char      *target_dir;
   35 
   36     /* Capture device configuration parameters */
   37     const char      *video_device;
   38     char            *vid_control_params;
   39     int             v4l2_palette;
   40     int             input;
   41     int             norm;
   42     unsigned long   frequency;
   43     int             auto_brightness;
   44     const char      *tuner_device;
   45     int             roundrobin_frames;
   46     int             roundrobin_skip;
   47     int             roundrobin_switchfilter;
   48 
   49     const char      *netcam_url;
   50     const char      *netcam_highres;
   51     const char      *netcam_userpass;
   52     const char      *netcam_keepalive;
   53     const char      *netcam_proxy;
   54     int             netcam_tolerant_check;
   55     int             netcam_use_tcp;
   56     char            *netcam_decoder;
   57 
   58     const char      *mmalcam_name;
   59     const char      *mmalcam_control_params;
   60 
   61     /* Image processing configuration parameters */
   62     int             width;
   63     int             height;
   64     int             framerate;
   65     int             minimum_frame_time;
   66     int             rotate;
   67     const char      *flip_axis;
   68     const char      *locate_motion_mode;
   69     const char      *locate_motion_style;
   70     const char      *text_left;
   71     const char      *text_right;
   72     int             text_changes;
   73     int             text_scale;
   74     const char      *text_event;
   75 
   76     /* Motion detection configuration parameters */
   77     int             emulate_motion;
   78     int             threshold;
   79     int             threshold_maximum;
   80     int             threshold_tune;
   81     int             noise_level;
   82     int             noise_tune;
   83     const char      *despeckle_filter;
   84     const char      *area_detect;
   85     const char      *mask_file;
   86     const char      *mask_privacy;
   87     int             smart_mask_speed;
   88     int             lightswitch_percent;
   89     int             lightswitch_frames;
   90     int             minimum_motion_frames;
   91     int             event_gap;
   92     int             pre_capture;
   93     int             post_capture;
   94 
   95     /* Script execution configuration parameters */
   96     char            *on_event_start;
   97     char            *on_event_end;
   98     char            *on_picture_save;
   99     char            *on_area_detected;
  100     char            *on_motion_detected;
  101     char            *on_movie_start;
  102     char            *on_movie_end;
  103     char            *on_camera_lost;
  104     char            *on_camera_found;
  105 
  106     /* Picture output configuration parameters */
  107     const char      *picture_output;
  108     int             picture_output_motion;
  109     const char      *picture_type;
  110     int             picture_quality;
  111     const char      *picture_exif;
  112     const char      *picture_filename;
  113 
  114     /* Snapshot configuration parameters */
  115     int             snapshot_interval;
  116     const char      *snapshot_filename;
  117 
  118     /* Movie output configuration parameters */
  119     int             movie_output;
  120     int             movie_output_motion;
  121     int             movie_max_time;
  122     int             movie_bps;
  123     int             movie_quality;
  124     const char      *movie_codec;
  125     int             movie_duplicate_frames;
  126     int             movie_passthrough;
  127     const char      *movie_filename;
  128     int             movie_extpipe_use;
  129     const char      *movie_extpipe;
  130 
  131     /* Timelapse movie configuration parameters */
  132     int             timelapse_interval;
  133     const char      *timelapse_mode;
  134     int             timelapse_fps;
  135     const char      *timelapse_codec;
  136     const char      *timelapse_filename;
  137 
  138     /* Loopback device configuration parameters */
  139     const char      *video_pipe;
  140     const char      *video_pipe_motion;
  141 
  142     /* Webcontrol configuration parameters */
  143     int             webcontrol_port;
  144     int             webcontrol_ipv6;
  145     int             webcontrol_localhost;
  146     int             webcontrol_parms;
  147     int             webcontrol_interface;
  148     int             webcontrol_auth_method;
  149     const char      *webcontrol_authentication;
  150     int             webcontrol_tls;
  151     const char      *webcontrol_cert;
  152     const char      *webcontrol_key;
  153     const char      *webcontrol_cors_header;
  154 
  155     /* Live stream configuration parameters */
  156     int             stream_port;
  157     int             stream_localhost;
  158     int             stream_auth_method;
  159     const char      *stream_authentication;
  160     int             stream_tls;
  161     const char      *stream_cors_header;
  162     int             stream_preview_scale;
  163     int             stream_preview_newline;
  164     int             stream_preview_method;
  165     int             stream_quality;
  166     int             stream_grey;
  167     int             stream_motion;
  168     int             stream_maxrate;
  169     int             stream_limit;
  170 
  171     /* Database and SQL configuration parameters */
  172     const char      *database_type;
  173     const char      *database_dbname;
  174     const char      *database_host;
  175     int             database_port;
  176     const char      *database_user;
  177     const char      *database_password;
  178     int             database_busy_timeout;
  179 
  180     int             sql_log_picture;
  181     int             sql_log_snapshot;
  182     int             sql_log_movie;
  183     int             sql_log_timelapse;
  184     const char      *sql_query_start;
  185     const char      *sql_query_stop;
  186     const char      *sql_query;
  187 
  188     /* Command line parameters */
  189     int             argc;
  190     char            **argv;
  191 };
  192 
  193 /**
  194  * typedef for a param copy function.
  195  */
  196 typedef struct context ** (* conf_copy_func)(struct context **, const char *, int);
  197 typedef const char *(* conf_print_func)(struct context **, char **, int, unsigned int);
  198 
  199 /**
  200  * description for parameters in the config file
  201  */
  202 typedef struct {
  203     const char      *param_name;      /* name for this parameter                  */
  204     const char      *param_help;      /* short explanation for parameter          */
  205     unsigned int    main_thread;      /* belong only to main thread when value>0  */
  206     int             conf_value;       /* pointer to a field in struct context     */
  207     conf_copy_func  copy;             /* a function to set the value in 'config'  */
  208     conf_print_func print;            /* a function to output the value to a file */
  209     int             webui_level;      /* Enum to display in webui: 0,1,2,3,99(always to never)*/
  210 } config_param;
  211 
  212 extern config_param config_params[];
  213 
  214 /**
  215  * description for deprecated parameters in the config file
  216  */
  217 typedef struct {
  218     const char      *name;          /* Name of the deprecated option */
  219     const char      *last_version;  /* Last version this option was used in */
  220     const char      *info;          /* Short text on why it was deprecated (removed, replaced with, etc) */
  221     int             conf_value;     /* Pointer to the replacement field in struct context */
  222     const char      *newname;       /* Name of the new parameter */
  223     conf_copy_func  copy;           /* Function to set the replacement value */
  224 } dep_config_param;
  225 
  226 extern dep_config_param dep_config_params[];
  227 
  228 struct context **conf_load(struct context **);
  229 struct context **copy_string(struct context **, const char *, int);
  230 struct context **copy_uri(struct context **, const char *, int);
  231 struct context **conf_cmdparse(struct context **, const char *, const char *);
  232 struct context **read_camera_dir(struct context **, const char *, int);
  233 void conf_output_parms(struct context **cnt);
  234 const char *config_type(config_param *);
  235 void conf_print(struct context **);
  236 char *mystrdup(const char *);
  237 char *mystrcpy(char *, const char *);
  238 
  239 #endif /* _INCLUDE_CONF_H */