s4: fix various warnings (not "const" related ones)
[sfrench/samba-autobuild/.git] / source4 / lib / socket / socket.h
index ec3afe8f7fc978512e283ef82904d3f59b484cba..02872457b589c96d4943f8880a3971364bd7e003 100644 (file)
@@ -20,8 +20,8 @@
 #ifndef _SAMBA_SOCKET_H
 #define _SAMBA_SOCKET_H
 
-#include "lib/events/events.h"
-
+struct tevent_context;
+struct tevent_fd;
 struct socket_context;
 
 enum socket_type {
@@ -167,6 +167,8 @@ struct socket_address *socket_address_from_strings(TALLOC_CTX *mem_ctx,
 struct socket_address *socket_address_from_sockaddr(TALLOC_CTX *mem_ctx, 
                                                    struct sockaddr *sockaddr, 
                                                    size_t addrlen);
+struct socket_address *socket_address_copy(TALLOC_CTX *mem_ctx,
+                                          const struct socket_address *oaddr);
 const struct socket_ops *socket_getops_byname(const char *name, enum socket_type type);
 bool allow_access(TALLOC_CTX *mem_ctx,
                  const char **deny_list, const char **allow_list,
@@ -179,22 +181,20 @@ struct composite_context *socket_connect_send(struct socket_context *sock,
                                              struct socket_address *my_address,
                                              struct socket_address *server_address, 
                                              uint32_t flags,
-                                             struct resolve_context *resolve_ctx,
-                                             struct event_context *event_ctx);
+                                             struct tevent_context *event_ctx);
 NTSTATUS socket_connect_recv(struct composite_context *ctx);
 NTSTATUS socket_connect_ev(struct socket_context *sock,
                           struct socket_address *my_address,
                           struct socket_address *server_address, 
                           uint32_t flags, 
-                          struct resolve_context *resolve_ctx,
-                          struct event_context *ev);
+                          struct tevent_context *ev);
 
 struct composite_context *socket_connect_multi_send(TALLOC_CTX *mem_ctx,
                                                    const char *server_address,
                                                    int num_server_ports,
                                                    uint16_t *server_ports,
                                                    struct resolve_context *resolve_ctx,
-                                                   struct event_context *event_ctx);
+                                                   struct tevent_context *event_ctx);
 NTSTATUS socket_connect_multi_recv(struct composite_context *ctx,
                                   TALLOC_CTX *mem_ctx,
                                   struct socket_context **result,
@@ -202,11 +202,16 @@ NTSTATUS socket_connect_multi_recv(struct composite_context *ctx,
 NTSTATUS socket_connect_multi(TALLOC_CTX *mem_ctx, const char *server_address,
                              int num_server_ports, uint16_t *server_ports,
                              struct resolve_context *resolve_ctx,
-                             struct event_context *event_ctx,
+                             struct tevent_context *event_ctx,
                              struct socket_context **result,
                              uint16_t *port);
 void set_socket_options(int fd, const char *options);
-void socket_set_flags(struct socket_context *socket, unsigned flags);
+void socket_set_flags(struct socket_context *sock, unsigned flags);
+
+void socket_tevent_fd_close_fn(struct tevent_context *ev,
+                              struct tevent_fd *fde,
+                              int fd,
+                              void *private_data);
 
 extern bool testnonblock;