coap_server_transport.c File Reference

Transport protocol abstraction layer. More...

#include <stdlib.h>
#include "coap/coap_server.h"
#include "coap/coap_server_transport.h"
#include "coap/coap_server_misc.h"
#include "debug.h"

Go to the source code of this file.

Macros

#define TRACE_LEVEL   COAP_TRACE_LEVEL
 

Functions

error_t coapServerSendCallback (void *handle, const void *data, size_t length, size_t *written, uint_t flags)
 DTLS send callback. More...
 
error_t coapServerReceiveCallback (void *handle, void *data, size_t size, size_t *received, uint_t flags)
 DTLS receive callback. More...
 
error_t coapServerCookieGenerateCallback (TlsContext *context, const DtlsClientParameters *clientParams, uint8_t *cookie, size_t *length, void *param)
 DTLS cookie generation callback function. More...
 
error_t coapServerCookieVerifyCallback (TlsContext *context, const DtlsClientParameters *clientParams, const uint8_t *cookie, size_t length, void *param)
 DTLS cookie verification callback function. More...
 
error_t coapServerAcceptSession (CoapServerContext *context, CoapDtlsSession *session, const IpAddr *remoteIpAddr, uint16_t remotePort)
 Accept a new connection from a client. More...
 
error_t coapServerDemultiplexSession (CoapServerContext *context)
 DTLS session demultiplexing. More...
 
void coapServerDeleteSession (CoapDtlsSession *session)
 Delete DTLS session. More...
 

Detailed Description

Transport protocol abstraction layer.

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.0

Definition in file coap_server_transport.c.

Macro Definition Documentation

◆ TRACE_LEVEL

#define TRACE_LEVEL   COAP_TRACE_LEVEL

Definition at line 32 of file coap_server_transport.c.

Function Documentation

◆ coapServerAcceptSession()

error_t coapServerAcceptSession ( CoapServerContext context,
CoapDtlsSession session,
const IpAddr remoteIpAddr,
uint16_t  remotePort 
)

Accept a new connection from a client.

Parameters
[in]contextPointer to the CoAP server context
[in]sessionPointer to the DTLS session
[in]remoteIpAddrClient IP address
[in]remotePortClient port number
Returns
Error code

Definition at line 69 of file coap_server_transport.c.

◆ coapServerCookieGenerateCallback()

error_t coapServerCookieGenerateCallback ( TlsContext context,
const DtlsClientParameters clientParams,
uint8_t *  cookie,
size_t *  length,
void *  param 
)

DTLS cookie generation callback function.

Parameters
[in]contextPointer to the DTLS context
[in]clientParamsClient's parameters
[out]cookiePointer to the first byte of the cookie
[in,out]lengthLength of the cookie, in bytes
[in]paramPointer to the DTLS session
Returns
Error code

Definition at line 422 of file coap_server_transport.c.

◆ coapServerCookieVerifyCallback()

error_t coapServerCookieVerifyCallback ( TlsContext context,
const DtlsClientParameters clientParams,
const uint8_t *  cookie,
size_t  length,
void *  param 
)

DTLS cookie verification callback function.

Parameters
[in]contextPointer to the DTLS context
[in]clientParamsClient's parameters
[in]cookiePointer to the first byte of the cookie
[in]lengthLength of the cookie, in bytes
[in]paramPointer to the DTLS session
Returns
Error code

Definition at line 491 of file coap_server_transport.c.

◆ coapServerDeleteSession()

void coapServerDeleteSession ( CoapDtlsSession session)

Delete DTLS session.

Parameters
[in]sessionPointer to the DTLS session

Definition at line 311 of file coap_server_transport.c.

◆ coapServerDemultiplexSession()

error_t coapServerDemultiplexSession ( CoapServerContext context)

DTLS session demultiplexing.

Parameters
[in]contextPointer to the CoAP server context
Returns
Error code

Definition at line 190 of file coap_server_transport.c.

◆ coapServerReceiveCallback()

error_t coapServerReceiveCallback ( void *  handle,
void *  data,
size_t  size,
size_t *  received,
uint_t  flags 
)

DTLS receive callback.

Parameters
[in]handleHandle referencing a client connection
[out]dataBuffer where to store the incoming data
[in]sizeMaximum number of bytes that can be received
[out]receivedNumber of bytes that have been received
[in]flagsUnused parameter
Returns
Error code

Definition at line 367 of file coap_server_transport.c.

◆ coapServerSendCallback()

error_t coapServerSendCallback ( void *  handle,
const void *  data,
size_t  length,
size_t *  written,
uint_t  flags 
)

DTLS send callback.

Parameters
[in]handleHandle referencing a client connection
[in]dataPointer to a buffer containing the data to be transmitted
[in]lengthNumber of data bytes to send
[out]writtenNumber of bytes that have been transmitted
[in]flagsUnused parameter
Returns
Error code

Definition at line 336 of file coap_server_transport.c.