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$
19 */
20
21#ifndef __APM_H__
22#define	__APM_H__
23
24#define APM_NEVENTS 16
25#define APM_NPMEV   13
26#define APM_UNKNOWN	0xff
27
28/* static data */
29struct apm_softc {
30	struct mtx	mtx;
31	struct cv	cv;
32	struct proc	*event_thread;
33	int	initialized, active, running, bios_busy;
34	int	always_halt_cpu, slow_idle_cpu;
35	int	disabled, disengaged;
36	int	suspending;
37	int	standby_countdown, suspend_countdown;
38	u_int	minorversion, majorversion;
39	u_int	intversion, connectmode;
40	u_int	standbys, suspends;
41	struct bios_args bios;
42	struct apmhook sc_suspend;
43	struct apmhook sc_resume;
44	struct selinfo sc_rsel;
45	int	sc_flags;
46	int	event_count;
47	int	event_ptr;
48	struct	apm_event_info event_list[APM_NEVENTS];
49	u_char	event_filter[APM_NPMEV];
50};
51
52#endif /* !__APM_H__ */
53