1293 lines
48 KiB
C
1293 lines
48 KiB
C
//
|
|
// Copyright (c) 2014-2018 Wind River Systems, Inc.
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
#ifndef __SM_TYPES_H__
|
|
#define __SM_TYPES_H__
|
|
|
|
#include <stdint.h>
|
|
#include <inttypes.h>
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define SM_CONFIG_OPTION_STANDBY_ALL_SERVICES_ON_A_LOCKED_NODE
|
|
|
|
#define STRINGIZE(str) #str
|
|
#define MAKE_STRING(str) STRINGIZE(str)
|
|
|
|
#define SM_VERSION 1
|
|
#define SM_REVISION 2
|
|
#define SM_RUN_DIRECTORY "/var/run/sm"
|
|
#define SM_RUN_SERVICES_DIRECTORY "/var/run/sm/services"
|
|
#define SM_DATABASE_NAME "/var/run/sm/sm.db"
|
|
#define SM_HEARTBEAT_DATABASE_NAME "/var/run/sm/sm.hb.db"
|
|
#define SM_MASTER_DATABASE_NAME "/var/lib/sm/sm.db"
|
|
#define SM_MASTER_HEARTBEAT_DATABASE_NAME "/var/lib/sm/sm.hb.db"
|
|
#define SM_PATCH_SCRIPT "/var/lib/sm/patches/sm-patch.sql"
|
|
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_LSB_SCRIPT "lsb-script"
|
|
#ifdef __LSB_DIR
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_LSB_DIR MAKE_STRING(__LSB_DIR)
|
|
#else
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_LSB_DIR "/etc/init.d"
|
|
#endif
|
|
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_OCF_VERSION "1"
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_OCF_REVISION "1"
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_OCF_SCRIPT "ocf-script"
|
|
|
|
#ifdef __OCF_DIR
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_OCF_DIR MAKE_STRING(__OCF_DIR)
|
|
#else
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_OCF_DIR "/usr/lib/ocf"
|
|
#endif
|
|
#ifdef __OCF_PLUGIN_DIR
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_OCF_PLUGIN_DIR MAKE_STRING(__OCF_PLUGIN_DIR)
|
|
#else
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_OCF_PLUGIN_DIR "/usr/lib/ocf/resource.d"
|
|
#endif
|
|
|
|
#ifdef __OCF_DIR64
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_OCF_DIR64 MAKE_STRING(__OCF_DIR64)
|
|
#else
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_OCF_DIR64 "/usr/lib64/ocf"
|
|
#endif
|
|
#ifdef __OCF_PLUGIN_DIR64
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_OCF_PLUGIN_DIR64 MAKE_STRING(__OCF_PLUGIN_DIR64)
|
|
#else
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_OCF_PLUGIN_DIR64 "/usr/lib64/ocf/resource.d"
|
|
#endif
|
|
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_PYTHON_SCRIPT "python-script"
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_CUSTOM_SCRIPT "custom-script"
|
|
#define SM_SERVICE_ACTION_PLUGIN_TYPE_SHARED_LIBRARY "shared-library"
|
|
|
|
#define SM_PROCESS_FAILED -65533
|
|
#define SM_SERVICE_ACTION_PLUGIN_TIMEOUT -65534
|
|
#define SM_SERVICE_ACTION_PLUGIN_FAILURE -65535
|
|
#define SM_SERVICE_ACTION_PLUGIN_FORCE_SUCCESS -65536
|
|
|
|
#define SM_INVALID_INDEX -1
|
|
|
|
#define SM_PROCESS_PID_FILENAME "/var/run/sm.pid"
|
|
#define SM_TRAP_PROCESS_PID_FILENAME "/var/run/sm-trap.pid"
|
|
#define SM_WATCHDOG_PROCESS_PID_FILENAME "/var/run/sm-watchdog.pid"
|
|
#define SM_ERU_PROCESS_PID_FILENAME "/var/run/sm-eru.pid"
|
|
|
|
#define SM_BOOT_COMPLETE_FILENAME "/var/run/sm_boot_complete"
|
|
|
|
#define SM_INDICATE_DEGRADED_FILENAME "/var/run/.sm_degraded"
|
|
|
|
#define SM_WATCHDOG_HEARTBEAT_FILENAME "/var/run/.sm_watchdog_heartbeat"
|
|
|
|
#define SM_DUMP_DATA_FILE "/tmp/sm_data_dump.txt"
|
|
|
|
#define SM_TROUBLESHOOT_LOG_FILE "/var/log/sm-troubleshoot.log"
|
|
#define SM_TROUBLESHOOT_SCRIPT "/usr/local/sbin/sm-troubleshoot"
|
|
|
|
#define SM_NOTIFICATION_SCRIPT "/usr/local/sbin/sm-notification"
|
|
|
|
#define SM_SERVICE_DOMAIN_WEIGHT_MINIMUM 0
|
|
#define SM_SERVICE_DOMAIN_WEIGHT_UNSELECTABLE_ACTIVE -1
|
|
|
|
#define SM_SERVICE_DOMAIN_MGMT_INTERFACE "management-interface"
|
|
#define SM_SERVICE_DOMAIN_OAM_INTERFACE "oam-interface"
|
|
#define SM_SERVICE_DOMAIN_INFRA_INTERFACE "infrastructure-interface"
|
|
|
|
#define SM_MGMT_INTERFACE_NAME "mgmt"
|
|
#define SM_OAM_INTERFACE_NAME "oam"
|
|
#define SM_INFRA_INTERFACE_NAME "infra"
|
|
#define SM_MAX_IF_NAME_LEN 5
|
|
|
|
#define SM_NODE_CONTROLLER_0_NAME "controller-0"
|
|
#define SM_NODE_CONTROLLER_1_NAME "controller-1"
|
|
|
|
#define SM_CPE_MODE_SIMPLEX "simplex"
|
|
#define SM_CPE_MODE_DUPLEX_DIRECT "duplex-direct"
|
|
#define SM_CPE_MODE_DUPLEX "duplex"
|
|
|
|
typedef enum
|
|
{
|
|
SM_DB_TYPE_MAIN,
|
|
SM_DB_TYPE_HEARTBEAT,
|
|
SM_DB_TYPE_MAX
|
|
} SmDbTypeT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_COMPARE_OPERATOR_GT,
|
|
SM_COMPARE_OPERATOR_GE,
|
|
SM_COMPARE_OPERATOR_LT,
|
|
SM_COMPARE_OPERATOR_LE,
|
|
SM_COMPARE_OPERATOR_EQ,
|
|
SM_COMPARE_OPERATOR_NE,
|
|
SM_COMPARE_OPERATOR_MAX
|
|
} SmCompareOperatorT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_NODE_ADMIN_STATE_NIL,
|
|
SM_NODE_ADMIN_STATE_UNKNOWN,
|
|
SM_NODE_ADMIN_STATE_LOCKED,
|
|
SM_NODE_ADMIN_STATE_UNLOCKED,
|
|
SM_NODE_ADMIN_STATE_MAX
|
|
} SmNodeAdminStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_NODE_OPERATIONAL_STATE_NIL,
|
|
SM_NODE_OPERATIONAL_STATE_UNKNOWN,
|
|
SM_NODE_OPERATIONAL_STATE_ENABLED,
|
|
SM_NODE_OPERATIONAL_STATE_DISABLED,
|
|
SM_NODE_OPERATIONAL_STATE_MAX
|
|
} SmNodeOperationalStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_NODE_AVAIL_STATUS_NIL,
|
|
SM_NODE_AVAIL_STATUS_UNKNOWN,
|
|
SM_NODE_AVAIL_STATUS_NONE,
|
|
SM_NODE_AVAIL_STATUS_AVAILABLE,
|
|
SM_NODE_AVAIL_STATUS_DEGRADED,
|
|
SM_NODE_AVAIL_STATUS_FAILED,
|
|
SM_NODE_AVAIL_STATUS_MAX
|
|
} SmNodeAvailStatusT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_NODE_READY_STATE_NIL,
|
|
SM_NODE_READY_STATE_UNKNOWN,
|
|
SM_NODE_READY_STATE_ENABLED,
|
|
SM_NODE_READY_STATE_DISABLED,
|
|
SM_NODE_READY_STATE_MAX
|
|
} SmNodeReadyStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_NODE_EVENT_NIL,
|
|
SM_NODE_EVENT_UNKNOWN,
|
|
SM_NODE_EVENT_ENABLED,
|
|
SM_NODE_EVENT_DISABLED,
|
|
SM_NODE_EVENT_AUDIT,
|
|
SM_NODE_EVENT_MAX
|
|
} SmNodeEventT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_INTERFACE_STATE_NIL,
|
|
SM_INTERFACE_STATE_UNKNOWN,
|
|
SM_INTERFACE_STATE_ENABLED,
|
|
SM_INTERFACE_STATE_DISABLED,
|
|
SM_INTERFACE_STATE_NOT_IN_USE,
|
|
SM_INTERFACE_STATE_MAX
|
|
} SmInterfaceStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_NETWORK_TYPE_NIL,
|
|
SM_NETWORK_TYPE_UNKNOWN,
|
|
SM_NETWORK_TYPE_IPV4,
|
|
SM_NETWORK_TYPE_IPV6,
|
|
SM_NETWORK_TYPE_IPV4_UDP,
|
|
SM_NETWORK_TYPE_IPV6_UDP,
|
|
SM_NETWORK_TYPE_MAX
|
|
} SmNetworkTypeT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_INTERFACE_UNKNOWN,
|
|
SM_INTERFACE_MGMT,
|
|
SM_INTERFACE_INFRA,
|
|
SM_INTERFACE_OAM
|
|
}SmInterfaceTypeT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_PATH_TYPE_NIL,
|
|
SM_PATH_TYPE_UNKNOWN,
|
|
SM_PATH_TYPE_PRIMARY,
|
|
SM_PATH_TYPE_SECONDARY,
|
|
SM_PATH_TYPE_STATUS_ONLY,
|
|
SM_PATH_TYPE_MAX
|
|
} SmPathTypeT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_AUTH_TYPE_NIL,
|
|
SM_AUTH_TYPE_UNKNOWN,
|
|
SM_AUTH_TYPE_NONE,
|
|
SM_AUTH_TYPE_HMAC_SHA512,
|
|
SM_AUTH_TYPE_MAX
|
|
} SmAuthTypeT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_ORCHESTRATION_TYPE_NIL,
|
|
SM_ORCHESTRATION_TYPE_UNKNOWN,
|
|
SM_ORCHESTRATION_TYPE_GEOGRAPHICAL,
|
|
SM_ORCHESTRATION_TYPE_REGIONAL,
|
|
SM_ORCHESTRATION_TYPE_HYBRID,
|
|
SM_ORCHESTRATION_TYPE_MAX
|
|
} SmOrchestrationTypeT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_DESIGNATION_TYPE_NIL,
|
|
SM_DESIGNATION_TYPE_UNKNOWN,
|
|
SM_DESIGNATION_TYPE_LEADER,
|
|
SM_DESIGNATION_TYPE_BACKUP,
|
|
SM_DESIGNATION_TYPE_OTHER,
|
|
SM_DESIGNATION_TYPE_MAX
|
|
} SmDesignationTypeT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_STATE_NIL,
|
|
SM_SERVICE_DOMAIN_STATE_UNKNOWN,
|
|
SM_SERVICE_DOMAIN_STATE_INITIAL,
|
|
SM_SERVICE_DOMAIN_STATE_WAITING,
|
|
SM_SERVICE_DOMAIN_STATE_LEADER,
|
|
SM_SERVICE_DOMAIN_STATE_BACKUP,
|
|
SM_SERVICE_DOMAIN_STATE_OTHER,
|
|
SM_SERVICE_DOMAIN_STATE_MAX
|
|
} SmServiceDomainStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_EVENT_NIL,
|
|
SM_SERVICE_DOMAIN_EVENT_UNKNOWN,
|
|
SM_SERVICE_DOMAIN_EVENT_HELLO_MSG,
|
|
SM_SERVICE_DOMAIN_EVENT_NEIGHBOR_AGEOUT,
|
|
SM_SERVICE_DOMAIN_EVENT_INTERFACE_ENABLED,
|
|
SM_SERVICE_DOMAIN_EVENT_INTERFACE_DISABLED,
|
|
SM_SERVICE_DOMAIN_EVENT_WAIT_EXPIRED,
|
|
SM_SERVICE_DOMAIN_EVENT_CHANGING_LEADER,
|
|
SM_SERVICE_DOMAIN_EVENT_MAX
|
|
} SmServiceDomainEventT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_EVENT_DATA_MSG_NODE_NAME,
|
|
SM_SERVICE_DOMAIN_EVENT_DATA_MSG_GENERATION,
|
|
SM_SERVICE_DOMAIN_EVENT_DATA_MSG_PRIORITY,
|
|
SM_SERVICE_DOMAIN_EVENT_DATA_MSG_LEADER,
|
|
SM_SERVICE_DOMAIN_EVENT_DATA_MAX
|
|
} SmServiceDomainEventDataT;
|
|
|
|
typedef enum{
|
|
SM_FAILOVER_STATE_INITIAL,
|
|
SM_FAILOVER_STATE_NORMAL,
|
|
SM_FAILOVER_STATE_FAIL_PENDING,
|
|
SM_FAILOVER_STATE_FAILED,
|
|
SM_FAILOVER_STATE_SURVIVED,
|
|
SM_FAILOVER_STATE_MAX
|
|
}SmFailoverStateT;
|
|
|
|
typedef enum{
|
|
SM_FAILOVER_EVENT_HEARTBEAT_ENABLED,
|
|
SM_FAILOVER_EVENT_IF_STATE_CHANGED,
|
|
SM_FAILOVER_EVENT_FAIL_PENDING_TIMEOUT,
|
|
SM_FAILOVER_EVENT_NODE_ENABLED,
|
|
SM_FAILOVER_EVENT_MAX
|
|
}SmFailoverEventT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_INTERFACE_EVENT_NIL,
|
|
SM_SERVICE_DOMAIN_INTERFACE_EVENT_UNKNOWN,
|
|
SM_SERVICE_DOMAIN_INTERFACE_EVENT_NODE_ENABLED,
|
|
SM_SERVICE_DOMAIN_INTERFACE_EVENT_NODE_DISABLED,
|
|
SM_SERVICE_DOMAIN_INTERFACE_EVENT_ENABLED,
|
|
SM_SERVICE_DOMAIN_INTERFACE_EVENT_DISABLED,
|
|
SM_SERVICE_DOMAIN_INTERFACE_EVENT_AUDIT,
|
|
SM_SERVICE_DOMAIN_INTERFACE_EVENT_NOT_IN_USE,
|
|
SM_SERVICE_DOMAIN_INTERFACE_EVENT_MAX
|
|
} SmServiceDomainInterfaceEventT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_INTERFACE_CONNECT_TYPE_TOR,
|
|
SM_SERVICE_DOMAIN_INTERFACE_CONNECT_TYPE_DC
|
|
} SmServiceDomainInterfaceConnectTypeT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_STATE_NIL,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_STATE_DOWN,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_STATE_EXCHANGE_START,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_STATE_EXCHANGE,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_STATE_FULL,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_STATE_MAX
|
|
} SmServiceDomainNeighborStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_NIL,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_UNKNOWN,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_HELLO_MSG,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_EXCHANGE_START_MSG,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_EXCHANGE_START_TIMER,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_EXCHANGE_MSG,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_EXCHANGE_TIMEOUT,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_DOWN,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_MAX
|
|
} SmServiceDomainNeighborEventT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_DATA_MSG_EXCHANGE_SEQ,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_DATA_MSG_MORE_MEMBERS,
|
|
SM_SERVICE_DOMAIN_NEIGHBOR_EVENT_DATA_MAX
|
|
} SmServiceDomainNeighborEventDataT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_MEMBER_REDUNDANCY_MODEL_NIL,
|
|
SM_SERVICE_DOMAIN_MEMBER_REDUNDANCY_MODEL_UNKNOWN,
|
|
SM_SERVICE_DOMAIN_MEMBER_REDUNDANCY_MODEL_NONE,
|
|
SM_SERVICE_DOMAIN_MEMBER_REDUNDANCY_MODEL_N,
|
|
SM_SERVICE_DOMAIN_MEMBER_REDUNDANCY_MODEL_N_PLUS_M,
|
|
SM_SERVICE_DOMAIN_MEMBER_REDUNDANCY_MODEL_N_TO_1,
|
|
SM_SERVICE_DOMAIN_MEMBER_REDUNDANCY_MODEL_N_TO_N,
|
|
SM_SERVICE_DOMAIN_MEMBER_REDUNDANCY_MODEL_MAX
|
|
} SmServiceDomainMemberRedundancyModelT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_SPLIT_BRAIN_RECOVERY_NIL,
|
|
SM_SERVICE_DOMAIN_SPLIT_BRAIN_RECOVERY_UNKNOWN,
|
|
SM_SERVICE_DOMAIN_SPLIT_BRAIN_RECOVERY_DISABLE_ALL_ACTIVE,
|
|
SM_SERVICE_DOMAIN_SPLIT_BRAIN_RECOVERY_SELECT_BEST_ACTIVE,
|
|
SM_SERVICE_DOMAIN_SPLIT_BRAIN_RECOVERY_MAX
|
|
} SmServiceDomainSplitBrainRecoveryT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_GROUP_ACTION_NIL,
|
|
SM_SERVICE_GROUP_ACTION_UNKNOWN,
|
|
SM_SERVICE_GROUP_ACTION_DISABLE,
|
|
SM_SERVICE_GROUP_ACTION_GO_ACTIVE,
|
|
SM_SERVICE_GROUP_ACTION_GO_STANDBY,
|
|
SM_SERVICE_GROUP_ACTION_AUDIT,
|
|
SM_SERVICE_GROUP_ACTION_RECOVER,
|
|
SM_SERVICE_GROUP_ACTION_MAX
|
|
} SmServiceGroupActionT;
|
|
|
|
#define SM_SERVICE_GROUP_ACTION_FLAG_RECOVER 1
|
|
#define SM_SERVICE_GROUP_ACTION_FLAG_ESCALATE_RECOVERY 2
|
|
#define SM_SERVICE_GROUP_ACTION_FLAG_CLEAR_FATAL_CONDITION 3
|
|
|
|
#define SM_FLAG_SET(flags, flag) (flags |= (1 << flag))
|
|
#define SM_FLAG_CLEAR(flags, flag) (flags &= ~(1 << flag))
|
|
#define SM_FLAG_TOGGLE(flags, flag) (flags ^= (1 << flag))
|
|
#define SM_FLAG_IS_SET(flags, flag) (flags & (1 << flag))
|
|
|
|
// bit flag for sm service action options
|
|
// restart a service without restarting its dependency
|
|
#define SM_SVC_RESTART_NO_DEP 0x1
|
|
|
|
typedef uint64_t SmServiceGroupActionFlagsT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_GROUP_STATE_NIL,
|
|
SM_SERVICE_GROUP_STATE_NA,
|
|
SM_SERVICE_GROUP_STATE_INITIAL,
|
|
SM_SERVICE_GROUP_STATE_UNKNOWN,
|
|
SM_SERVICE_GROUP_STATE_STANDBY,
|
|
SM_SERVICE_GROUP_STATE_GO_STANDBY,
|
|
SM_SERVICE_GROUP_STATE_GO_ACTIVE,
|
|
SM_SERVICE_GROUP_STATE_ACTIVE,
|
|
SM_SERVICE_GROUP_STATE_DISABLING,
|
|
SM_SERVICE_GROUP_STATE_DISABLED,
|
|
SM_SERVICE_GROUP_STATE_SHUTDOWN,
|
|
SM_SERVICE_GROUP_STATE_MAX
|
|
} SmServiceGroupStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_GROUP_EVENT_NIL,
|
|
SM_SERVICE_GROUP_EVENT_UNKNOWN,
|
|
SM_SERVICE_GROUP_EVENT_GO_ACTIVE,
|
|
SM_SERVICE_GROUP_EVENT_GO_STANDBY,
|
|
SM_SERVICE_GROUP_EVENT_DISABLE,
|
|
SM_SERVICE_GROUP_EVENT_AUDIT,
|
|
SM_SERVICE_GROUP_EVENT_SERVICE_SCN,
|
|
SM_SERVICE_GROUP_EVENT_SHUTDOWN,
|
|
SM_SERVICE_GROUP_EVENT_NOTIFICATION_SUCCESS,
|
|
SM_SERVICE_GROUP_EVENT_NOTIFICATION_FAILED,
|
|
SM_SERVICE_GROUP_EVENT_NOTIFICATION_TIMEOUT,
|
|
SM_SERVICE_GROUP_EVENT_MAX,
|
|
} SmServiceGroupEventT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_GROUP_EVENT_DATA_SERVICE_NAME,
|
|
SM_SERVICE_GROUP_EVENT_DATA_SERVICE_STATE,
|
|
SM_SERVICE_GROUP_EVENT_DATA_MAX
|
|
} SmServiceGroupEventDataT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_GROUP_STATUS_NIL,
|
|
SM_SERVICE_GROUP_STATUS_UNKNOWN,
|
|
SM_SERVICE_GROUP_STATUS_NONE,
|
|
SM_SERVICE_GROUP_STATUS_WARN,
|
|
SM_SERVICE_GROUP_STATUS_DEGRADED,
|
|
SM_SERVICE_GROUP_STATUS_FAILED,
|
|
SM_SERVICE_GROUP_STATUS_MAX
|
|
} SmServiceGroupStatusT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_GROUP_CONDITION_NIL,
|
|
SM_SERVICE_GROUP_CONDITION_UNKNOWN,
|
|
SM_SERVICE_GROUP_CONDITION_NONE,
|
|
SM_SERVICE_GROUP_CONDITION_DATA_INCONSISTENT,
|
|
SM_SERVICE_GROUP_CONDITION_DATA_OUTDATED,
|
|
SM_SERVICE_GROUP_CONDITION_DATA_CONSISTENT,
|
|
SM_SERVICE_GROUP_CONDITION_DATA_SYNC,
|
|
SM_SERVICE_GROUP_CONDITION_DATA_STANDALONE,
|
|
SM_SERVICE_GROUP_CONDITION_RECOVERY_FAILURE,
|
|
SM_SERVICE_GROUP_CONDITION_ACTION_FAILURE,
|
|
SM_SERVICE_GROUP_CONDITION_FATAL_FAILURE,
|
|
SM_SERVICE_GROUP_CONDITION_MAX
|
|
} SmServiceGroupConditionT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_GROUP_NOTIFICATION_NIL,
|
|
SM_SERVICE_GROUP_NOTIFICATION_UNKNOWN,
|
|
SM_SERVICE_GROUP_NOTIFICATION_STANDBY,
|
|
SM_SERVICE_GROUP_NOTIFICATION_GO_STANDBY,
|
|
SM_SERVICE_GROUP_NOTIFICATION_GO_ACTIVE,
|
|
SM_SERVICE_GROUP_NOTIFICATION_ACTIVE,
|
|
SM_SERVICE_GROUP_NOTIFICATION_DISABLING,
|
|
SM_SERVICE_GROUP_NOTIFICATION_DISABLED,
|
|
SM_SERVICE_GROUP_NOTIFICATION_SHUTDOWN,
|
|
SM_SERVICE_GROUP_NOTIFICATION_MAX
|
|
} SmServiceGroupNotificationT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_ADMIN_STATE_NIL,
|
|
SM_SERVICE_ADMIN_STATE_NA,
|
|
SM_SERVICE_ADMIN_STATE_LOCKED,
|
|
SM_SERVICE_ADMIN_STATE_UNLOCKED,
|
|
SM_SERVICE_ADMIN_STATE_MAX
|
|
} SmServiceAdminStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_STATE_NIL,
|
|
SM_SERVICE_STATE_NA,
|
|
SM_SERVICE_STATE_INITIAL,
|
|
SM_SERVICE_STATE_UNKNOWN,
|
|
SM_SERVICE_STATE_ENABLED_STANDBY,
|
|
SM_SERVICE_STATE_ENABLED_GO_STANDBY,
|
|
SM_SERVICE_STATE_ENABLED_GO_ACTIVE,
|
|
SM_SERVICE_STATE_ENABLED_ACTIVE,
|
|
SM_SERVICE_STATE_ENABLING_THROTTLE,
|
|
SM_SERVICE_STATE_ENABLING,
|
|
SM_SERVICE_STATE_DISABLING,
|
|
SM_SERVICE_STATE_DISABLED,
|
|
SM_SERVICE_STATE_SHUTDOWN,
|
|
SM_SERVICE_STATE_MAX
|
|
} SmServiceStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_EVENT_NIL,
|
|
SM_SERVICE_EVENT_UNKNOWN,
|
|
SM_SERVICE_EVENT_ENABLE_THROTTLE,
|
|
SM_SERVICE_EVENT_ENABLE,
|
|
SM_SERVICE_EVENT_ENABLE_SUCCESS,
|
|
SM_SERVICE_EVENT_ENABLE_FAILED,
|
|
SM_SERVICE_EVENT_ENABLE_TIMEOUT,
|
|
SM_SERVICE_EVENT_GO_ACTIVE,
|
|
SM_SERVICE_EVENT_GO_ACTIVE_SUCCESS,
|
|
SM_SERVICE_EVENT_GO_ACTIVE_FAILED,
|
|
SM_SERVICE_EVENT_GO_ACTIVE_TIMEOUT,
|
|
SM_SERVICE_EVENT_GO_STANDBY,
|
|
SM_SERVICE_EVENT_GO_STANDBY_SUCCESS,
|
|
SM_SERVICE_EVENT_GO_STANDBY_FAILED,
|
|
SM_SERVICE_EVENT_GO_STANDBY_TIMEOUT,
|
|
SM_SERVICE_EVENT_DISABLE,
|
|
SM_SERVICE_EVENT_DISABLE_SUCCESS,
|
|
SM_SERVICE_EVENT_DISABLE_FAILED,
|
|
SM_SERVICE_EVENT_DISABLE_TIMEOUT,
|
|
SM_SERVICE_EVENT_AUDIT,
|
|
SM_SERVICE_EVENT_AUDIT_SUCCESS,
|
|
SM_SERVICE_EVENT_AUDIT_FAILED,
|
|
SM_SERVICE_EVENT_AUDIT_TIMEOUT,
|
|
SM_SERVICE_EVENT_AUDIT_MISMATCH,
|
|
SM_SERVICE_EVENT_HEARTBEAT_OKAY,
|
|
SM_SERVICE_EVENT_HEARTBEAT_WARN,
|
|
SM_SERVICE_EVENT_HEARTBEAT_DEGRADE,
|
|
SM_SERVICE_EVENT_HEARTBEAT_FAIL,
|
|
SM_SERVICE_EVENT_PROCESS_FAILURE,
|
|
SM_SERVICE_EVENT_SHUTDOWN,
|
|
SM_SERVICE_EVENT_MAX,
|
|
} SmServiceEventT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_EVENT_DATA_IS_ACTION,
|
|
SM_SERVICE_EVENT_DATA_STATE,
|
|
SM_SERVICE_EVENT_DATA_STATUS,
|
|
SM_SERVICE_EVENT_DATA_CONDITION,
|
|
SM_SERVICE_EVENT_DATA_MAX
|
|
} SmServiceEventDataT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_STATUS_NIL,
|
|
SM_SERVICE_STATUS_UNKNOWN,
|
|
SM_SERVICE_STATUS_NONE,
|
|
SM_SERVICE_STATUS_WARN,
|
|
SM_SERVICE_STATUS_DEGRADED,
|
|
SM_SERVICE_STATUS_FAILED,
|
|
SM_SERVICE_STATUS_MAX
|
|
} SmServiceStatusT;
|
|
|
|
// Service Condition Meanings:
|
|
// data-inconsistent: data is not useable.
|
|
// data-outdated: data is consistent, but not the latest.
|
|
// data-consistent: data is consistent, but might not be the latest (unknown).
|
|
// data-standalone: data is consistent, but will not sync.
|
|
// recovery-failure: recovery of the service has failed.
|
|
// action-failure: a service action has failed.
|
|
// fatal-failure: a fatal failure has occured.
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_CONDITION_NIL,
|
|
SM_SERVICE_CONDITION_UNKNOWN,
|
|
SM_SERVICE_CONDITION_NONE,
|
|
SM_SERVICE_CONDITION_DATA_INCONSISTENT,
|
|
SM_SERVICE_CONDITION_DATA_OUTDATED,
|
|
SM_SERVICE_CONDITION_DATA_CONSISTENT,
|
|
SM_SERVICE_CONDITION_DATA_SYNC,
|
|
SM_SERVICE_CONDITION_DATA_STANDALONE,
|
|
SM_SERVICE_CONDITION_RECOVERY_FAILURE,
|
|
SM_SERVICE_CONDITION_ACTION_FAILURE,
|
|
SM_SERVICE_CONDITION_FATAL_FAILURE,
|
|
SM_SERVICE_CONDITION_MAX
|
|
} SmServiceConditionT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_SEVERITY_NIL,
|
|
SM_SERVICE_SEVERITY_UNKNOWN,
|
|
SM_SERVICE_SEVERITY_NONE,
|
|
SM_SERVICE_SEVERITY_MINOR,
|
|
SM_SERVICE_SEVERITY_MAJOR,
|
|
SM_SERVICE_SEVERITY_CRITICAL,
|
|
SM_SERVICE_SEVERITY_MAX
|
|
} SmServiceSeverityT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_HEARTBEAT_TYPE_NIL,
|
|
SM_SERVICE_HEARTBEAT_TYPE_UNKNOWN,
|
|
SM_SERVICE_HEARTBEAT_TYPE_UNIX,
|
|
SM_SERVICE_HEARTBEAT_TYPE_UDP,
|
|
SM_SERVICE_HEARTBEAT_TYPE_MAX,
|
|
} SmServiceHeartbeatTypeT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_HEARTBEAT_STATE_NIL,
|
|
SM_SERVICE_HEARTBEAT_STATE_UNKNOWN,
|
|
SM_SERVICE_HEARTBEAT_STATE_STARTED,
|
|
SM_SERVICE_HEARTBEAT_STATE_STOPPED,
|
|
SM_SERVICE_HEARTBEAT_STATE_MAX,
|
|
} SmServiceHeartbeatStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DEPENDENCY_TYPE_NIL,
|
|
SM_SERVICE_DEPENDENCY_TYPE_UNKNOWN,
|
|
SM_SERVICE_DEPENDENCY_TYPE_ACTION,
|
|
SM_SERVICE_DEPENDENCY_TYPE_STATE,
|
|
SM_SERVICE_DEPENDENCY_TYPE_MAX,
|
|
} SmServiceDependencyTypeT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_ACTION_NIL,
|
|
SM_SERVICE_ACTION_NA,
|
|
SM_SERVICE_ACTION_UNKNOWN,
|
|
SM_SERVICE_ACTION_NONE,
|
|
SM_SERVICE_ACTION_ENABLE,
|
|
SM_SERVICE_ACTION_DISABLE,
|
|
SM_SERVICE_ACTION_GO_ACTIVE,
|
|
SM_SERVICE_ACTION_GO_STANDBY,
|
|
SM_SERVICE_ACTION_AUDIT_ENABLED,
|
|
SM_SERVICE_ACTION_AUDIT_DISABLED,
|
|
SM_SERVICE_ACTION_MAX
|
|
} SmServiceActionT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_ACTION_RESULT_NIL,
|
|
SM_SERVICE_ACTION_RESULT_UNKNOWN,
|
|
SM_SERVICE_ACTION_RESULT_SUCCESS,
|
|
SM_SERVICE_ACTION_RESULT_FATAL,
|
|
SM_SERVICE_ACTION_RESULT_FAILED,
|
|
SM_SERVICE_ACTION_RESULT_TIMEOUT,
|
|
SM_SERVICE_ACTION_RESULT_MAX
|
|
} SmServiceActionResultT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_SCHEDULING_STATE_NIL,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_STATE_UNKNOWN,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_STATE_NONE,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_STATE_SWACT,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_STATE_SWACT_FORCE,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_STATE_DISABLE,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_STATE_DISABLE_FORCE,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_STATE_MAX
|
|
} SmServiceDomainSchedulingStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SERVICE_DOMAIN_SCHEDULING_LIST_NIL,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_LIST_ACTIVE,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_LIST_GO_ACTIVE,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_LIST_GO_STANDBY,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_LIST_STANDBY,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_LIST_DISABLING,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_LIST_DISABLED,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_LIST_FAILED,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_LIST_FATAL,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_LIST_UNAVAILABLE,
|
|
SM_SERVICE_DOMAIN_SCHEDULING_LIST_MAX
|
|
} SmServiceDomainSchedulingListT;
|
|
|
|
typedef struct
|
|
{
|
|
struct in_addr sin; // stored in network order
|
|
} SmIpv4AddressT;
|
|
|
|
typedef struct
|
|
{
|
|
struct in6_addr sin6; // stored in network order
|
|
} SmIpv6AddressT;
|
|
|
|
typedef struct
|
|
{
|
|
SmNetworkTypeT type;
|
|
|
|
union
|
|
{
|
|
SmIpv4AddressT ipv4;
|
|
SmIpv6AddressT ipv6;
|
|
} u;
|
|
} SmNetworkAddressT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_OKAY,
|
|
SM_NOT_FOUND,
|
|
SM_NO_MSG,
|
|
SM_FAILED,
|
|
SM_NOT_IMPLEMENTED,
|
|
SM_ERROR_MAX
|
|
} SmErrorT;
|
|
|
|
typedef uint32_t SmHeartbeatMsgIfStateT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_SYSTEM_MODE_UNKNOWN,
|
|
SM_SYSTEM_MODE_STANDARD,
|
|
SM_SYSTEM_MODE_CPE_DUPLEX,
|
|
SM_SYSTEM_MODE_CPE_DUPLEX_DC,
|
|
SM_SYSTEM_MODE_CPE_SIMPLEX,
|
|
SM_SYSTEM_MODE_MAX
|
|
}SmSystemModeT;
|
|
|
|
typedef enum
|
|
{
|
|
SM_NODE_STATE_UNKNOWN,
|
|
SM_NODE_STATE_ACTIVE,
|
|
SM_NODE_STATE_STANDBY,
|
|
SM_NODE_STATE_INIT,
|
|
SM_NODE_STATE_FAILED,
|
|
SM_NODE_STATE_MAX
|
|
}SmNodeScheduleStateT;
|
|
|
|
|
|
typedef enum
|
|
{
|
|
SM_FAILOVER_INTERFACE_UNKNOWN,
|
|
SM_FAILOVER_INTERFACE_OK,
|
|
SM_FAILOVER_INTERFACE_MISSING_HEARTBEAT,
|
|
SM_FAILOVER_INTERFACE_DOWN,
|
|
SM_FAILOVER_INTERFACE_RECOVERING
|
|
}SmFailoverInterfaceStateT;
|
|
|
|
// ****************************************************************************
|
|
// Types - System Mode String
|
|
// =======================================
|
|
extern const char* sm_system_mode_str( SmSystemModeT system_mode);
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Node Administrative State Value
|
|
// =======================================
|
|
extern SmNodeAdminStateT sm_node_admin_state_value( const char* state_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Node Administrative State String
|
|
// ========================================
|
|
extern const char* sm_node_admin_state_str( SmNodeAdminStateT state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Node Operational State Value
|
|
// ====================================
|
|
extern SmNodeOperationalStateT sm_node_oper_state_value( const char* state_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Node Operational State String
|
|
// =====================================
|
|
extern const char* sm_node_oper_state_str( SmNodeOperationalStateT state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Node Availability Status Value
|
|
// ======================================
|
|
extern SmNodeAvailStatusT sm_node_avail_status_value( const char* status_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Node Availability Status String
|
|
// =======================================
|
|
extern const char* sm_node_avail_status_str( SmNodeAvailStatusT status );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Node Ready State Value
|
|
// ==============================
|
|
extern SmNodeReadyStateT sm_node_ready_state_value( const char* state_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Node Ready State String
|
|
// ===============================
|
|
extern const char* sm_node_ready_state_str( SmNodeReadyStateT state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Node State String
|
|
// =========================
|
|
extern const char* sm_node_state_str( SmNodeAdminStateT admin_state,
|
|
SmNodeReadyStateT ready_state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Node Event Value
|
|
// ========================
|
|
extern SmNodeEventT sm_node_event_value( const char* event_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Node Event String
|
|
// =========================
|
|
extern const char* sm_node_event_str( SmNodeEventT event );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Interface State Value
|
|
// =============================
|
|
extern SmInterfaceStateT sm_interface_state_value( const char* state_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Interface State String
|
|
// ==============================
|
|
extern const char* sm_interface_state_str( SmInterfaceStateT state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Network Type Value
|
|
// ==========================
|
|
extern SmNetworkTypeT sm_network_type_value( const char* network_type_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Network Type String
|
|
// ===========================
|
|
extern const char* sm_network_type_str( SmNetworkTypeT network_type );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Path Type Value
|
|
// =======================
|
|
extern SmPathTypeT sm_path_type_value( const char* path_type_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Path Type String
|
|
// ========================
|
|
extern const char* sm_path_type_str( SmPathTypeT path_type );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Authentication Type Value
|
|
// =================================
|
|
extern SmAuthTypeT sm_auth_type_value( const char* auth_type_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Authentication Type String
|
|
// ==================================
|
|
extern const char* sm_auth_type_str( SmAuthTypeT auth_type );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Orchestration Type Value
|
|
// ================================
|
|
extern SmOrchestrationTypeT sm_orchestration_type_value(
|
|
const char* orchestration_type_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Orchestration Type String
|
|
// =================================
|
|
extern const char* sm_orchestration_type_str(
|
|
SmOrchestrationTypeT orchestration_type );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Designation Type Value
|
|
// ==============================
|
|
extern SmDesignationTypeT sm_designation_type_value(
|
|
const char* designation_type_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Designation Type String
|
|
// ===============================
|
|
extern const char* sm_designation_type_str(
|
|
SmDesignationTypeT designation_type );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain State Value
|
|
// ==================================
|
|
extern SmServiceDomainStateT sm_service_domain_state_value( const char* state_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain State String
|
|
// ===================================
|
|
extern const char* sm_service_domain_state_str( SmServiceDomainStateT state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Event Value
|
|
// ==================================
|
|
extern SmServiceDomainEventT sm_service_domain_event_value( const char* event_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Event String
|
|
// ===================================
|
|
extern const char* sm_service_domain_event_str( SmServiceDomainEventT event );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Scheduling State Value
|
|
// =============================================
|
|
extern SmServiceDomainSchedulingStateT sm_service_domain_scheduling_state_value(
|
|
const char* sched_state_str );
|
|
// ****************************************************************************
|
|
|
|
// ***************************************************************************
|
|
// Types - Service Domain Scheduling State String
|
|
// ==============================================
|
|
extern const char* sm_service_domain_scheduling_state_str(
|
|
SmServiceDomainSchedulingStateT sched_state );
|
|
// ***************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Scheduling List Value
|
|
// ============================================
|
|
extern SmServiceDomainSchedulingListT sm_service_domain_scheduling_list_value(
|
|
const char* sched_list_str );
|
|
// ****************************************************************************
|
|
|
|
// ***************************************************************************
|
|
// Types - Service Domain Scheduling List String
|
|
// =============================================
|
|
extern const char* sm_service_domain_scheduling_list_str(
|
|
SmServiceDomainSchedulingListT sched_list );
|
|
// ***************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Interface Event Value
|
|
// ============================================
|
|
extern SmServiceDomainInterfaceEventT sm_service_domain_interface_event_value(
|
|
const char* event_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Interface Event String
|
|
// =============================================
|
|
extern const char* sm_service_domain_interface_event_str(
|
|
SmServiceDomainInterfaceEventT event );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Failover Event String
|
|
// =============================================
|
|
extern const char* sm_failover_event_str( SmFailoverEventT event );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Failover State String
|
|
// =============================================
|
|
extern const char* sm_failover_state_str( SmFailoverStateT state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Neighbor State Value
|
|
// ===========================================
|
|
extern SmServiceDomainNeighborStateT sm_service_domain_neighbor_state_value(
|
|
const char* neighbor_state_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Neighbor State String
|
|
// ============================================
|
|
extern const char* sm_service_domain_neighbor_state_str(
|
|
SmServiceDomainNeighborStateT neighbor_state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Neighbor Event Value
|
|
// ===========================================
|
|
extern SmServiceDomainNeighborEventT sm_service_domain_neighbor_event_value(
|
|
const char* neighbor_event_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Neighbor Event String
|
|
// ============================================
|
|
extern const char* sm_service_domain_neighbor_event_str(
|
|
SmServiceDomainNeighborEventT neighbor_event );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Member Redundancy Model Value
|
|
// ====================================================
|
|
extern SmServiceDomainMemberRedundancyModelT
|
|
sm_service_domain_member_redundancy_model_value(
|
|
const char* model_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Member Redundancy Model String
|
|
// =====================================================
|
|
extern const char* sm_service_domain_member_redundancy_model_str(
|
|
SmServiceDomainMemberRedundancyModelT model );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Split Brain Recovery Value
|
|
// =================================================
|
|
extern SmServiceDomainSplitBrainRecoveryT
|
|
sm_service_domain_split_brain_recovery_value(
|
|
const char* recovery_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Domain Split Brain Recovery String
|
|
// ==================================================
|
|
extern const char* sm_service_domain_split_brain_recovery_str(
|
|
SmServiceDomainSplitBrainRecoveryT recovery );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group Action Value
|
|
// ==================================
|
|
extern SmServiceGroupActionT sm_service_group_action_value(
|
|
const char* action_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group Action String
|
|
// ===================================
|
|
extern const char* sm_service_group_action_str( SmServiceGroupActionT action );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group State Value
|
|
// =================================
|
|
extern SmServiceGroupStateT sm_service_group_state_value(
|
|
const char* state_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group State String
|
|
// ==================================
|
|
extern const char* sm_service_group_state_str( SmServiceGroupStateT state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group State Lesser Value
|
|
// ========================================
|
|
extern SmServiceGroupStateT sm_service_group_state_lesser(
|
|
SmServiceGroupStateT state_a, SmServiceGroupStateT state_b );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group Event Value
|
|
// =================================
|
|
extern SmServiceGroupEventT sm_service_group_event_value( const char* event_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group Event String
|
|
// ==================================
|
|
extern const char* sm_service_group_event_str( SmServiceGroupEventT event );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group Status Value
|
|
// ==================================
|
|
extern SmServiceGroupStatusT sm_service_group_status_value(
|
|
const char* status_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group Status String
|
|
// ===================================
|
|
extern const char* sm_service_group_status_str( SmServiceGroupStatusT status );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group Condition Value
|
|
// =====================================
|
|
extern SmServiceGroupConditionT sm_service_group_condition_value(
|
|
const char* condition_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group Condition String
|
|
// ======================================
|
|
extern const char* sm_service_group_condition_str(
|
|
SmServiceGroupConditionT condition );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group Notification Value
|
|
// ========================================
|
|
extern SmServiceGroupNotificationT sm_service_group_notification_value(
|
|
const char* notification_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Group Notification String
|
|
// =========================================
|
|
extern const char* sm_service_group_notification_str(
|
|
SmServiceGroupNotificationT notification );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Admin State Value
|
|
// =================================
|
|
extern SmServiceAdminStateT sm_service_admin_state_value( const char* state_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Admin State String
|
|
// ==================================
|
|
extern const char* sm_service_admin_state_str( SmServiceAdminStateT state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service State Value
|
|
// ===========================
|
|
extern SmServiceStateT sm_service_state_value( const char* state_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service State String
|
|
// ============================
|
|
extern const char* sm_service_state_str( SmServiceStateT state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service State Lesser Value
|
|
// ==================================
|
|
extern SmServiceStateT sm_service_state_lesser( SmServiceStateT state_a,
|
|
SmServiceStateT state_b );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Event Value
|
|
// ===========================
|
|
extern SmServiceEventT sm_service_event_value( const char* event_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Event String
|
|
// ============================
|
|
extern const char* sm_service_event_str( SmServiceEventT event );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Status Value
|
|
// ============================
|
|
extern SmServiceStatusT sm_service_status_value( const char* status_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Status String
|
|
// =============================
|
|
extern const char* sm_service_status_str( SmServiceStatusT status );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Condition Value
|
|
// ===============================
|
|
extern SmServiceConditionT sm_service_condition_value( const char* condition_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Condition String
|
|
// ================================
|
|
extern const char* sm_service_condition_str( SmServiceConditionT condition );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Severity Value
|
|
// ==============================
|
|
extern SmServiceSeverityT sm_service_severity_value( const char* severity_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Severity String
|
|
// ==============================
|
|
extern const char* sm_service_severity_str( SmServiceSeverityT severity );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Heartbeat Type Value
|
|
// ====================================
|
|
extern SmServiceHeartbeatTypeT sm_service_heartbeat_type_value(
|
|
const char* heartbeat_type_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Heartbeat Type String
|
|
// =====================================
|
|
extern const char* sm_service_heartbeat_type_str(
|
|
SmServiceHeartbeatTypeT heartbeat_type );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Heartbeat State Value
|
|
// =====================================
|
|
extern SmServiceHeartbeatStateT sm_service_heartbeat_state_value(
|
|
const char* heartbeat_state_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Heartbeat State String
|
|
// ======================================
|
|
extern const char* sm_service_heartbeat_state_str(
|
|
SmServiceHeartbeatStateT heartbeat_state );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Dependency Type Value
|
|
// =====================================
|
|
extern SmServiceDependencyTypeT sm_service_dependency_type_value(
|
|
const char* type_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Dependency Type String
|
|
// ======================================
|
|
extern const char* sm_service_dependency_type_str(
|
|
SmServiceDependencyTypeT type );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Action Value
|
|
// ============================
|
|
extern SmServiceActionT sm_service_action_value( const char* action_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Action String
|
|
// =============================
|
|
extern const char* sm_service_action_str( SmServiceActionT action );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Action Result Value
|
|
// ===================================
|
|
extern SmServiceActionResultT sm_service_action_result_value(
|
|
const char* result_str );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Service Action Result String
|
|
// ====================================
|
|
extern const char* sm_service_action_result_str(
|
|
SmServiceActionResultT result );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Network Address Value
|
|
// =============================
|
|
extern bool sm_network_address_value( const char address_str[],
|
|
SmNetworkAddressT* address );
|
|
// ****************************************************************************
|
|
|
|
// ***************************************************************************
|
|
// Types - Network Address As String
|
|
// =================================
|
|
extern void sm_network_address_str( const SmNetworkAddressT* address,
|
|
char addr_str[] );
|
|
// ***************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Types - Error String
|
|
// ====================
|
|
extern const char* sm_error_str( SmErrorT error );
|
|
// ****************************************************************************
|
|
|
|
// ****************************************************************************
|
|
// Service Domain Interface Type
|
|
// =====================================
|
|
extern SmInterfaceTypeT sm_get_interface_type( const char* domain_interface );
|
|
// ****************************************************************************
|
|
|
|
|
|
// ****************************************************************************
|
|
// node schedule state
|
|
// =====================================
|
|
extern const char* sm_node_schedule_state_str( SmNodeScheduleStateT state );
|
|
// ****************************************************************************
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // __SM_TYPES_H__
|