65 lines
2.3 KiB
C
65 lines
2.3 KiB
C
|
|
/**
|
|||
|
|
* @file: $RCSfile: node.h,v $
|
|||
|
|
* @brief: $<EFBFBD>ڵ㶨<EFBFBD><EFBFBD>ͷ
|
|||
|
|
*
|
|||
|
|
* @version: $Revision: 1.1 $
|
|||
|
|
* @date: $Date: 2018/11/24 06:54:49 $
|
|||
|
|
* @author: $Author: lizhongming $
|
|||
|
|
* @state: $State: Exp $
|
|||
|
|
*
|
|||
|
|
* @latest: $Id: node.h,v 1.1 2018/11/24 06:54:49 lizhongming Exp $
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef _COMMUNICATION_NODE_H
|
|||
|
|
#define _COMMUNICATION_NODE_H
|
|||
|
|
|
|||
|
|
#include "ied.h"
|
|||
|
|
|
|||
|
|
|
|||
|
|
typedef struct node_t node_t;
|
|||
|
|
struct node_t {
|
|||
|
|
uint32_t id; /**< <20><>־(Ψһ<CEA8><D2BB>) */
|
|||
|
|
//uint32_t flags; /**< <20><><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
//byte_t chntype; /**< ͨ<><CDA8>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Socket/Serial/CAN) */
|
|||
|
|
//byte_t worktype; /**< <20><><EFBFBD><EFBFBD>(Client/Server) */
|
|||
|
|
//byte_t mode; /**< <20><><EFBFBD><EFBFBD>ģʽ(polling<6E><67>cyclic) */
|
|||
|
|
//uint32_t systoken_st; /**< ϵͳ<CFB5><CDB3><EFBFBD>Ƶ<EFBFBD>״̬ */
|
|||
|
|
char name[LONGNAME]; /**< <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
//void *driver_config; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
//char *special_config; /**< ˽<><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> */
|
|||
|
|
char *process_name; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
|
|||
|
|
/* Runtime data buffer */
|
|||
|
|
//uint16_t index; /**< <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> */
|
|||
|
|
uint16_t n_clients; /**< <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> */
|
|||
|
|
ied_t **clients; /**< <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ied_t<5F><74><EFBFBD><EFBFBD> */
|
|||
|
|
apr_time_t start_time;
|
|||
|
|
apr_time_t last_used; /**< <20>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|||
|
|
CP56Time2a proc_tmstamp; /**< <20>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|||
|
|
int status; /**< <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬ */
|
|||
|
|
//byte_t node_state[2]; /**< <20><><EFBFBD>ڵ<EFBFBD>״̬ */
|
|||
|
|
|
|||
|
|
/* Extend property */
|
|||
|
|
void *sys_ext; /**< NODE<44><45>ϵͳ<CFB5><CDB3>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>,<2C>ɻ<EFBFBD><C9BB><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5> */
|
|||
|
|
void *app_ext; /**< NODE<44><45>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>,<2C><>Ӧ<EFBFBD>ÿ<EFBFBD>ʵ<EFBFBD><CAB5> */
|
|||
|
|
void *usr_ext; /**< NODE<44><45><EFBFBD>û<EFBFBD><C3BB><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>,<2C><>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD>ʵ<EFBFBD><CAB5> */
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
extern "C" {
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/** Get channel(of IED) by address */
|
|||
|
|
APR_DECLARE(channel_t*) get_channel_by_addr(uint32_t address);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#endif /** _COMMUNICATION_NODE_H */
|