Files
motion/conf.h

158 lines
3.6 KiB
C

/*
**
** conf.h - function prototypes for the config handling routines
**
** Originally written for the dproxy package by Matthew Pratt.
**
** Copyright 2000 Jeroen Vreeken (pe1rxq@chello.nl)
**
** This software is licensed under the terms of the GNU General
** Public License (GPL). Please see the file COPYING for details.
**
**
*/
#ifndef _INCLUDE_CONF_H
#define _INCLUDE_CONF_H
/*
more parameters may be added later.
*/
struct config {
int setup_mode;
int width;
int height;
int quality;
int rotate_deg;
int max_changes;
int threshold_tune;
const char *output_normal;
int motion_img;
int output_all;
int gap;
int maxmpegtime;
int snapshot_interval;
const char *locate;
int input;
int norm;
int frame_limit;
int quiet;
int ppm;
int noise;
int noise_tune;
int minimum_frame_time;
int lightswitch;
int nochild;
int autobright;
int brightness;
int contrast;
int saturation;
int hue;
int roundrobin_frames;
int roundrobin_skip;
int pre_capture;
int post_capture;
int switchfilter;
int ffmpeg_cap_new;
int ffmpeg_cap_motion;
int ffmpeg_bps;
int ffmpeg_vbr;
int ffmpeg_deinterlace;
const char *ffmpeg_video_codec;
int webcam_port;
int webcam_quality;
int webcam_motion;
int webcam_maxrate;
int webcam_localhost;
int webcam_limit;
int control_port;
int control_localhost;
int control_html_output;
const char *control_authentication;
unsigned long frequency;
int tuner_number;
int timelapse;
const char *timelapse_mode;
#if (defined(BSD))
const char *tuner_device;
#endif
const char *video_device;
const char *vidpipe;
const char *filepath;
const char *jpegpath;
const char *mpegpath;
const char *snappath;
const char *timepath;
char *on_event_start;
char *on_event_end;
const char *mask_file;
int smart_mask_speed;
int sql_log_image;
int sql_log_snapshot;
int sql_log_mpeg;
int sql_log_timelapse;
const char *sql_query;
const char *mysql_db;
const char *mysql_host;
const char *mysql_user;
const char *mysql_password;
char *on_picture_save;
char *on_motion_detected;
char *on_movie_start;
char *on_movie_end;
const char *motionvidpipe;
const char *netcam_url;
const char *netcam_userpass;
const char *netcam_proxy;
const char *pgsql_db;
const char *pgsql_host;
const char *pgsql_user;
const char *pgsql_password;
int pgsql_port;
int text_changes;
const char *text_left;
const char *text_right;
const char *text_event;
int text_double;
const char *despeckle;
int minimum_motion_frames;
char *pid_file;
// int debug_parameter;
int argc;
char **argv;
int correction_factor;
int in_timer;
int out_timer;
};
/**
* typedef for a param copy function.
*/
typedef struct context ** (* conf_copy_func)(struct context **, const char *, int);
typedef const char *(* conf_print_func)(struct context **, char **, int, int);
/**
* description for parameters in the config file
*/
typedef struct {
const char * param_name; /* name for this parameter */
const char * param_help; /* short explanation for parameter */
int conf_value; /* pointer to a field in struct context */
conf_copy_func copy; /* a function to set the value in 'config' */
conf_print_func print; /* a function to output the value to a file */
} config_param;
extern config_param config_params[];
struct context **conf_load (struct context **);
struct context **conf_cmdparse(struct context **, const char *, const char *);
const char *config_type(config_param *);
void conf_print (struct context **);
void malloc_strings (struct context *);
char *mystrdup(const char *);
char *mystrcpy(char *, const char *);
struct context **copy_string(struct context **, const char *, int);
#endif /* _INCLUDE_CONF_H */