/*
* 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 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* A5X00 Library definitions
*/
/*
* I18N message number ranges
* This file: 16000 - 16499
* Shared common messages: 1 - 1999
*/
#ifndef _A5K_H
#define _A5K_H
#ifdef __cplusplus
extern "C" {
#endif
/* Defines */
#define SET_RQST_INSRT 0
/* device specific identification for display, etc */
#define SENA_ENC_TYPE 0
/* Page defines */
/*
* FRU types internal and external (host SES type)
*/
/* code (status code) definitions */
/* String codes. */
/* Loop states */
/* d_state_flags definitions */
/* Values used by the l_led function */
/* Structure definitions */
typedef struct box_list_struct {
} Box_list;
typedef struct path_struct {
char *p_physical_path;
char *argv;
int slot;
int ib_path_flag;
} Path_struct;
/*
* Page 0
*/
typedef struct ib_page_0 {
} IB_page_0;
/*
* Page 1
* Configuration page
*/
typedef struct type_desc_hdr {
typedef struct type_desc_text {
typedef struct ib_page_config {
/* Enclosure descriptor header */
/* Enclosure descriptor */
/*
* Page 2
*/
/*
* Loop Configuration.
*/
typedef struct loop_element_status {
: 2, /* reserved */
} Loop_elem_st;
/*
* Language
*/
typedef struct language_element_status {
: 2, /* reserved */
} Lang_elem_st;
/*
* Tranceiver status
*/
typedef struct trans_element_status {
: 2, /* reserved */
: 2,
/*
* ESI Controller status
*/
typedef struct ctlr_element_status {
: 2, /* reserved */
: 1, /* reserved */
} Ctlr_elem_st;
/*
* Backplane status
*/
typedef struct bp_element_status {
: 2, /* reserved */
} Bp_elem_st;
/*
* Temperature sensor status
*/
typedef struct temp_element_status {
: 2, /* reserved */
char degrees;
} Temp_elem_st;
typedef struct fan_element_status {
: 2, /* reserved */
: 2,
} Fan_elem_st;
typedef struct ps_element_status {
: 1, /* reserved */
: 1; /* reserved */
: 1,
} Ps_elem_st;
typedef struct device_element {
: 2,
ident : 1,
} Dev_elem_st;
typedef struct interconnect_assem_status {
typedef struct ib_page_2 {
union {
invop : 1,
info : 1,
non_crit : 1,
crit : 1,
unrec : 1;
} ui;
} IB_page_2;
/*
* Page 4
*
* String page.
*/
typedef struct page4_name {
} Page4_name;
typedef struct element_descriptor {
} Elem_desc;
typedef struct ib_page_7 {
} IB_page_7;
/* structure for IB */
typedef struct ib_state_struct {
int res;
int box_id;
} Ib_state;
/* Individual SENA drive state */
typedef struct l_disk_state_struct {
} L_disk_state;
/*
* State of the Photon
*/
typedef struct l_state_struct {
int total_num_drv;
} L_state;
/*
* Function Prototypes for the functions defined in libg_fc
* These are the functions that will be visible to an end user
* They are all CONTRACT PRIVATE
*/
#if defined(__STDC__)
extern int l_convert_name(char *, char **, struct path_struct **, int);
extern int l_dev_pwr_up_down(char *, struct path_struct *, int, int, int);
extern int l_device_present(char *, int, gfc_map_t *, int, char **);
extern int l_download(char *, char *, int, int);
extern int l_duplicate_names(Box_list *, char *, char *, int);
extern int l_encl_status_page_funcs(int, char *, int, char *,
struct l_state_struct *, int, int, int);
extern int l_format_ifp_status_msg(char *, int, int);
extern int l_format_fc_status_msg(char *, int, int);
extern void l_free_box_list(struct box_list_struct **);
extern int l_free_lstate(L_state **);
int);
extern int l_get_box_list(struct box_list_struct **, int);
extern int l_get_disk_element_index(struct l_state_struct *, int *, int *);
extern int l_get_disk_port_status(char *, struct l_disk_state_struct *,
int, int);
extern int l_get_disk_status(char *, struct l_disk_state_struct *,
WWN_list *, int);
extern void l_get_drive_name(char *, int, int, char *);
extern int l_get_envsen(char *, uchar_t *, int, int);
extern int l_get_ib_status(char *, struct l_state_struct *, int);
extern int l_get_individual_state(char *, struct l_disk_state_struct *,
Ib_state *, int, struct box_list_struct *,
struct wwn_list_struct *, int);
extern int l_get_port(char *, int *, int);
extern int l_get_ses_path(char *, char *, gfc_map_t *, int);
extern int l_get_status(char *, struct l_state_struct *, int);
extern int l_make_node(char *, int, char *, gfc_map_t *, int);
extern int l_new_name(char *, char *);
extern int l_offline_photon(struct hotplug_disk_list *,
struct wwn_list_struct *, int, int);
extern int l_pho_pwr_up_down(char *, char *, int, int, int);
#else /* __STDC__ */
extern int l_chk_null_wwn();
extern int l_convert_name();
extern int l_dev_pwr_up_down();
extern int l_device_present();
extern int l_download();
extern int l_duplicate_names();
extern int l_encl_status_page_funcs();
extern int l_format_fc_status_msg();
extern int l_format_ifp_status_msg();
extern void l_free_box_list();
extern int l_free_lstate();
extern int l_get_allses();
extern int l_get_box_list();
extern int l_get_disk_element_index();
extern int l_get_disk_port_status();
extern int l_get_disk_status();
extern void l_get_drive_name();
extern int l_get_envsen();
extern int l_get_envsen_page();
extern int l_get_ib_status();
extern int l_get_individual_state();
extern int l_get_port();
extern int l_get_ses_path();
extern int l_get_slot();
extern int l_get_status();
extern int l_led();
extern int l_make_node();
extern int l_new_name();
extern int l_offline_photon();
extern int l_pho_pwr_up_down();
extern int l_get_enc_type();
#endif /* __STDC__ */
#ifdef __cplusplus
}
#endif
#endif /* _A5K_H */