-const char*array_getkey(array_t*array, int nr);
-char*array_getvalue(array_t*array, int nr);
-int array_append(array_t*array, const char*name, const void*data);
-int array_find(array_t*array, const char*name);
-int array_find2(array_t*array, const char*name, void*data);
-int array_update(array_t*array, const char*name, void*data);
-int array_append_if_new(array_t*array, const char*name, void*data);
+void*array_getkey(array_t*array, int nr);
+void*array_getvalue(array_t*array, int nr);
+int array_append(array_t*array, const void*name, void*data);
+#define array_contains(a,b) (array_find((a),(b))>=0)
+int array_find(array_t*array, const void*name);
+int array_find2(array_t*array, const void*name, void*data);
+int array_update(array_t*array, const void*name, void*data);
+int array_append_if_new(array_t*array, const void*name, void*data);
+#define array_length(a) ((a)->num)