fio: update FSF address
[fio.git] / fifo.h
diff --git a/fifo.h b/fifo.h
index cfacea996f0309b323b93b67a79f1b89d555dd2b..5e3d33967a1a1ffe1e1cecf06fabbde0f4015d06 100644 (file)
--- a/fifo.h
+++ b/fifo.h
@@ -1,3 +1,5 @@
+#ifndef FIO_FIFO_H
+#define FIO_FIFO_H
 /*
  * A simple FIFO implementation.
  *
  *
  * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  */
+#include "minmax.h"
+
 struct fifo {
        unsigned char *buffer;  /* the buffer holding the data */
        unsigned int size;      /* the size of the allocated buffer */
@@ -35,15 +39,9 @@ static inline unsigned int fifo_len(struct fifo *fifo)
        return fifo->in - fifo->out;
 }
 
-#define min(x,y) ({ \
-       typeof(x) _x = (x);     \
-       typeof(y) _y = (y);     \
-       (void) (&_x == &_y);            \
-       _x < _y ? _x : _y; })
-
-#define max(x,y) ({ \
-       typeof(x) _x = (x);     \
-       typeof(y) _y = (y);     \
-       (void) (&_x == &_y);            \
-       _x > _y ? _x : _y; })
+static inline unsigned int fifo_room(struct fifo *fifo)
+{
+       return fifo->size - fifo->in + fifo->out;
+}
 
+#endif