84 return ISC_R_NOMEMORY;
102 return ISC_R_NOMEMORY;
103 memset (
new, 0,
sizeof *
new);
121 if (status != ISC_R_NOSPACE)
138static isc_result_t omapi_object_handle_in_table (
omapi_handle_t h,
146 if (table -> first > h || table -> limit <= h)
147 return ISC_R_NOSPACE;
151 if (table -> leafp) {
153 (&table -> children [h - table -> first].
object,
169 index = (h - table -> first) / scale;
170 inner = table -> children [index].
table;
177 return ISC_R_NOMEMORY;
178 memset (inner, 0,
sizeof *inner);
179 inner -> first = index * scale + table -> first;
180 inner -> limit = inner -> first + scale;
183 table -> children [index].
table = inner;
186 status = omapi_object_handle_in_table (h, inner, o);
187 if (status == ISC_R_NOSPACE) {
188 status = (omapi_handle_table_enclose
189 (&table -> children [index].table));
193 return omapi_object_handle_in_table
194 (h, table -> children [index].table, o);
203 int index, base, scale;
217 base = inner -> first - inner -> first % scale;
227 return ISC_R_NOMEMORY;
228 memset (
new, 0,
sizeof *
new);
230 new -> limit = base + scale;
233 new -> children [index].table = inner;
250 if (!table || table->
first > h || table->
limit <= h)
251 return(ISC_R_NOTFOUND);
257 return(ISC_R_NOTFOUND);
276 index = (h - table->
first) / scale;
278 return(omapi_handle_lookup_in(o, h, table->
children[index].
table, op));
290 handle->u.buffer.len ==
sizeof h) {
isc_result_t omapi_object_handle(omapi_handle_t *h, omapi_object_t *o)
omapi_handle_table_t * omapi_handle_table
omapi_handle_t omapi_next_handle
isc_result_t omapi_handle_lookup(omapi_object_t **o, omapi_handle_t h)
isc_result_t omapi_handle_td_lookup(omapi_object_t **obj, omapi_typed_data_t *handle)
isc_result_t omapi_handle_clear(omapi_handle_t h)
struct __omapi_object omapi_object_t
isc_result_t omapi_object_reference(omapi_object_t **, omapi_object_t *, const char *, int)
unsigned int omapi_handle_t
void * dmalloc(size_t, const char *, int)
#define OMAPI_HANDLE_TABLE_SIZE
struct __omapi_handle_table omapi_handle_table_t
#define DHCP_R_INVALIDARG
struct __omapi_handle_table * table
union __omapi_handle_table::@164211330172214370145263323303307162114331216117 children[OMAPI_HANDLE_TABLE_SIZE]