1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* 23 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #ifndef __SMCLIB_H__ 28 #define __SMCLIB_H__ 29 30 #pragma ident "%Z%%M% %I% %E% SMI" 31 32 #include <sys/types.h> 33 #include <smc_if.h> 34 #include <smc_commands.h> 35 36 #ifdef __cplusplus 37 extern "C" { 38 #endif 39 40 /* 41 * SMC error codes 42 */ 43 typedef enum { 44 SMC_SUCCESS = 0x0, 45 SMC_FAILURE = 0x1, 46 SMC_REQ_FAILURE = 0x2, 47 SMC_ACK_TIMEOUT = 0x3, 48 SMC_ACK_FAILURE = 0x4, 49 SMC_RSP_FAILURE = 0x5, 50 SMC_RSP_TIMEOUT = 0x6, 51 SMC_INVALID_SEQ = 0x7, 52 SMC_RSP_ERROR = 0x8 53 } smc_errno_t; 54 55 extern smc_errno_t smc_init_smc_msg(sc_reqmsg_t *req_msg, smc_app_command_t cmd, 56 uint8_t msg_id, uint8_t msg_data_size); 57 58 extern smc_errno_t smc_init_ipmi_msg(sc_reqmsg_t *req_msg, uint8_t cmd, 59 uint8_t msg_id, uint8_t msg_data_size, uint8_t *msg_data_buf, 60 int8_t seq_num, int ipmb_addr, smc_netfn_t netfn, smc_lun_t lun); 61 62 extern smc_errno_t smc_send_msg(int fd, sc_reqmsg_t *req_pkt, 63 sc_rspmsg_t *rsp_pkt, int poll_time); 64 65 #ifdef __cplusplus 66 } 67 #endif 68 69 #endif /* __SMCLIB_H__ */