docs: fix a typo in history file
[bbaumbach/samba-autobuild/.git] / source4 / lib / socket / socket.h
index 88360ac8f338af79b1f7707535961431d759a820..d0fb5e0bfca0cdb17af6ac16d7a15711907cf491 100644 (file)
@@ -98,7 +98,6 @@ enum socket_state {
        SOCKET_STATE_SERVER_ERROR
 };
 
-#define SOCKET_FLAG_BLOCK        0x00000001
 #define SOCKET_FLAG_PEEK         0x00000002
 #define SOCKET_FLAG_TESTNONBLOCK 0x00000004
 #define SOCKET_FLAG_ENCRYPT      0x00000008 /* This socket
@@ -133,7 +132,8 @@ struct tsocket_address;
 NTSTATUS socket_create_with_ops(TALLOC_CTX *mem_ctx, const struct socket_ops *ops,
                                struct socket_context **new_sock, 
                                enum socket_type type, uint32_t flags);
-NTSTATUS socket_create(const char *name, enum socket_type type, 
+NTSTATUS socket_create(TALLOC_CTX *mem_ctx,
+                      const char *name, enum socket_type type,
                       struct socket_context **new_sock, uint32_t flags);
 NTSTATUS socket_connect(struct socket_context *sock,
                        const struct socket_address *my_address, 
@@ -174,14 +174,15 @@ 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 sockaddr_storage;
+struct socket_address *socket_address_from_sockaddr_storage(TALLOC_CTX *mem_ctx,
+                                                           const struct sockaddr_storage *sockaddr,
+                                                           uint16_t port);
 _PUBLIC_ void socket_address_set_port(struct socket_address *a,
                                      uint16_t port);
 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 socket_allow_access(TALLOC_CTX *mem_ctx,
-                        const char **deny_list, const char **allow_list,
-                        const char *cname, const char *caddr);
 bool socket_check_access(struct socket_context *sock, 
                         const char *service_name,
                         const char **allow_list, const char **deny_list);
@@ -198,6 +199,34 @@ NTSTATUS socket_connect_ev(struct socket_context *sock,
                           uint32_t flags, 
                           struct tevent_context *ev);
 
+struct socket_connect_multi_ex {
+       void *private_data;
+       struct tevent_req *(*establish_send)(TALLOC_CTX *mem_ctx,
+                                            struct tevent_context *ev,
+                                            struct socket_context *sock,
+                                            struct socket_address *addr,
+                                            void *private_data);
+       NTSTATUS (*establish_recv)(struct tevent_req *req);
+};
+struct composite_context *socket_connect_multi_ex_send(TALLOC_CTX *mem_ctx,
+                                                      const char *server_address,
+                                                      int num_server_ports,
+                                                      uint16_t *server_ports,
+                                                      struct resolve_context *resolve_ctx,
+                                                      struct tevent_context *event_ctx,
+                                                      struct socket_connect_multi_ex *ex);
+NTSTATUS socket_connect_multi_ex_recv(struct composite_context *ctx,
+                                     TALLOC_CTX *mem_ctx,
+                                     struct socket_context **result,
+                                     uint16_t *port);
+NTSTATUS socket_connect_multi_ex(TALLOC_CTX *mem_ctx, const char *server_address,
+                                int num_server_ports, uint16_t *server_ports,
+                                struct resolve_context *resolve_ctx,
+                                struct tevent_context *event_ctx,
+                                struct socket_connect_multi_ex *ex,
+                                struct socket_context **result,
+                                uint16_t *port);
+
 struct composite_context *socket_connect_multi_send(TALLOC_CTX *mem_ctx,
                                                    const char *server_address,
                                                    int num_server_ports,