03831d35f7499c87d51205817c93e9a8d42c4baestevel * CDDL HEADER START
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 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
03831d35f7499c87d51205817c93e9a8d42c4baestevel * See the License for the specific language governing permissions
03831d35f7499c87d51205817c93e9a8d42c4baestevel * and limitations under the License.
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 * CDDL HEADER END
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Use is subject to license terms.
03831d35f7499c87d51205817c93e9a8d42c4baestevel#pragma ident "%Z%%M% %I% %E% SMI"
03831d35f7499c87d51205817c93e9a8d42c4baestevelextern "C" {
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Message types - one per client!
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define INFO_MBOX 0x6 /* for passing info to the SC */
03831d35f7499c87d51205817c93e9a8d42c4baestevel#endif /* DEBUG */
03831d35f7499c87d51205817c93e9a8d42c4baestevel * INFO_MBOX message sub-types
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define INFO_MBOX_NODENAME 0x6000 /* for passing nodename to SC */
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define INFO_MBOX_ERROR_NOTICE 0x6001 /* for logging ECC errors to SC */
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define INFO_MBOX_ERROR_ECC 0x6003 /* updated interface for logging */
03831d35f7499c87d51205817c93e9a8d42c4baestevel /* ECC errors to SC */
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define INFO_MBOX_ERROR_INDICT 0x6004 /* for logging ECC indictments to SC */
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define INFO_MBOX_ECC 0x6005 /* new interface for logging */
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define INFO_MBOX_ECC_CAP 0x6006 /* capability message */
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Message status values returned by the SC to the various mailbox clients.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * These values need to be kept in sync with MailboxProtocol.java
03831d35f7499c87d51205817c93e9a8d42c4baestevel * in the SCAPP source code.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Time out values in seconds.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * These definitions should not be used directly except by the
03831d35f7499c87d51205817c93e9a8d42c4baestevel * sbbc_mbox_xxx_timeout variables. All clients should then use
03831d35f7499c87d51205817c93e9a8d42c4baestevel * these variables to allow running kernels to modify wait times.
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define MBOX_MIN_TIMEOUT 1 /* min time to wait before timeout */
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define MBOX_DEFAULT_TIMEOUT 30 /* suggested wait time */
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Timeout variables
03831d35f7499c87d51205817c93e9a8d42c4baestevelextern int sbbc_mbox_min_timeout; /* minimum wait time */
03831d35f7499c87d51205817c93e9a8d42c4baestevelextern int sbbc_mbox_default_timeout; /* suggested wait time */
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Message type consists of two parts
03831d35f7499c87d51205817c93e9a8d42c4baestevel * type - client ID
03831d35f7499c87d51205817c93e9a8d42c4baestevel * sub_type - client defined message type
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct {
03831d35f7499c87d51205817c93e9a8d42c4baestevel * this struct is used by client programs to request
03831d35f7499c87d51205817c93e9a8d42c4baestevel * mailbox message services
03831d35f7499c87d51205817c93e9a8d42c4baestevel * This data structure is used for queueing up ECC event mailbox
03831d35f7499c87d51205817c93e9a8d42c4baestevel * messages through the SBBC taskq.
03831d35f7499c87d51205817c93e9a8d42c4baestevel int ecc_log_error; /* Log errors to /var/adm/messages */
03831d35f7499c87d51205817c93e9a8d42c4baestevel * ECC event mailbox taskq parameters
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define ECC_MBOX_TASKQ_MIN 2 /* minimum number of jobs */
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define ECC_MBOX_TASKQ_MAX 512 /* maximum number of jobs */
03831d35f7499c87d51205817c93e9a8d42c4baestevel * These are used to throttle error messages that may appear if
03831d35f7499c87d51205817c93e9a8d42c4baestevel * the attempt to enqueue an ECC event message to the SC fails.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * If set to N > 0, then only every Nth message will be output.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Set to 0 or 1 to disable this throttling and allow all error
03831d35f7499c87d51205817c93e9a8d42c4baestevel * messages to appear.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * ECC_MBOX_TASKQ_ERR_THROTTLE is the default value for
03831d35f7499c87d51205817c93e9a8d42c4baestevel * sbbc_ecc_mbox_err_throttle, which may be overridden in
03831d35f7499c87d51205817c93e9a8d42c4baestevel * /etc/system or at run time via debugger.
03831d35f7499c87d51205817c93e9a8d42c4baestevelextern int sbbc_mbox_reg_intr(uint32_t, sbbc_intrfunc_t,
03831d35f7499c87d51205817c93e9a8d42c4baestevelextern int sbbc_mbox_unreg_intr(uint32_t, sbbc_intrfunc_t);
03831d35f7499c87d51205817c93e9a8d42c4baestevel#endif /* _SYS_SGSBBC_MAILBOX_H */