Rtos API example

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers topo_trace.h Source File

topo_trace.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2014-2016 ARM Limited. All rights reserved.
00003  *
00004  * SPDX-License-Identifier: LicenseRef-PBL
00005  *
00006  * Licensed under the Permissive Binary License, Version 1.0 (the "License"); you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  * https://www.mbed.com/licenses/PBL-1.0
00010  *
00011  * See the License for the specific language governing permissions and limitations under the License.
00012  *
00013  */
00014 #ifndef TOPO_TRACE_H
00015 #define TOPO_TRACE_H
00016 
00017 #include "ns_types.h"
00018 
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022 
00023 /**
00024  * \file topo_trace.h
00025  * \brief test API to trace the network topology
00026  */
00027 
00028 #ifndef HAVE_TOPO_TRACE
00029 /* Use DUMMY functions if not required. */
00030 /** \cond DOXYGEN_IGNORE */
00031 #define topo_trace(type, address, update_type) ((void) 0)
00032 /** \endcond */
00033 
00034 #else /* HAVE_TOPO_TRACE */
00035 
00036 enum topo_type {
00037     TOPOLOGY_RPL,
00038     TOPOLOGY_MLE,
00039     TOPOLOGY_THREAD,
00040 };
00041 
00042 enum topo_update {
00043     TOPO_CLEAR = 2, // Clear all links of specified type to any address.
00044     TOPO_ADD = 1,   // Add a link of specified type to specified address.
00045     TOPO_REMOVE = 0 // Remove a link of specified type to specified address.
00046 };
00047 
00048 /** Modify topology tables.
00049  *
00050  * Add or remove entries to external topology tracer.
00051  *
00052  * \param topo_type Topology link type.
00053  * \param address EUI-64 address.
00054  * \param update_type Add or remove address.
00055  */
00056 void topo_trace(enum topo_type type, const uint8_t address[static 8], enum topo_update update_type);
00057 
00058 #endif
00059 
00060 #ifdef __cplusplus
00061 }
00062 #endif
00063 
00064 #endif /* TOPO_TRACE_H */