ha/service-mgmt/sm/src/sm_service_heartbeat_api.h

113 lines
4.9 KiB
C

//
// Copyright (c) 2014,2023 Wind River Systems, Inc.
//
// SPDX-License-Identifier: Apache-2.0
//
#ifndef __SM_SERVICE_HEARTBEAT_API_H__
#define __SM_SERVICE_HEARTBEAT_API_H__
#include <stdbool.h>
#include "sm_types.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef void (*SmServiceHeartbeatStartCallbackT) (char service_name[] );
typedef void (*SmServiceHeartbeatStopCallbackT) (char service_name[] );
typedef void (*SmServiceHeartbeatOkayCallbackT) (char service_name[] );
typedef void (*SmServiceHeartbeatWarnCallbackT) (char service_name[] );
typedef void (*SmServiceHeartbeatDegradeCallbackT) (char service_name[] );
typedef void (*SmServiceHeartbeatFailCallbackT) (char service_name[] );
typedef struct
{
SmServiceHeartbeatStartCallbackT start_callback;
SmServiceHeartbeatStopCallbackT stop_callback;
SmServiceHeartbeatOkayCallbackT okay_callback;
SmServiceHeartbeatWarnCallbackT warn_callback;
SmServiceHeartbeatDegradeCallbackT degrade_callback;
SmServiceHeartbeatFailCallbackT fail_callback;
} SmServiceHeartbeatCallbacksT;
// ****************************************************************************
// initialize mutex
// ==============
extern SmErrorT sm_service_heartbeat_api_mutex_initialize ( void );
// ****************************************************************************
// ****************************************************************************
// destroy mutex
// ==============
extern SmErrorT sm_service_heartbeat_api_mutex_finalize ( void );
// ****************************************************************************
// ****************************************************************************
// Service Heartbeat API - Register Callbacks
// ==========================================
extern SmErrorT sm_service_heartbeat_api_register_callbacks(
SmServiceHeartbeatCallbacksT* callbacks );
// ****************************************************************************
// ****************************************************************************
// Service Heartbeat API - Deregister Callbacks
// ============================================
extern SmErrorT sm_service_heartbeat_api_deregister_callbacks(
SmServiceHeartbeatCallbacksT* callbacks );
// ****************************************************************************
// ****************************************************************************
// Service Heartbeat API - Start Heartbeat
// =======================================
extern SmErrorT sm_service_heartbeat_api_start_heartbeat( char service_name[] );
// ****************************************************************************
// ****************************************************************************
// Service Heartbeat API - Stop Heartbeat
// ======================================
extern SmErrorT sm_service_heartbeat_api_stop_heartbeat( char service_name[] );
// ****************************************************************************
// ****************************************************************************
// Service Heartbeat API - Okay Heartbeat
// ======================================
extern SmErrorT sm_service_heartbeat_api_okay_heartbeat( char service_name[] );
// ****************************************************************************
// ****************************************************************************
// Service Heartbeat API - Warn Heartbeat
// ======================================
extern SmErrorT sm_service_heartbeat_api_warn_heartbeat( char service_name[] );
// ****************************************************************************
// ****************************************************************************
// Service Heartbeat API - Degrade Heartbeat
// =========================================
extern SmErrorT sm_service_heartbeat_api_degrade_heartbeat( char service_name[] );
// ****************************************************************************
// ****************************************************************************
// Service Heartbeat API - Fail Heartbeat
// ======================================
extern SmErrorT sm_service_heartbeat_api_fail_heartbeat( char service_name[] );
// ****************************************************************************
// ****************************************************************************
// Service Heartbeat API - Initialize
// ==================================
extern SmErrorT sm_service_heartbeat_api_initialize( bool main_process );
// ****************************************************************************
// ****************************************************************************
// Service Heartbeat API - Finialize
// =================================
extern SmErrorT sm_service_heartbeat_api_finalize( bool main_process );
// ****************************************************************************
#ifdef __cplusplus
}
#endif
#endif // __SM_SERVICE_HEARTBEAT_API_H__