nts_common.h File Reference

Definitions common to NTS client and server. More...

#include "core/net.h"

Go to the source code of this file.

Macros

#define NTS_PORT   4460
 
#define NTS_KE_CRITICAL   0x8000
 
#define NTS_KE_RECORD_TYPE_MASK   0x7FFF
 

Enumerations

enum  NtsKeRecordType {
  NTS_KE_RECORD_TYPE_END_OF_MESSAGE = 0, NTS_KE_RECORD_TYPE_NTS_NEXT_PROTO_NEGO = 1, NTS_KE_RECORD_TYPE_ERROR = 2, NTS_KE_RECORD_TYPE_WARNING = 3,
  NTS_KE_RECORD_TYPE_AEAD_ALGO_NEGO = 4, NTS_KE_RECORD_TYPE_NEW_COOKIE_FOR_NTPV4 = 5, NTS_KE_RECORD_TYPE_NTPV4_SERVER_NEGO = 6, NTS_KE_RECORD_TYPE_NTPV4_PORT_NEGO = 7
}
 NTS-KE record types. More...
 
enum  NtsProtocolId { NTS_PROTOCOL_ID_NTPV4 = 0 }
 Protocol IDs. More...
 
enum  NtsErrorCode { NTS_ERROR_CODE_UNRECOGNIZED_CRITICAL_RECORD = 0, NTS_ERROR_CODE_BAD_REQUEST = 1, NTS_ERROR_CODE_INTERNAL_SERVER_ERROR = 2 }
 Error codes. More...
 

Variables

typedef __packed_struct
 NTS-KE record. More...
 
uint16_t bodyLength
 
uint8_t body []
 
 NtsKeRecord
 

Detailed Description

Definitions common to NTS client and server.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.4

Definition in file nts_common.h.

Macro Definition Documentation

◆ NTS_KE_CRITICAL

#define NTS_KE_CRITICAL   0x8000

Definition at line 41 of file nts_common.h.

◆ NTS_KE_RECORD_TYPE_MASK

#define NTS_KE_RECORD_TYPE_MASK   0x7FFF

Definition at line 43 of file nts_common.h.

◆ NTS_PORT

#define NTS_PORT   4460

Definition at line 38 of file nts_common.h.

Enumeration Type Documentation

◆ NtsErrorCode

Error codes.

Enumerator
NTS_ERROR_CODE_UNRECOGNIZED_CRITICAL_RECORD 

Unrecognized Critical Record.

NTS_ERROR_CODE_BAD_REQUEST 

Bad Request.

NTS_ERROR_CODE_INTERNAL_SERVER_ERROR 

Internal Server Error.

Definition at line 82 of file nts_common.h.

◆ NtsKeRecordType

NTS-KE record types.

Enumerator
NTS_KE_RECORD_TYPE_END_OF_MESSAGE 

End of Message.

NTS_KE_RECORD_TYPE_NTS_NEXT_PROTO_NEGO 

NTS Next Protocol Negotiation.

NTS_KE_RECORD_TYPE_ERROR 

Error.

NTS_KE_RECORD_TYPE_WARNING 

Warning.

NTS_KE_RECORD_TYPE_AEAD_ALGO_NEGO 

AEAD Algorithm Negotiation.

NTS_KE_RECORD_TYPE_NEW_COOKIE_FOR_NTPV4 

New Cookie for NTPv4.

NTS_KE_RECORD_TYPE_NTPV4_SERVER_NEGO 

NTPv4 Server Negotiation.

NTS_KE_RECORD_TYPE_NTPV4_PORT_NEGO 

NTPv4 Port Negotiation.

Definition at line 55 of file nts_common.h.

◆ NtsProtocolId

Protocol IDs.

Enumerator
NTS_PROTOCOL_ID_NTPV4 

Network Time Protocol version 4 (NTPv4)

Definition at line 72 of file nts_common.h.

Variable Documentation

◆ __packed_struct

typedef __packed_struct
Initial value:
{
uint16_t type

NTS-KE record.

Definition at line 102 of file nts_common.h.

◆ body

uint8_t body[]

Definition at line 106 of file nts_common.h.

◆ bodyLength

uint16_t bodyLength

Definition at line 105 of file nts_common.h.

◆ NtsKeRecord

NtsKeRecord

Definition at line 107 of file nts_common.h.

uint8_t type
Definition: coap_common.h:176