zephyr/doc/doxygen/phil_commented.h
Rodrigo Caballero fb74cd4a79 Add In-Code Documentation Guidelines
The in-code Documentation Guidelines contains the best practices for
documenting code using Doxygen. The guidelines offer options for both
novice and expert developers to document their code in a compatible and
correct manner.
Fully marked and simplified templates are provided to ease the
documentation effort.
Examples taken directly from Tiny Mountain's code show the difference
clearly.
The .c files contained here are used for the examples only and do not
have any function within Tiny Mountain.
Finally, the doxygen.rst file was updated to include the new content.


Change-Id: I6a39a54feed5fa95f2f21545c3967ff0755d85ae
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:12 -05:00

61 lines
2.2 KiB
C

/*! @file
* @brief Dining philosophers header file.
*
* Collects the includes and defines needed to implement the dining philosophers
* example.
*/
/*
* Copyright (c) 2012-2014 Wind River Systems, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1) Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2) Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3) Neither the name of Wind River Systems nor the names of its contributors
* may be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/* Needed includes. */
#if defined(CONFIG_STDOUT_CONSOLE)
#include <stdio.h>
#else
#include <misc/printk.h>
#endif
/*!
@def N_PHILOSOPHERS
@brief Defines the number of philosophers.
@details Multiple tasks do printfs and they may conflict.
Uses puts() instead of printf() to avoid conflicts.
*/
#define N_PHILOSOPHERS 6
#if defined(CONFIG_STDOUT_CONSOLE)
#define PRINTF(...) {char output[256]; sprintf(output, __VA_ARGS__); puts(output);}
#else
#define PRINTF(...) printk(__VA_ARGS__)
#endif