summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/apm/apm.86
-rw-r--r--usr.sbin/apm/apm.c63
-rw-r--r--usr.sbin/apmd/apmsubr.c4
3 files changed, 46 insertions, 27 deletions
diff --git a/usr.sbin/apm/apm.8 b/usr.sbin/apm/apm.8
index ec81a2156b6..23e3fc6ddb1 100644
--- a/usr.sbin/apm/apm.8
+++ b/usr.sbin/apm/apm.8
@@ -1,4 +1,4 @@
-.\" $OpenBSD: apm.8,v 1.26 2006/01/19 19:17:10 sturm Exp $
+.\" $OpenBSD: apm.8,v 1.27 2006/01/28 17:08:13 sturm Exp $
.\"
.\" Copyright (c) 1996 John T. Kohl
.\" All rights reserved.
@@ -38,7 +38,7 @@
.Op Fl f Ar sockname
.Br
.Nm apm
-.Op Fl AabCHLlmPSsvz
+.Op Fl AabCHLlmPSvz
.Op Fl f Ar sockname
.Sh DESCRIPTION
.Nm
@@ -95,8 +95,6 @@ Display the performance adjustment mode.
mode, 3 means automatic mode, and 4 means cool running mode.
.It Fl S
Put the system into stand-by (light sleep) mode.
-.It Fl s
-Display if power management is enabled.
.It Fl v
Request more verbose description of the displayed states.
.It Fl z
diff --git a/usr.sbin/apm/apm.c b/usr.sbin/apm/apm.c
index 11b1d97bacc..39fbe1319a7 100644
--- a/usr.sbin/apm/apm.c
+++ b/usr.sbin/apm/apm.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: apm.c,v 1.16 2006/01/19 19:17:10 sturm Exp $ */
+/* $OpenBSD: apm.c,v 1.17 2006/01/28 17:08:13 sturm Exp $ */
/*
* Copyright (c) 1996 John T. Kohl
@@ -58,7 +58,7 @@ int send_command(int fd, struct apm_command *cmd, struct apm_reply *reply);
void
usage(void)
{
- fprintf(stderr,"usage: %s [-AabCHLlmPSsvz] [-f sockname]\n",
+ fprintf(stderr,"usage: %s [-AabCHLlmPSvz] [-f sockname]\n",
__progname);
exit(1);
}
@@ -137,7 +137,6 @@ int
main(int argc, char *argv[])
{
const char *sockname = _PATH_APM_SOCKET;
- int dostatus = FALSE;
int doac = FALSE;
int dopct = FALSE;
int dobstate = FALSE;
@@ -149,7 +148,7 @@ main(int argc, char *argv[])
struct apm_command command;
struct apm_reply reply;
- while ((ch = getopt(argc, argv, "ACHLlmbvaPsSzf:")) != -1) {
+ while ((ch = getopt(argc, argv, "ACHLlmbvaPSzf:")) != -1) {
switch (ch) {
case 'v':
verbose = TRUE;
@@ -187,12 +186,6 @@ main(int argc, char *argv[])
usage();
action = SETPERF_LOW;
break;
- case 's':
- if (action != NONE && action != GETSTATUS)
- usage();
- dostatus = TRUE;
- action = GETSTATUS;
- break;
case 'b':
if (action != NONE && action != GETSTATUS)
usage();
@@ -236,8 +229,7 @@ main(int argc, char *argv[])
switch (action) {
case NONE:
action = GETSTATUS;
- verbose = doac = dopct = dobstate = dostatus = domin = TRUE;
- doperf = TRUE;
+ verbose = doac = dopct = dobstate = domin = doperf = TRUE;
/* FALLTHROUGH */
case GETSTATUS:
if (fd == -1) {
@@ -284,19 +276,28 @@ main(int argc, char *argv[])
if (doac)
printf("%d\n",
reply.batterystate.ac_state);
- if (dostatus)
- printf("1\n");
if (doperf)
printf("%d\n", reply.perfstate);
break;
}
- if (dobstate)
- printf("Battery state: %s\n",
+
+ if (dobstate) {
+ printf("Battery state: %s",
battstate(reply.batterystate.battery_state));
- if (dopct)
- printf("Battery remaining: %d percent\n",
+ if (!dopct && !domin)
+ printf("\n");
+ }
+
+ if (dopct && !dobstate)
+ printf("Battery remaining: %d percent",
reply.batterystate.battery_life);
- if (domin) {
+ else if (dopct)
+ printf(", %d %% remaining",
+ reply.batterystate.battery_life);
+ if (dopct && !domin)
+ printf("\n");
+
+ if (domin && !dobstate && !dopct) {
#ifdef __powerpc__
if (reply.batterystate.battery_state ==
APM_BATT_CHARGING)
@@ -318,15 +319,35 @@ main(int argc, char *argv[])
printf("%d minutes\n",
reply.batterystate.minutes_left);
}
+ } else if (domin) {
+#ifdef __powerpc__
+ if (reply.batterystate.battery_state ==
+ APM_BATT_CHARGING)
+ printf(", %d minutes recharge time estimate\n",
+ reply.batterystate.minutes_left);
+ else if (reply.batterystate.minutes_left == 0 &&
+ reply.batterystate.battery_life > 10)
+ printf(", unknown life estimate\n");
+ else
+#endif
+ {
+ if (reply.batterystate.minutes_left ==
+ (u_int)-1)
+ printf(", unknown");
+ else
+ printf(", %d minutes",
+ reply.batterystate.minutes_left);
+ printf(" life estimate\n");
+ }
}
+
if (doac)
printf("A/C adapter state: %s\n",
ac_state(reply.batterystate.ac_state));
+
if (doperf)
printf("Performance state: %s (%d MHz)\n",
perf_state(reply.perfstate), reply.cpuspeed);
- if (dostatus)
- printf("Power management enabled\n");
break;
default:
break;
diff --git a/usr.sbin/apmd/apmsubr.c b/usr.sbin/apmd/apmsubr.c
index 836a333bf11..fc0d3eb557f 100644
--- a/usr.sbin/apmd/apmsubr.c
+++ b/usr.sbin/apmd/apmsubr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: apmsubr.c,v 1.6 2006/01/19 19:17:10 sturm Exp $ */
+/* $OpenBSD: apmsubr.c,v 1.7 2006/01/28 17:08:14 sturm Exp $ */
/*
* Copyright (c) 1995,1996 John T. Kohl
@@ -48,7 +48,7 @@ battstate(int state)
case APM_BATTERY_ABSENT:
return "absent";
case APM_BATT_UNKNOWN:
- return "unknown (absent?)";
+ return "unknown";
default:
return "invalid battery state";
}