Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
/*
 * Copyright (c) 2016 Intel Corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/**
 * @file
 *
 * @brief CoAP implementation for Zephyr.
 */

#ifndef __LINK_FORMAT_H__
#define __LINK_FORMAT_H__

/**
 * @brief COAP library
 * @defgroup zoap COAP Library
 * @{
 */

#define _ZOAP_WELL_KNOWN_CORE_PATH \
	((const char * const[]) { ".well-known", "core", NULL })

int _zoap_well_known_core_get(struct zoap_resource *resource,
			      struct zoap_packet *request,
			      const struct sockaddr *from);

/**
 * This resource should be added before all other resources that should be
 * included in the responses of the .well-known/core resource.
 */
#define ZOAP_WELL_KNOWN_CORE_RESOURCE		\
	{ .get = _zoap_well_known_core_get,	\
	  .path = _ZOAP_WELL_KNOWN_CORE_PATH,	\
	}

/**
 * In case you want to add attributes to the resources included in the
 * 'well-known/core' "virtual" resource, the 'user_data' field should point
 * to a valid zoap_core_metadata structure.
 */
struct zoap_core_metadata {
	const char * const *attributes;
	void *user_data;
};

/**
 * @}
 */

#endif /* __LINK_FORMAT_H__ */