lh_defs.h revision cee0fb94c0d4227de0a00efc162fb2739844b641
/*
* 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.
*/
#ifndef _LH_DEFS_
#define _LH_DEFS_
#ifndef _STRUCTS_
#include "structs.h"
#endif
#define MAX_TRANSPORT 4
#define MAX_LSM_TRANSPORT 80
#define PTP_SLOTS 4
#define MAX_PTP 5
#define HANDS 2
#define VERSION_SIZE 16
#define LH_MAX_REQUESTS 32
#define MAX_RECOV_CELLS 10
#define NULL_IPC_IDENT 0L
#define LH_MAX_PRIORITY 99
#define NUM_4400_INNER_PNLS 8
typedef enum {
LH_ADDR_TYPE_FIRST = 0,
} LH_ADDR_TYPE;
typedef struct lh_addr_acs {
} LH_ADDR_ACS;
typedef struct lh_addr_cap {
} LH_ADDR_CAP;
typedef struct lh_addr_cap_cell {
typedef struct lh_addr_cell {
} LH_ADDR_CELL;
typedef struct lh_addr_diag_cell {
typedef struct lh_addr_lh {
unsigned char unused;
} LH_ADDR_LH;
typedef struct lh_addr_library {
unsigned char unused;
typedef struct lh_addr_lmu {
} LH_ADDR_LMU;
typedef struct lh_addr_lsm {
} LH_ADDR_LSM;
typedef struct lh_addr_none {
unsigned char unused;
} LH_ADDR_NONE;
typedef struct lh_addr_panel {
typedef struct lh_addr_port {
char name [PORT_NAME_SIZE];
} LH_ADDR_PORT;
typedef struct lh_addr_ptp {
unsigned char ptp;
} LH_ADDR_PTP;
typedef struct lh_addr_recov_cell {
typedef struct lh_addr_transport {
typedef struct lh_addr {
union {
} address;
} LH_ADDR;
typedef enum {
LH_VSN_TYPE_FIRST = 0,
} LH_VSN_TYPE;
typedef struct lh_vsn {
char vsn [EXTERNAL_LABEL_SIZE];
} LH_VSN;
typedef enum {
LH_REQ_TYPE_FIRST = 0,
} LH_REQ_TYPE;
typedef struct lh_cancel_request {
unsigned long ipc_identifier;
typedef enum {
LH_CAT_OPTION_FIRST = 0,
typedef struct lh_catalog_request {
typedef struct lh_connect_request {
typedef struct lh_disconnect_request {
typedef enum {
LH_OPMSG_FIRST = 0,
} LH_OPMSG;
typedef struct lh_eject_request {
} LH_REQ_EJECT;
typedef struct lh_enter_request {
} LH_REQ_ENTER;
typedef struct lh_move_request {
} LH_REQ_MOVE;
typedef enum {
LH_LOCK_TYPE_FIRST = 0,
} LH_LOCK_TYPE;
typedef struct lh_release_request {
typedef struct lh_reserve_request {
typedef struct lh_status_request {
typedef enum {
LH_VARY_ACTION_FIRST = 0,
typedef struct lh_vary_request {
} LH_REQ_VARY;
typedef struct lh_request {
union {
} request;
} LH_REQUEST;
typedef struct lh_cancel_response {
unsigned long ipc_identifier;
typedef enum {
LH_CAT_STATUS_FIRST = 0,
typedef struct lh_location {
short status;
char vsn [EXTERNAL_LABEL_SIZE];
} LH_LOCATION;
typedef struct lh_catalog_response {
unsigned short locations;
typedef struct lh_connect_response {
typedef struct lh_disconnect_response {
typedef enum {
LH_DOOR_STATUS_FIRST = 0,
typedef struct lh_eject_response {
typedef struct lh_enter_response {
typedef struct lh_error_response {
char message[sizeof (int)];
typedef struct lh_move_response {
} LH_RESP_MOVE;
typedef struct lh_release_response {
typedef struct lh_reserve_response {
typedef enum {
LH_CONDITION_FIRST = 0,
} LH_CONDITION;
typedef struct lh_acs_status {
int lsms;
unsigned char num_ptp;
unsigned short ports;
typedef enum {
LH_CAP_STATUS_FIRST = 0,
typedef struct lh_cap_status {
unsigned char owner;
unsigned char available_cells;
typedef struct lh_lh_status {
char version [VERSION_SIZE];
unsigned char host_id;
unsigned int ports;
unsigned int ports_online;
} LH_STATUS_LH;
typedef struct lh_library_status {
typedef struct lh_lmu_status {
typedef enum {
LH_STATE_LSM_FIRST = 0,
} LH_STATE_LSM;
#define LH_INNER_PANEL -1
#define LH_INNER_ADJ_PANEL -2
#define LH_INNER_DOOR_PANEL -3
typedef struct lh_lsm_status {
unsigned char hands;
unsigned char caps;
unsigned short panels;
unsigned short transports;
unsigned char num_ptp;
typedef struct lh_panel_status {
char type;
unsigned short transports;
typedef struct lh_port_status {
typedef struct lh_ptp_status {
unsigned char ptp;
typedef enum {
LH_TAPE_STATUS_FIRST = 0,
typedef struct lh_transport_status {
typedef enum {
LH_STATUS_TYPE_FIRST = 0,
typedef struct lh_status_response {
union {
} status;
typedef struct lh_vary_response {
} LH_RESP_VARY;
typedef enum {
LH_RESP_TYPE_FIRST = 0,
} LH_RESP_TYPE;
typedef struct lh_response {
union {
} response;
} LH_RESPONSE;
typedef enum {
LH_MSG_TYPE_FIRST = 0,
} LH_MSG_TYPE;
typedef struct lh_available_message {
unsigned short unused;
typedef struct lh_cap_closed_message {
typedef struct lh_cap_opened_message {
typedef struct lh_clean_transport_message {
typedef enum {
typedef struct lh_degraded_mode_message {
unsigned short fsc;
typedef struct lh_door_closed_message {
typedef struct lh_door_opened_message {
typedef struct lh_lmu_ready_message {
typedef enum {
LH_NR_REASON_FIRST = 0,
} LH_NR_REASON;
typedef struct lh_lsm_not_ready_message {
typedef struct lh_lsm_ready_message {
typedef struct lh_port_offline_message {
typedef struct lh_message {
union {
} message;
} LH_MESSAGE;
#endif /* _LH_DEFS_ */