]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
Seperate public and private object declarations.
authorTed Lemon <source@isc.org>
Fri, 8 Oct 1999 03:43:15 +0000 (03:43 +0000)
committerTed Lemon <source@isc.org>
Fri, 8 Oct 1999 03:43:15 +0000 (03:43 +0000)
20 files changed:
dhcpctl/callback.c
dhcpctl/dhcpctl.c
dhcpctl/remote.c
dhcpctl/test.c
includes/dhcpd.h
includes/omapip/alloc.h
includes/omapip/omapip.h
omapip/alloc.c
omapip/buffer.c
omapip/connection.c
omapip/dispatch.c
omapip/generic.c
omapip/handle.c
omapip/listener.c
omapip/message.c
omapip/protocol.c
omapip/result.c
omapip/support.c
omapip/test.c
server/omapi.c

index d1f37be37d3478e28af11f0ab5a1639d62805ee5..ca6628488940290402aa5befbb1073134b2ffc48 100644 (file)
@@ -20,6 +20,7 @@
  * http://www.isc.org for more information.
  */
 
+#include <omapip/omapip_p.h>
 #include "dhcpctl.h"
 
 /* dhcpctl_set_callback
index 92be571ebcc2e07fad5e543d272fb4262d8db39a..9ec097bdeb12c80c7bd7d38acd3e63d45e76d56a 100644 (file)
@@ -20,6 +20,7 @@
  * http://www.isc.org for more information.
  */
 
+#include <omapip/omapip_p.h>
 #include "dhcpctl.h"
 
 omapi_object_type_t *dhcpctl_callback_type;
index c65a86dc2cea7759f40c2e121cb5164c2e869a9d..7a4445526b8c9131c3274ac2233142c437a3d644 100644 (file)
@@ -20,6 +20,7 @@
  * http://www.isc.org for more information.
  */
 
+#include <omapip/omapip_p.h>
 #include "dhcpctl.h"
 
 /* dhcpctl_new_object
index 380be5e9d7dcdaef6005ccaf8ad7a2aad7c8528b..713e0f81eba009bd4732c6a7a186e72b39a42461 100644 (file)
  * http://www.isc.org for more information.
  */
 
+#include <time.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <isc/result.h>
 #include "dhcpctl.h"
 
 int main (int, char **);
index 58a93078d1feb4683853d95f2a94c5558ff5adb3..2a64411b4d8d52833bc1bbef0ae2fab17be96780 100644 (file)
@@ -56,6 +56,7 @@
 #include "auth.h"
 #include "dhctoken.h"
 
+#include <isc/result.h>
 #include <omapip/omapip.h>
 
 #if !defined (OPTION_HASH_SIZE)
index 5cbcc6fd743662274587962579bf4b7777e5c48b..162ea41a04fb1eb05e0c032c438215d5efb203f4 100644 (file)
  * http://www.isc.org for more information.
  */
 
-isc_result_t omapi_object_reference (omapi_object_t **,
-                                    omapi_object_t *, const char *);
-isc_result_t omapi_object_dereference (omapi_object_t **, const char *);
-
 isc_result_t omapi_buffer_new (omapi_buffer_t **, const char *);
 isc_result_t omapi_buffer_reference (omapi_buffer_t **,
                                     omapi_buffer_t *, const char *);
 isc_result_t omapi_buffer_dereference (omapi_buffer_t **, const char *);
-isc_result_t omapi_typed_data_new (omapi_typed_data_t **,
-                                  omapi_datatype_t, ...);
-isc_result_t omapi_typed_data_reference (omapi_typed_data_t **,
-                                        omapi_typed_data_t *, const char *);
-isc_result_t omapi_typed_data_dereference (omapi_typed_data_t **,
-                                          const char *);
-isc_result_t omapi_data_string_new (omapi_data_string_t **,
-                                   unsigned, const char *);
-isc_result_t omapi_data_string_reference (omapi_data_string_t **,
-                                         omapi_data_string_t *, const char *);
-isc_result_t omapi_data_string_dereference (omapi_data_string_t **,
-                                           const char *);
-isc_result_t omapi_value_new (omapi_value_t **, const char *);
-isc_result_t omapi_value_reference (omapi_value_t **,
-                                   omapi_value_t *, const char *);
-isc_result_t omapi_value_dereference (omapi_value_t **, const char *);
index 25a6f9c994857cadbf95732af4be205f46b1148c..372e5c52a528a3c406577a5577864393786f313b 100644 (file)
 #ifndef _OMAPIP_H_
 #define _OMAPIP_H_
 
