/*
* 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
*/
/*
*/
#ifndef _disklog_H
#define _disklog_H
#ifdef __cplusplus
extern "c" {
#endif
#include <stdio.h>
#define DL_SUCCESS 0
#define DL_HITACHI_LOGDUMP_OFFSET 0
#define DL_SEAGATE_LOGDUMP_OFFSET 0
#pragma pack(1)
typedef enum dl_log_page_code {
typedef enum dl_log_param_code {
typedef enum dl_mode_sub_page_code {
typedef enum dl_log_params_back_scan_status_code {
typedef struct dl_log_params_back_scan_status {
typedef struct dl_log_params_medium_scan {
lpms_sense_key :4,
lpms_reassign_status :4);
typedef enum dl_log_protocol_port_id {
typedef struct dl_log_params_protocol_port_header {
lppph_id :4,
_reserved1 :4);
typedef enum dl_log_protocol_dev_type {
DL_LOG_PD_TYPE_NONE = 0,
typedef enum dl_log_protocol_reason {
typedef enum dl_log_protocol_link_rate {
/*
* SAS-2 10.2.8.1 Table 232 SAS phy log descriptor
*/
typedef struct dl_log_params_protocol_spld_header {
_reserved3 :1);
lppsh_link_rate :4,
lppsh_reason :4);
_reserved4 :1,
_reserved5 :4);
_reserved6 :1,
_reserved7 :4);
typedef enum dl_log_protocol_phy_event_name {
DL_LOG_PPEN_NO_EVENT = 0,
/*
* SAS-2 10.4.3.14.4 Table 297 Phy event descriptor
*/
typedef struct dl_log_params_protocol_ped {
/* HITACHI Log Dump Command(E6) */
typedef struct dl_hitachi_logdump_cdb {
hlc_mode :4,
_reserved2 :4);
hlc_link :1,
hlc_flag :1,
_reserved3 :4,
hlc_vu :2);
/* SEAGATE Log Dump Command(F7) */
typedef struct dl_seagate_logdump_cdb {
_reserved1 :1,
slc_clear :1,
slc_dump :1,
slc_read :1,
_reserved2 :4);
#pragma pack()
#ifdef __cplusplus
}
#endif
#endif /* _disklog_H */