You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.8 KiB
C
64 lines
1.8 KiB
C
1 year ago
|
/****************************************************************************
|
||
|
** File name : HTIEEE1588V2.h
|
||
|
** Description : IEEE1588 v2 Ptp timer protoclo api
|
||
|
** Create date : 2019.09.01
|
||
|
** Auther by : Liuyx
|
||
|
** Version info : V1.0.01
|
||
|
** Copyright (C) 2002-2019 xi'an huatek, Inc Co., Ltd
|
||
|
** Update record:
|
||
|
** DATE AUTHER DESC
|
||
|
** -------------------------------------------------------------------------
|
||
|
** 2019.09.01 Liuyx first build
|
||
|
****************************************************************************/
|
||
|
#ifndef __HT_IEEE1588_V2_H
|
||
|
#define __HT_IEEE1588_V2_H
|
||
|
#include "HTGlobal.h"
|
||
|
/* ether_header */
|
||
|
//#include <netinet/if_ether.h>
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif /* __cplusplus */
|
||
|
|
||
|
typedef struct ptp_header {
|
||
|
uint8_t ptp_ts : 4, /*transportSpecific*/
|
||
|
ptp_type : 4; /*messageType*/
|
||
|
uint8_t ptp_v; /*versionPTP (4 bits in size)*/
|
||
|
uint16_t ptp_ml; /*messageLength*/
|
||
|
uint8_t ptp_dn; /*domainNumber*/
|
||
|
uint8_t ptp_res; /*reserved*/
|
||
|
uint16_t ptp_flags; /*flags*/
|
||
|
uint64_t ptp_cf; /*correctionField*/
|
||
|
uint32_t ptp_res2; /*reserved*/
|
||
|
uint8_t ptp_src[10]; /*sourcePortIdentity,8 byte mac,2 byte portId*/
|
||
|
uint16_t ptp_sid; /*sequenceId*/
|
||
|
uint8_t ptp_ctlf; /*controlField*/
|
||
|
uint8_t ptp_lmi; /*logMessageInterval*/
|
||
|
} ST_PTP_HEADER; // __attribute__((__packed__));
|
||
|
|
||
|
typedef struct pkt_ptp {
|
||
|
//struct ether_header eh;
|
||
|
ST_PTP_HEADER ph;
|
||
|
uint64_t s : 48;
|
||
|
uint32_t ns;
|
||
|
} ST_PKT_PTPS; // __attribute__((__packed__));
|
||
|
|
||
|
enum ptp_msg_type
|
||
|
{
|
||
|
SYNC = 0x0,
|
||
|
DELAY_REQ = 0x1,
|
||
|
FOLLOW_UP = 0x8,
|
||
|
DELAY_RESP = 0x9,
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /* end __HT_IEEE1588_V2_H */
|
||
|
|