/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1989-1994,1997-1998,2000 by Sun Microsystems, Inc.
* All rights reserved.
*/
#ifndef _SYS_FDVAR_H
#define _SYS_FDVAR_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef OTYPCNT
#endif
#ifndef NDKMAP
#endif
/*
* Compile with our without high level interrupt in trap window
*/
/* #define NO_TRAPWIN_INTR */
/*
* plus other manifest defines....
*/
/*
* Structure definitions for the floppy driver.
*/
/*
* floppy disk command and status block.
*
* Needed to execute a command. Since the floppy chip is
* single threaded with respect to having only one drive
* active at a time, this block of information is only
* valid for the length of a commnand and gets rewritten
* for each command.
*/
#ifndef _ASM
struct fdcsb {
};
#endif /* !_ASM */
/*
* defines for csb_opflags
*/
/*
* csb_read flags
*/
#ifndef _ASM
#ifndef _GENASSYM
/*
* Define a structure to hold the packed default labels,
* based on the real dk_label structure - but shorter
* than 512 bytes. Now only used to define default info
*/
struct packed_label {
};
/*
* Per drive data
*/
struct fdunit {
/*
* Packed label for this unit
*/
/*
* Pointer to iostat statistics
*/
/*
* Layered open counters
*/
/*
* Regular open type flags. If
* NDKMAP gets > 8, change the
* uchar_t type.
*
* Open types BLK, MNT, CHR, SWP
* assumed to be values 0-3.
*/
/*
* Exclusive open flags (per partition).
*
* The rules are that in order to open
* a partition exclusively, the partition
* must be completely closed already. Once
* any partition of the device is opened
* exclusively, no other open on that
* partition may succeed until the partition
* is closed.
*
* If NDKMAP gets > 8, this must change.
*/
/* type. If -1, then it was set */
/* via an ioctl. Note that a close */
/* and then and open loses the */
/* ioctl set characteristics. */
int un_ejected;
};
/* unit flags (state info) */
/* (the presence of a diskette is another matter) */
/* registers with current speed */
#endif /* !_GENASSYM */
/* unit flags for power (un_power) */
/*
* --------| fd_detach:DDI_SUSPEND ncmds may be != 0 |-----------|
* |running|------------------------------------------>| |
* |NORMAL | fd_attach:DDI_RESUME | |
* | |<------------------------------------------| SUSPENDED |
* | | | |
* | | -------------
* | | ^
* | | |DDI_SUSPEND
* | | |
* | | fd_power: PM_LEVEL_OFF, ncmds == 0 -------------
* | |------------------------------------------->|STOPPED |
* | | fd_power: PM_LEVEL_ON | |
* | |<-------------------------------------------| |
* -------- ------------|
*
* running => FD_STATE_NORMAL
*
*/
/* flags for power levels for auto power management */
/* a place to keep some statistics on what's going on */
struct fdstat {
/* first operations */
/* then errors */
};
/*
* Per controller data
*/
struct fdctlr {
/* data access handle for controller */
};
#endif /* !_ASM */
/* types of controllers supported by this driver */
/* types of io chips which indicates the type of auxio register */
/* Method used for transferring data */
/*
* Early revs of the 82077 have a bug by which they
* will not respond to the TC (Terminal count) signal.
* Because this behavior is exhibited on the clone machines
* for which the 077 code has been targeted, special workaround
*/
/*
* Controller flags
*/
#ifndef _ASM
/*
* Miscellaneous
*/
/*
* the levels are for severity
*/
/*
* for each function, we can mask off its printing by clearing its bit in
* the fderrmask. Some functions (attach, ident) share a mask bit
*/
#endif /* !_ASM */
#ifdef __cplusplus
}
#endif
#endif /* !_SYS_FDVAR_H */