xref: /freebsd-11-stable/sys/i386/bios/apm.h (revision 58b1b477298417313754ad0e06923306974e75e2)
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 */
29 struct apm_softc {
30 #ifdef PC98
31 	bus_space_tag_t		sc_iot;
32 	bus_space_handle_t	sc_ioh;
33 	struct resource 	*sc_res;
34 #endif
35 	struct mtx	mtx;
36 	struct cv	cv;
37 	struct proc	*event_thread;
38 	int	initialized, active, running, bios_busy;
39 	int	always_halt_cpu, slow_idle_cpu;
40 	int	disabled, disengaged;
41 	int	suspending;
42 	int	standby_countdown, suspend_countdown;
43 	u_int	minorversion, majorversion;
44 	u_int	intversion, connectmode;
45 	u_int	standbys, suspends;
46 	struct bios_args bios;
47 	struct apmhook sc_suspend;
48 	struct apmhook sc_resume;
49 	struct selinfo sc_rsel;
50 	int	sc_flags;
51 	int	event_count;
52 	int	event_ptr;
53 	struct	apm_event_info event_list[APM_NEVENTS];
54 	u_char	event_filter[APM_NPMEV];
55 };
56 
57 #endif /* !__APM_H__ */
58