/*
- * Copyright (c) 2010, 2011, 2012 Nicira, Inc.
+ * Copyright (c) 2010, 2011, 2012, 2013, 2014, 2015 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
+#include "compiler.h"
+#include "openvswitch/types.h"
+#include "packets.h"
struct flow;
struct ofpbuf;
struct ofputil_flow_mod;
struct ofputil_flow_monitor_request;
struct ofputil_flow_stats_request;
+struct ofputil_group_mod;
+struct ofputil_meter_mod;
+struct ofputil_table_mod;
+struct ofputil_geneve_table_mod;
+struct simap;
+enum ofputil_protocol;
-void parse_ofp_str(struct ofputil_flow_mod *, int command, const char *str_,
- bool verbose);
+char *parse_ofp_str(struct ofputil_flow_mod *, int command, const char *str_,
+ enum ofputil_protocol *usable_protocols)
+ OVS_WARN_UNUSED_RESULT;
-void parse_ofp_flow_mod_str(struct ofputil_flow_mod *, const char *string,
- uint16_t command, bool verbose);
-void parse_ofp_flow_mod_file(const char *file_name, uint16_t command,
- struct ofputil_flow_mod **fms, size_t *n_fms);
+char *parse_ofp_flow_mod_str(struct ofputil_flow_mod *, const char *string,
+ int command,
+ enum ofputil_protocol *usable_protocols)
+ OVS_WARN_UNUSED_RESULT;
-void parse_ofp_flow_stats_request_str(struct ofputil_flow_stats_request *,
- bool aggregate, const char *string);
+char *parse_ofp_table_mod(struct ofputil_table_mod *,
+ const char *table_id, const char *flow_miss_handling,
+ uint32_t *usable_versions)
+ OVS_WARN_UNUSED_RESULT;
+char *parse_ofp_flow_mod_file(const char *file_name, int command,
+ struct ofputil_flow_mod **fms, size_t *n_fms,
+ enum ofputil_protocol *usable_protocols)
+ OVS_WARN_UNUSED_RESULT;
-void parse_ofpacts(const char *, struct ofpbuf *ofpacts);
+char *parse_ofp_flow_stats_request_str(struct ofputil_flow_stats_request *,
+ bool aggregate, const char *string,
+ enum ofputil_protocol *usable_protocols)
+ OVS_WARN_UNUSED_RESULT;
-char *parse_ofp_exact_flow(struct flow *, const char *);
+char *parse_ofp_exact_flow(struct flow *flow, struct flow *mask, const char *s,
+ const struct simap *portno_names);
-void parse_flow_monitor_request(struct ofputil_flow_monitor_request *,
- const char *);
+char *parse_ofp_meter_mod_str(struct ofputil_meter_mod *, const char *string,
+ int command,
+ enum ofputil_protocol *usable_protocols)
+ OVS_WARN_UNUSED_RESULT;
+
+char *parse_flow_monitor_request(struct ofputil_flow_monitor_request *,
+ const char *,
+ enum ofputil_protocol *usable_protocols)
+ OVS_WARN_UNUSED_RESULT;
+
+char *parse_ofp_group_mod_file(const char *file_name, uint16_t command,
+ struct ofputil_group_mod **gms, size_t *n_gms,
+ enum ofputil_protocol *usable_protocols)
+ OVS_WARN_UNUSED_RESULT;
+
+char *parse_ofp_group_mod_str(struct ofputil_group_mod *, uint16_t command,
+ const char *string,
+ enum ofputil_protocol *usable_protocols)
+ OVS_WARN_UNUSED_RESULT;
+
+char *parse_ofp_geneve_table_mod_str(struct ofputil_geneve_table_mod *,
+ uint16_t command, const char *string,
+ enum ofputil_protocol *usable_protocols)
+ OVS_WARN_UNUSED_RESULT;
+
+char *str_to_u8(const char *str, const char *name, uint8_t *valuep)
+ OVS_WARN_UNUSED_RESULT;
+char *str_to_u16(const char *str, const char *name, uint16_t *valuep)
+ OVS_WARN_UNUSED_RESULT;
+char *str_to_u32(const char *str, uint32_t *valuep) OVS_WARN_UNUSED_RESULT;
+char *str_to_u64(const char *str, uint64_t *valuep) OVS_WARN_UNUSED_RESULT;
+char *str_to_be64(const char *str, ovs_be64 *valuep) OVS_WARN_UNUSED_RESULT;
+char *str_to_mac(const char *str, struct eth_addr *mac) OVS_WARN_UNUSED_RESULT;
+char *str_to_ip(const char *str, ovs_be32 *ip) OVS_WARN_UNUSED_RESULT;
+char *str_to_connhelper(const char *str, uint16_t *alg) OVS_WARN_UNUSED_RESULT;
#endif /* ofp-parse.h */