make LPT port configurable
This commit is contained in:
parent
7ecbe35d83
commit
4c1fb5fa9d
11
yasnd.c
11
yasnd.c
@ -20,6 +20,8 @@ char* phone_device=NULL; // phone device for gammu, for example: "/dev/ttyACM0"
|
|||||||
char* phone_model=NULL; // gammu phone model, for example: "at"
|
char* phone_model=NULL; // gammu phone model, for example: "at"
|
||||||
char* phone_connection=NULL; // gammu phone connection type, for example: "at"
|
char* phone_connection=NULL; // gammu phone connection type, for example: "at"
|
||||||
char* recipient_number=NULL; // recipient of sms alerts
|
char* recipient_number=NULL; // recipient of sms alerts
|
||||||
|
bool lpt_enable=false; // control usage of LPT port to reset target devices
|
||||||
|
int lpt_port=0x378; // LPT port in hex(0x378 is usually LPT1)
|
||||||
bool loop_locked=false ; // flag for locking main loop while config re-reading
|
bool loop_locked=false ; // flag for locking main loop while config re-reading
|
||||||
int failures_first=3 ; // count of failures while hosts checking, that triggers first SMS sending
|
int failures_first=3 ; // count of failures while hosts checking, that triggers first SMS sending
|
||||||
pid_t mainloop_clone_pid; // pid of clone process, that containt main loop
|
pid_t mainloop_clone_pid; // pid of clone process, that containt main loop
|
||||||
@ -52,6 +54,8 @@ void init()
|
|||||||
cfg_opt_t opts[] = {
|
cfg_opt_t opts[] = {
|
||||||
CFG_STR_LIST("hosts", "{}", CFGF_NONE),
|
CFG_STR_LIST("hosts", "{}", CFGF_NONE),
|
||||||
CFG_SIMPLE_INT("debug", &debug_flag),
|
CFG_SIMPLE_INT("debug", &debug_flag),
|
||||||
|
CFG_SIMPLE_BOOL("lpt_enable", &lpt_enable),
|
||||||
|
CFG_SIMPLE_INT("lpt_port", &lpt_port),
|
||||||
CFG_SIMPLE_BOOL("sms_send_enable", &sms_send_enable),
|
CFG_SIMPLE_BOOL("sms_send_enable", &sms_send_enable),
|
||||||
CFG_SIMPLE_STR("phone_device", &phone_device),
|
CFG_SIMPLE_STR("phone_device", &phone_device),
|
||||||
CFG_SIMPLE_STR("phone_model", &phone_connection),
|
CFG_SIMPLE_STR("phone_model", &phone_connection),
|
||||||
@ -146,17 +150,16 @@ void reset_pin(int pin_num)
|
|||||||
log_event("Error: incorrent LPT pin number");
|
log_event("Error: incorrent LPT pin number");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#define LPTPORT 0x378
|
|
||||||
int pins = 2<<(pin_num-1);
|
int pins = 2<<(pin_num-1);
|
||||||
if (ioperm (LPTPORT, 3, 1))
|
if (ioperm (lpt_port, 3, 1))
|
||||||
{
|
{
|
||||||
log_event("Error: LPT port access error");
|
log_event("Error: LPT port access error");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
// Reset host
|
// Reset host
|
||||||
outb (pins, LPTPORT);
|
outb (pins, lpt_port);
|
||||||
sleep(1);
|
sleep(1);
|
||||||
outb (0, LPTPORT);
|
outb (0, lpt_port);
|
||||||
}
|
}
|
||||||
|
|
||||||
int loop_function()
|
int loop_function()
|
||||||
|
Loading…
Reference in New Issue
Block a user