mirror of
https://git.proxmox.com/git/mirror_corosync
synced 2026-02-03 19:43:48 +00:00
Rename ais_types.h header file to be more compliant with sa forum git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@796 fd59a12c-fef9-0310-b244-a6a79926bd2f
317 lines
8.7 KiB
C
317 lines
8.7 KiB
C
/*
|
|
* Copyright (c) 2002-2003 MontaVista Software, Inc.
|
|
*
|
|
* All rights reserved.
|
|
*
|
|
* Author: Steven Dake (sdake@mvista.com)
|
|
*
|
|
* This software licensed under BSD license, the text of which follows:
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions are met:
|
|
*
|
|
* - Redistributions of source code must retain the above copyright notice,
|
|
* this list of conditions and the following disclaimer.
|
|
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
* this list of conditions and the following disclaimer in the documentation
|
|
* and/or other materials provided with the distribution.
|
|
* - Neither the name of the MontaVista Software, Inc. nor the names of its
|
|
* contributors may be used to endorse or promote products derived from this
|
|
* software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
* THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
|
|
#ifndef AIS_TYPES_H_DEFINED
|
|
#define AIS_TYPES_H_DEFINED
|
|
|
|
typedef enum {
|
|
SA_FALSE = 0,
|
|
SA_TRUE = 1
|
|
} SaBoolT;
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef int8_t SaInt8T;
|
|
typedef int16_t SaInt16T;
|
|
typedef int32_t SaInt32T;
|
|
typedef int64_t SaInt64T;
|
|
|
|
typedef uint8_t SaUint8T;
|
|
typedef uint16_t SaUint16T;
|
|
typedef uint32_t SaUint32T;
|
|
typedef uint64_t SaUint64T;
|
|
|
|
typedef SaInt64T SaTimeT;
|
|
|
|
#define SA_TIME_END ((SaTimeT)0x7fffffffffffffffull)
|
|
#define SA_TIME_BEGIN 0x0ULL
|
|
#define SA_TIME_UNKNOWN 0x8000000000000000ULL
|
|
|
|
#define SA_TIME_ONE_MICROSECOND 1000ULL
|
|
#define SA_TIME_ONE_MILLISECOND 1000000ULL
|
|
#define SA_TIME_ONE_SECOND 1000000000ULL
|
|
#define SA_TIME_ONE_MINUTE 60000000000ULL
|
|
#define SA_TIME_ONE_HOUR 3600000000000ULL
|
|
#define SA_TIME_ONE_DAY 86400000000000ULL
|
|
#define SA_TIME_MAX SA_TIME_END
|
|
|
|
#define SA_MAX_NAME_LENGTH 256
|
|
typedef struct {
|
|
SaUint16T length;
|
|
SaUint8T value[SA_MAX_NAME_LENGTH];
|
|
} SaNameT;
|
|
|
|
typedef struct {
|
|
char releaseCode;
|
|
unsigned char majorVersion;
|
|
unsigned char minorVersion;
|
|
} SaVersionT;
|
|
|
|
#define SA_TRACK_CURRENT 0x01
|
|
#define SA_TRACK_CHANGES 0x02
|
|
#define SA_TRACK_CHANGES_ONLY 0x04
|
|
|
|
typedef enum {
|
|
SA_DISPATCH_ONE = 1,
|
|
SA_DISPATCH_ALL = 2,
|
|
SA_DISPATCH_BLOCKING = 3
|
|
} SaDispatchFlagsT;
|
|
|
|
typedef enum {
|
|
SA_OK = 1,
|
|
SA_ERR_LIBRARY = 2,
|
|
SA_ERR_VERSION = 3,
|
|
SA_ERR_INIT = 4,
|
|
SA_ERR_TIMEOUT = 5,
|
|
SA_ERR_TRY_AGAIN = 6,
|
|
SA_ERR_INVALID_PARAM = 7,
|
|
SA_ERR_NO_MEMORY = 8,
|
|
SA_ERR_BAD_HANDLE = 9,
|
|
SA_ERR_BUSY = 10,
|
|
SA_ERR_ACCESS = 11,
|
|
SA_ERR_NOT_EXIST = 12,
|
|
SA_ERR_NAME_TOO_LONG = 13,
|
|
SA_ERR_EXIST = 14,
|
|
SA_ERR_NO_SPACE = 15,
|
|
SA_ERR_INTERRUPT = 16,
|
|
SA_ERR_SYSTEM = 17,
|
|
SA_ERR_NAME_NOT_FOUND = 18,
|
|
SA_ERR_NO_RESOURCES = 19,
|
|
SA_ERR_NOT_SUPPORTED = 20,
|
|
SA_ERR_BAD_OPERATION = 21,
|
|
SA_ERR_FAILED_OPERATION = 22,
|
|
SA_ERR_MESSAGE_ERROR = 23,
|
|
SA_ERR_NO_MESSAGE = 24,
|
|
SA_ERR_QUEUE_FULL = 25,
|
|
SA_ERR_QUEUE_NOT_AVAILABLE = 26,
|
|
SA_ERR_BAD_CHECKPOINT = 27,
|
|
SA_ERR_BAD_FLAGS = 28
|
|
} SaErrorT;
|
|
|
|
typedef enum {
|
|
SA_AIS_OK = 1,
|
|
SA_AIS_ERR_LIBRARY = 2,
|
|
SA_AIS_ERR_VERSION = 3,
|
|
SA_AIS_ERR_INIT = 4,
|
|
SA_AIS_ERR_TIMEOUT = 5,
|
|
SA_AIS_ERR_TRY_AGAIN = 6,
|
|
SA_AIS_ERR_INVALID_PARAM = 7,
|
|
SA_AIS_ERR_NO_MEMORY = 8,
|
|
SA_AIS_ERR_BAD_HANDLE = 9,
|
|
SA_AIS_ERR_BUSY = 10,
|
|
SA_AIS_ERR_ACCESS = 11,
|
|
SA_AIS_ERR_NOT_EXIST = 12,
|
|
SA_AIS_ERR_NAME_TOO_LONG = 13,
|
|
SA_AIS_ERR_EXIST = 14,
|
|
SA_AIS_ERR_NO_SPACE = 15,
|
|
SA_AIS_ERR_INTERRUPT = 16,
|
|
SA_AIS_ERR_NAME_NOT_FOUND = 17,
|
|
SA_AIS_ERR_NO_RESOURCES = 18,
|
|
SA_AIS_ERR_NOT_SUPPORTED = 19,
|
|
SA_AIS_ERR_BAD_OPERATION = 20,
|
|
SA_AIS_ERR_FAILED_OPERATION = 21,
|
|
SA_AIS_ERR_MESSAGE_ERROR = 22,
|
|
SA_AIS_ERR_QUEUE_FULL = 23,
|
|
SA_AIS_ERR_QUEUE_NOT_AVAILABLE = 24,
|
|
SA_AIS_ERR_BAD_FLAGS = 25,
|
|
SA_AIS_ERR_TOO_BIG = 26,
|
|
SA_AIS_ERR_NO_SECTIONS = 27
|
|
} SaAisErrorT;
|
|
|
|
typedef SaUint64T SaSelectionObjectT;
|
|
|
|
typedef SaUint64T SaInvocationT;
|
|
|
|
/*
|
|
* AMF Definitions
|
|
*/
|
|
typedef SaUint64T SaAmfHandleT;
|
|
|
|
typedef enum {
|
|
SA_AMF_HEARTBEAT = 1,
|
|
SA_AMF_HEALTHCHECK_LEVEL1 = 2,
|
|
SA_AMF_HEALTHCHECK_LEVEL2 = 3,
|
|
SA_AMF_HEALTHCHECK_LEVEL3 = 4
|
|
} SaAmfHealthcheckT;
|
|
|
|
typedef enum {
|
|
SA_AMF_OUT_OF_SERVICE = 1,
|
|
SA_AMF_IN_SERVICE = 2,
|
|
SA_AMF_STOPPING = 3
|
|
} SaAmfReadinessStateT;
|
|
|
|
typedef enum {
|
|
SA_AMF_ACTIVE = 1,
|
|
SA_AMF_STANDBY = 2,
|
|
SA_AMF_QUIESCED = 3
|
|
} SaAmfHAStateT;
|
|
|
|
typedef enum {
|
|
SA_AMF_COMPONENT_CAPABILITY_X_ACTIVE_AND_Y_STANDBY = 1,
|
|
SA_AMF_COMPONENT_CAPABILITY_X_ACTIVE_OR_Y_STANDBY = 2,
|
|
SA_AMF_COMPONENT_CAPABILITY_1_ACTIVE_OR_Y_STANDBY = 3,
|
|
SA_AMF_COMPONENT_CAPABILITY_1_ACTIVE_OR_1_STANDBY = 4,
|
|
SA_AMF_COMPONENT_CAPABILITY_X_ACTIVE = 5,
|
|
SA_AMF_COMPONENT_CAPABILITY_1_ACTIVE = 6,
|
|
SA_AMF_COMPONENT_CAPABILITY_NO_ACTIVE = 7
|
|
} SaAmfComponentCapabilityModelT;
|
|
|
|
#define SA_AMF_CSI_ADD_NEW_ISTANCE 0x01
|
|
#define SA_AMF_CSI_ALL_INSTANCES 0x02
|
|
|
|
typedef SaUint32T SaAmfCSIFlagsT;
|
|
|
|
typedef enum {
|
|
SA_AMF_CSI_NEW_ASSIGN = 1,
|
|
SA_AMF_CSI_QUIESCED = 2,
|
|
SA_AMF_CSI_NOT_QUIESCED = 3,
|
|
SA_AMF_CSI_STILL_ACTIVE = 4
|
|
} SaAmfCSITransitionDescriptorT;
|
|
|
|
typedef enum {
|
|
SA_AMF_RESET = 1,
|
|
SA_AMF_REBOOT = 2,
|
|
SA_AMF_POWER_ON = 3,
|
|
SA_AMF_POWER_OFF = 4
|
|
} SaAmfExternalComponentActionT;
|
|
|
|
#define SA_AMF_SWITCHOVER_OPERATION 0x01
|
|
#define SA_AMF_SHUTDOWN_OPERATION 0x02
|
|
typedef SaUint32T SaAmfPendingOperationFlagsT;
|
|
|
|
typedef struct {
|
|
SaNameT compName;
|
|
SaAmfReadinessStateT readinessState;
|
|
SaAmfHAStateT haState;
|
|
} SaAmfProtectionGroupMemberT;
|
|
|
|
typedef enum {
|
|
SA_AMF_PROTECTION_GROUP_NO_CHANGE = 1,
|
|
SA_AMF_PROTECTION_GROUP_ADDED = 2,
|
|
SA_AMF_PROTECTION_GROUP_REMOVED = 3,
|
|
SA_AMF_PROTECTION_GROUP_STATE_CHANGE = 4
|
|
} SaAmfProtectionGroupChangesT;
|
|
|
|
typedef struct {
|
|
SaAmfProtectionGroupMemberT member;
|
|
SaAmfProtectionGroupChangesT change;
|
|
} SaAmfProtectionGroupNotificationT;
|
|
|
|
typedef enum {
|
|
SA_AMF_COMMUNICATION_ALARM_TYPE = 1,
|
|
SA_AMF_QUALITY_OF_SERVICE_ALARM_TYPE = 2,
|
|
SA_AMF_PROCESSING_ERROR_ALARM_TYPE = 3,
|
|
SA_AMF_EQUIPMENT_ALARM_TYPE = 4,
|
|
SA_AMF_ENVIRONMENTAL_ALARM_TYPE = 5
|
|
} SaAmfErrorReportTypeT;
|
|
|
|
typedef enum {
|
|
SA_AMF_APPLICATION_SUBSYSTEM_FAILURE = 1,
|
|
SA_AMF_BANDWIDTH_REDUCED = 2,
|
|
SA_AMF_CALL_ESTABLISHMENT_ERROR = 3,
|
|
SA_AMF_COMMUNICATION_PROTOCOL_ERROR = 4,
|
|
SA_AMF_COMMUNICATION_SUBSYSTEM_FAILURE = 5,
|
|
SA_AMF_CONFIGURATION_ERROR = 6,
|
|
SA_AMF_CONGESTION = 7,
|
|
SA_AMF_CORRUPT_DATA = 8,
|
|
SA_AMF_CPU_CYCLES_LIMIT_EXCEEDED = 9,
|
|
SA_AMF_EQUIPMENT_MALFUNCTION = 10,
|
|
SA_AMF_FILE_ERROR = 11,
|
|
SA_AMF_IO_DEVICE_ERROR = 12,
|
|
SA_AMF_LAN_ERROR, SA_AMF_OUT_OF_MEMORY = 13,
|
|
SA_AMF_PERFORMANCE_DEGRADED = 14,
|
|
SA_AMF_PROCESSOR_PROBLEM = 15,
|
|
SA_AMF_RECEIVE_FAILURE = 16,
|
|
SA_AMF_REMOTE_NODE_TRNASMISSION_ERROR = 17,
|
|
SA_AMF_RESOURCE_AT_OR_NEARING_CAPACITY = 18,
|
|
SA_AMF_RESPONSE_TIME_EXCESSIVE = 19,
|
|
SA_AMF_RETRANSMISSION_RATE_EXCESSIVE = 20,
|
|
SA_AMF_SOFTWARE_ERROR = 21,
|
|
SA_AMF_SOFTWARE_PROGRAM_ABNORMALLY_TERMINATED = 22,
|
|
SA_AMF_SOFTWARE_PROGRAM_ERROR = 23,
|
|
SA_AMF_STORAGE_CAPACITY_PROBLEM = 24,
|
|
SA_AMF_TIMING_PROBLEM = 25,
|
|
SA_AMF_UNDERLYING_REOUSRCE_UNAVAILABLE = 26,
|
|
SA_AMF_INTERNAL_ERROR = 27,
|
|
SA_AMF_NO_SERVICE_ERROR = 28,
|
|
SA_AMF_SOFTWARE_LIBRARY_ERROR = 29,
|
|
SA_AMF_NOT_RESPONDING = 30
|
|
} SaAmfProbableCauseT;
|
|
|
|
typedef enum {
|
|
SA_AMF_CLEARED = 1,
|
|
SA_AMF_NO_IMPACT = 2,
|
|
SA_AMF_INDETERMINATE = 3,
|
|
SA_AMF_CRITICAL = 4,
|
|
SA_AMF_MAJOR = 5,
|
|
SA_AMF_WEDGED_COMPONENT_FAILURE = 6,
|
|
SA_AMF_COMPONENT_TERMINATED_FAILURE = 7,
|
|
SA_AMF_NODE_FAILURE = 8,
|
|
SA_AMF_MINOR = 9,
|
|
SA_AMF_WARNING = 10
|
|
} SaAmfErrorImpactAndSeverityT;
|
|
|
|
typedef enum {
|
|
SA_AMF_NO_RECOMMENDATION = 1,
|
|
SA_AMF_INTERNALLY_RECOVERED = 2,
|
|
SA_AMF_COMPONENT_RESTART = 3,
|
|
SA_AMF_COMPONENT_FAILOVER = 4,
|
|
SA_AMF_NODE_SWITCHOVER = 5,
|
|
SA_AMF_NODE_FAILOVER = 6,
|
|
SA_AMF_NODE_FAILFAST = 7,
|
|
SA_AMF_CLUSTER_RESET = 8
|
|
} SaAmfRecommendedRecoveryT;
|
|
|
|
typedef struct {
|
|
SaAmfErrorReportTypeT errorReportType;
|
|
SaAmfProbableCauseT probableCause;
|
|
SaAmfErrorImpactAndSeverityT errorImpactAndSeverity;
|
|
SaAmfRecommendedRecoveryT recommendedRecovery;
|
|
} SaAmfErrorDescriptorT;
|
|
|
|
typedef SaUint64T SaSizeT;
|
|
#define SA_AMF_OPAQUE_BUFFER_SIZE_MAX 512
|
|
typedef struct {
|
|
char *buffer;
|
|
SaSizeT size;
|
|
} SaAmfErrorBufferT;
|
|
|
|
typedef struct {
|
|
SaAmfErrorBufferT *specificProblem;
|
|
SaAmfErrorBufferT *additionalText;
|
|
SaAmfErrorBufferT *additionalInformation;
|
|
} SaAmfAdditionalDataT;
|
|
|
|
#endif /* AIS_TYPES_H_DEFINED */
|