fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * CDDL HEADER START
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The contents of this file are subject to the terms of the
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Common Development and Distribution License (the "License").
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * You may not use this file except in compliance with the License.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * or http://www.opensolaris.org/os/licensing.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * See the License for the specific language governing permissions
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * and limitations under the License.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * When distributing Covered Code, include this CDDL HEADER in each
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * If applicable, add the following below this CDDL HEADER, with the
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * fields enclosed by brackets "[]" replaced with your own identifying
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * information: Portions Copyright [yyyy] [name of copyright owner]
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * CDDL HEADER END
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Use is subject to license terms.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SES State definitions
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * I18N message number ranges
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * This file: 16500 - 16999
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Shared common messages: 1 - 1999
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#ifndef _A_STATE_H
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define _A_STATE_H
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#ifdef __cplusplus
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern "C" {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Include any headers you depend on.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#include <sys/fibre-channel/fcio.h>
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define _SYS_FC4_FCAL_LINKAPP_H
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#include <sys/fc4/fcio.h>
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#include <gfc.h>
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#include <g_state.h>
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#include <a5k.h>
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Definitions for send/receive diagnostic command
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define HEADER_LEN 4
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MAX_REC_DIAG_LENGTH 0xfffe
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct rec_diag_hdr {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t page_code;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t sub_enclosures;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ushort_t page_len;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} Rec_diag_hdr;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* struct for list of gfc_map_t */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct gfc_map_mp {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte gfc_map_t map;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte struct gfc_map_mp *map_next;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} gfc_map_mp_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * We should use the scsi_capacity structure in impl/commands.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * but it uses u_long's to define 32 bit values.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct capacity_data_struct {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uint_t last_block_addr;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uint_t block_size;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} Read_capacity_data;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Function prototypes defined for liba5k modules */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* diag.c */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_dev_bypass_enable(struct path_struct *, int, int,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte int, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_bp_bypass_enable(char *, int, int, int, int, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int d_p_enable(char *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int d_p_bypass(char *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* lhot.c */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int is_null_wwn(uchar_t *);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* mon.c */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_ex_open_test(struct dlist *, char *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_conflict(char *, char **, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_new_password(char *, char *);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_mode_pg(char *, uchar_t **, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern void l_element_msg_string(uchar_t, char *);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_check_file(char *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_pid_from_path(const char *, const gfc_map_t *, int *);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#ifdef __cplusplus
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte}
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif /* _A_STATE_H */