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