/******************************************************************************* * * Copyright (c) 2015 Intel Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v1.0 which accompany this distribution. * * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html * The Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Simon Bernard - initial API and implementation * Christian Renz - Please refer to git log * Christian Manal - Ported to RIOT OS * *******************************************************************************/ /* * Copyright (C) 2018 Beduino Master Projekt - University of Bremen * Copyright (C) 2019 HAW Hamburg * * This file is subject to the terms and conditions of the GNU Lesser * General Public License v2.1. See the file LICENSE in the top level * directory for more details. */ /** * @ingroup lwm2m_client * @brief Public API and definitions of the connection handle for * LwM2M client implementation using Wakaama * @{ * * @file * * @author Christian Manal * @author Leandro Lanzieri */ #ifndef LWM2M_CLIENT_CONNECTION_H #define LWM2M_CLIENT_CONNECTION_H #ifdef __cplusplus extern "C" { #endif #include "net/ipv6/addr.h" #include "net/sock/udp.h" #include "lwm2m_client.h" #include "lwm2m_client_config.h" #define SCHEME_COAPS "coaps://" #define SCHEME_COAP "coap://" /** * @brief Tries to find an existing connection based on a remote UDP endpoint * * @param[in] conn_list connections list to search * @param[in] remote remote UDP endpoint to compare to * * @return pointer to the connection in success * @return NULL otherwise */ lwm2m_client_connection_t *lwm2m_client_connection_find( lwm2m_client_connection_t *conn_list, const sock_udp_ep_t *remote); /** * @brief Handles a received packet from a connection * * @param[in] conn connection from where the packet came from * @param[in] buffer received packet * @param[in] num_bytes size of the packet * @param[in] client_data LwM2M client data * * @return 0 on success * @return non-zero otherwise */ int lwm2m_connection_handle_packet(lwm2m_client_connection_t *conn, uint8_t *buffer, size_t num_bytes, lwm2m_client_data_t *client_data); #ifdef __cplusplus } #endif #endif /* LWM2M_CLIENT_CONNECTION_H */ /** @} */