Merge branch 'master' of git://git.samba.org/samba
[ira/wip.git] / lib / tsocket / tsocket.h
index aef73ae8c5588f63cf25bb5c2eb422db80f98e9e..7e9cf9eb19ffcb3f2380c8d47e3d269ab4ae5118 100644 (file)
@@ -3,7 +3,7 @@
 
    Copyright (C) Stefan Metzmacher 2009
 
-     ** NOTE! The following LGPL license applies to the tevent
+     ** NOTE! The following LGPL license applies to the tsocket
      ** library. This does NOT imply that all of Samba is released
      ** under the LGPL
 
@@ -117,8 +117,6 @@ char *tsocket_address_inet_addr_string(const struct tsocket_address *addr,
 uint16_t tsocket_address_inet_port(const struct tsocket_address *addr);
 int tsocket_address_inet_set_port(struct tsocket_address *addr,
                                  uint16_t port);
-void tsocket_address_inet_set_broadcast(struct tsocket_address *addr,
-                                       bool broadcast);
 
 int _tsocket_address_unix_from_path(TALLOC_CTX *mem_ctx,
                                    const char *path,
@@ -181,6 +179,21 @@ int _tstream_unix_socketpair(TALLOC_CTX *mem_ctx1,
        _tstream_unix_socketpair(mem_ctx1, stream1, mem_ctx2, stream2, \
                                 __location__)
 
+struct sockaddr;
+
+int _tsocket_address_bsd_from_sockaddr(TALLOC_CTX *mem_ctx,
+                                      struct sockaddr *sa,
+                                      size_t sa_socklen,
+                                      struct tsocket_address **_addr,
+                                      const char *location);
+#define tsocket_address_bsd_from_sockaddr(mem_ctx, sa, sa_socklen, _addr) \
+       _tsocket_address_bsd_from_sockaddr(mem_ctx, sa, sa_socklen, _addr, \
+                                          __location__)
+
+ssize_t tsocket_address_bsd_sockaddr(const struct tsocket_address *addr,
+                                    struct sockaddr *sa,
+                                    size_t sa_socklen);
+
 int _tstream_bsd_existing_socket(TALLOC_CTX *mem_ctx,
                                 int fd,
                                 struct tstream_context **_stream,
@@ -214,5 +227,21 @@ struct tevent_req *tstream_readv_pdu_send(TALLOC_CTX *mem_ctx,
                                void *next_vector_private);
 int tstream_readv_pdu_recv(struct tevent_req *req, int *perrno);
 
+struct tevent_req *tstream_readv_pdu_queue_send(TALLOC_CTX *mem_ctx,
+                               struct tevent_context *ev,
+                               struct tstream_context *stream,
+                               struct tevent_queue *queue,
+                               tstream_readv_pdu_next_vector_t next_vector_fn,
+                               void *next_vector_private);
+int tstream_readv_pdu_queue_recv(struct tevent_req *req, int *perrno);
+
+struct tevent_req *tstream_writev_queue_send(TALLOC_CTX *mem_ctx,
+                                            struct tevent_context *ev,
+                                            struct tstream_context *stream,
+                                            struct tevent_queue *queue,
+                                            const struct iovec *vector,
+                                            size_t count);
+int tstream_writev_queue_recv(struct tevent_req *req, int *perrno);
+
 #endif /* _TSOCKET_H */