* Copyright (c) 2021 Huawei Technologies Co.,Ltd.
*
* CM is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
*
* http://license.coscl.org.cn/MulanPSL2
*
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
* -------------------------------------------------------------------------
*
* cma_client.h
*
*
* IDENTIFICATION
* include/cm/cm_agent/cma_client.h
*
* -------------------------------------------------------------------------
*/
#ifndef CM_CMA_CLIENT_ADPT_H
#define CM_CMA_CLIENT_ADPT_H
#include "cm_msg.h"
void StartDatanodeCheck(void);
int CheckDnStausPhonyDead(int dnId, int agentCheckTimeInterval);
int DatanodeStatusCheck(DnStatus *dnStatus, uint32 dataNodeIndex, int32 dnProcess);
void DNDataBaseStatusCheck(uint32 index);
int CheckDatanodeStatus(const char *dataDir, int *role);
int ProcessUnlockCmd(const cm_to_agent_unlock *unlockMsg);
int ProcessLockNoPrimaryCmd(uint32 instId);
int ProcessLockChosenPrimaryCmd(const cm_to_agent_lock2 *msgTypeLock2Ptr);
void *DNSyncCheckMain(void *arg);
void *DNMostAvailableCheckMain(void *arg);
void *DNDataDirectoryCheckMain(void *arg);
void ProcessStreamingStandbyClusterBuildCommand(
int instanceType, const char* dataDir, const cm_to_agent_build *buildMsg);
void* DNBackupStatusCheckMain(void *arg);
void DnCheckFloatIp(DnStatus *dnStatus, uint32 dnIdx, bool8 isRunning);
uint32 DelFloatIpInDatanode(uint32 dnIdx);
#endif