flow: add miniflow_push_uint8
[cascardo/ovs.git] / lib / ofp-prop.h
index 4a9f844..4f8e78d 100644 (file)
@@ -53,6 +53,7 @@
 #include "openvswitch/types.h"
 
 struct ofpbuf;
+struct uuid;
 struct vlog_module;
 
 /* Given an OpenFlow experimenter ID (e.g. NX_VENDOR_ID) 'exp_id' and type
@@ -78,21 +79,35 @@ enum ofperr ofpprop_pull(struct ofpbuf *msg, struct ofpbuf *property,
 
 enum ofperr ofpprop_parse_be16(const struct ofpbuf *, ovs_be16 *value);
 enum ofperr ofpprop_parse_be32(const struct ofpbuf *, ovs_be32 *value);
+enum ofperr ofpprop_parse_be64(const struct ofpbuf *, ovs_be64 *value);
+enum ofperr ofpprop_parse_u8(const struct ofpbuf *, uint8_t *value);
 enum ofperr ofpprop_parse_u16(const struct ofpbuf *, uint16_t *value);
 enum ofperr ofpprop_parse_u32(const struct ofpbuf *, uint32_t *value);
+enum ofperr ofpprop_parse_u64(const struct ofpbuf *, uint64_t *value);
+enum ofperr ofpprop_parse_uuid(const struct ofpbuf *, struct uuid *);
+enum ofperr ofpprop_parse_nested(const struct ofpbuf *, struct ofpbuf *);
 
 /* Serializing properties. */
 void ofpprop_put(struct ofpbuf *, uint64_t type,
                  const void *value, size_t len);
+void *ofpprop_put_zeros(struct ofpbuf *, uint64_t type, size_t len);
 void ofpprop_put_be16(struct ofpbuf *, uint64_t type, ovs_be16 value);
 void ofpprop_put_be32(struct ofpbuf *, uint64_t type, ovs_be32 value);
+void ofpprop_put_be64(struct ofpbuf *, uint64_t type, ovs_be64 value);
+void ofpprop_put_u8(struct ofpbuf *, uint64_t type, uint8_t value);
 void ofpprop_put_u16(struct ofpbuf *, uint64_t type, uint16_t value);
 void ofpprop_put_u32(struct ofpbuf *, uint64_t type, uint32_t value);
+void ofpprop_put_u64(struct ofpbuf *, uint64_t type, uint64_t value);
 void ofpprop_put_bitmap(struct ofpbuf *, uint64_t type, uint64_t bitmap);
+void ofpprop_put_flag(struct ofpbuf *, uint64_t type);
+void ofpprop_put_uuid(struct ofpbuf *, uint64_t type, const struct uuid *);
+void ofpprop_put_nested(struct ofpbuf *, uint64_t type, const struct ofpbuf *);
 
 size_t ofpprop_start(struct ofpbuf *, uint64_t type);
 void ofpprop_end(struct ofpbuf *, size_t start_ofs);
 
+size_t ofpprop_start_nested(struct ofpbuf *, uint64_t type);
+
 /* Logging errors while deserializing properties.
  *
  * The attitude that a piece of code should take when it deserializes an
@@ -118,6 +133,6 @@ void ofpprop_end(struct ofpbuf *, size_t start_ofs);
 enum ofperr ofpprop_unknown(struct vlog_module *, bool loose, const char *msg,
                             uint64_t type);
 #define OFPPROP_UNKNOWN(LOOSE, MSG, TYPE) \
-    ofpprop_unknown(THIS_MODULE, LOOSE, MSG, TYPE)
+    ofpprop_unknown(&this_module, LOOSE, MSG, TYPE)
 
 #endif /* ofp-prop.h */