-#ifndef __CYGWIN32__
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-#include <arpa/inet.h>
-
-#if defined (NSUPDATE)
-# include <arpa/nameser.h>
-# include <resolv.h>
-#endif
-
-#include <netdb.h>
-#else
-#define fd_set cygwin_fd_set
-#include <sys/types.h>
-#endif
-#include <fcntl.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <ctype.h>
-#include <time.h>
-
-#include "cdefs.h"
-#include "osdep.h"
-
-#include <isc/result.h>
-
-typedef u_int32_t omapi_handle_t;
-
-/* OMAPI protocol header, version 1.00 */
-typedef struct {
-       unsigned authlen;       /* Length of authenticator. */
-       unsigned authid;        /* Authenticator object ID. */
-       unsigned op;            /* Opcode. */
-       omapi_handle_t handle;  /* Handle of object being operated on,
-                                   or zero. */
-       unsigned id;            /* Transaction ID. */
-       unsigned rid;   /* ID of transaction to which this is a response. */
-} omapi_protocol_header_t;
+typedef unsigned int omapi_handle_t;
 
 struct __omapi_object;
 typedef struct __omapi_object omapi_object_t;
@@ -86,7 +44,7 @@ typedef struct {
 #define OMAPI_TYPED_DATA_NOBUFFER_LEN (sizeof (int) + \
                                       sizeof (omapi_datatype_t) + \
                                       sizeof (int))
-                       u_int8_t value [1];
+                       unsigned char value [1];
                } buffer;
 #define OMAPI_TYPED_DATA_OBJECT_LEN (sizeof (int) + \
                                     sizeof (omapi_datatype_t) + \
