apm.h revision 158922
1/*-
2 * APM (Advanced Power Management) BIOS Device Driver
3 *
4 * Copyright (c) 1994 UKAI, Fumitoshi.
5 * Copyright (c) 1994-1995 by HOSOKAWA, Tatsumi <hosokawa@jp.FreeBSD.org>
6 * Copyright (c) 1996 Nate Williams <nate@FreeBSD.org>
7 * Copyright (c) 1997 Poul-Henning Kamp <phk@FreeBSD.org>
8 *
9 * This software may be used, modified, copied, and distributed, in
10 * both source and binary form provided that the above copyright and
11 * these terms are retained. Under no circumstances is the author
12 * responsible for the proper functioning of this software, nor does
13 * the author assume any responsibility for damages incurred with its
14 * use.
15 *
16 * Sep, 1994	Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD)
17 *
18 * $FreeBSD: head/sys/i386/bios/apm.h 158922 2006-05-25 23:06:38Z imp $
19 */
20
21#define APM_NEVENTS 16
22#define APM_NPMEV   13
23#define APM_UNKNOWN	0xff
24
25/* static data */
26struct apm_softc {
27#ifdef PC98
28	bus_space_tag_t		sc_iot;
29	bus_space_handle_t	sc_ioh;
30	struct resource 	*sc_res;
31#endif
32	struct mtx	mtx;
33	struct cv	cv;
34	struct proc	*event_thread;
35	int	initialized, active, running, bios_busy;
36	int	always_halt_cpu, slow_idle_cpu;
37	int	disabled, disengaged;
38	int	suspending;
39	int	standby_countdown, suspend_countdown;
40	u_int	minorversion, majorversion;
41	u_int	intversion, connectmode;
42	u_int	standbys, suspends;
43	struct bios_args bios;
44	struct apmhook sc_suspend;
45	struct apmhook sc_resume;
46	struct selinfo sc_rsel;
47	int	sc_flags;
48	int	event_count;
49	int	event_ptr;
50	struct	apm_event_info event_list[APM_NEVENTS];
51	u_char	event_filter[APM_NPMEV];
52};
53
54