1 /* $NetBSD: omapip.h,v 1.1.1.3 2014/07/12 11:57:57 spz Exp $ */
4 Definitions for the object management API and protocol... */
7 * Copyright (c) 2009,2013-2014 by Internet Systems Consortium, Inc. ("ISC")
8 * Copyright (c) 2004,2007 by Internet Systems Consortium, Inc. ("ISC")
9 * Copyright (c) 1996-2003 by Internet Software Consortium
11 * Permission to use, copy, modify, and distribute this software for any
12 * purpose with or without fee is hereby granted, provided that the above
13 * copyright notice and this permission notice appear in all copies.
15 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
16 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
17 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
18 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
20 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
21 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
23 * Internet Systems Consortium, Inc.
25 * Redwood City, CA 94063
27 * https://www.isc.org/
38 typedef unsigned int omapi_handle_t
;
40 struct __omapi_object
;
41 typedef struct __omapi_object omapi_object_t
;
45 omapi_datatype_string
,
52 omapi_datatype_t type
;
56 #define OMAPI_TYPED_DATA_NOBUFFER_LEN (sizeof (int) + \
57 sizeof (omapi_datatype_t) + \
59 unsigned char value
[1];
61 #define OMAPI_TYPED_DATA_OBJECT_LEN (sizeof (int) + \
62 sizeof (omapi_datatype_t) + \
63 sizeof (omapi_object_t *))
64 omapi_object_t
*object
;
65 #define OMAPI_TYPED_DATA_REF_LEN (sizeof (int) + \
66 sizeof (omapi_datatype_t) + \
70 isc_result_t (*reference
) (void *,
71 void *, const char *, int);
72 isc_result_t (*dereference
) (void *,
75 #define OMAPI_TYPED_DATA_INT_LEN (sizeof (int) + \
76 sizeof (omapi_datatype_t) + \
85 #define OMAPI_DATA_STRING_EMPTY_SIZE (2 * sizeof (int))
86 unsigned char value
[1];
87 } omapi_data_string_t
;
91 omapi_data_string_t
*name
;
92 omapi_typed_data_t
*value
;
95 typedef struct __omapi_object_type_t
{
97 struct __omapi_object_type_t
*next
;
99 isc_result_t (*set_value
) (omapi_object_t
*, omapi_object_t
*,
100 omapi_data_string_t
*,
101 omapi_typed_data_t
*);
102 isc_result_t (*get_value
) (omapi_object_t
*,
104 omapi_data_string_t
*, omapi_value_t
**);
105 isc_result_t (*destroy
) (omapi_object_t
*, const char *, int);
106 isc_result_t (*signal_handler
) (omapi_object_t
*,
107 const char *, va_list);
108 isc_result_t (*stuff_values
) (omapi_object_t
*,
109 omapi_object_t
*, omapi_object_t
*);
110 isc_result_t (*lookup
) (omapi_object_t
**, omapi_object_t
*,
112 isc_result_t (*create
) (omapi_object_t
**, omapi_object_t
*);
113 isc_result_t (*remove
) (omapi_object_t
*, omapi_object_t
*);
114 isc_result_t (*freer
) (omapi_object_t
*, const char *, int);
115 isc_result_t (*allocator
) (omapi_object_t
**, const char *, int);
116 isc_result_t (*sizer
) (size_t);
119 isc_result_t (*initialize
) (omapi_object_t
*, const char *, int);
120 } omapi_object_type_t
;
122 #define OMAPI_OBJECT_PREAMBLE \
123 omapi_object_type_t *type; \
125 omapi_handle_t handle; \
126 omapi_object_t *outer, *inner
128 /* The omapi handle structure. */
129 struct __omapi_object
{
130 OMAPI_OBJECT_PREAMBLE
;
133 /* The port on which applications should listen for OMAPI connections. */
134 #define OMAPI_PROTOCOL_PORT 7911
139 unsigned char address
[16];
146 omapi_addr_t
*addresses
;
149 typedef struct auth_key
{
150 OMAPI_OBJECT_PREAMBLE
;
153 omapi_data_string_t
*key
;
154 dns_tsec_t
*tsec_key
;
157 #define OMAPI_CREATE 1
158 #define OMAPI_UPDATE 2
160 #define OMAPI_NOTIFY_PROTOCOL 8
162 #define OMAPI_OBJECT_ALLOC(name, stype, type) \
163 isc_result_t name##_allocate (stype **p, const char *file, int line) \
165 return omapi_object_allocate ((omapi_object_t **)p, \
166 type, 0, file, line); \
169 isc_result_t name##_reference (stype **pptr, stype *ptr, \
170 const char *file, int line) \
172 return omapi_object_reference ((omapi_object_t **)pptr, \
173 (omapi_object_t *)ptr, file, line); \
176 isc_result_t name##_dereference (stype **ptr, const char *file, int line) \
178 return omapi_object_dereference ((omapi_object_t **)ptr, file, line); \
181 #define OMAPI_OBJECT_ALLOC_DECL(name, stype, type) \
182 isc_result_t name##_allocate (stype **p, const char *file, int line); \
183 isc_result_t name##_reference (stype **pptr, stype *ptr, \
184 const char *file, int line); \
185 isc_result_t name##_dereference (stype **ptr, const char *file, int line);
187 typedef isc_result_t (*omapi_array_ref_t
) (char **, char *, const char *, int);
188 typedef isc_result_t (*omapi_array_deref_t
) (char **, const char *, int);
190 /* An extensible array type. */
193 omapi_array_ref_t ref
;
194 omapi_array_deref_t deref
;
199 #define OMAPI_ARRAY_TYPE(name, stype) \
200 isc_result_t name##_array_allocate (omapi_array_t **p, \
201 const char *file, int line) \
203 return (omapi_array_allocate \
205 (omapi_array_ref_t)name##_reference, \
206 (omapi_array_deref_t)name##_dereference, \
210 isc_result_t name##_array_free (omapi_array_t **p, \
211 const char *file, int line) \
213 return omapi_array_free (p, file, line); \
216 isc_result_t name##_array_extend (omapi_array_t *pptr, stype *ptr, int *index,\
217 const char *file, int line) \
219 return omapi_array_extend (pptr, (char *)ptr, index, file, line); \
222 isc_result_t name##_array_set (omapi_array_t *pptr, stype *ptr, int index, \
223 const char *file, int line) \
225 return omapi_array_set (pptr, (char *)ptr, index, file, line); \
228 isc_result_t name##_array_lookup (stype **ptr, omapi_array_t *pptr, \
229 int index, const char *file, int line) \
231 return omapi_array_lookup ((char **)ptr, pptr, index, file, line); \
234 #define OMAPI_ARRAY_TYPE_DECL(name, stype) \
235 isc_result_t name##_array_allocate (omapi_array_t **, const char *, int); \
236 isc_result_t name##_array_free (omapi_array_t **, const char *, int); \
237 isc_result_t name##_array_extend (omapi_array_t *, stype *, int *, \
238 const char *, int); \
239 isc_result_t name##_array_set (omapi_array_t *, \
240 stype *, int, const char *, int); \
241 isc_result_t name##_array_lookup (stype **, \
242 omapi_array_t *, int, const char *, int)
244 #define omapi_array_foreach_begin(array, stype, var) \
246 int omapi_array_foreach_index; \
247 stype *var = (stype *)0; \
248 for (omapi_array_foreach_index = 0; \
250 omapi_array_foreach_index < (array) -> count; \
251 omapi_array_foreach_index++) { \
252 if ((array) -> data [omapi_array_foreach_index]) { \
255 (array) -> data [omapi_array_foreach_index],\
258 #define omapi_array_foreach_end(array, stype, var) \
259 (*(array) -> deref) ((char **)&var, MDL); \
264 isc_result_t
omapi_protocol_connect (omapi_object_t
*,
265 const char *, unsigned, omapi_object_t
*);
266 isc_result_t
omapi_connect_list (omapi_object_t
*, omapi_addr_list_t
*,
268 isc_result_t
omapi_protocol_listen (omapi_object_t
*, unsigned, int);
269 isc_boolean_t
omapi_protocol_authenticated (omapi_object_t
*);
270 isc_result_t
omapi_protocol_configure_security (omapi_object_t
*,
276 omapi_auth_key_t
*));
277 isc_result_t
omapi_protocol_accept (omapi_object_t
*);
278 isc_result_t
omapi_protocol_send_intro (omapi_object_t
*, unsigned, unsigned);
279 isc_result_t
omapi_protocol_ready (omapi_object_t
*);
280 isc_result_t
omapi_protocol_add_auth (omapi_object_t
*, omapi_object_t
*,
282 isc_result_t
omapi_protocol_lookup_auth (omapi_object_t
**, omapi_object_t
*,
284 isc_result_t
omapi_protocol_set_value (omapi_object_t
*, omapi_object_t
*,
285 omapi_data_string_t
*,
286 omapi_typed_data_t
*);
287 isc_result_t
omapi_protocol_get_value (omapi_object_t
*, omapi_object_t
*,
288 omapi_data_string_t
*,
290 isc_result_t
omapi_protocol_stuff_values (omapi_object_t
*,
294 isc_result_t
omapi_protocol_destroy (omapi_object_t
*, const char *, int);
295 isc_result_t
omapi_protocol_send_message (omapi_object_t
*,
299 isc_result_t
omapi_protocol_signal_handler (omapi_object_t
*,
300 const char *, va_list);
301 isc_result_t
omapi_protocol_listener_set_value (omapi_object_t
*,
303 omapi_data_string_t
*,
304 omapi_typed_data_t
*);
305 isc_result_t
omapi_protocol_listener_get_value (omapi_object_t
*,
307 omapi_data_string_t
*,
309 isc_result_t
omapi_protocol_listener_destroy (omapi_object_t
*,
311 isc_result_t
omapi_protocol_listener_signal (omapi_object_t
*,
312 const char *, va_list);
313 isc_result_t
omapi_protocol_listener_stuff (omapi_object_t
*,
316 isc_result_t
omapi_protocol_send_status (omapi_object_t
*, omapi_object_t
*,
317 isc_result_t
, unsigned, const char *);
318 isc_result_t
omapi_protocol_send_open (omapi_object_t
*, omapi_object_t
*,
319 const char *, omapi_object_t
*,
321 isc_result_t
omapi_protocol_send_update (omapi_object_t
*, omapi_object_t
*,
322 unsigned, omapi_object_t
*);
324 isc_result_t
omapi_connect (omapi_object_t
*, const char *, unsigned);
325 isc_result_t
omapi_disconnect (omapi_object_t
*, int);
326 int omapi_connection_readfd (omapi_object_t
*);
327 int omapi_connection_writefd (omapi_object_t
*);
328 isc_result_t
omapi_connection_connect (omapi_object_t
*);
329 isc_result_t
omapi_connection_reader (omapi_object_t
*);
330 isc_result_t
omapi_connection_writer (omapi_object_t
*);
331 isc_result_t
omapi_connection_reaper (omapi_object_t
*);
332 isc_result_t
omapi_connection_output_auth_length (omapi_object_t
*,
334 isc_result_t
omapi_connection_set_value (omapi_object_t
*, omapi_object_t
*,
335 omapi_data_string_t
*,
336 omapi_typed_data_t
*);
337 isc_result_t
omapi_connection_get_value (omapi_object_t
*, omapi_object_t
*,
338 omapi_data_string_t
*,
340 isc_result_t
omapi_connection_destroy (omapi_object_t
*, const char *, int);
341 isc_result_t
omapi_connection_signal_handler (omapi_object_t
*,
342 const char *, va_list);
343 isc_result_t
omapi_connection_stuff_values (omapi_object_t
*,
346 isc_result_t
omapi_connection_write_typed_data (omapi_object_t
*,
347 omapi_typed_data_t
*);
348 isc_result_t
omapi_connection_put_name (omapi_object_t
*, const char *);
349 isc_result_t
omapi_connection_put_string (omapi_object_t
*, const char *);
350 isc_result_t
omapi_connection_put_handle (omapi_object_t
*c
,
352 isc_result_t
omapi_connection_put_named_uint32 (omapi_object_t
*,
355 isc_result_t
omapi_listen (omapi_object_t
*, unsigned, int);
356 isc_result_t
omapi_listen_addr (omapi_object_t
*,
357 omapi_addr_t
*, int);
358 isc_result_t
omapi_listener_accept (omapi_object_t
*);
359 int omapi_listener_readfd (omapi_object_t
*);
360 isc_result_t
omapi_accept (omapi_object_t
*);
361 isc_result_t
omapi_listener_configure_security (omapi_object_t
*,
365 isc_result_t
omapi_listener_set_value (omapi_object_t
*, omapi_object_t
*,
366 omapi_data_string_t
*,
367 omapi_typed_data_t
*);
368 isc_result_t
omapi_listener_get_value (omapi_object_t
*, omapi_object_t
*,
369 omapi_data_string_t
*,
371 isc_result_t
omapi_listener_destroy (omapi_object_t
*, const char *, int);
372 isc_result_t
omapi_listener_signal_handler (omapi_object_t
*,
373 const char *, va_list);
374 isc_result_t
omapi_listener_stuff_values (omapi_object_t
*,
378 isc_result_t
omapi_register_io_object (omapi_object_t
*,
379 int (*)(omapi_object_t
*),
380 int (*)(omapi_object_t
*),
381 isc_result_t (*)(omapi_object_t
*),
382 isc_result_t (*)(omapi_object_t
*),
383 isc_result_t (*)(omapi_object_t
*));
384 isc_result_t
omapi_reregister_io_object (omapi_object_t
*,
385 int (*)(omapi_object_t
*),
386 int (*)(omapi_object_t
*),
387 isc_result_t (*)(omapi_object_t
*),
388 isc_result_t (*)(omapi_object_t
*),
389 isc_result_t (*)(omapi_object_t
*));
390 isc_result_t
omapi_unregister_io_object (omapi_object_t
*);
391 isc_result_t
omapi_dispatch (struct timeval
*);
392 isc_result_t
omapi_wait_for_completion (omapi_object_t
*, struct timeval
*);
393 isc_result_t
omapi_one_dispatch (omapi_object_t
*, struct timeval
*);
394 isc_result_t
omapi_io_set_value (omapi_object_t
*, omapi_object_t
*,
395 omapi_data_string_t
*,
396 omapi_typed_data_t
*);
397 isc_result_t
omapi_io_get_value (omapi_object_t
*, omapi_object_t
*,
398 omapi_data_string_t
*, omapi_value_t
**);
399 isc_result_t
omapi_io_destroy (omapi_object_t
*, const char *, int);
400 isc_result_t
omapi_io_signal_handler (omapi_object_t
*, const char *, va_list);
401 isc_result_t
omapi_io_stuff_values (omapi_object_t
*,
404 isc_result_t
omapi_waiter_signal_handler (omapi_object_t
*,
405 const char *, va_list);
406 isc_result_t
omapi_io_state_foreach (isc_result_t (*func
) (omapi_object_t
*,
410 isc_result_t
omapi_generic_new (omapi_object_t
**, const char *, int);
411 isc_result_t
omapi_generic_set_value (omapi_object_t
*, omapi_object_t
*,
412 omapi_data_string_t
*,
413 omapi_typed_data_t
*);
414 isc_result_t
omapi_generic_get_value (omapi_object_t
*, omapi_object_t
*,
415 omapi_data_string_t
*,
417 isc_result_t
omapi_generic_destroy (omapi_object_t
*, const char *, int);
418 isc_result_t
omapi_generic_signal_handler (omapi_object_t
*,
419 const char *, va_list);
420 isc_result_t
omapi_generic_stuff_values (omapi_object_t
*,
423 isc_result_t
omapi_generic_clear_flags (omapi_object_t
*);
425 isc_result_t
omapi_message_new (omapi_object_t
**, const char *, int);
426 isc_result_t
omapi_message_set_value (omapi_object_t
*, omapi_object_t
*,
427 omapi_data_string_t
*,
428 omapi_typed_data_t
*);
429 isc_result_t
omapi_message_get_value (omapi_object_t
*, omapi_object_t
*,
430 omapi_data_string_t
*,
432 isc_result_t
omapi_message_destroy (omapi_object_t
*, const char *, int);
433 isc_result_t
omapi_message_signal_handler (omapi_object_t
*,
434 const char *, va_list);
435 isc_result_t
omapi_message_stuff_values (omapi_object_t
*,
438 isc_result_t
omapi_message_register (omapi_object_t
*);
439 isc_result_t
omapi_message_unregister (omapi_object_t
*);
440 isc_result_t
omapi_message_process (omapi_object_t
*, omapi_object_t
*);
442 OMAPI_OBJECT_ALLOC_DECL (omapi_auth_key
,
443 omapi_auth_key_t
, omapi_type_auth_key
)
444 isc_result_t
omapi_auth_key_new (omapi_auth_key_t
**, const char *, int);
445 isc_result_t
omapi_auth_key_destroy (omapi_object_t
*, const char *, int);
446 isc_result_t
omapi_auth_key_enter (omapi_auth_key_t
*);
447 isc_result_t
omapi_auth_key_lookup_name (omapi_auth_key_t
**, const char *);
448 isc_result_t
omapi_auth_key_lookup (omapi_object_t
**,
451 isc_result_t
omapi_auth_key_get_value (omapi_object_t
*, omapi_object_t
*,
452 omapi_data_string_t
*,
454 isc_result_t
omapi_auth_key_stuff_values (omapi_object_t
*,
458 extern omapi_object_type_t
*omapi_type_connection
;
459 extern omapi_object_type_t
*omapi_type_listener
;
460 extern omapi_object_type_t
*omapi_type_io_object
;
461 extern omapi_object_type_t
*omapi_type_generic
;
462 extern omapi_object_type_t
*omapi_type_protocol
;
463 extern omapi_object_type_t
*omapi_type_protocol_listener
;
464 extern omapi_object_type_t
*omapi_type_waiter
;
465 extern omapi_object_type_t
*omapi_type_remote
;
466 extern omapi_object_type_t
*omapi_type_message
;
467 extern omapi_object_type_t
*omapi_type_auth_key
;
469 extern omapi_object_type_t
*omapi_object_types
;
471 void omapi_type_relinquish (void);
472 isc_result_t
omapi_init (void);
473 isc_result_t
omapi_object_type_register (omapi_object_type_t
**,
478 omapi_data_string_t
*,
479 omapi_typed_data_t
*),
483 omapi_data_string_t
*,
485 isc_result_t (*) (omapi_object_t
*,
487 isc_result_t (*) (omapi_object_t
*,
490 isc_result_t (*) (omapi_object_t
*,
493 isc_result_t (*) (omapi_object_t
**,
496 isc_result_t (*) (omapi_object_t
**,
498 isc_result_t (*) (omapi_object_t
*,
500 isc_result_t (*) (omapi_object_t
*,
502 isc_result_t (*) (omapi_object_t
**,
504 isc_result_t (*) (size_t), size_t,
505 isc_result_t (*) (omapi_object_t
*,
508 isc_result_t
omapi_signal (omapi_object_t
*, const char *, ...);
509 isc_result_t
omapi_signal_in (omapi_object_t
*, const char *, ...);
510 isc_result_t
omapi_set_value (omapi_object_t
*, omapi_object_t
*,
511 omapi_data_string_t
*,
512 omapi_typed_data_t
*);
513 isc_result_t
omapi_set_value_str (omapi_object_t
*, omapi_object_t
*,
514 const char *, omapi_typed_data_t
*);
515 isc_result_t
omapi_set_boolean_value (omapi_object_t
*, omapi_object_t
*,
517 isc_result_t
omapi_set_int_value (omapi_object_t
*, omapi_object_t
*,
519 isc_result_t
omapi_set_object_value (omapi_object_t
*, omapi_object_t
*,
520 const char *, omapi_object_t
*);
521 isc_result_t
omapi_set_string_value (omapi_object_t
*, omapi_object_t
*,
522 const char *, const char *);
523 isc_result_t
omapi_get_value (omapi_object_t
*, omapi_object_t
*,
524 omapi_data_string_t
*,
526 isc_result_t
omapi_get_value_str (omapi_object_t
*, omapi_object_t
*,
527 const char *, omapi_value_t
**);
528 isc_result_t
omapi_stuff_values (omapi_object_t
*,
531 isc_result_t
omapi_object_create (omapi_object_t
**, omapi_object_t
*,
532 omapi_object_type_t
*);
533 isc_result_t
omapi_object_update (omapi_object_t
*, omapi_object_t
*,
534 omapi_object_t
*, omapi_handle_t
);
535 int omapi_data_string_cmp (omapi_data_string_t
*, omapi_data_string_t
*);
536 int omapi_ds_strcmp (omapi_data_string_t
*, const char *);
537 int omapi_td_strcmp (omapi_typed_data_t
*, const char *);
538 int omapi_td_strcasecmp (omapi_typed_data_t
*, const char *);
539 isc_result_t
omapi_make_value (omapi_value_t
**, omapi_data_string_t
*,
540 omapi_typed_data_t
*, const char *, int);
541 isc_result_t
omapi_make_const_value (omapi_value_t
**, omapi_data_string_t
*,
542 const unsigned char *,
543 unsigned, const char *, int);
544 isc_result_t
omapi_make_int_value (omapi_value_t
**, omapi_data_string_t
*,
545 int, const char *, int);
546 isc_result_t
omapi_make_uint_value (omapi_value_t
**, omapi_data_string_t
*,
547 unsigned int, const char *, int);
548 isc_result_t
omapi_make_object_value (omapi_value_t
**, omapi_data_string_t
*,
549 omapi_object_t
*, const char *, int);
550 isc_result_t
omapi_make_handle_value (omapi_value_t
**, omapi_data_string_t
*,
551 omapi_object_t
*, const char *, int);
552 isc_result_t
omapi_make_string_value (omapi_value_t
**, omapi_data_string_t
*,
553 const char *, const char *, int);
554 isc_result_t
omapi_get_int_value (unsigned long *, omapi_typed_data_t
*);
556 isc_result_t
omapi_object_handle (omapi_handle_t
*, omapi_object_t
*);
557 isc_result_t
omapi_handle_lookup (omapi_object_t
**, omapi_handle_t
);
558 isc_result_t
omapi_handle_td_lookup (omapi_object_t
**, omapi_typed_data_t
*);
560 void * dmalloc (unsigned, const char *, int);
561 void dfree (void *, const char *, int);
562 #if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \
563 defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
564 void dmalloc_reuse (void *, const char *, int, int);
565 void dmalloc_dump_outstanding (void);
567 #define dmalloc_reuse(x,y,l,z)
569 #define MDL __FILE__, __LINE__
570 #if defined (DEBUG_RC_HISTORY)
571 void dump_rc_history (void *);
572 void rc_history_next (int);
574 void omapi_print_dmalloc_usage_by_caller (void);
575 isc_result_t
omapi_object_allocate (omapi_object_t
**,
576 omapi_object_type_t
*,
577 size_t, const char *, int);
578 isc_result_t
omapi_object_initialize (omapi_object_t
*,
579 omapi_object_type_t
*,
580 size_t, size_t, const char *, int);
581 isc_result_t
omapi_object_reference (omapi_object_t
**,
582 omapi_object_t
*, const char *, int);
583 isc_result_t
omapi_object_dereference (omapi_object_t
**, const char *, int);
584 isc_result_t
omapi_typed_data_new (const char *, int, omapi_typed_data_t
**,
585 omapi_datatype_t
, ...);
586 isc_result_t
omapi_typed_data_reference (omapi_typed_data_t
**,
587 omapi_typed_data_t
*,
589 isc_result_t
omapi_typed_data_dereference (omapi_typed_data_t
**,
591 isc_result_t
omapi_data_string_new (omapi_data_string_t
**,
592 unsigned, const char *, int);
593 isc_result_t
omapi_data_string_reference (omapi_data_string_t
**,
594 omapi_data_string_t
*,
596 isc_result_t
omapi_data_string_dereference (omapi_data_string_t
**,
598 isc_result_t
omapi_value_new (omapi_value_t
**, const char *, int);
599 isc_result_t
omapi_value_reference (omapi_value_t
**,
600 omapi_value_t
*, const char *, int);
601 isc_result_t
omapi_value_dereference (omapi_value_t
**, const char *, int);
602 isc_result_t
omapi_addr_list_new (omapi_addr_list_t
**, unsigned,
604 isc_result_t
omapi_addr_list_reference (omapi_addr_list_t
**,
607 isc_result_t
omapi_addr_list_dereference (omapi_addr_list_t
**,
610 isc_result_t
omapi_array_allocate (omapi_array_t
**, omapi_array_ref_t
,
611 omapi_array_deref_t
, const char *, int);
612 isc_result_t
omapi_array_free (omapi_array_t
**, const char *, int);
613 isc_result_t
omapi_array_extend (omapi_array_t
*, char *, int *,
615 isc_result_t
omapi_array_set (omapi_array_t
*, void *, int, const char *, int);
616 isc_result_t
omapi_array_lookup (char **,
617 omapi_array_t
*, int, const char *, int);
618 OMAPI_ARRAY_TYPE_DECL(omapi_object
, omapi_object_t
);
619 #endif /* _OMAPIP_H_ */