Prepare for the apm_saver screen saver module.

1. Break out the definition of the soft state structure into an include
file.

2. un-static the soft state and apm_display(), and group them under a
comment that notes the dependency.
This commit is contained in:
Nick Sayer 1999-10-02 03:34:15 +00:00
parent 8167cb1aef
commit dd35cab101
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=51850
4 changed files with 100 additions and 50 deletions

View File

@ -44,37 +44,20 @@
#include <machine/pc/bios.h>
#include <machine/vm86.h>
static int apm_display __P((int newstate));
#include <i386/apm/apm.h>
/* Used by the apm_saver screen saver module */
int apm_display __P((int newstate));
struct apm_softc apm_softc;
static void apm_resume __P((void));
static int apm_bioscall(void);
static int apm_check_function_supported __P((u_int version, u_int func));
static u_long apm_version;
#define APM_NEVENTS 16
#define APM_NPMEV 13
int apm_evindex;
/* static data */
struct apm_softc {
int initialized, active, bios_busy;
int always_halt_cpu, slow_idle_cpu;
int disabled, disengaged;
int standby_countdown, suspend_countdown;
u_int minorversion, majorversion;
u_int intversion, connectmode;
u_int standbys, suspends;
struct bios_args bios;
struct apmhook sc_suspend;
struct apmhook sc_resume;
struct selinfo sc_rsel;
int sc_flags;
int event_count;
int event_ptr;
struct apm_event_info event_list[APM_NEVENTS];
u_char event_filter[APM_NPMEV];
};
#define SCFLAG_ONORMAL 0x0000001
#define SCFLAG_OCTL 0x0000002
#define SCFLAG_OPEN (SCFLAG_ONORMAL|SCFLAG_OCTL)
@ -83,7 +66,6 @@ struct apm_softc {
#define APMDEV_NORMAL 0
#define APMDEV_CTL 8
static struct apm_softc apm_softc;
static struct apmhook *hook[NAPM_HOOK]; /* XXX */
#define is_enabled(foo) ((foo) ? "enabled" : "disabled")
@ -278,7 +260,7 @@ apm_suspend_system(int state)
* If your laptop can control the display via APM, please inform me.
* HOSOKAWA, Tatsumi <hosokawa@jp.FreeBSD.org>
*/
static int
int
apm_display(int newstate)
{
struct apm_softc *sc = &apm_softc;

43
sys/i386/apm/apm.h Normal file
View File

@ -0,0 +1,43 @@
/*
* APM (Advanced Power Management) BIOS Device Driver
*
* Copyright (c) 1994 UKAI, Fumitoshi.
* Copyright (c) 1994-1995 by HOSOKAWA, Tatsumi <hosokawa@jp.FreeBSD.org>
* Copyright (c) 1996 Nate Williams <nate@FreeBSD.org>
* Copyright (c) 1997 Poul-Henning Kamp <phk@FreeBSD.org>
*
* This software may be used, modified, copied, and distributed, in
* both source and binary form provided that the above copyright and
* these terms are retained. Under no circumstances is the author
* responsible for the proper functioning of this software, nor does
* the author assume any responsibility for damages incurred with its
* use.
*
* Sep, 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD)
*
* $FreeBSD$
*/
#define APM_NEVENTS 16
#define APM_NPMEV 13
/* static data */
struct apm_softc {
int initialized, active, bios_busy;
int always_halt_cpu, slow_idle_cpu;
int disabled, disengaged;
int standby_countdown, suspend_countdown;
u_int minorversion, majorversion;
u_int intversion, connectmode;
u_int standbys, suspends;
struct bios_args bios;
struct apmhook sc_suspend;
struct apmhook sc_resume;
struct selinfo sc_rsel;
int sc_flags;
int event_count;
int event_ptr;
struct apm_event_info event_list[APM_NEVENTS];
u_char event_filter[APM_NPMEV];
};

View File

@ -44,37 +44,20 @@
#include <machine/pc/bios.h>
#include <machine/vm86.h>
static int apm_display __P((int newstate));
#include <i386/apm/apm.h>
/* Used by the apm_saver screen saver module */
int apm_display __P((int newstate));
struct apm_softc apm_softc;
static void apm_resume __P((void));
static int apm_bioscall(void);
static int apm_check_function_supported __P((u_int version, u_int func));
static u_long apm_version;
#define APM_NEVENTS 16
#define APM_NPMEV 13
int apm_evindex;
/* static data */
struct apm_softc {
int initialized, active, bios_busy;
int always_halt_cpu, slow_idle_cpu;
int disabled, disengaged;
int standby_countdown, suspend_countdown;
u_int minorversion, majorversion;
u_int intversion, connectmode;
u_int standbys, suspends;
struct bios_args bios;
struct apmhook sc_suspend;
struct apmhook sc_resume;
struct selinfo sc_rsel;
int sc_flags;
int event_count;
int event_ptr;
struct apm_event_info event_list[APM_NEVENTS];
u_char event_filter[APM_NPMEV];
};
#define SCFLAG_ONORMAL 0x0000001
#define SCFLAG_OCTL 0x0000002
#define SCFLAG_OPEN (SCFLAG_ONORMAL|SCFLAG_OCTL)
@ -83,7 +66,6 @@ struct apm_softc {
#define APMDEV_NORMAL 0
#define APMDEV_CTL 8
static struct apm_softc apm_softc;
static struct apmhook *hook[NAPM_HOOK]; /* XXX */
#define is_enabled(foo) ((foo) ? "enabled" : "disabled")
@ -278,7 +260,7 @@ apm_suspend_system(int state)
* If your laptop can control the display via APM, please inform me.
* HOSOKAWA, Tatsumi <hosokawa@jp.FreeBSD.org>
*/
static int
int
apm_display(int newstate)
{
struct apm_softc *sc = &apm_softc;

43
sys/i386/bios/apm.h Normal file
View File

@ -0,0 +1,43 @@
/*
* APM (Advanced Power Management) BIOS Device Driver
*
* Copyright (c) 1994 UKAI, Fumitoshi.
* Copyright (c) 1994-1995 by HOSOKAWA, Tatsumi <hosokawa@jp.FreeBSD.org>
* Copyright (c) 1996 Nate Williams <nate@FreeBSD.org>
* Copyright (c) 1997 Poul-Henning Kamp <phk@FreeBSD.org>
*
* This software may be used, modified, copied, and distributed, in
* both source and binary form provided that the above copyright and
* these terms are retained. Under no circumstances is the author
* responsible for the proper functioning of this software, nor does
* the author assume any responsibility for damages incurred with its
* use.
*
* Sep, 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD)
*
* $FreeBSD$
*/
#define APM_NEVENTS 16
#define APM_NPMEV 13
/* static data */
struct apm_softc {
int initialized, active, bios_busy;
int always_halt_cpu, slow_idle_cpu;
int disabled, disengaged;
int standby_countdown, suspend_countdown;
u_int minorversion, majorversion;
u_int intversion, connectmode;
u_int standbys, suspends;
struct bios_args bios;
struct apmhook sc_suspend;
struct apmhook sc_resume;
struct selinfo sc_rsel;
int sc_flags;
int event_count;
int event_ptr;
struct apm_event_info event_list[APM_NEVENTS];
u_char event_filter[APM_NPMEV];
};