swmgt.h

来自「RAID卡的测试程序」· C头文件 代码 · 共 229 行

H
229
字号
/*******************************************************************************

 * Filename    : swmgt.h

 * Description : sw component management header file

 *               Shared swmgt data strcture

 * Created on  : 10/23/03

 * CVS Version : $Id: swmgt.h,v 1.4 2004/03/18 01:44:09 debinc Exp $

 *

 * (C) Copyright Promise Technology Inc., 2003

 * All Rights Reserved

 ******************************************************************************/

 

#ifndef __SWMGT_H__

#define __SWMGT_H__



#include "pibasic.h"



#define MAX_NUM_DAEMON 24

#define MAX_DAEMON_NAME_LEN 16

#define MAX_DAEMON_PARAM_LEN 128



#define DAEMON_NOACTION 0

#define DAEMON_STARTED 1

#define DAEMON_STOPPED 2

#define DAEMON_RESTART 3

#define DAEMON_ERROR_STATE 4



#define DAEMON_STARTTYPE_AUTO 1

#define DAEMON_STARTTYPE_MANUAL 2



#define DAEMON_MONITOR_POLLING 1

#define DAEMON_MONITOR_HEARTBEAT 2



#define DAEMON_INTERNAL 1

#define DAEMON_USER 2



#define DAEMON_HEALTHY 1

#define DAEMON_SICK 0



#define SWMGT_FILE_PATH "/var/run/swmgt.pid"



/* for internal sw management */

typedef struct

{   

    u8 sds_u8DaemonName[MAX_DAEMON_NAME_LEN];

    u8 sds_u8DaemonStatus;

    u8 sds_u8DaemonStartupType;

    u8 sds_u8DaemonInternal;

    u8 sds_u8DaemonHeartbeat;

    u8 sds_u8Reserved[3];

    u8 sds_u8DaemonCmdPath[MAX_PATH_LENGTH+1];

    u8 sds_u8DaemonCmd[MAX_DAEMON_NAME_LEN];

    u8 sds_u8DaemonParam[MAX_DAEMON_PARAM_LEN];

    u8 sds_u8Reserved2[8*2];

} swmgt_daemon_setting_t;



typedef struct

{   

    u8 ss_u8NumDaemon;

    u8 ss_u8PollingInterval;

    u8 ss_u8HeartbeatInterval;

    u32 ss_u32SockPort;

    u8 ss_u8Reserved;

    swmgt_daemon_setting_t ss_tDaemon[MAX_NUM_DAEMON];

    u32 sdi_u32DaemonTimeStamp[MAX_NUM_DAEMON];

    u8 sdi_u8DaemonHealth[MAX_NUM_DAEMON];

} swmgt_setting_t;



/* external API use */

typedef struct

{

    u8 sdi_u8DaemonName[MAX_DAEMON_NAME_LEN];

    u8 sdi_u8DaemonStatus;

    u8 sdi_u8DaemonStartupType;

    u8 sdi_u8Reserved[5];

} swmgt_daemon_info_t;



 

/***************************************************************************

* Function Name: getDaemonStatus

* Description:  get daemons' status from a saved file, it is not current

*               running status

* Parameters: [out] pss, the pointer to the daemon's setting.

* Return: success/fail

* Remarks: none.

****************************************************************************/

u32 getDaemonStatus(swmgt_setting_t * pss);

/***************************************************************************

* Function Name: swmgt_setDaemonStartupType

* Description:  set daemons' startup type to a file in flash

* Parameters: [in] pDaemonName, daemon name

*             [in] daemonStartupType, startup type

* Return: success/fail

* Remarks: none.

****************************************************************************/

u32 swmgt_setDaemonStartupType(u8 * pDaemonName, u8 daemonStartupType);

/***************************************************************************

* Function Name: swmgt_startStopDaemon

* Description:  action of start/stop a daemon

* Parameters: [in] pDaemonName, daemon name

*             [in] daemonStatus, start/stop

* Return: success/fail

* Remarks: none.

****************************************************************************/

u32 swmgt_startStopDaemon(u8 * pDaemonName, u8 daemonStatus);

/***************************************************************************

* Function Name: swmgt_getAllDaemonsInfo

* Description:  get all daemon's info

* Parameters: [out] pDaemonInfo, list if daemon info

* Return: success/fail

* Remarks: none.

****************************************************************************/

u32 swmgt_getAllDaemonsInfo(swmgt_setting_t * pDaemonInfo);



#endif /* __SWMGT_H__ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?