+static void
+check(int a, int b, const char *as, const char *file, int line)
+{
+ if (a != b) {
+ ovs_fatal(0, "%s:%d: %s is %d but should be %d", file, line, as, a, b);
+ }
+}
+
+
+#define CHECK(A, B) check(A, B, #A, __FILE__, __LINE__)
+
+static void
+check_errno(int a, int b, const char *as, const char *file, int line)
+{
+ if (a != b) {
+ ovs_fatal(0, "%s:%d: %s is %d (%s) but should be %d (%s)",
+ file, line, as, a, strerror(abs(a)), b, strerror(abs(b)));
+ }
+}
+
+#define CHECK_ERRNO(A, B) check_errno(A, B, #A, __FILE__, __LINE__)
+