A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.

Dependents:   oldheating gps motorhome heating

udp/ntp/ntp.h

Committer:
andrewboyson
Date:
2019-01-22
Revision:
113:904b40231907
Parent:
112:f8694d0b8858
Child:
138:5ff0c7069300

File content as of revision 113:904b40231907:

#pragma once

__packed struct NtpHeader
{
    unsigned Mode : 3;
    unsigned VN   : 3;
    unsigned LI   : 2;
    uint8_t  Stratum; 
     int8_t  Poll;
     int8_t  Precision;
    uint32_t RootDelay;
    uint32_t Dispersion;
    char     RefIdentifier[4];
    
    uint64_t RefTimeStamp;
    uint64_t OriTimeStamp;
    uint64_t RecTimeStamp;
    uint64_t TraTimeStamp;
};

extern bool       NtpTrace;

extern int  NtpHandlePacketReceived(void (*traceback)(void), int sizeRx, void* pPacketRx, int* pSizeTx, void* pPacketTx);
extern int  NtpPollForPacketToSend(int type, void* pPacket, int* pSize);
extern void NtpLogHeader(struct NtpHeader* pHeader);
extern void NtpInit(void);

#define NTP_PORT 123

#define NTP_CLIENT 3
#define NTP_SERVER 4