bofi.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* 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 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_BOFI_H
#define _SYS_BOFI_H
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* header file for bus_ops fault injector
*/
#ifdef __cplusplus
extern "C" {
#endif
#include <sys/feature_tests.h>
/*
* ioctl command values
*/
#define BOFI_ADD_DEF 0
#define BOFI_DEL_DEF 1
#define BOFI_START 2
#define BOFI_STOP 3
#define BOFI_CHK_STATE 8
#define BOFI_CHK_STATE_W 9
#define BOFI_BROADCAST 10
#define BOFI_CLEAR_ACC_CHK 11
#define BOFI_CLEAR_ERRORS 12
#define BOFI_CLEAR_ERRDEFS 13
#define BOFI_GET_HANDLES 16
#define BOFI_GET_HANDLE_INFO 17
#define NAMESIZE 256
#define ERRMSGSIZE 256
struct acc_log_elem {
};
/* Access logging flags */
struct acc_log {
};
#if defined(_SYSCALL32)
#pragma pack(4)
#endif
struct acc_log32 {
};
#pragma pack()
#endif
#endif /* _SYSCALL32 */
struct bofi_errdef {
/* pointer to char */
int instance; /* as returned by ddi_get_instance() */
int rnumber; /* as used by ddi_regs_map_setup() */
};
#if defined(_SYSCALL32)
#pragma pack(4)
#endif
struct bofi_errdef32 {
/* pointer to char */
int instance; /* as returned by ddi_get_instance() */
int rnumber; /* as used by ddi_regs_map_setup() */
};
#pragma pack()
#endif
#endif /* _SYSCALL32 */
struct bofi_errctl {
int instance; /* as returned by ddi_get_instance() */
};
struct bofi_get_handles {
int instance; /* as returned by ddi_get_instance() */
int count;
};
#if defined(_SYSCALL32)
struct bofi_get_handles32 {
int instance; /* as returned by ddi_get_instance() */
int count;
};
#endif /* _SYSCALL32 */
struct handle_info {
int instance;
int rnumber;
int _pad; /* pad to 8 bytes for x86 */
};
struct bofi_get_hdl_info {
int count; /* number of handle_info structures */
};
#if defined(_SYSCALL32)
struct bofi_get_hdl_info32 {
int count; /* number of handle_info structures */
};
#endif /* _SYSCALL32 */
/*
* values for optype
*/
#define BOFI_EQUAL 0
#define BOFI_AND 1
#define BOFI_OR 2
#define BOFI_XOR 3
#define BOFI_NO_TRANSFER 4
#define BOFI_DELAY_INTR 5
#define BOFI_LOSE_INTR 6
#define BOFI_EXTRA_INTR 7
#define BOFI_NOP 16
/*
* values for access_type
*/
#define BOFI_PIO_R 1
#define BOFI_PIO_W 2
#define BOFI_DMA_R 4
#define BOFI_DMA_W 8
#define BOFI_INTR 64
#define BOFI_LOG 128
struct bofi_errstate {
char buffer[ERRMSGSIZE];
};
#if defined(_SYSCALL32)
#pragma pack(4)
#endif
struct bofi_errstate32 {
char buffer[ERRMSGSIZE];
};
#pragma pack()
#endif
#endif /* _SYSCALL32 */
#ifdef __cplusplus
}
#endif
#endif /* _SYS_BOFI_H */