X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fstream.h;h=2482bf20ceb5267e313b3ae6920aa7986cf488fa;hb=c6fadeb1f0488997b44e85a00a8887756232156d;hp=8c4e78a36711ef11f451d790f5ebc4c45e76a4ae;hpb=766407ea9011d347d577a3409acb0f8d34cc72e1;p=sliver-openvswitch.git diff --git a/lib/stream.h b/lib/stream.h index 8c4e78a36..2482bf20c 100644 --- a/lib/stream.h +++ b/lib/stream.h @@ -20,6 +20,8 @@ #include #include #include +#include "openvswitch/types.h" +#include "vlog.h" struct pstream; struct stream; @@ -32,10 +34,10 @@ int stream_open(const char *name, struct stream **); int stream_open_block(int error, struct stream **); void stream_close(struct stream *); const char *stream_get_name(const struct stream *); -uint32_t stream_get_remote_ip(const struct stream *); -uint16_t stream_get_remote_port(const struct stream *); -uint32_t stream_get_local_ip(const struct stream *); -uint16_t stream_get_local_port(const struct stream *); +ovs_be32 stream_get_remote_ip(const struct stream *); +ovs_be16 stream_get_remote_port(const struct stream *); +ovs_be32 stream_get_local_ip(const struct stream *); +ovs_be16 stream_get_local_port(const struct stream *); int stream_connect(struct stream *); int stream_recv(struct stream *, void *buffer, size_t n); int stream_send(struct stream *, const void *buffer, size_t n); @@ -61,5 +63,28 @@ void pstream_close(struct pstream *); int pstream_accept(struct pstream *, struct stream **); int pstream_accept_block(struct pstream *, struct stream **); void pstream_wait(struct pstream *); + +/* Convenience functions. */ + +int stream_open_with_default_ports(const char *name, + uint16_t default_tcp_port, + uint16_t default_ssl_port, + struct stream **); +int pstream_open_with_default_ports(const char *name, + uint16_t default_ptcp_port, + uint16_t default_pssl_port, + struct pstream **); + +/* Error reporting. */ + +enum stream_content_type { + STREAM_UNKNOWN, + STREAM_OPENFLOW, + STREAM_SSL, + STREAM_JSONRPC +}; + +void stream_report_content(const void *, size_t, enum stream_content_type, + struct vlog_module *, const char *stream_name); #endif /* stream.h */