#define VCONN_H 1
#include <stdbool.h>
+#include <stddef.h>
#include <stdint.h>
struct buffer;
int vconn_accept(struct vconn *, struct vconn **);
int vconn_recv(struct vconn *, struct buffer **);
int vconn_send(struct vconn *, struct buffer *);
+int vconn_transact(struct vconn *, struct buffer *, struct buffer **);
int vconn_open_block(const char *name, struct vconn **);
int vconn_send_block(struct vconn *, struct buffer *);
void vconn_recv_wait(struct vconn *);
void vconn_send_wait(struct vconn *);
+void *make_openflow(size_t openflow_len, uint8_t type, struct buffer **);
+void *make_openflow_xid(size_t openflow_len, uint8_t type,
+ uint32_t xid, struct buffer **);
+void update_openflow_length(struct buffer *);
+struct buffer *make_add_flow(const struct flow *, uint32_t buffer_id,
+ uint16_t max_idle, size_t n_actions);
struct buffer *make_add_simple_flow(const struct flow *,
uint32_t buffer_id, uint16_t out_port,
uint16_t max_idle);
extern struct vconn_class tcp_vconn_class;
extern struct vconn_class ptcp_vconn_class;
+extern struct vconn_class unix_vconn_class;
+extern struct vconn_class punix_vconn_class;
#ifdef HAVE_OPENSSL
extern struct vconn_class ssl_vconn_class;
extern struct vconn_class pssl_vconn_class;