Include stddef.h for size_t.
[libfirm] / include / libfirm / adt / pdeq.h
index ebbb4e6..4ffb151 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
@@ -26,6 +26,8 @@
 #ifndef FIRM_ADT_PDEQ_H
 #define FIRM_ADT_PDEQ_H
 
+#include "../begin.h"
+
 /**
  * The type of the pointer compare function.
  *
@@ -46,7 +48,7 @@ typedef struct pdeq pdeq;
  *
  * @return A new list.
  */
-pdeq *new_pdeq(void);
+FIRM_API pdeq *new_pdeq(void);
 
 /**
  * Creates a new double ended pointer list and puts an initial pointer element in.
@@ -55,21 +57,21 @@ pdeq *new_pdeq(void);
  *
  * @return The new list.
  */
-pdeq *new_pdeq1(const void *x);
+FIRM_API pdeq *new_pdeq1(const void *x);
 
 /**
  * Delete a double ended pointer list.
  *
  * @param dq   The list to be deleted.
  */
-void del_pdeq(pdeq *dq);
+FIRM_API void del_pdeq(pdeq *dq);
 
 /**
- * Returns the lenght of a double ended pointer list.
+ * Returns the length of a double ended pointer list.
  *
  * @param dq   The list.
  */
-int pdeq_len(pdeq *dq);
+FIRM_API int pdeq_len(pdeq *dq);
 
 /**
  * Checks if a list is empty.
@@ -78,7 +80,7 @@ int pdeq_len(pdeq *dq);
  *
  * @return  non-zero if the list is empty.
  */
-int pdeq_empty(pdeq *dq);
+FIRM_API int pdeq_empty(pdeq *dq);
 
 /**
  * Returns non-zero if a double ended pointer list
@@ -87,7 +89,7 @@ int pdeq_empty(pdeq *dq);
  * @param dq  The list.
  * @param x   The pointer to be searched for.
  */
-int pdeq_contains(pdeq *dq, const void *x);
+FIRM_API int pdeq_contains(pdeq *dq, const void *x);
 
 /**
  * Search a key in a double ended pointer list, the search
@@ -102,7 +104,7 @@ int pdeq_contains(pdeq *dq, const void *x);
  * @return The address of the element entry if the key was found,
  *         NULL else.
  */
-void *pdeq_search(pdeq *qp, cmp_fun cmp, const void *key);
+FIRM_API void *pdeq_search(pdeq *qp, cmp_fun cmp, const void *key);
 
 /**
  * Convert the double ended pointer list into a linear array beginning from
@@ -114,7 +116,7 @@ void *pdeq_search(pdeq *qp, cmp_fun cmp, const void *key);
  *
  * @return  dst
  */
-void **pdeq_copyl(pdeq *qp, const void **dst);
+FIRM_API void **pdeq_copyl(pdeq *qp, const void **dst);
 
 /**
  * Convert the double ended pointer list into a linear array beginning from
@@ -126,7 +128,7 @@ void **pdeq_copyl(pdeq *qp, const void **dst);
  *
  * @return  dst
  */
-void **pdeq_copyr(pdeq *qp, const void **dst);
+FIRM_API void **pdeq_copyr(pdeq *qp, const void **dst);
 
 /**
  * Add a pointer to the left side of a double ended pointer list.
@@ -136,7 +138,7 @@ void **pdeq_copyr(pdeq *qp, const void **dst);
  *
  * @return The list.
  */
-pdeq *pdeq_putl(pdeq *dq, const void *x);
+FIRM_API pdeq *pdeq_putl(pdeq *dq, const void *x);
 
 /**
  * Add a pointer to the right side of a double ended pointer list.
@@ -146,35 +148,33 @@ pdeq *pdeq_putl(pdeq *dq, const void *x);
  *
  * @return The list.
  */
-pdeq *pdeq_putr(pdeq *dq, const void *x);
+FIRM_API pdeq *pdeq_putr(pdeq *dq, const void *x);
 
 /**
- * Retrieve a pointer from the left site of a double ended pointer list.
+ * Retrieve (and remove) a pointer from the left site of a double ended pointer
+ * list.
  *
  * @param dq   The list
- *
  * @return The pointer element.
- *
  * @remark This function will fail if the list is empty.
  */
-void *pdeq_getl(pdeq *dq);
+FIRM_API void *pdeq_getl(pdeq *dq);
 
 /**
- * Retrieve a pointer from the right site of a double ended pointer list.
+ * Retrieve (and remove) a pointer from the right site of a double ended pointer
+ * list.
  *
  * @param dq   The list
- *
  * @return The pointer element.
- *
  * @remark This function will fail if the list is empty.
  */
-void *pdeq_getr(pdeq *dq);
+FIRM_API void *pdeq_getr(pdeq *dq);
 
 #ifdef NDEBUG
 #define PDEQ_VRFY(deq) ((void)0)
 #else
 #define PDEQ_VRFY(deq) _pdeq_vrfy ((deq))
-void _pdeq_vrfy(pdeq *dq);
+FIRM_API void _pdeq_vrfy(pdeq *dq);
 #endif
 
 /**
@@ -270,4 +270,6 @@ typedef pdeq stack;
  */
 #define stack_empty(st) pdeq_empty(wq)
 
+#include "../end.h"
+
 #endif