From owner-acpi-jp@jp.freebsd.org  Sat Dec  4 00:54:18 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id AAA10731;
	Sat, 4 Dec 1999 00:54:18 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from light.imasy.or.jp (root@light.imasy.or.jp [202.227.24.4])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id AAA10726
	for <acpi-jp@jp.freebsd.org>; Sat, 4 Dec 1999 00:54:16 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Received: from tasogare.imasy.or.jp (daemon@tasogare.imasy.or.jp [202.227.24.5])
	by light.imasy.or.jp (8.9.3+3.2W/3.7W-light) with ESMTP id AAA20183
	for <acpi-jp@jp.freebsd.org>; Sat, 4 Dec 1999 00:54:14 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Received: from localhost (isdnb04.imasy.or.jp [202.227.24.132])
	by tasogare.imasy.or.jp (8.9.3+3.2W/3.7W-tasogare/smtpfeed 1.01) with ESMTP id AAA24113
	for <acpi-jp@jp.freebsd.org>; Sat, 4 Dec 1999 00:54:06 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Message-Id: <199912031554.AAA24113@tasogare.imasy.or.jp>
To: acpi-jp@jp.freebsd.org
In-Reply-To: Your message of "Fri, 03 Dec 1999 00:14:21 +0900"
	<199912021514.AAA16187@tasogare.imasy.or.jp>
References: <199912021514.AAA16187@tasogare.imasy.or.jp>
X-Mailer: Mew version 1.93 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Date: Sat, 04 Dec 1999 00:54:04 +0900
From: Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
X-Dispatcher: imput version 980905(IM100)
Lines: 111
Reply-To: acpi-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: acpi-jp 136
Subject: [acpi-jp 136] Re: acpiconf enhancement
Errors-To: owner-acpi-jp@jp.freebsd.org
Sender: owner-acpi-jp@jp.freebsd.org
X-Originator: iwasaki@jp.freebsd.org

> $B<!$N%?!<%2%C%H$O!"(B
> >  - ioctl $B7PM3$G(B _Sx $B$NCM$r65$($k!"(Bsleeping state $BA+0\!"(B
> >    acpi enable/disable $BEy(B
> $B$3$l$"$?$j$I$&$G$7$g$&(B?  $B$I$J$?$+$3$l$N=`Hw$*4j$$$G$-$^$9(B?

$B$A$g$C$H9M$($F$_$^$7$?!#$"$s$^$j7]$,$"$j$^$;$s$,!"(B
acpiconf [-e] [-d] [-s sleep_type] [-f dsdt_file]
$B$3$s$J46$8$G$I$&$G$7$g$&(B?
$B$H$j$"$($:%Q%C%A$b$D$1$F$*$-$^$9$N$G!"Cf?H$rKd$a$F$/$l$kJ}!"(B
$BJg=8$7$^$9!#(B

Index: parse.c
===================================================================
RCS file: /home/cvs/ACPI/util/acpiconf/parse.c,v
retrieving revision 1.5
diff -u -r1.5 parse.c
--- parse.c	1999/12/02 08:06:28	1.5
+++ parse.c	1999/12/03 15:45:43
@@ -39,6 +39,7 @@
 #include "amlmem.h"
 #include <stdlib.h>
 #include <string.h>
+#include <unistd.h>
 struct aml_environ {
 	u_int8_t       *dp;
 	u_int8_t       *end;
@@ -1806,8 +1807,9 @@
 	env.curname = get_rootname();
 	command(&env);
 }
+
 int
-realmemmain(int argc, char **argv)
+load_dsdt()
 {
 	struct acpi_rsd_ptr *rp = acpi_find_rsd_ptr();
 	struct acpi_rsdt *rsdp;
@@ -1824,17 +1826,16 @@
 	acpi_handle_rsdt(rsdp);
 	return 0;
 }
+
 int
-main(int argc, char *argv[])
+load_dsdt_from(char *dsdtfile)
 {
 	struct aml_environ env;
 	u_int8_t       *code;
 	struct stat     sb;
 	int             fd;
-	if (argc <= 1) {
-		return realmemmain(argc, argv);
-	}
-	fd = open(argv[1], O_RDONLY, 0);
+
+	fd = open(dsdtfile, O_RDONLY, 0);
 	if (fd == -1) {
 		perror("open");
 		exit(-1);
@@ -1859,4 +1860,51 @@
 	env.curname = get_rootname();
 	command(&env);
 	return 0;
+}
+
+
+int
+acpi_enable()
+{
+	printf("to be enabled\n");
+	return 0;
+}
+
+int
+acpi_disable()
+{
+	printf("to be disabled\n");
+	return 0;
+}
+
+int
+acpi_sleep(int sleep_type)
+{
+	printf("to be slept (type %d)\n", sleep_type);
+	return 0;
+}
+
+int
+main(int argc, char *argv[])
+{
+	char		c;
+
+	while ((c = getopt(argc, argv, "f:s:ed")) != -1) {
+		switch (c) {
+		case 'e':
+			return acpi_enable();
+		case 'd':
+			return acpi_disable();
+		case 's':
+			load_dsdt();
+			return acpi_sleep(*optarg - '0');
+		case 'f':
+			return load_dsdt_from(optarg);
+		default:
+			argc -= optind;
+			argv += optind;
+		}
+	}
+
+	return load_dsdt();
 }