@@ -112,7 +70,7 @@ typedef struct {
        int refcnt;
        unsigned len;
 #define OMAPI_DATA_STRING_EMPTY_SIZE (2 * sizeof (int))
-       u_int8_t value [1];
+       unsigned char value [1];
 } omapi_data_string_t;
 
 typedef struct {
@@ -153,126 +111,8 @@ struct __omapi_object {
        OMAPI_OBJECT_PREAMBLE;
 };
 
+/* The port on which applications should listen for OMAPI connections. */
 #define OMAPI_PROTOCOL_PORT    7911
-#define OMAPI_PROTOCOL_VERSION 100
-
-#define OMAPI_OP_OPEN          1
-#define OMAPI_OP_REFRESH       2
-#define        OMAPI_OP_UPDATE         3
-#define OMAPI_OP_NOTIFY                4
-#define OMAPI_OP_STATUS                5
-#define OMAPI_OP_DELETE                6
-
-#include <omapip/buffer.h>
-
-typedef enum {
-       omapi_connection_unconnected,
-       omapi_connection_connecting,
-       omapi_connection_connected,
-       omapi_connection_disconnecting,
-       omapi_connection_closed
-} omapi_connection_state_t;
-
-typedef enum {
-       omapi_protocol_intro_wait,
-       omapi_protocol_header_wait,
-       omapi_protocol_signature_wait,
-       omapi_protocol_name_wait,
-       omapi_protocol_name_length_wait,
-       omapi_protocol_value_wait,
-       omapi_protocol_value_length_wait
-} omapi_protocol_state_t;
-
-typedef struct __omapi_message_object {
-       OMAPI_OBJECT_PREAMBLE;
-       struct __omapi_message_object *next, *prev;
-       omapi_object_t *object;
-       omapi_object_t *notify_object;
-       unsigned authlen;
-       omapi_typed_data_t *authenticator;
-       unsigned authid;
-       omapi_object_t *id_object;
-       unsigned op;
-       omapi_handle_t h;
-       unsigned id;
-       unsigned rid;
-} omapi_message_object_t;
-
-typedef struct {
-       OMAPI_OBJECT_PREAMBLE;
-       unsigned header_size;           
-       unsigned protocol_version;
-       u_int32_t next_xid;
-       omapi_object_t *authinfo; /* Default authinfo to use. */
-
-       omapi_protocol_state_t state;   /* Input state. */
-       int reading_message_values;     /* True if reading message-specific
-                                          values. */
-       omapi_message_object_t *message;        /* Incoming message. */
-       omapi_data_string_t *name;      /* Incoming name. */
-       omapi_typed_data_t *value;      /* Incoming value. */
-} omapi_protocol_object_t;
-
-typedef struct {
-       OMAPI_OBJECT_PREAMBLE;
-} omapi_protocol_listener_object_t;
-
-typedef struct __omapi_connection_object {
-       OMAPI_OBJECT_PREAMBLE;
-       int socket;             /* Connection socket. */
-       omapi_connection_state_t state;
-       struct sockaddr_in remote_addr;
-       struct sockaddr_in local_addr;
-       u_int32_t bytes_needed; /* Bytes of input needed before wakeup. */
-       u_int32_t in_bytes;     /* Bytes of input already buffered. */
-       omapi_buffer_t *inbufs;
-       u_int32_t out_bytes;    /* Bytes of output in buffers. */
-       omapi_buffer_t *outbufs;
-       omapi_object_t *listener;       /* Listener that accepted this
-                                          connection, if any. */
-} omapi_connection_object_t;
-
-typedef struct __omapi_listener_object {
-       OMAPI_OBJECT_PREAMBLE;
-       int socket;             /* Connection socket. */
-       struct sockaddr_in address;
-} omapi_listener_object_t;
-
-typedef struct __omapi_io_object {
-       OMAPI_OBJECT_PREAMBLE;
-       struct __omapi_io_object *next;
-       int (*readfd) (omapi_object_t *);
-       int (*writefd) (omapi_object_t *);
-       isc_result_t (*reader) (omapi_object_t *);
-       isc_result_t (*writer) (omapi_object_t *);
-       isc_result_t (*reaper) (omapi_object_t *);
-} omapi_io_object_t;
-
-typedef struct __omapi_generic_object {
-       OMAPI_OBJECT_PREAMBLE;
-       omapi_value_t **values;
-       int nvalues, va_max;
-} omapi_generic_object_t;
-
-typedef struct __omapi_waiter_object {
-       OMAPI_OBJECT_PREAMBLE;
-       int ready;
-       struct __omapi_waiter_object *next;
-} omapi_waiter_object_t;
-
-#define OMAPI_HANDLE_TABLE_SIZE 120
-
-typedef struct __omapi_handle_table {
-       omapi_handle_t first, limit;
-       omapi_handle_t next;
-       int leafp;
-       union {
-               omapi_object_t *object;
-               struct __omapi_handle_table *table;
-       } children [OMAPI_HANDLE_TABLE_SIZE];
-} omapi_handle_table_t;
-
-#include <omapip/alloc.h>
 
 isc_result_t omapi_protocol_connect (omapi_object_t *,
                                     const char *, int, omapi_object_t *);
@@ -368,7 +208,7 @@ isc_result_t omapi_register_io_object (omapi_object_t *,
                                       isc_result_t (*)(omapi_object_t *));
 isc_result_t omapi_dispatch (struct timeval *);
 isc_result_t omapi_wait_for_completion (omapi_object_t *, struct timeval *);
-isc_result_t omapi_one_dispatch (omapi_waiter_object_t *, struct timeval *);
+isc_result_t omapi_one_dispatch (omapi_object_t *, struct timeval *);
 isc_result_t omapi_io_set_value (omapi_object_t *, omapi_object_t *,
                                 omapi_data_string_t *,
                                 omapi_typed_data_t *);
@@ -501,4 +341,25 @@ isc_result_t omapi_object_handle (omapi_handle_t *, omapi_object_t *);
 isc_result_t omapi_handle_lookup (omapi_object_t **, omapi_handle_t);
 isc_result_t omapi_handle_td_lookup (omapi_object_t **, omapi_typed_data_t *);
 
+isc_result_t omapi_object_reference (omapi_object_t **,
+                                    omapi_object_t *, const char *);
+isc_result_t omapi_object_dereference (omapi_object_t **, const char *);
+isc_result_t omapi_typed_data_new (omapi_typed_data_t **,
+                                  omapi_datatype_t, ...);
+isc_result_t omapi_typed_data_reference (omapi_typed_data_t **,
+                                        omapi_typed_data_t *, const char *);
+isc_result_t omapi_typed_data_dereference (omapi_typed_data_t **,
+                                          const char *);
+isc_result_t omapi_data_string_new (omapi_data_string_t **,
+                                   unsigned, const char *);
+isc_result_t omapi_data_string_reference (omapi_data_string_t **,
+                                         omapi_data_string_t *, const char *);
+isc_result_t omapi_data_string_dereference (omapi_data_string_t **,
+                                           const char *);
+isc_result_t omapi_value_new (omapi_value_t **, const char *);
+isc_result_t omapi_value_reference (omapi_value_t **,
+                                   omapi_value_t *, const char *);
+isc_result_t omapi_value_dereference (omapi_value_t **, const char *);
+
+
 #endif /* _OMAPIP_H_ */
index 8d93751bc018a90d28e41bff25a72b0feffd5bfd..67d32120c624628740775415cb29bad6a3666a0f 100644 (file)
@@ -21,7 +21,7 @@
  * http://www.isc.org for more information.
  */
 
-#include <omapip/omapip.h>
+#include <omapip/omapip_p.h>
 
 isc_result_t omapi_object_reference (omapi_object_t **r,
                                     omapi_object_t *h,
index 25c3b351b259d9908e4b1250bc18f5767d4cc2a9..9533ef713182df249e09f1907764d160a2e8dfcc 100644 (file)
@@ -20,7 +20,7 @@
  * http://www.isc.org for more information.
  */
 
-#include <omapip/omapip.h>
+#include <omapip/omapip_p.h>
 
 /* Make sure that at least len bytes are in the input buffer, and if not,
    read enough bytes to make up the difference. */
index 7916fe326cad29592ea4cbb68bdeb89d923c9f01..5fa4603d7b4eb290132e0da450ec78752b9c3274 100644 (file)
@@ -20,7 +20,7 @@
  * http://www.isc.org for more information.
  */
 
-#include <omapip/omapip.h>
+#include <omapip/omapip_p.h>
 
 isc_result_t omapi_connect (omapi_object_t *c,
                            const char *server_name,
index 257a1a409f1b88bcfb89b610e3e4d80e0c8580c8..659f998a22cc2bd06f828d47550d189d4260bea8 100644 (file)
@@ -20,7 +20,7 @@
  * http://www.isc.org for more information.
  */
 
-#include <omapip/omapip.h>
+#include <omapip/omapip_p.h>
 
 static omapi_io_object_t omapi_io_states;
 u_int32_t cur_time;
@@ -137,7 +137,7 @@ isc_result_t omapi_wait_for_completion (omapi_object_t *object,
                waiter = (omapi_waiter_object_t *)0;
 
        do {
-               status = omapi_one_dispatch (waiter, t);
+               status = omapi_one_dispatch ((omapi_object_t *)waiter, t);
                if (status != ISC_R_SUCCESS)
                        return status;
        } while (!waiter || !waiter -> ready);
@@ -164,7 +164,7 @@ isc_result_t omapi_wait_for_completion (omapi_object_t *object,
        return ISC_R_SUCCESS;
 }
 
-isc_result_t omapi_one_dispatch (omapi_waiter_object_t *waiter,
+isc_result_t omapi_one_dispatch (omapi_object_t *wo,
                                 struct timeval *t)
 {
        fd_set r, w, x;
@@ -174,6 +174,12 @@ isc_result_t omapi_one_dispatch (omapi_waiter_object_t *waiter,
        struct timeval now, to;
        omapi_io_object_t *io, *prev;
        isc_result_t status;
+       omapi_waiter_object_t *waiter;
+
+       if (!wo || wo -> type != omapi_type_waiter)
+               waiter = (omapi_waiter_object_t *)0;
+       else
+               waiter = (omapi_waiter_object_t *)wo;
 
        FD_ZERO (&x);
 
index 4f19b7361271a9f2e694e5e42400667899362539..8f1fcc1010085234e0be0ceffb173708b9abaf18 100644 (file)
@@ -20,7 +20,7 @@
  * http://www.isc.org for more information.
  */
 
-#include <omapip/omapip.h>
+#include <omapip/omapip_p.h>
 
 isc_result_t omapi_generic_new (omapi_object_t **gen, const char *name)
 {
index 0fcb03170f3eb01d2d1a637721474265c18c2d30..5a907bc74b3955fd6b32e18930bb8ebf4ee0ae1f 100644 (file)
@@ -20,7 +20,7 @@
  * http://www.isc.org for more information.
  */
 
-#include <omapip/omapip.h>
+#include <omapip/omapip_p.h>
 
 /* The handle table is a hierarchical tree designed for quick mapping
    of handle identifiers to objects.  Objects contain their own handle
index dea6e616f66734ed4d98579357e4b1049dc28ea0..fa1f65d378812a9365cfb38c48fc4d5c84082558 100644 (file)
@@ -20,7 +20,7 @@
  * http://www.isc.org for more information.
  */
 
-#include <omapip/omapip.h>
+#include <omapip/omapip_p.h>
 
 isc_result_t omapi_listen (omapi_object_t *h,
                           int port,
index 4efdcae2d21fb6e00939943b4411739be48c93c8..d4c9d569a412be566e6890f7ac8ee70a210daa68 100644 (file)
@@ -20,7 +20,7 @@
  * http://www.isc.org for more information.
  */
 
-#include <omapip/omapip.h>
+#include <omapip/omapip_p.h>
 
 omapi_message_object_t *omapi_registered_messages;
 
index 71690f4406cf860d5e389819c3cf72a3cf9cdc95..cfb59c4eda3b816002c331efb61d49586d66a65b 100644 (file)
@@ -20,7 +20,7 @@
  * http://www.isc.org for more information.
  */
 
-#include <omapip/omapip.h>
+#include <omapip/omapip_p.h>
 
 isc_result_t omapi_protocol_connect (omapi_object_t *h,
                                     const char *server_name,
index 57660d89c67ef335f9566e4fb938e7f03b388321..0f9349edeaa24e048af2bed064ca53e4c4a94e54 100644 (file)
@@ -21,7 +21,7 @@
  * http://www.isc.org for more information.
  */
 
-#include <omapip/omapip.h>
+#include <omapip/omapip_p.h>
 
 static const char *text[ISC_R_NRESULTS] = {
        "success",                              /*  0 */
index a438c73ead90ffb29e4ad3b745d9661bd47a0d82..86535d5bdf9b7e902225fe9a6beefec24f25285b 100644 (file)
@@ -20,7 +20,7 @@
  * http://www.isc.org for more information.
  */
 
-#include <omapip/omapip.h>
+#include <omapip/omapip_p.h>
 
 omapi_object_type_t *omapi_type_connection;
 omapi_object_type_t *omapi_type_listener;
index fa80ff77bf6a5fed04b79d1545fbbfdf2d9aea40..d8065d9417ccdcf410d3008a2d0a6cfc819eb77a 100644 (file)
  * http://www.isc.org for more information.
  */
 
+#include <time.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <isc/result.h>
 #include <omapip/omapip.h>
 
 int main (int argc, char **argv)
index d4e89801fd02fbcb3351aa952355ad6d16bca484..f4d91b1af70279fc67d628f28c1c459d5e55af49 100644 (file)
 
 #ifndef lint
 static char copyright[] =
-"$Id: omapi.c,v 1.15 1999/10/07 06:36:35 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.  All rights reserved.\n";
+"$Id: omapi.c,v 1.16 1999/10/08 03:43:15 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.  All rights reserved.\n";
 #endif /* not lint */
 
 #include "dhcpd.h"
+#include <omapip/omapip_p.h>
 
 omapi_object_type_t *dhcp_type_lease;
 omapi_object_type_t *dhcp_type_group;