version 1.1.2.5, 2011/07/22 15:03:30
|
version 1.1.2.12, 2012/04/05 12:22:44
|
Line 12 terms:
|
Line 12 terms:
|
All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
|
|
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 | Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
Line 49 SUCH DAMAGE.
|
Line 49 SUCH DAMAGE.
|
|
|
int Verbose, Kill; |
int Verbose, Kill; |
extern char compiled[], compiledby[], compilehost[]; |
extern char compiled[], compiledby[], compilehost[]; |
sl_config cfg; | cfg_root_t cfg; |
char szConf[MAXPATHLEN] = DEFAULT_PCENG_CFG; |
char szConf[MAXPATHLEN] = DEFAULT_PCENG_CFG; |
|
|
|
|
Line 58 Usage()
|
Line 58 Usage()
|
{ |
{ |
printf( "-= PCEngines =- events managment tool\n" |
printf( "-= PCEngines =- events managment tool\n" |
"=== %s === %s@%s ===\n\n" |
"=== %s === %s@%s ===\n\n" |
" Syntax: pceng [options] [[led_no <0|1>] ...]\n" | " Syntax: pceng [options] [led_no[=<0|1>] ...]\n" |
"\n" |
"\n" |
"\t-v\t\tVerbose ...\n" |
"\t-v\t\tVerbose ...\n" |
"\t-D\t\tRun in background mode ...\n" |
"\t-D\t\tRun in background mode ...\n" |
Line 73 sigHand(int sig)
|
Line 73 sigHand(int sig)
|
|
|
switch (sig) { |
switch (sig) { |
case SIGHUP: |
case SIGHUP: |
UnloadConfig(&cfg); | cfgUnloadConfig(&cfg); |
if (LoadConfig(szConf, &cfg)) { | if (cfgLoadConfig(szConf, &cfg)) { |
syslog(LOG_ERR, "Error:: #%d - %s", cfg_GetErrno(), cfg_GetError()); |
syslog(LOG_ERR, "Error:: #%d - %s", cfg_GetErrno(), cfg_GetError()); |
raise(SIGTERM); |
raise(SIGTERM); |
} |
} |
Line 93 sigHand(int sig)
|
Line 93 sigHand(int sig)
|
int |
int |
main(int argc, char **argv) |
main(int argc, char **argv) |
{ |
{ |
char ch, ledno; | char ch, ledno, *pos; |
int i, io, ret = 0, mode = 1; | int i, ret = 0, mode = 1; |
struct sigaction sact; |
struct sigaction sact; |
|
#ifdef __FreeBSD__ |
|
int io; |
|
#endif |
|
|
while ((ch = getopt(argc, argv, "vhDc:")) != -1) |
while ((ch = getopt(argc, argv, "vhDc:")) != -1) |
switch (ch) { |
switch (ch) { |
Line 121 main(int argc, char **argv)
|
Line 124 main(int argc, char **argv)
|
else |
else |
openlog("pceng", LOG_CONS | LOG_PID | LOG_PERROR, LOG_USER); |
openlog("pceng", LOG_CONS | LOG_PID | LOG_PERROR, LOG_USER); |
|
|
io = open(_PATH_DEVIO, O_RDWR); | #ifdef __FreeBSD__ |
| io = open(_PATH_DEVIO, O_RDONLY); |
if (io == -1) { |
if (io == -1) { |
printf("Error:: in open dev %s #%d - %s\n", _PATH_DEVIO, errno, strerror(errno)); |
printf("Error:: in open dev %s #%d - %s\n", _PATH_DEVIO, errno, strerror(errno)); |
ret = 2; |
ret = 2; |
goto end; |
goto end; |
} |
} |
|
#endif |
|
|
if (argc > 1 && !(argc % 2)) { | if (cfgLoadConfig(szConf, &cfg)) { |
for (i = 0; !ret && i < argc; i += 2) { | |
ledno = (char) strtol(argv[i], NULL, 0); | |
ch = (char) strtol(argv[i + 1], NULL, 0); | |
ret = LED(io, (u_char) ledno, (u_char) ch); | |
} | |
if (ret) | |
goto end; | |
} | |
| |
if (LoadConfig(szConf, &cfg)) { | |
printf("Error:: #%d - %s\n", cfg_GetErrno(), cfg_GetError()); |
printf("Error:: #%d - %s\n", cfg_GetErrno(), cfg_GetError()); |
ret = 1; |
ret = 1; |
goto end; |
goto end; |
} |
} |
|
|
|
if (argc) { |
|
VERB(1) syslog(LOG_WARNING, "LED client ..."); |
|
for (i = 0; !ret && i < argc; pos = NULL, i++) { |
|
if ((pos = strchr(argv[i], '='))) { |
|
*pos++ = 0; |
|
ledno = (char) strtol(argv[i], NULL, 0); |
|
ch = (char) strtol(pos, NULL, 0); |
|
} else { |
|
ledno = (char) strtol(argv[i], NULL, 0); |
|
ch = -1; |
|
} |
|
ret = LED((u_char) ledno, (u_char) ch); |
|
printf("%s:: LED#%d=%d\n", (ch == -1) ? "Get" : "Set", ledno, ret); |
|
} |
|
goto end; |
|
} |
|
|
sact.sa_handler = sigHand; |
sact.sa_handler = sigHand; |
sigemptyset(&sact.sa_mask); |
sigemptyset(&sact.sa_mask); |
sigaction(SIGHUP, &sact, NULL); |
sigaction(SIGHUP, &sact, NULL); |
Line 175 main(int argc, char **argv)
|
Line 187 main(int argc, char **argv)
|
goto end; |
goto end; |
} |
} |
|
|
ret = Run(io); | ret = Run(); |
|
|
end: |
end: |
UnloadConfig(&cfg); | cfgUnloadConfig(&cfg); |
| #ifdef __FreeBSD__ |
if (io > 2) |
if (io > 2) |
close(io); |
close(io); |
|
#endif |
closelog(); |
closelog(); |
return ret; |
return ret; |
} |
} |