Doc fixes.
[bertos.git] / mware / fifobuf.h
old mode 100755 (executable)
new mode 100644 (file)
index 7ee1e70..cb634ee
@@ -1,9 +1,34 @@
-/*!
+/**
  * \file
  * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos 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 St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
  * Copyright 2003, 2004 Develer S.r.l. (http://www.develer.com/)
  * Copyright 2001 Bernardo Innocenti <bernie@develer.com>
- * This file is part of DevLib - See README.devlib for information.
+ *
  * -->
  *
  * \version $Id$
  *             \code head == begin && tail == end \endcode
  */
 
-/*#*
- *#* $Log$
- *#* Revision 1.21  2005/11/04 16:20:02  bernie
- *#* Fix reference to README.devlib in header.
- *#*
- *#* Revision 1.20  2005/04/11 19:10:28  bernie
- *#* Include top-level headers from cfg/ subdir.
- *#*
- *#* Revision 1.19  2004/12/08 08:30:12  bernie
- *#* Add missing header.
- *#*
- *#* Revision 1.18  2004/11/16 21:55:12  bernie
- *#* Workaround for a known fifobuf bug.
- *#*
- *#* Revision 1.17  2004/09/14 20:57:00  bernie
- *#* Use debug.h instead of kdebug.h.
- *#*
- *#* Revision 1.16  2004/09/06 21:39:08  bernie
- *#* Simplify code using ATOMIC().
- *#*
- *#* Revision 1.15  2004/08/29 22:05:16  bernie
- *#* Rename BITS_PER_PTR to CPU_BITS_PER_PTR.
- *#*
- *#* Revision 1.14  2004/08/25 14:12:09  rasky
- *#* Aggiornato il comment block dei log RCS
- *#*
- *#* Revision 1.13  2004/08/24 13:16:11  bernie
- *#* Add type-size definitions for preprocessor.
- *#*
- *#* Revision 1.12  2004/08/02 20:20:29  aleph
- *#* Merge from project_ks
- *#*
- *#* Revision 1.11  2004/07/30 14:15:53  rasky
- *#* Nuovo supporto unificato per detect della CPU
- *#*
- *#* Revision 1.10  2004/07/29 22:57:09  bernie
- *#* Doxygen fix.
- *#*
- *#* Revision 1.9  2004/07/20 23:54:27  bernie
- *#* fifo_flush_locked(): New function;
- *#* Revamp documentation.
- *#*
- *#* Revision 1.8  2004/07/20 23:47:39  bernie
- *#* Finally remove redundant protos.
- *#*
- *#* Revision 1.7  2004/07/20 23:46:29  bernie
- *#* Finally remove redundant protos.
- *#*
- *#* Revision 1.6  2004/06/06 17:18:04  bernie
- *#* Remove redundant declaration of fifo_isempty_locked().
- *#*
- *#* Revision 1.5  2004/06/06 16:50:35  bernie
- *#* Import fixes for race conditions from project_ks.
- *#*
- *#* Revision 1.4  2004/06/06 16:11:17  bernie
- *#* Protect MetroWerks specific pragmas with #ifdef's
- *#*/
-
 #ifndef MWARE_FIFO_H
 #define MWARE_FIFO_H
 
-#include <cfg/cpu.h>
+#include <cpu/types.h>
+#include <cpu/irq.h>
 #include <cfg/debug.h>
 
 typedef struct FIFOBuffer
@@ -123,7 +91,7 @@ typedef struct FIFOBuffer
        )
 
 
-/*!
+/**
  * Check whether the fifo is empty
  *
  * \note Calling fifo_isempty() is safe while a concurrent
@@ -140,7 +108,7 @@ INLINE bool fifo_isempty(const FIFOBuffer *fb)
 }
 
 
-/*!
+/**
  * Check whether the fifo is full
  *
  * \note Calling fifo_isfull() is safe while a concurrent
@@ -162,8 +130,8 @@ INLINE bool fifo_isfull(const FIFOBuffer *fb)
 }
 
 
-/*!
- * Pop a character from the fifo buffer.
+/**
+ * Push a character on the fifo buffer.
  *
  * \note Calling \c fifo_push() on a full buffer is undefined.
  *       The caller must make sure the buffer has at least
@@ -195,7 +163,7 @@ INLINE void fifo_push(FIFOBuffer *fb, unsigned char c)
 }
 
 
-/*!
+/**
  * Pop a character from the fifo buffer.
  *
  * \note Calling \c fifo_pop() on an empty buffer is undefined.
@@ -224,7 +192,7 @@ INLINE unsigned char fifo_pop(FIFOBuffer *fb)
 }
 
 
-/*!
+/**
  * Make the fifo empty, discarding all its current contents.
  */
 INLINE void fifo_flush(FIFOBuffer *fb)
@@ -247,7 +215,7 @@ INLINE void fifo_flush(FIFOBuffer *fb)
 
 #else /* CPU_REG_BITS < CPU_BITS_PER_PTR */
 
-       /*!
+       /**
         * Similar to fifo_isempty(), but with stronger guarantees for
         * concurrent access between user and interrupt code.
         *
@@ -263,7 +231,7 @@ INLINE void fifo_flush(FIFOBuffer *fb)
        }
 
 
-       /*!
+       /**
         * Similar to fifo_push(), but with stronger guarantees for
         * concurrent access between user and interrupt code.
         *
@@ -284,7 +252,7 @@ INLINE void fifo_flush(FIFOBuffer *fb)
                return c;
        }
 
-       /*!
+       /**
         * Similar to fifo_flush(), but with stronger guarantees for
         * concurrent access between user and interrupt code.
         *
@@ -300,7 +268,7 @@ INLINE void fifo_flush(FIFOBuffer *fb)
 #endif /* CPU_REG_BITS < BITS_PER_PTR */
 
 
-/*!
+/**
  * Thread safe version of fifo_isfull()
  */
 INLINE bool fifo_isfull_locked(const FIFOBuffer *_fb)
@@ -311,7 +279,7 @@ INLINE bool fifo_isfull_locked(const FIFOBuffer *_fb)
 }
 
 
-/*!
+/**
  * FIFO Initialization.
  */
 INLINE void fifo_init(FIFOBuffer *fb, unsigned char *buf, size_t size)