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#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