xref: /freebsd-12.1/sys/i386/bios/apm.h (revision 2b375b4e)
1 /*-
2  * APM (Advanced Power Management) BIOS Device Driver
3  *
4  * Copyright (c) 1994 UKAI, Fumitoshi.
5  * Copyright (c) 1994-1995 by HOSOKAWA, Tatsumi <[email protected]>
6  * Copyright (c) 1996 Nate Williams <[email protected]>
7  * Copyright (c) 1997 Poul-Henning Kamp <[email protected]>
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 	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