/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (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 1997 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _ATA_FSM_H
#define _ATA_FSM_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
/*
*
* The interrupt reason can be interpreted from other bits as follows:
*
* IO CoD DRQ
* -- --- ---
* 0 0 1 == 1 Data to device
* 0 1 0 == 2 Idle
* 0 1 1 == 3 Send ATAPI CDB to device
* 1 0 1 == 5 Data from device
* 1 1 0 == 6 Status ready
* 1 1 1 == 7 Future use
*
*/
/*
* This macro encodes the interrupt reason into a one byte
* event code which is used to index the FSM tables
*/
/*
* These are the names for the encoded ATAPI events
*/
#define ATAPI_EVENT_0 0
/*
* Actions for the ATAPI PIO FSM
*
*/
enum {
};
/*
* States for the ATAPI PIO FSM
*/
enum {
};
/*
* controller and device functions
*/
enum {
};
/*
* FSM return codes
*/
enum {
};
/*
* states for the controller FSM
*/
enum {
};
/*
* actions for the controller FSM
*/
enum {
};
#ifdef __cplusplus
}
#endif
#endif /* _ATA_FSM_H */