03831d35f7499c87d51205817c93e9a8d42c4baestevel/*
03831d35f7499c87d51205817c93e9a8d42c4baestevel * CDDL HEADER START
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel * The contents of this file are subject to the terms of the
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Common Development and Distribution License (the "License").
03831d35f7499c87d51205817c93e9a8d42c4baestevel * You may not use this file except in compliance with the License.
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
03831d35f7499c87d51205817c93e9a8d42c4baestevel * or http://www.opensolaris.org/os/licensing.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * See the License for the specific language governing permissions
03831d35f7499c87d51205817c93e9a8d42c4baestevel * and limitations under the License.
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel * When distributing Covered Code, include this CDDL HEADER in each
03831d35f7499c87d51205817c93e9a8d42c4baestevel * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * If applicable, add the following below this CDDL HEADER, with the
03831d35f7499c87d51205817c93e9a8d42c4baestevel * fields enclosed by brackets "[]" replaced with your own identifying
03831d35f7499c87d51205817c93e9a8d42c4baestevel * information: Portions Copyright [yyyy] [name of copyright owner]
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel * CDDL HEADER END
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel/*
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Use is subject to license terms.
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel#ifndef _SYS_RMCADM_IMPL_H
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define _SYS_RMCADM_IMPL_H
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel#pragma ident "%Z%%M% %I% %E% SMI"
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel#ifdef __cplusplus
03831d35f7499c87d51205817c93e9a8d42c4baestevelextern "C" {
03831d35f7499c87d51205817c93e9a8d42c4baestevel#endif
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define RMCADM_REQUEST_RESPONSE 0
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define RMCADM_RESET_SP 1
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define RMCADM_REQUEST_RESPONSE_BP 2
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define RMCADM_SEND_SRECORD_BP 3
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct rmcadm_msg {
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint8_t msg_type; /* message type */
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint16_t msg_len; /* size of the message buffer */
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint16_t msg_bytes; /* number of bytes returned */
03831d35f7499c87d51205817c93e9a8d42c4baestevel caddr_t msg_buf; /* message buffer */
03831d35f7499c87d51205817c93e9a8d42c4baestevel} rmcadm_msg_t;
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct rmcadm_request_response {
03831d35f7499c87d51205817c93e9a8d42c4baestevel rmcadm_msg_t req;
03831d35f7499c87d51205817c93e9a8d42c4baestevel rmcadm_msg_t resp;
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint_t wait_time;
03831d35f7499c87d51205817c93e9a8d42c4baestevel int status;
03831d35f7499c87d51205817c93e9a8d42c4baestevel} rmcadm_request_response_t;
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct rmcadm_send_srecord_bp {
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint_t data_len;
03831d35f7499c87d51205817c93e9a8d42c4baestevel caddr_t data_buf; /* message buffer */
03831d35f7499c87d51205817c93e9a8d42c4baestevel rmcadm_msg_t resp_bp; /* BP message returned */
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint32_t wait_time; /* max waiting time for a BP message */
03831d35f7499c87d51205817c93e9a8d42c4baestevel /* (millisec) */
03831d35f7499c87d51205817c93e9a8d42c4baestevel int status;
03831d35f7499c87d51205817c93e9a8d42c4baestevel} rmcadm_send_srecord_bp_t;
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel#if defined(_SYSCALL32)
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct rmcadm_msg32 {
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint8_t msg_type; /* message type */
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint16_t msg_len; /* size of the message buffer */
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint16_t msg_bytes; /* number of bytes returned */
03831d35f7499c87d51205817c93e9a8d42c4baestevel caddr32_t msg_buf; /* message buffer */
03831d35f7499c87d51205817c93e9a8d42c4baestevel} rmcadm_msg32_t;
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct rmcadm_request_response32 {
03831d35f7499c87d51205817c93e9a8d42c4baestevel rmcadm_msg32_t req;
03831d35f7499c87d51205817c93e9a8d42c4baestevel rmcadm_msg32_t resp;
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint32_t wait_time;
03831d35f7499c87d51205817c93e9a8d42c4baestevel int status;
03831d35f7499c87d51205817c93e9a8d42c4baestevel} rmcadm_request_response32_t;
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct rmcadm_send_srecord_bp32 {
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint_t data_len;
03831d35f7499c87d51205817c93e9a8d42c4baestevel caddr32_t data_buf; /* message buffer */
03831d35f7499c87d51205817c93e9a8d42c4baestevel rmcadm_msg32_t resp_bp;
03831d35f7499c87d51205817c93e9a8d42c4baestevel uint32_t wait_time;
03831d35f7499c87d51205817c93e9a8d42c4baestevel int status;
03831d35f7499c87d51205817c93e9a8d42c4baestevel} rmcadm_send_srecord_bp32_t;
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel#endif /* _SYSCALL32 */
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel#ifdef __cplusplus
03831d35f7499c87d51205817c93e9a8d42c4baestevel}
03831d35f7499c87d51205817c93e9a8d42c4baestevel#endif
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel#endif /* _SYS_RMCADM_IMPL_H */