Lines Matching refs:TYPE

23  LHASH_OF(TYPE)
25 DEFINE_LHASH_OF_EX(TYPE);
27 LHASH_OF(TYPE) *lh_TYPE_new(OPENSSL_LH_HASHFUNC hash, OPENSSL_LH_COMPFUNC compare);
28 void lh_TYPE_free(LHASH_OF(TYPE) *table);
29 void lh_TYPE_flush(LHASH_OF(TYPE) *table);
31 TYPE *lh_TYPE_insert(LHASH_OF(TYPE) *table, TYPE *data);
32 TYPE *lh_TYPE_delete(LHASH_OF(TYPE) *table, TYPE *data);
33 TYPE *lh_TYPE_retrieve(LHASH_OF(TYPE) *table, TYPE *data);
35 void lh_TYPE_doall(LHASH_OF(TYPE) *table, OPENSSL_LH_DOALL_FUNC func);
36 void lh_TYPE_doall_arg(LHASH_OF(TYPE) *table, OPENSSL_LH_DOALL_FUNCARG func,
37 TYPE *arg);
39 int lh_TYPE_error(LHASH_OF(TYPE) *table);
61 DEFINE_LHASH_OF(TYPE);
67 and value fields. In the description here, B<I<TYPE>> is used a placeholder
76 B<lh_I<TYPE>_new>() creates a new B<LHASH_OF>(B<I<TYPE>>) structure to store
91 B<lh_I<TYPE>_new>() as shown in this example:
96 static unsigned long stuff_hash(const TYPE *a)
100 static int stuff_cmp(const TYPE *a, const TYPE *b)
108 static IMPLEMENT_LHASH_HASH_FN(stuff, TYPE)
109 static IMPLEMENT_LHASH_COMP_FN(stuff, TYPE)
114 DECLARE_LHASH_HASH_FN(stuff, TYPE)
115 DECLARE_LHASH_COMP_FN(stuff, TYPE)
117 Then a hash table of B<I<TYPE>> objects can be created using this:
119 LHASH_OF(TYPE) *htable;
121 htable = B<lh_I<TYPE>_new>(LHASH_HASH_FN(stuff), LHASH_COMP_FN(stuff));
123 B<lh_I<TYPE>_free>() frees the B<LHASH_OF>(B<I<TYPE>>) structure
125 using B<lh_I<TYPE>_doall>() to deallocate any remaining entries in the
128 B<lh_I<TYPE>_flush>() empties the B<LHASH_OF>(B<I<TYPE>>) structure I<table>. New
130 will not be freed; consider using B<lh_I<TYPE>_doall>() to deallocate any
133 B<lh_I<TYPE>_insert>() inserts the structure pointed to by I<data> into
135 value is replaced. Note that B<lh_I<TYPE>_insert>() stores pointers, the
138 B<lh_I<TYPE>_delete>() deletes an entry from I<table>.
140 B<lh_I<TYPE>_retrieve>() looks up an entry in I<table>. Normally, I<data>
144 B<lh_I<TYPE>_doall>() will, for every entry in the hash table, call
149 void TYPE_cleanup_doall(TYPE *a);
152 IMPLEMENT_LHASH_DOALL_FN(TYPE_cleanup, TYPE)
169 B<lh_I<TYPE>_doall_arg>() is the same as B<lh_I<TYPE>_doall>() except that
171 should be of type B<LHASH_DOALL_ARG_FN>(B<I<TYPE>>) (a callback prototype
181 void TYPE_print_doall_arg(const TYPE *a, BIO *output_bio);
184 static IMPLEMENT_LHASH_DOALL_ARG_FN(TYPE, const TYPE, BIO)
191 B<lh_I<TYPE>_error>() can be used to determine if an error occurred in the last
194 OPENSSL_LH_new() is the same as the B<lh_I<TYPE>_new>() except that it is not
195 type specific. So instead of returning an B<LHASH_OF(I<TYPE>)> value it returns
199 OPENSSL_LH_error() are equivalent to the similarly named B<lh_I<TYPE>> functions
200 except that they return or use a B<void *> where the equivalent B<lh_I<TYPE>>
201 function returns or uses a B<I<TYPE> *> or B<LHASH_OF(I<TYPE>) *>. B<lh_I<TYPE>>
208 B<lh_I<TYPE>_new>() and OPENSSL_LH_new() return NULL on error, otherwise a
211 When a hash table entry is replaced, B<lh_I<TYPE>_insert>() or
215 B<lh_I<TYPE>_delete>() and OPENSSL_LH_delete() return the entry being deleted.
218 B<lh_I<TYPE>_retrieve>() and OPENSSL_LH_retrieve() return the hash table entry
221 B<lh_I<TYPE>_error>() and OPENSSL_LH_error() return 1 if an error occurred in
225 B<lh_I<TYPE>_free>(), OPENSSL_LH_free(), B<lh_I<TYPE>_flush>(),
226 OPENSSL_LH_flush(), B<lh_I<TYPE>_doall>() OPENSSL_LH_doall(),
227 B<lh_I<TYPE>_doall_arg>() and OPENSSL_LH_doall_arg() return no values.
232 B<lh_I<TYPE>_error>() or OPENSSL_LH_error() calls must be performed under
271 B<lh_I<TYPE>_insert>() and OPENSSL_LH_insert() return NULL both for success