fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * CDDL HEADER START
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 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * See the License for the specific language governing permissions
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * and limitations under the License.
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 * CDDL HEADER END
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Use is subject to license terms.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * A5X00 Library definitions
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * I18N message number ranges
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * This file: 16000 - 16499
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Shared common messages: 1 - 1999
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Defines */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* device specific identification for display, etc */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define DAK_OFF_NAME "Daktari official" /* inq response, prod ident */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Page defines */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define L_PAGE_PAGE_LIST 0x00 /* Supported pages page */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define L_PAGE_CONFIG 0x01 /* Configuration page */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define L_PAGE_ENCL_CTL 0x02 /* Enclosure Control page */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define L_PAGE_ENCL_STATUS 0x02 /* Enclosure status page */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define L_PAGE_7 0x07 /* Element Descriptor Page */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * FRU types internal and external (host SES type)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ELM_TYP_FT 0x03 /* Fan Tray - cooling element */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ELM_TYP_FP 0x0c /* FPM screen - display */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ELM_TYP_KP 0x0d /* keypad on FPM - keypad device */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ELM_TYP_FL 0x0f /* Fibre Link module - SCSI port/trancvr */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ELM_TYP_SP 0x11 /* Serial Port - communicaion port */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ELM_TYP_MB 0x80 /* Motherboard/Centerplane */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ELM_TYP_IB 0x81 /* IB(ESI) - controller electronics */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* code (status code) definitions */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* String codes. */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Loop states */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* d_state_flags definitions */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Values used by the l_led function */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Structure definitions */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t prod_id_s[17]; /* NULL terminated string */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte char b_node_wwn_s[17]; /* NULL terminated string */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte char b_port_wwn_s[17]; /* NULL terminated string */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Configuration page
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte /* Enclosure descriptor header */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte /* Enclosure descriptor */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Enclosure status/control page
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Loop Configuration.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Tranceiver status
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * ESI Controller status
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Backplane status
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Temperature sensor status
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * String page.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* structure for IB */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t enclosure_name[33]; /* extra character is NULL */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte IB_page_config config; /* Enclosure configuration page */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Individual SENA drive state */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * State of the Photon
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte struct l_disk_state_struct drv_front[MAX_DRIVES_PER_BOX/2];
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte struct l_disk_state_struct drv_rear[MAX_DRIVES_PER_BOX/2];
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Function Prototypes for the functions defined in libg_fc
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * These are the functions that will be visible to an end user
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * They are all CONTRACT PRIVATE
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_chk_null_wwn(Path_struct *, char *, L_state *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_convert_name(char *, char **, struct path_struct **, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_dev_pwr_up_down(char *, struct path_struct *, int, int, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_device_present(char *, int, gfc_map_t *, int, char **);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_download(char *, char *, int, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_duplicate_names(Box_list *, char *, char *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_encl_status_page_funcs(int, char *, int, char *,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte struct l_state_struct *, int, int, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_format_ifp_status_msg(char *, int, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_format_fc_status_msg(char *, int, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern void l_free_box_list(struct box_list_struct **);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_allses(char *, struct box_list_struct *, struct dlist **,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_box_list(struct box_list_struct **, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_disk_element_index(struct l_state_struct *, int *, int *);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_disk_port_status(char *, struct l_disk_state_struct *,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_disk_status(char *, struct l_disk_state_struct *,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern void l_get_drive_name(char *, int, int, char *);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_envsen(char *, uchar_t *, int, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_envsen_page(int, uchar_t *, int, uchar_t, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_ib_status(char *, struct l_state_struct *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_individual_state(char *, struct l_disk_state_struct *,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte struct wwn_list_struct *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_port(char *, int *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_ses_path(char *, char *, gfc_map_t *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_slot(struct path_struct *, L_state *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_get_status(char *, struct l_state_struct *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_led(struct path_struct *, int, struct device_element *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_make_node(char *, int, char *, gfc_map_t *, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_new_name(char *, char *);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_offline_photon(struct hotplug_disk_list *,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte struct wwn_list_struct *, int, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_pho_pwr_up_down(char *, char *, int, int, int);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#else /* __STDC__ */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern int l_led();
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif /* __STDC__ */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif /* _A5K_H */