1*7836SJohn.Forte@Sun.COM /* 2*7836SJohn.Forte@Sun.COM * CDDL HEADER START 3*7836SJohn.Forte@Sun.COM * 4*7836SJohn.Forte@Sun.COM * The contents of this file are subject to the terms of the 5*7836SJohn.Forte@Sun.COM * Common Development and Distribution License (the "License"). 6*7836SJohn.Forte@Sun.COM * You may not use this file except in compliance with the License. 7*7836SJohn.Forte@Sun.COM * 8*7836SJohn.Forte@Sun.COM * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*7836SJohn.Forte@Sun.COM * or http://www.opensolaris.org/os/licensing. 10*7836SJohn.Forte@Sun.COM * See the License for the specific language governing permissions 11*7836SJohn.Forte@Sun.COM * and limitations under the License. 12*7836SJohn.Forte@Sun.COM * 13*7836SJohn.Forte@Sun.COM * When distributing Covered Code, include this CDDL HEADER in each 14*7836SJohn.Forte@Sun.COM * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*7836SJohn.Forte@Sun.COM * If applicable, add the following below this CDDL HEADER, with the 16*7836SJohn.Forte@Sun.COM * fields enclosed by brackets "[]" replaced with your own identifying 17*7836SJohn.Forte@Sun.COM * information: Portions Copyright [yyyy] [name of copyright owner] 18*7836SJohn.Forte@Sun.COM * 19*7836SJohn.Forte@Sun.COM * CDDL HEADER END 20*7836SJohn.Forte@Sun.COM */ 21*7836SJohn.Forte@Sun.COM /* 22*7836SJohn.Forte@Sun.COM * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23*7836SJohn.Forte@Sun.COM * Use is subject to license terms. 24*7836SJohn.Forte@Sun.COM */ 25*7836SJohn.Forte@Sun.COM 26*7836SJohn.Forte@Sun.COM /* 27*7836SJohn.Forte@Sun.COM * SES State definitions 28*7836SJohn.Forte@Sun.COM */ 29*7836SJohn.Forte@Sun.COM 30*7836SJohn.Forte@Sun.COM /* 31*7836SJohn.Forte@Sun.COM * I18N message number ranges 32*7836SJohn.Forte@Sun.COM * This file: 16500 - 16999 33*7836SJohn.Forte@Sun.COM * Shared common messages: 1 - 1999 34*7836SJohn.Forte@Sun.COM */ 35*7836SJohn.Forte@Sun.COM 36*7836SJohn.Forte@Sun.COM #ifndef _A_STATE_H 37*7836SJohn.Forte@Sun.COM #define _A_STATE_H 38*7836SJohn.Forte@Sun.COM 39*7836SJohn.Forte@Sun.COM 40*7836SJohn.Forte@Sun.COM #ifdef __cplusplus 41*7836SJohn.Forte@Sun.COM extern "C" { 42*7836SJohn.Forte@Sun.COM #endif 43*7836SJohn.Forte@Sun.COM 44*7836SJohn.Forte@Sun.COM /* 45*7836SJohn.Forte@Sun.COM * Include any headers you depend on. 46*7836SJohn.Forte@Sun.COM */ 47*7836SJohn.Forte@Sun.COM #include <sys/fibre-channel/fcio.h> 48*7836SJohn.Forte@Sun.COM #define _SYS_FC4_FCAL_LINKAPP_H 49*7836SJohn.Forte@Sun.COM #include <sys/fc4/fcio.h> 50*7836SJohn.Forte@Sun.COM #include <gfc.h> 51*7836SJohn.Forte@Sun.COM #include <g_state.h> 52*7836SJohn.Forte@Sun.COM #include <a5k.h> 53*7836SJohn.Forte@Sun.COM 54*7836SJohn.Forte@Sun.COM /* 55*7836SJohn.Forte@Sun.COM * Definitions for send/receive diagnostic command 56*7836SJohn.Forte@Sun.COM */ 57*7836SJohn.Forte@Sun.COM #define HEADER_LEN 4 58*7836SJohn.Forte@Sun.COM #define MAX_REC_DIAG_LENGTH 0xfffe 59*7836SJohn.Forte@Sun.COM 60*7836SJohn.Forte@Sun.COM 61*7836SJohn.Forte@Sun.COM 62*7836SJohn.Forte@Sun.COM typedef struct rec_diag_hdr { 63*7836SJohn.Forte@Sun.COM uchar_t page_code; 64*7836SJohn.Forte@Sun.COM uchar_t sub_enclosures; 65*7836SJohn.Forte@Sun.COM ushort_t page_len; 66*7836SJohn.Forte@Sun.COM } Rec_diag_hdr; 67*7836SJohn.Forte@Sun.COM 68*7836SJohn.Forte@Sun.COM /* struct for list of gfc_map_t */ 69*7836SJohn.Forte@Sun.COM typedef struct gfc_map_mp { 70*7836SJohn.Forte@Sun.COM gfc_map_t map; 71*7836SJohn.Forte@Sun.COM struct gfc_map_mp *map_next; 72*7836SJohn.Forte@Sun.COM } gfc_map_mp_t; 73*7836SJohn.Forte@Sun.COM 74*7836SJohn.Forte@Sun.COM /* 75*7836SJohn.Forte@Sun.COM * We should use the scsi_capacity structure in impl/commands.h 76*7836SJohn.Forte@Sun.COM * but it uses u_long's to define 32 bit values. 77*7836SJohn.Forte@Sun.COM */ 78*7836SJohn.Forte@Sun.COM typedef struct capacity_data_struct { 79*7836SJohn.Forte@Sun.COM uint_t last_block_addr; 80*7836SJohn.Forte@Sun.COM uint_t block_size; 81*7836SJohn.Forte@Sun.COM } Read_capacity_data; 82*7836SJohn.Forte@Sun.COM 83*7836SJohn.Forte@Sun.COM /* Function prototypes defined for liba5k modules */ 84*7836SJohn.Forte@Sun.COM /* diag.c */ 85*7836SJohn.Forte@Sun.COM extern int l_dev_bypass_enable(struct path_struct *, int, int, 86*7836SJohn.Forte@Sun.COM int, int); 87*7836SJohn.Forte@Sun.COM extern int l_bp_bypass_enable(char *, int, int, int, int, int); 88*7836SJohn.Forte@Sun.COM extern int d_p_enable(char *, int); 89*7836SJohn.Forte@Sun.COM extern int d_p_bypass(char *, int); 90*7836SJohn.Forte@Sun.COM 91*7836SJohn.Forte@Sun.COM /* lhot.c */ 92*7836SJohn.Forte@Sun.COM extern int is_null_wwn(uchar_t *); 93*7836SJohn.Forte@Sun.COM 94*7836SJohn.Forte@Sun.COM /* mon.c */ 95*7836SJohn.Forte@Sun.COM extern int l_ex_open_test(struct dlist *, char *, int); 96*7836SJohn.Forte@Sun.COM extern int l_get_conflict(char *, char **, int); 97*7836SJohn.Forte@Sun.COM extern int l_new_password(char *, char *); 98*7836SJohn.Forte@Sun.COM extern int l_get_mode_pg(char *, uchar_t **, int); 99*7836SJohn.Forte@Sun.COM extern void l_element_msg_string(uchar_t, char *); 100*7836SJohn.Forte@Sun.COM extern int l_check_file(char *, int); 101*7836SJohn.Forte@Sun.COM extern int l_get_pid_from_path(const char *, const gfc_map_t *, int *); 102*7836SJohn.Forte@Sun.COM 103*7836SJohn.Forte@Sun.COM #ifdef __cplusplus 104*7836SJohn.Forte@Sun.COM } 105*7836SJohn.Forte@Sun.COM #endif 106*7836SJohn.Forte@Sun.COM 107*7836SJohn.Forte@Sun.COM #endif /* _A_STATE_H */ 108