forked from enlightenment/efl
well got to start somewhere. eina 1.0.0 alpha readied. need to go over
code formatting still (headers specifically). bring doc building in-line with other efl libs. README is useful now. Changelog waiting to be filled in for 1.0.0 SVN revision: 51154
This commit is contained in:
parent
bba476aa91
commit
c747bfaadb
|
@ -0,0 +1,4 @@
|
||||||
|
20YY-MM-2DD NAME OF RELEASER
|
||||||
|
|
||||||
|
MAJOR.MINOR.MICRO release
|
||||||
|
|
|
@ -19,16 +19,15 @@ ltmain.sh \
|
||||||
missing
|
missing
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = eina-0.pc
|
pkgconfig_DATA = eina-1.pc
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
AUTHORS \
|
AUTHORS \
|
||||||
COPYING \
|
COPYING \
|
||||||
OLD-COPYING.PLAIN \
|
|
||||||
README \
|
README \
|
||||||
$(pkgconfig_DATA) \
|
$(pkgconfig_DATA) \
|
||||||
autogen.sh \
|
autogen.sh \
|
||||||
eina-0.pc.in \
|
eina-1.pc.in \
|
||||||
eina.spec \
|
eina.spec \
|
||||||
eina.spec.in \
|
eina.spec.in \
|
||||||
m4/ac_attribute.m4 \
|
m4/ac_attribute.m4 \
|
||||||
|
|
|
@ -1,2 +1,47 @@
|
||||||
Data types library (List, hash, etc)
|
Eina 1.0.0 ALPHA
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
|
||||||
|
FOR ANY ISSUES PLEASE EMAIL:
|
||||||
|
enlightenment-devel@lists.sourceforge.net
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
-------------
|
||||||
|
Must have:
|
||||||
|
libc
|
||||||
|
libm
|
||||||
|
(For windows you also need: evil)
|
||||||
|
|
||||||
|
Eina is a library providing data structure utilities for EFL that are meant
|
||||||
|
to be lean, efficient and tailored to EFL's needs. This saves each
|
||||||
|
library implementing its own custom datatype handling and duplicating
|
||||||
|
the code. Some of the datatypes handles are:
|
||||||
|
Arrays (variable sized)
|
||||||
|
Hash tables
|
||||||
|
Inlined linked lists
|
||||||
|
Linked lists
|
||||||
|
Matricies
|
||||||
|
Quadtrees
|
||||||
|
Red/black trees
|
||||||
|
Strinbuffers (expandable string bufers)
|
||||||
|
|
||||||
|
In addition Eina supports shared string token hashes with Stringshare
|
||||||
|
and Unistringshare (standard ascii/utf8 strings and full unicode
|
||||||
|
strings). It has a Trash pointer collector for deferring freeing until
|
||||||
|
work is complete on a dataset, Unicode string wrapping and handling,
|
||||||
|
UTF8 string parsing, 2D tile structure handling and rectangle
|
||||||
|
utilities, module loading wrapper, Memory pools for faster allocation
|
||||||
|
and less fragmentation of the heap, Output logging and selective
|
||||||
|
aborting on critical enough states, fixed point math functions, CPU
|
||||||
|
feature detection (like MMX, SSE, VFP, NEON etc.), Counters, binary
|
||||||
|
token sharing and more.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
COMPILING AND INSTALLING:
|
||||||
|
|
||||||
|
./configure
|
||||||
|
make
|
||||||
|
(do this as root unless you are installing in your users directories):
|
||||||
|
make install
|
||||||
|
|
|
@ -1,25 +1,24 @@
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
||||||
m4_define([v_maj], [0])
|
m4_define([v_maj], [1])
|
||||||
m4_define([v_min], [9])
|
m4_define([v_min], [0])
|
||||||
m4_define([v_mic], [9])
|
m4_define([v_mic], [0])
|
||||||
m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
|
m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
|
||||||
m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
|
m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
|
||||||
##-- When released, remove the dnl on the below line
|
##-- When released, remove the dnl on the below line
|
||||||
dnl m4_undefine([v_rev])
|
m4_undefine([v_rev])
|
||||||
##-- When doing snapshots - change soname. remove dnl on below line
|
##-- When doing snapshots - change soname. remove dnl on below line
|
||||||
m4_define([relname], [ver-pre-svn-07])
|
dnl m4_define([relname], [ver-pre-svn-07])
|
||||||
m4_define([v_rel], [-release relname])
|
dnl m4_define([v_rel], [-release relname])
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
||||||
m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])],
|
m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
|
||||||
[m4_define([v_ver], [v_maj.v_min.v_mic])])
|
|
||||||
m4_define([lt_rev], m4_eval(v_maj + v_min))
|
m4_define([lt_rev], m4_eval(v_maj + v_min))
|
||||||
m4_define([lt_cur], v_mic)
|
m4_define([lt_cur], v_mic)
|
||||||
m4_define([lt_age], v_min)
|
m4_define([lt_age], v_min)
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
||||||
|
|
||||||
AC_INIT([eina], [v_ver], [enlightenment-devel@lists.sourceforge.net])
|
AC_INIT([eina], [v_ver-alpha], [enlightenment-devel@lists.sourceforge.net])
|
||||||
AC_PREREQ([2.59])
|
AC_PREREQ([2.59])
|
||||||
AC_CONFIG_SRCDIR([configure.ac])
|
AC_CONFIG_SRCDIR([configure.ac])
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
@ -556,7 +555,7 @@ AC_SUBST(requirement_eina)
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
Makefile
|
Makefile
|
||||||
eina-0.pc
|
eina-1.pc
|
||||||
eina.spec
|
eina.spec
|
||||||
doc/Makefile
|
doc/Makefile
|
||||||
src/Makefile
|
src/Makefile
|
||||||
|
|
|
@ -1,14 +1,26 @@
|
||||||
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
.PHONY: doc
|
.PHONY: doc
|
||||||
|
|
||||||
|
PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc
|
||||||
|
|
||||||
if EFL_BUILD_DOC
|
if EFL_BUILD_DOC
|
||||||
|
|
||||||
|
doc-clean:
|
||||||
|
rm -rf html/ latex/ man/ xml/ $(PACKAGE_DOCNAME).tar*
|
||||||
|
|
||||||
doc: all
|
doc: all
|
||||||
rm -rf html/ latex/ man/
|
|
||||||
$(efl_doxygen)
|
$(efl_doxygen)
|
||||||
cp img/* html/
|
cp img/* html/
|
||||||
|
rm -rf $(PACKAGE_DOCNAME).tar*
|
||||||
|
mkdir -p $(PACKAGE_DOCNAME)/doc
|
||||||
|
cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc
|
||||||
|
tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/
|
||||||
|
bzip2 -9 $(PACKAGE_DOCNAME).tar
|
||||||
|
rm -rf $(PACKAGE_DOCNAME)/
|
||||||
|
mv $(PACKAGE_DOCNAME).tar.bz2 $(top_srcdir)
|
||||||
|
|
||||||
|
clean-local: doc-clean
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
@ -17,7 +29,4 @@ doc:
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean-local:
|
|
||||||
@rm -rf html/ latex/ man/
|
|
||||||
|
|
||||||
EXTRA_DIST = Doxyfile $(wildcard img/*.*) e.css head.html foot.html
|
EXTRA_DIST = Doxyfile $(wildcard img/*.*) e.css head.html foot.html
|
||||||
|
|
|
@ -68,18 +68,9 @@ struct _Eina_Accessor
|
||||||
#define FUNC_ACCESSOR_LOCK(Function) ((Eina_Accessor_Lock_Callback)Function)
|
#define FUNC_ACCESSOR_LOCK(Function) ((Eina_Accessor_Lock_Callback)Function)
|
||||||
|
|
||||||
EAPI void eina_accessor_free(Eina_Accessor *accessor) EINA_ARG_NONNULL(1);
|
EAPI void eina_accessor_free(Eina_Accessor *accessor) EINA_ARG_NONNULL(1);
|
||||||
|
EAPI Eina_Bool eina_accessor_data_get(Eina_Accessor *accessor, unsigned int position, void **data) EINA_ARG_NONNULL(1);
|
||||||
EAPI Eina_Bool eina_accessor_data_get(Eina_Accessor *accessor,
|
|
||||||
unsigned int position,
|
|
||||||
void **data) EINA_ARG_NONNULL(1);
|
|
||||||
EAPI void * eina_accessor_container_get(Eina_Accessor *accessor) EINA_ARG_NONNULL(1) EINA_PURE;
|
EAPI void * eina_accessor_container_get(Eina_Accessor *accessor) EINA_ARG_NONNULL(1) EINA_PURE;
|
||||||
|
EAPI void eina_accessor_over(Eina_Accessor *accessor, Eina_Each_Cb cb, unsigned int start, unsigned int end, const void *fdata) EINA_ARG_NONNULL(1, 2);
|
||||||
EAPI void eina_accessor_over(Eina_Accessor *accessor,
|
|
||||||
Eina_Each_Cb cb,
|
|
||||||
unsigned int start,
|
|
||||||
unsigned int end,
|
|
||||||
const void *fdata) EINA_ARG_NONNULL(1, 2);
|
|
||||||
|
|
||||||
EAPI Eina_Bool eina_accessor_lock(Eina_Accessor *accessor) EINA_ARG_NONNULL(1);
|
EAPI Eina_Bool eina_accessor_lock(Eina_Accessor *accessor) EINA_ARG_NONNULL(1);
|
||||||
EAPI Eina_Bool eina_accessor_unlock(Eina_Accessor *accessor) EINA_ARG_NONNULL(1);
|
EAPI Eina_Bool eina_accessor_unlock(Eina_Accessor *accessor) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
|
@ -132,18 +123,10 @@ EAPI Eina_Bool eina_accessor_unlock(Eina_Accessor *accessor) EINA_ARG_NONNULL(1)
|
||||||
* rather in the accessors implementations to keep them as simple
|
* rather in the accessors implementations to keep them as simple
|
||||||
* and fast as possible.
|
* and fast as possible.
|
||||||
*/
|
*/
|
||||||
#define EINA_ACCESSOR_FOREACH(accessor, counter, data) for ((counter) = 0; \
|
#define EINA_ACCESSOR_FOREACH(accessor, counter, data) \
|
||||||
eina_accessor_data_get(( \
|
for ((counter) = 0; \
|
||||||
accessor), \
|
eina_accessor_data_get((accessor), (counter), (void **)&(data)); \
|
||||||
( \
|
(counter)++)
|
||||||
counter), \
|
|
||||||
( \
|
|
||||||
void \
|
|
||||||
* \
|
|
||||||
*) \
|
|
||||||
&( \
|
|
||||||
data)); \
|
|
||||||
(counter)++)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
|
|
|
@ -137,10 +137,10 @@ static inline Eina_Bool eina_array_foreach(Eina_Array *array, Eina_Each_Cb cb,
|
||||||
* free(item);
|
* free(item);
|
||||||
* @endcode
|
* @endcode
|
||||||
*/
|
*/
|
||||||
#define EINA_ARRAY_ITER_NEXT(array, index, item, iterator) \
|
#define EINA_ARRAY_ITER_NEXT(array, index, item, iterator) \
|
||||||
for (index = 0, iterator = (array)->data; \
|
for (index = 0, iterator = (array)->data; \
|
||||||
(index < eina_array_count_get(array)) && ((item = *((iterator)++))); \
|
(index < eina_array_count_get(array)) && ((item = *((iterator)++))); \
|
||||||
++(index))
|
++(index))
|
||||||
|
|
||||||
#include "eina_inline_array.x"
|
#include "eina_inline_array.x"
|
||||||
|
|
||||||
|
|
|
@ -55,17 +55,10 @@ typedef void (*Eina_Benchmark_Specimens)(int request);
|
||||||
*/
|
*/
|
||||||
#define EINA_BENCHMARK(function) ((Eina_Benchmark_Specimens)function)
|
#define EINA_BENCHMARK(function) ((Eina_Benchmark_Specimens)function)
|
||||||
|
|
||||||
EAPI Eina_Benchmark *eina_benchmark_new(const char *name, const char *run);
|
EAPI Eina_Benchmark * eina_benchmark_new(const char *name, const char *run);
|
||||||
EAPI void eina_benchmark_free(Eina_Benchmark *bench);
|
EAPI void eina_benchmark_free(Eina_Benchmark *bench);
|
||||||
|
EAPI Eina_Bool eina_benchmark_register(Eina_Benchmark *bench, const char *name, Eina_Benchmark_Specimens bench_cb, int count_start, int count_end, int count_set);
|
||||||
EAPI Eina_Bool eina_benchmark_register(Eina_Benchmark *bench,
|
EAPI Eina_Array * eina_benchmark_run(Eina_Benchmark *bench);
|
||||||
const char *name,
|
|
||||||
Eina_Benchmark_Specimens bench_cb,
|
|
||||||
int count_start,
|
|
||||||
int count_end,
|
|
||||||
int count_set);
|
|
||||||
|
|
||||||
EAPI Eina_Array *eina_benchmark_run(Eina_Benchmark *bench);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
|
|
|
@ -67,8 +67,7 @@
|
||||||
|
|
||||||
EAPI Eina_Bool eina_binshare_init(void);
|
EAPI Eina_Bool eina_binshare_init(void);
|
||||||
EAPI Eina_Bool eina_binshare_shutdown(void);
|
EAPI Eina_Bool eina_binshare_shutdown(void);
|
||||||
EAPI const void *eina_binshare_add_length(const void *obj,
|
EAPI const void *eina_binshare_add_length(const void *obj, unsigned int olen) EINA_PURE EINA_WARN_UNUSED_RESULT;
|
||||||
unsigned int olen) EINA_PURE EINA_WARN_UNUSED_RESULT;
|
|
||||||
EAPI const void *eina_binshare_ref(const void *obj);
|
EAPI const void *eina_binshare_ref(const void *obj);
|
||||||
EAPI void eina_binshare_del(const void *obj);
|
EAPI void eina_binshare_del(const void *obj);
|
||||||
EAPI int eina_binshare_length(const void *obj) EINA_WARN_UNUSED_RESULT;
|
EAPI int eina_binshare_length(const void *obj) EINA_WARN_UNUSED_RESULT;
|
||||||
|
|
|
@ -56,16 +56,10 @@ EAPI extern Eina_Error EINA_ERROR_CONVERT_OUTRUN_STRING_LENGTH;
|
||||||
|
|
||||||
EAPI int eina_convert_itoa(int n, char *s) EINA_ARG_NONNULL(2);
|
EAPI int eina_convert_itoa(int n, char *s) EINA_ARG_NONNULL(2);
|
||||||
EAPI int eina_convert_xtoa(unsigned int n, char *s) EINA_ARG_NONNULL(2);
|
EAPI int eina_convert_xtoa(unsigned int n, char *s) EINA_ARG_NONNULL(2);
|
||||||
|
|
||||||
EAPI int eina_convert_dtoa(double d, char *des) EINA_ARG_NONNULL(2);
|
EAPI int eina_convert_dtoa(double d, char *des) EINA_ARG_NONNULL(2);
|
||||||
EAPI Eina_Bool eina_convert_atod(const char *src,
|
EAPI Eina_Bool eina_convert_atod(const char *src, int length, long long *m, long *e) EINA_ARG_NONNULL(1,3,4);
|
||||||
int length,
|
EAPI int eina_convert_fptoa(Eina_F32p32 fp, char *des) EINA_ARG_NONNULL(2);
|
||||||
long long *m,
|
EAPI Eina_Bool eina_convert_atofp(const char *src, int length, Eina_F32p32 *fp) EINA_ARG_NONNULL(1,3);
|
||||||
long *e) EINA_ARG_NONNULL(1,3,4);
|
|
||||||
|
|
||||||
EAPI int eina_convert_fptoa(Eina_F32p32 fp, char *des) EINA_ARG_NONNULL(2);
|
|
||||||
EAPI Eina_Bool eina_convert_atofp(const char *src, int length,
|
|
||||||
Eina_F32p32 *fp) EINA_ARG_NONNULL(1,3);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
|
|
|
@ -40,11 +40,10 @@
|
||||||
typedef struct _Eina_Counter Eina_Counter;
|
typedef struct _Eina_Counter Eina_Counter;
|
||||||
|
|
||||||
EAPI Eina_Counter * eina_counter_new( const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
|
EAPI Eina_Counter * eina_counter_new( const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
|
||||||
EAPI void eina_counter_free( Eina_Counter *counter) EINA_ARG_NONNULL(1);
|
EAPI void eina_counter_free( Eina_Counter *counter) EINA_ARG_NONNULL(1);
|
||||||
|
EAPI void eina_counter_start( Eina_Counter *counter) EINA_ARG_NONNULL(1);
|
||||||
EAPI void eina_counter_start( Eina_Counter *counter) EINA_ARG_NONNULL(1);
|
EAPI void eina_counter_stop( Eina_Counter *counter, int specimen) EINA_ARG_NONNULL(1);
|
||||||
EAPI void eina_counter_stop( Eina_Counter *counter, int specimen) EINA_ARG_NONNULL(1);
|
EAPI char * eina_counter_dump( Eina_Counter *counter) EINA_ARG_NONNULL(1);
|
||||||
EAPI char * eina_counter_dump( Eina_Counter *counter) EINA_ARG_NONNULL(1);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
|
|
|
@ -49,8 +49,7 @@ EAPI extern Eina_Error EINA_ERROR_OUT_OF_MEMORY;
|
||||||
|
|
||||||
EAPI Eina_Error eina_error_msg_register(const char *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
EAPI Eina_Error eina_error_msg_register(const char *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||||
EAPI Eina_Error eina_error_msg_static_register(const char *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
EAPI Eina_Error eina_error_msg_static_register(const char *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||||
EAPI Eina_Bool eina_error_msg_modify(Eina_Error error,
|
EAPI Eina_Bool eina_error_msg_modify(Eina_Error error, const char *msg) EINA_ARG_NONNULL(1, 2);
|
||||||
const char *msg) EINA_ARG_NONNULL(1, 2);
|
|
||||||
EAPI Eina_Error eina_error_get(void);
|
EAPI Eina_Error eina_error_get(void);
|
||||||
EAPI void eina_error_set(Eina_Error err);
|
EAPI void eina_error_set(Eina_Error err);
|
||||||
EAPI const char *eina_error_msg_get(Eina_Error error) EINA_PURE;
|
EAPI const char *eina_error_msg_get(Eina_Error error) EINA_PURE;
|
||||||
|
|
|
@ -44,8 +44,7 @@
|
||||||
* @typedef Eina_File_Dir_List_Cb
|
* @typedef Eina_File_Dir_List_Cb
|
||||||
* Type for a callback.
|
* Type for a callback.
|
||||||
*/
|
*/
|
||||||
typedef void (*Eina_File_Dir_List_Cb)(const char *name, const char *path,
|
typedef void (*Eina_File_Dir_List_Cb)(const char *name, const char *path, void *data);
|
||||||
void *data);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @def EINA_FILE_DIR_LIST_CB
|
* @def EINA_FILE_DIR_LIST_CB
|
||||||
|
@ -57,12 +56,9 @@ typedef void (*Eina_File_Dir_List_Cb)(const char *name, const char *path,
|
||||||
*/
|
*/
|
||||||
#define EINA_FILE_DIR_LIST_CB(function) ((Eina_File_Dir_List_Cb)function)
|
#define EINA_FILE_DIR_LIST_CB(function) ((Eina_File_Dir_List_Cb)function)
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool eina_file_dir_list(const char *dir, Eina_Bool recursive, Eina_File_Dir_List_Cb cb, void *data) EINA_ARG_NONNULL(1, 3);
|
||||||
eina_file_dir_list(const char *dir, Eina_Bool recursive, Eina_File_Dir_List_Cb cb, void *data) EINA_ARG_NONNULL(1, 3);
|
EAPI Eina_Array * eina_file_split(char *path) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
|
||||||
EAPI Eina_Array *
|
EAPI Eina_Iterator * eina_file_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
|
||||||
eina_file_split(char *path) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
|
|
||||||
EAPI Eina_Iterator *
|
|
||||||
eina_file_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct _Eina_File_Direct_Info Eina_File_Direct_Info;
|
typedef struct _Eina_File_Direct_Info Eina_File_Direct_Info;
|
||||||
|
@ -75,7 +71,7 @@ struct _Eina_File_Direct_Info
|
||||||
const struct dirent *dirent;
|
const struct dirent *dirent;
|
||||||
};
|
};
|
||||||
|
|
||||||
EAPI Eina_Iterator *eina_file_direct_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
|
EAPI Eina_Iterator * eina_file_direct_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
|
|
|
@ -51,7 +51,6 @@ struct _Eina_Hash_Tuple
|
||||||
{
|
{
|
||||||
const void *key;
|
const void *key;
|
||||||
void *data;
|
void *data;
|
||||||
|
|
||||||
unsigned int key_length;
|
unsigned int key_length;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -61,67 +60,54 @@ typedef int (*Eina_Key_Cmp)(const void *key1, int key1_length, const void *key2,
|
||||||
#define EINA_KEY_CMP(Function) ((Eina_Key_Cmp)Function)
|
#define EINA_KEY_CMP(Function) ((Eina_Key_Cmp)Function)
|
||||||
typedef int (*Eina_Key_Hash)(const void *key, int key_length);
|
typedef int (*Eina_Key_Hash)(const void *key, int key_length);
|
||||||
#define EINA_KEY_HASH(Function) ((Eina_Key_Hash)Function)
|
#define EINA_KEY_HASH(Function) ((Eina_Key_Hash)Function)
|
||||||
|
|
||||||
EAPI Eina_Hash *eina_hash_new(Eina_Key_Length key_length_cb, Eina_Key_Cmp key_cmp_cb, Eina_Key_Hash key_hash_cb, Eina_Free_Cb data_free_cb, int buckets_power_size) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2, 3);
|
|
||||||
EAPI Eina_Hash *eina_hash_string_djb2_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_string_superfast_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_string_small_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_int32_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_int64_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_pointer_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_stringshared_new(Eina_Free_Cb data_free_cb);
|
|
||||||
|
|
||||||
EAPI Eina_Hash *eina_hash_threadsafe_new(Eina_Key_Length key_length_cb, Eina_Key_Cmp key_cmp_cb, Eina_Key_Hash key_hash_cb, Eina_Free_Cb data_free_cb, int buckets_power_size) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2, 3);
|
|
||||||
EAPI Eina_Hash *eina_hash_threadsafe_string_djb2_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_threadsafe_string_superfast_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_threadsafe_string_small_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_threadsafe_int32_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_threadsafe_int64_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_threadsafe_pointer_new(Eina_Free_Cb data_free_cb);
|
|
||||||
EAPI Eina_Hash *eina_hash_threadsafe_stringshared_new(Eina_Free_Cb data_free_cb);
|
|
||||||
|
|
||||||
EAPI Eina_Bool eina_hash_add(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
|
|
||||||
EAPI Eina_Bool eina_hash_direct_add(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
|
|
||||||
EAPI Eina_Bool eina_hash_del(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1);
|
|
||||||
EAPI void *eina_hash_find(const Eina_Hash *hash, const void *key) EINA_ARG_NONNULL(1, 2);
|
|
||||||
EAPI void *eina_hash_modify(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
|
|
||||||
EAPI void *eina_hash_set(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
|
|
||||||
EAPI Eina_Bool eina_hash_move(Eina_Hash *hash, const void *old_key, const void *new_key) EINA_ARG_NONNULL(1, 2, 3);
|
|
||||||
|
|
||||||
EAPI void eina_hash_free(Eina_Hash *hash) EINA_ARG_NONNULL(1);
|
|
||||||
EAPI void eina_hash_free_buckets(Eina_Hash *hash) EINA_ARG_NONNULL(1);
|
|
||||||
EAPI int eina_hash_population(const Eina_Hash *hash) EINA_ARG_NONNULL(1);
|
|
||||||
|
|
||||||
EAPI Eina_Bool eina_hash_add_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5);
|
|
||||||
EAPI Eina_Bool eina_hash_direct_add_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5);
|
|
||||||
|
|
||||||
EAPI Eina_Bool eina_hash_del_by_key_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash) EINA_ARG_NONNULL(1, 2);
|
|
||||||
|
|
||||||
EAPI Eina_Bool eina_hash_del_by_key(Eina_Hash *hash, const void *key) EINA_ARG_NONNULL(1, 2);
|
|
||||||
EAPI Eina_Bool eina_hash_del_by_data(Eina_Hash *hash, const void *data) EINA_ARG_NONNULL(1, 2);
|
|
||||||
|
|
||||||
EAPI Eina_Bool eina_hash_del_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1);
|
|
||||||
EAPI void *eina_hash_find_by_hash(const Eina_Hash *hash, const void *key, int key_length, int key_hash) EINA_ARG_NONNULL(1, 2);
|
|
||||||
EAPI void *eina_hash_modify_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5);
|
|
||||||
|
|
||||||
EAPI Eina_Iterator *eina_hash_iterator_key_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
|
||||||
EAPI Eina_Iterator *eina_hash_iterator_data_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
|
||||||
EAPI Eina_Iterator *eina_hash_iterator_tuple_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
|
||||||
|
|
||||||
|
|
||||||
typedef Eina_Bool (*Eina_Hash_Foreach)(const Eina_Hash *hash, const void *key, void *data, void *fdata);
|
typedef Eina_Bool (*Eina_Hash_Foreach)(const Eina_Hash *hash, const void *key, void *data, void *fdata);
|
||||||
EAPI void eina_hash_foreach(const Eina_Hash *hash, Eina_Hash_Foreach cb, const void *fdata) EINA_ARG_NONNULL(1, 2);
|
|
||||||
|
|
||||||
|
EAPI Eina_Hash * eina_hash_new(Eina_Key_Length key_length_cb, Eina_Key_Cmp key_cmp_cb, Eina_Key_Hash key_hash_cb, Eina_Free_Cb data_free_cb, int buckets_power_size) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2, 3);
|
||||||
|
EAPI Eina_Hash * eina_hash_string_djb2_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_string_superfast_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_string_small_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_int32_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_int64_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_pointer_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_stringshared_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_threadsafe_new(Eina_Key_Length key_length_cb, Eina_Key_Cmp key_cmp_cb, Eina_Key_Hash key_hash_cb, Eina_Free_Cb data_free_cb, int buckets_power_size) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2, 3);
|
||||||
|
EAPI Eina_Hash * eina_hash_threadsafe_string_djb2_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_threadsafe_string_superfast_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_threadsafe_string_small_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_threadsafe_int32_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_threadsafe_int64_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_threadsafe_pointer_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Hash * eina_hash_threadsafe_stringshared_new(Eina_Free_Cb data_free_cb);
|
||||||
|
EAPI Eina_Bool eina_hash_add(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
|
||||||
|
EAPI Eina_Bool eina_hash_direct_add(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
|
||||||
|
EAPI Eina_Bool eina_hash_del(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1);
|
||||||
|
EAPI void * eina_hash_find(const Eina_Hash *hash, const void *key) EINA_ARG_NONNULL(1, 2);
|
||||||
|
EAPI void * eina_hash_modify(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
|
||||||
|
EAPI void * eina_hash_set(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
|
||||||
|
EAPI Eina_Bool eina_hash_move(Eina_Hash *hash, const void *old_key, const void *new_key) EINA_ARG_NONNULL(1, 2, 3);
|
||||||
|
EAPI void eina_hash_free(Eina_Hash *hash) EINA_ARG_NONNULL(1);
|
||||||
|
EAPI void eina_hash_free_buckets(Eina_Hash *hash) EINA_ARG_NONNULL(1);
|
||||||
|
EAPI int eina_hash_population(const Eina_Hash *hash) EINA_ARG_NONNULL(1);
|
||||||
|
EAPI Eina_Bool eina_hash_add_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5);
|
||||||
|
EAPI Eina_Bool eina_hash_direct_add_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5);
|
||||||
|
EAPI Eina_Bool eina_hash_del_by_key_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash) EINA_ARG_NONNULL(1, 2);
|
||||||
|
EAPI Eina_Bool eina_hash_del_by_key(Eina_Hash *hash, const void *key) EINA_ARG_NONNULL(1, 2);
|
||||||
|
EAPI Eina_Bool eina_hash_del_by_data(Eina_Hash *hash, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||||
|
EAPI Eina_Bool eina_hash_del_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1);
|
||||||
|
EAPI void * eina_hash_find_by_hash(const Eina_Hash *hash, const void *key, int key_length, int key_hash) EINA_ARG_NONNULL(1, 2);
|
||||||
|
EAPI void * eina_hash_modify_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5);
|
||||||
|
EAPI Eina_Iterator * eina_hash_iterator_key_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||||
|
EAPI Eina_Iterator * eina_hash_iterator_data_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||||
|
EAPI Eina_Iterator * eina_hash_iterator_tuple_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||||
|
EAPI void eina_hash_foreach(const Eina_Hash *hash, Eina_Hash_Foreach cb, const void *fdata) EINA_ARG_NONNULL(1, 2);
|
||||||
/* Paul Hsieh (http://www.azillionmonkeys.com/qed/hash.html) hash function used by WebCore (http://webkit.org/blog/8/hashtables-part-2/) */
|
/* Paul Hsieh (http://www.azillionmonkeys.com/qed/hash.html) hash function used by WebCore (http://webkit.org/blog/8/hashtables-part-2/) */
|
||||||
EAPI int eina_hash_superfast(const char *key, int len) EINA_ARG_NONNULL(1);
|
EAPI int eina_hash_superfast(const char *key, int len) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
/* Hash function first reported by dan bernstein many years ago in comp.lang.c */
|
/* Hash function first reported by dan bernstein many years ago in comp.lang.c */
|
||||||
static inline int eina_hash_djb2(const char *key, int len) EINA_ARG_NONNULL(1);
|
static inline int eina_hash_djb2(const char *key, int len) EINA_ARG_NONNULL(1);
|
||||||
static inline int eina_hash_djb2_len(const char *key, int *plen) EINA_ARG_NONNULL(1, 2);
|
static inline int eina_hash_djb2_len(const char *key, int *plen) EINA_ARG_NONNULL(1, 2);
|
||||||
|
|
||||||
/* Hash function from http://www.concentric.net/~Ttwang/tech/inthash.htm */
|
/* Hash function from http://www.concentric.net/~Ttwang/tech/inthash.htm */
|
||||||
static inline int eina_hash_int32(const unsigned int *pkey, int len) EINA_ARG_NONNULL(1);
|
static inline int eina_hash_int32(const unsigned int *pkey, int len) EINA_ARG_NONNULL(1);
|
||||||
static inline int eina_hash_int64(const unsigned long int *pkey, int len) EINA_ARG_NONNULL(1);
|
static inline int eina_hash_int64(const unsigned long int *pkey, int len) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
#include "eina_inline_hash.x"
|
#include "eina_inline_hash.x"
|
||||||
|
|
||||||
|
|
|
@ -19,11 +19,10 @@
|
||||||
#ifndef EINA_MAIN_H_
|
#ifndef EINA_MAIN_H_
|
||||||
#define EINA_MAIN_H_
|
#define EINA_MAIN_H_
|
||||||
|
|
||||||
|
|
||||||
#include "eina_types.h"
|
#include "eina_types.h"
|
||||||
|
|
||||||
#define EINA_VERSION_MAJOR 0
|
#define EINA_VERSION_MAJOR 1
|
||||||
#define EINA_VERSION_MINOR 9
|
#define EINA_VERSION_MINOR 0
|
||||||
|
|
||||||
typedef struct _Eina_Version
|
typedef struct _Eina_Version
|
||||||
{
|
{
|
||||||
|
@ -48,11 +47,8 @@ EAPI extern Eina_Version *eina_version;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EAPI int eina_init(void);
|
EAPI int eina_init(void);
|
||||||
|
|
||||||
EAPI int eina_shutdown(void);
|
EAPI int eina_shutdown(void);
|
||||||
|
|
||||||
EAPI int eina_threads_init(void);
|
EAPI int eina_threads_init(void);
|
||||||
|
|
||||||
EAPI int eina_threads_shutdown(void);
|
EAPI int eina_threads_shutdown(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -45,7 +45,10 @@ eina_strbuf.c \
|
||||||
eina_strbuf_common.c \
|
eina_strbuf_common.c \
|
||||||
eina_ustrbuf.c \
|
eina_ustrbuf.c \
|
||||||
eina_unicode.c \
|
eina_unicode.c \
|
||||||
eina_quadtree.c
|
eina_quadtree.c \
|
||||||
|
eina_share_common.h \
|
||||||
|
eina_strbuf_common.h \
|
||||||
|
eina_strbuf_template_c.i
|
||||||
|
|
||||||
if EINA_STATIC_BUILD_CHAINED_POOL
|
if EINA_STATIC_BUILD_CHAINED_POOL
|
||||||
base_sources += $(top_srcdir)/src/modules/mp/chained_pool/eina_chained_mempool.c
|
base_sources += $(top_srcdir)/src/modules/mp/chained_pool/eina_chained_mempool.c
|
||||||
|
|
Loading…
Reference in New Issue