+#elif defined (HAVE_MAEMO)
+# include <poll.h>
+# define poll(a, b, c) vlc_poll(a, b, c)
+int vlc_poll (struct pollfd *, unsigned, int);
+#endif
+
+/* search.h */
+#ifndef HAVE_SEARCH_H
+typedef struct entry {
+ char *key;
+ void *data;
+} ENTRY;
+
+typedef enum {
+ FIND, ENTER
+} ACTION;
+
+typedef enum {
+ preorder,
+ postorder,
+ endorder,
+ leaf
+} VISIT;
+
+void *tsearch( const void *key, void **rootp, int(*cmp)(const void *, const void *) );
+void *tfind( const void *key, const void **rootp, int(*cmp)(const void *, const void *) );
+void *tdelete( const void *key, void **rootp, int(*cmp)(const void *, const void *) );
+void twalk( const void *root, void(*action)(const void *nodep, VISIT which, int depth) );
+void tdestroy( void *root, void (*free_node)(void *nodep) );
+#else // HAVE_SEARCH_H
+# ifndef HAVE_TDESTROY
+# define tdestroy vlc_tdestroy
+# endif