207 lines
6.5 KiB
Text
207 lines
6.5 KiB
Text
|
|
$FreeBSD$
|
|
|
|
--- libapm.c.orig Fri Jun 19 02:28:23 1998
|
|
+++ libapm.c Sun Aug 22 23:31:55 2004
|
|
@@ -8,12 +8,19 @@
|
|
/* */
|
|
/***********************************************************/
|
|
|
|
+#undef HAVE_GETOPT_LONG
|
|
+#ifdef __linux__
|
|
+#define HAVE_GETOPT_LONG 1
|
|
+#endif
|
|
+
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <sys/types.h>
|
|
#include <string.h>
|
|
#include <ctype.h>
|
|
+#ifdef HAVE_GETOPT_LONG
|
|
#include <getopt.h>
|
|
+#endif
|
|
#include <fcntl.h>
|
|
#include <unistd.h>
|
|
#include <sys/mman.h>
|
|
@@ -63,6 +70,7 @@
|
|
int r;
|
|
char c;
|
|
|
|
+#ifdef HAVE_GETOPT_LONG
|
|
struct option longopts[] = {
|
|
{ "Help", 0, 0, 'h' },
|
|
{ "Version", 0, 0, 'v' },
|
|
@@ -78,6 +86,7 @@
|
|
#endif /* CMOS_ACCESS */
|
|
{0, 0, 0, 0}
|
|
};
|
|
+#endif
|
|
|
|
if( 0 != geteuid() ){
|
|
printf("%s: Only root can execute !!\n", argv[0]);
|
|
@@ -98,8 +107,12 @@
|
|
|
|
get_status();
|
|
|
|
+#ifdef HAVE_GETOPT_LONG
|
|
while ((c = getopt_long(argc,argv,
|
|
"hvP:T:a:S:A:L:V:O:", longopts, NULL)) != -1) {
|
|
+#else
|
|
+ while ((c = getopt(argc,argv, "hvP:T:a:S:A:L:V:O:")) != -1) {
|
|
+#endif
|
|
switch (c) {
|
|
case 'h':
|
|
usage();
|
|
@@ -189,7 +202,7 @@
|
|
case '?':
|
|
usage();
|
|
break;
|
|
- default:
|
|
+ default: break;
|
|
}
|
|
}
|
|
#ifdef DEBUG
|
|
@@ -215,29 +228,60 @@
|
|
void usage(void)
|
|
{
|
|
#ifdef CMOS_ACCESS
|
|
- printf("
|
|
-usage: libapm [-v --Version]
|
|
- [-h --Help]
|
|
- [-P --PowerUp {boot,hibernation}]
|
|
- [-T --StandbyTime {0,5,10,15,30,45,60,unlimit}]
|
|
- [-a --AutoOff {disable,10,20,30,40,50,60}]
|
|
- [-S --PanelSwitch {disable,enable}]
|
|
- [-A --AlarmOn {disable,<time>}]
|
|
- [-L --LcdPower {0,1,2,3}]
|
|
+# ifdef HAVE_GETOPT_LONG
|
|
+ printf("\n\
|
|
+usage: libretto-config [-v --Version]\n\
|
|
+ [-h --Help]\n\
|
|
+ [-P --PowerUp {boot,hibernation}]\n\
|
|
+ [-T --StandbyTime {0,5,10,15,30,45,60,unlimit}]\n\
|
|
+ [-a --AutoOff {disable,10,20,30,40,50,60}]\n\
|
|
+ [-S --PanelSwitch {disable,enable}]\n\
|
|
+ [-A --AlarmOn {disable,<time>}]\n\
|
|
+ [-L --LcdPower {0,1,2,3}]\n\
|
|
\n");
|
|
-#else
|
|
- printf("
|
|
-usage: libapm [-v --Version]
|
|
- [-h --Help]
|
|
- [-P --PowerUp {boot,hibernation}]
|
|
- [-T --StandbyTime {0,5,10,15,30,45,60,unlimit}]
|
|
- [-a --AutoOff {disable,10,20,30,40,50,60}]
|
|
- [-S --PanelSwitch {disable,enable}]
|
|
- [-A --AlarmOn {disable,<time>}]
|
|
- [-L --LcdPower {0,1,2,3}]
|
|
- [-V --Volume {0,1,2,3}]
|
|
- [-O --Off {suspend|hibernation} Use Only >= Libretto100]
|
|
+# else /* not HAVE_GETOPT_LONG */
|
|
+ printf("\n\
|
|
+usage: libretto-config [-v : Version]\n\
|
|
+ [-h : Help]\n\
|
|
+ [-P {boot,hibernation} : PowerUp]\n\
|
|
+ [-T {0,5,10,15,30,45,60,unlimit} : StandbyTime]\n\
|
|
+ [-a {disable,10,20,30,40,50,60} : AutoOff]\n\
|
|
+ [-S {disable,enable} : PanelSwitch]\n\
|
|
+ [-A {disable,<time>} : AlarmOn]\n\
|
|
+ [-L {0,1,2,3} : LcdPower]\n\
|
|
+ \n");
|
|
+# endif /* HAVE_GETOPT_LONG */
|
|
+
|
|
+#else /* not CMOS_ACCESS */
|
|
+
|
|
+# ifdef HAVE_GETOPT_LONG
|
|
+ printf("\
|
|
+usage: libretto-config [-v --Version]\n\
|
|
+ [-h --Help]\n\
|
|
+ [-P --PowerUp {boot,hibernation}]\n\
|
|
+ [-T --StandbyTime {0,5,10,15,30,45,60,unlimit}]\n\
|
|
+ [-a --AutoOff {disable,10,20,30,40,50,60}]\n\
|
|
+ [-S --PanelSwitch {disable,enable}]\n\
|
|
+ [-A --AlarmOn {disable,<time>}]\n\
|
|
+ [-L --LcdPower {0,1,2,3}]\n\
|
|
+ [-V --Volume {0,1,2,3}]\n\
|
|
+ [-O --Off {suspend|hibernation} Use Only >= Libretto100]\n\
|
|
\n");
|
|
+# else /* not HAVE_GETOPT_LONG */
|
|
+ printf("\
|
|
+usage: libretto-config [-v : Version]\n\
|
|
+ [-h : Help]\n\
|
|
+ [-P {boot,hibernation} : PowerUp]\n\
|
|
+ [-T {0,5,10,15,30,45,60,unlimit} : StandbyTime]\n\
|
|
+ [-a {disable,10,20,30,40,50,60} : AutoOff]\n\
|
|
+ [-S {disable,enable} : PanelSwitch]\n\
|
|
+ [-A {disable,<time>} : AlarmOn]\n\
|
|
+ [-L {0,1,2,3} : LcdPower]\n\
|
|
+ [-V {0,1,2,3} : Volume]\n\
|
|
+ [-O {suspend|hibernation} : Off (Use Only>=Libretto100)]\n\
|
|
+ \n");
|
|
+# endif /* HAVE_GETOPT_LONG */
|
|
+
|
|
#endif /* CMOS_ACCESS */
|
|
exit(1);
|
|
}
|
|
@@ -246,7 +290,11 @@
|
|
void init(void)
|
|
{
|
|
/* SMI port */
|
|
+#ifdef __linux__
|
|
ioperm(0xb2, 1, 1);
|
|
+#else
|
|
+ open("/dev/io", O_RDWR, 0);
|
|
+#endif
|
|
}
|
|
#endif /* CMOS_ACCESS */
|
|
|
|
@@ -754,29 +802,29 @@
|
|
#endif /* CMOS_ACCESS */
|
|
|
|
#ifndef CMOS_ACCESS
|
|
- printf("
|
|
-Power Management for Libretto V%-8s
|
|
-+-----------------------------------------------------------+
|
|
-| 0) Power-up Mode : %-32s|
|
|
-| 1) Standby Time : %-32s|
|
|
-| 2) System Auto Off : %-32s|
|
|
-| 3) Panel Power On/Off : %-32s|
|
|
-| 4) Alarm Power On : %-32s|
|
|
-| 5) LCD Power : %-32s|
|
|
-| 6) Volume : %-32s|
|
|
-| 7) Off (Suspend/Hiber): %-32s|
|
|
+ printf("\
|
|
+Power Management for Libretto V%-8s\n\
|
|
++-----------------------------------------------------------+\n\
|
|
+| 0) Power-up Mode : %-32s|\n\
|
|
+| 1) Standby Time : %-32s|\n\
|
|
+| 2) System Auto Off : %-32s|\n\
|
|
+| 3) Panel Power On/Off : %-32s|\n\
|
|
+| 4) Alarm Power On : %-32s|\n\
|
|
+| 5) LCD Power : %-32s|\n\
|
|
+| 6) Volume : %-32s|\n\
|
|
+| 7) Off (Suspend/Hiber): %-32s|\n\
|
|
+-----------------------------------------------------------+\n\n",
|
|
version, s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7]);
|
|
#else
|
|
- printf("
|
|
-Power Management for Libretto V%-8s
|
|
-+-----------------------------------------------------------+
|
|
-| 0) Power-up Mode : %-32s|
|
|
-| 1) Standby Time : %-32s|
|
|
-| 2) System Auto Off : %-32s|
|
|
-| 3) Panel Power On/Off : %-32s|
|
|
-| 4) Alarm Power On : %-32s|
|
|
-| 5) LCD Power : %-32s|
|
|
+ printf("\
|
|
+Power Management for Libretto V%-8s\n\
|
|
++-----------------------------------------------------------+\n\
|
|
+| 0) Power-up Mode : %-32s|\n\
|
|
+| 1) Standby Time : %-32s|\n\
|
|
+| 2) System Auto Off : %-32s|\n\
|
|
+| 3) Panel Power On/Off : %-32s|\n\
|
|
+| 4) Alarm Power On : %-32s|\n\
|
|
+| 5) LCD Power : %-32s|\n\
|
|
+-----------------------------------------------------------+\n\n",
|
|
version, s[0], s[1], s[2], s[3], s[4], s[5]);
|
|
#endif /* CMOS_ACCESS */
|