94 lines
2.8 KiB
C
94 lines
2.8 KiB
C
/*
|
|
* Copyright (c) @CompanyNameMagicTag 2021-2021. All rights reserved.
|
|
* Description: diag common header file
|
|
* This file should be changed only infrequently and with great care.
|
|
*/
|
|
|
|
#ifndef __ZDIAG_COMMON_H__
|
|
#define __ZDIAG_COMMON_H__
|
|
|
|
#include "errcode.h"
|
|
#include "zdiag_config.h"
|
|
|
|
#define MUX_START_FLAG 0xDEADBEEF
|
|
#define MUX_PKT_VER 0xfd
|
|
|
|
typedef enum {
|
|
MUX_PKT_CMD = 0,
|
|
MUX_PKT_IND = 1,
|
|
MUX_PKT_ACK = 3,
|
|
} mux_pkt_type_t;
|
|
|
|
typedef enum {
|
|
DIAG_PKT_PROC_USR_ASYNC_CMD_IND,
|
|
DIAG_PKT_PROC_USR_SYNC_CMD_IND,
|
|
DIAG_PKT_PROC_PORT_PKT,
|
|
DIAG_PKT_PPOC_LOCAL_EXEC_Q,
|
|
DIAG_PKT_PPOC_OUT_PUT_Q,
|
|
} diag_pkt_proc_t;
|
|
|
|
typedef enum {
|
|
DIAG_ADDR_ATTRIBUTE_VALID = 0x1,
|
|
DIAG_ADDR_ATTRIBUTE_HCC = 0x2,
|
|
DIAG_ADDR_ATTRIBUTE_HSO_CONNECT = 0x4,
|
|
} diag_addr_attribute_t;
|
|
|
|
typedef struct {
|
|
uint32_t module; /* source module ID */
|
|
uint32_t dest_mod; /* destination module ID */
|
|
uint32_t no; /* No. */
|
|
uint32_t id; /* ID */
|
|
uint32_t time;
|
|
int8_t data[0]; /* User Data Cache */
|
|
} diag_cmd_log_layer_ind_stru_t;
|
|
#define DIAG_FULL_LOG_HEADER_SIZE sizeof(diag_cmd_log_layer_ind_stru_t)
|
|
|
|
typedef struct {
|
|
uint16_t sn; /* cmd sn */
|
|
uint16_t crc16; /* crc16 */
|
|
|
|
uint16_t cmd_id; /* cmd id */
|
|
uint16_t param_size; /* param size */
|
|
uint8_t param[0]; /* data */
|
|
} msp_diag_head_req_stru_t;
|
|
#define DIAG_REQ_HEADER_SIZE sizeof(msp_diag_head_req_stru_t)
|
|
|
|
typedef struct {
|
|
uint16_t cmd_id; /* cmd id */
|
|
uint16_t param_size; /* param size */
|
|
uint8_t param[0]; /* data */
|
|
} msp_diag_head_ind_stru_t;
|
|
#define DIAG_IND_HEADER_SIZE sizeof(msp_diag_head_ind_stru_t)
|
|
|
|
typedef struct {
|
|
uint16_t sn; /* cmd sn */
|
|
uint8_t ctrl; /* auto ack:0xfe,initiative ack:0 */
|
|
uint8_t pad;
|
|
uint16_t cmd_id; /* cmd id */
|
|
uint16_t param_size; /* param size */
|
|
uint8_t param[0]; /* data */
|
|
} msp_diag_head_cnf_stru_t;
|
|
#define DIAG_CNF_HEADER_SIZE sizeof(msp_diag_head_cnf_stru_t)
|
|
|
|
typedef struct {
|
|
uint32_t start_flag; /* start flag fixed 0xDEADBEAF */
|
|
uint32_t au_id; /* MSP AUID. */
|
|
uint8_t type; /* ind:0,ack:2,system ack:3 */
|
|
uint8_t ver; /* diag cmd version,0xff:old version,0xfe:crc16version,0xfd:nb version */
|
|
uint16_t cmd_id; /* mark unencrypted cmd id only 0x5000,0x5002,0x5003 */
|
|
|
|
uint16_t crc16; /* crc16 */
|
|
|
|
uint8_t dst;
|
|
uint8_t src;
|
|
|
|
uint8_t ctrl;
|
|
uint8_t pad[1];
|
|
uint16_t packet_data_size; /* puc_packet_data size, not include sizeof(MSP_MUX_PACKET_HEAD_STRU). */
|
|
|
|
uint8_t puc_packet_data[0]; /* data:Encrypted means encrypted data, otherwise plain text */
|
|
} msp_mux_packet_head_stru_t;
|
|
#define DIAG_MUX_HEADER_SIZE sizeof(msp_mux_packet_head_stru_t)
|
|
|
|
#endif
|