From patchwork Tue Mar 22 23:17:47 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ben@skyportsystems.com X-Patchwork-Id: 601078 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from archives.nicira.com (unknown [96.126.127.54]) by ozlabs.org (Postfix) with ESMTP id 3qV89j1bHfz9sBf for ; Wed, 23 Mar 2016 10:32:09 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=skyportsystems.com header.i=@skyportsystems.com header.b=fw5zi23j; dkim-atps=neutral Received: from archives.nicira.com (localhost [127.0.0.1]) by archives.nicira.com (Postfix) with ESMTP id 50CFB105AA; Tue, 22 Mar 2016 16:31:58 -0700 (PDT) X-Original-To: dev@openvswitch.org Delivered-To: dev@openvswitch.org Received: from mx1e4.cudamail.com (mx1.cudamail.com [69.90.118.67]) by archives.nicira.com (Postfix) with ESMTPS id 08A4510598 for ; Tue, 22 Mar 2016 16:31:57 -0700 (PDT) Received: from bar5.cudamail.com (unknown [192.168.21.12]) by mx1e4.cudamail.com (Postfix) with ESMTPS id 8F83D1E03BD for ; Tue, 22 Mar 2016 17:31:56 -0600 (MDT) X-ASG-Debug-ID: 1458688692-09eadd116903f70001-byXFYA Received: from mx1-pf1.cudamail.com ([192.168.24.1]) by bar5.cudamail.com with ESMTP id l8D23lgDxEcHnzGT (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 22 Mar 2016 17:18:12 -0600 (MDT) X-Barracuda-Envelope-From: ben@skyportsystems.com X-Barracuda-RBL-Trusted-Forwarder: 192.168.24.1 Received: from unknown (HELO mail-pf0-f170.google.com) (209.85.192.170) by mx1-pf1.cudamail.com with ESMTPS (RC4-SHA encrypted); 22 Mar 2016 23:18:12 -0000 Received-SPF: pass (mx1-pf1.cudamail.com: SPF record at _netblocks.google.com designates 209.85.192.170 as permitted sender) X-Barracuda-RBL-Trusted-Forwarder: 209.85.192.170 Received: by mail-pf0-f170.google.com with SMTP id n5so329929884pfn.2 for ; Tue, 22 Mar 2016 16:18:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skyportsystems.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=Z9BY0GuHgBP4ia5dcS8UvpX//HPjfGOQSz6mhfl6Ja8=; b=fw5zi23jg22BH9gGENgvcNeXYD0Q+H1c+gN2m/g1/H32cFPJQtVjgIi7t6uqi8fXlJ UmCs6gkYmWmIWqMMwXByfQ7vywsS11U/DeVjBT82RjZRTytyN20kTmGxDm573ZItSasI hoF4zynF+YFK7zJlhRPVsvx4VsmnxzYHZX8Dw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=Z9BY0GuHgBP4ia5dcS8UvpX//HPjfGOQSz6mhfl6Ja8=; b=LNNWSrTMdun5UxmmYdu/D+N1UzX0XBtbPmPAdAJwhc3DKj/ugfKNYLyuJ9x3yRO2bM ITirPOcJ+0IAHJqO8n4Ee+V4InSTBPET8Dam79aoyAOKo+MtTqQBgUhIafUcob3OYffC EaM2CRcXa8k0kg0Lg1XwY1KV8WljytzY67RcZqAE2qyQZCovI5TgyDJTOTHumkCkCryx Rd+PkOXaGnYLG7gJI9luMKUnLB3e2cfu/YONH7r5JLqYtyoO3iKr5wpvsQLHttGwV42b +cZ8NMjSTx4T9xevEPk3r3Agjo+HjzB6FuTGiOKJHyRrnIRRHbQodmFQNQaZCEyw8qEa 0qbg== X-Gm-Message-State: AD7BkJKAIq3QBJHl0hPGiz/58XEc9xi5D4gcCrJQvHJruF+2qQm3hU9rYCg7jRI+r04OinKI X-Received: by 10.98.13.88 with SMTP id v85mr57518487pfi.150.1458688691739; Tue, 22 Mar 2016 16:18:11 -0700 (PDT) Received: from Arrow.corp.skyportsystems.com (67-207-112-138.static.wiline.com. [67.207.112.138]) by smtp.gmail.com with ESMTPSA id 9sm50729385pft.44.2016.03.22.16.18.11 (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 22 Mar 2016 16:18:11 -0700 (PDT) X-CudaMail-Envelope-Sender: ben@skyportsystems.com X-Barracuda-Apparent-Source-IP: 67.207.112.138 From: ben@skyportsystems.com To: dev@openvswitch.org X-CudaMail-MID: CM-E1-321097889 X-CudaMail-DTE: 032216 X-CudaMail-Originating-IP: 209.85.192.170 Date: Tue, 22 Mar 2016 16:17:47 -0700 X-ASG-Orig-Subj: [##CM-E1-321097889##][PATCH v4 16/22] Move lib/type-props.h to include/openvswitch directory Message-Id: X-Mailer: git-send-email 2.5.4 (Apple Git-61) In-Reply-To: References: In-Reply-To: References: X-Barracuda-Connect: UNKNOWN[192.168.24.1] X-Barracuda-Start-Time: 1458688692 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://web.cudamail.com:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at cudamail.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.60 X-Barracuda-Spam-Status: No, SCORE=0.60 using per-user scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=4.0 tests=BSF_SC5_MJ1963, DKIM_SIGNED, NO_REAL_NAME, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.28069 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 Cc: Ben Warren Subject: [ovs-dev] [PATCH v4 16/22] Move lib/type-props.h to include/openvswitch directory X-BeenThere: dev@openvswitch.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dev-bounces@openvswitch.org Sender: "dev" From: Ben Warren Signed-off-by: Ben Warren --- include/openvswitch/automake.mk | 1 + include/openvswitch/type-props.h | 55 ++++++++++++++++++++++++++++++++++++++++ lib/automake.mk | 1 - lib/classifier.h | 2 +- lib/fatal-signal.c | 2 +- lib/ofp-print.c | 2 +- lib/ofp-util.c | 2 +- lib/ofp-util.h | 2 +- lib/signals.c | 2 +- lib/signals.h | 2 +- lib/timeval.h | 2 +- lib/type-props.h | 55 ---------------------------------------- lib/unaligned.h | 2 +- tests/test-type-props.c | 2 +- 14 files changed, 66 insertions(+), 66 deletions(-) create mode 100644 include/openvswitch/type-props.h delete mode 100644 lib/type-props.h diff --git a/include/openvswitch/automake.mk b/include/openvswitch/automake.mk index a2bc749..17beb2d 100644 --- a/include/openvswitch/automake.mk +++ b/include/openvswitch/automake.mk @@ -14,6 +14,7 @@ openvswitchinclude_HEADERS = \ include/openvswitch/thread.h \ include/openvswitch/token-bucket.h \ include/openvswitch/tun-metadata.h \ + include/openvswitch/type-props.h \ include/openvswitch/types.h \ include/openvswitch/util.h \ include/openvswitch/uuid.h \ diff --git a/include/openvswitch/type-props.h b/include/openvswitch/type-props.h new file mode 100644 index 0000000..e5f4fdc --- /dev/null +++ b/include/openvswitch/type-props.h @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2008, 2011, 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. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TYPE_PROPS_H +#define TYPE_PROPS_H 1 + +#include + +/* True if TYPE is _Bool, false otherwise. */ +#define TYPE_IS_BOOL(TYPE) ((TYPE) 1 == (TYPE) 2) + +/* True if TYPE is an integer type (including _Bool), false if it is a + * floating-point type. */ +#define TYPE_IS_INTEGER(TYPE) ((TYPE) 1.5 == (TYPE) 1) + +/* True if TYPE is a signed integer or floating point type, otherwise false. */ +#define TYPE_IS_SIGNED(TYPE) ((TYPE) 1 > (TYPE) -1) + +/* The number of value bits in an signed or unsigned integer TYPE: + * + * - _Bool has 1 value bit. + * + * - An N-bit unsigned integer type has N value bits. + * + * - An N-bit signed integer type has N-1 value bits. + */ +#define TYPE_VALUE_BITS(TYPE) \ + (TYPE_IS_BOOL(TYPE) ? 1 : sizeof(TYPE) * CHAR_BIT - TYPE_IS_SIGNED(TYPE)) + +/* The minimum or maximum value of a signed or unsigned integer TYPE. */ +#define TYPE_MINIMUM(TYPE) (TYPE_IS_SIGNED(TYPE) ? -TYPE_MAXIMUM(TYPE) - 1 : 0) +#define TYPE_MAXIMUM(TYPE) \ + ((((TYPE)1 << (TYPE_VALUE_BITS(TYPE) - 1)) - 1) * 2 + 1) + +/* Number of decimal digits required to format an integer of the given TYPE. + * Includes space for a sign, if TYPE is signed, but not for a null + * terminator. + * + * The value is an overestimate. */ +#define INT_STRLEN(TYPE) (TYPE_IS_SIGNED(TYPE) + TYPE_VALUE_BITS(TYPE) / 3 + 1) + +#endif /* type-props.h */ diff --git a/lib/automake.mk b/lib/automake.mk index 015fc86..cd6043c 100644 --- a/lib/automake.mk +++ b/lib/automake.mk @@ -257,7 +257,6 @@ lib_libopenvswitch_la_SOURCES = \ lib/token-bucket.c \ lib/tun-metadata.c \ lib/tun-metadata.h \ - lib/type-props.h \ lib/unaligned.h \ lib/unicode.c \ lib/unicode.h \ diff --git a/lib/classifier.h b/lib/classifier.h index d93b82d..57a9593 100644 --- a/lib/classifier.h +++ b/lib/classifier.h @@ -303,7 +303,7 @@ #include "openvswitch/meta-flow.h" #include "pvector.h" #include "rculist.h" -#include "type-props.h" +#include "openvswitch/type-props.h" #ifdef __cplusplus extern "C" { diff --git a/lib/fatal-signal.c b/lib/fatal-signal.c index 62acea0..021c869 100644 --- a/lib/fatal-signal.c +++ b/lib/fatal-signal.c @@ -32,7 +32,7 @@ #include "util.h" #include "openvswitch/vlog.h" -#include "type-props.h" +#include "openvswitch/type-props.h" #ifndef SIG_ATOMIC_MAX #define SIG_ATOMIC_MAX TYPE_MAXIMUM(sig_atomic_t) diff --git a/lib/ofp-print.c b/lib/ofp-print.c index 9cf6cda..c38c4f4 100644 --- a/lib/ofp-print.c +++ b/lib/ofp-print.c @@ -46,7 +46,7 @@ #include "openvswitch/ofp-errors.h" #include "packets.h" #include "dp-packet.h" -#include "type-props.h" +#include "openvswitch/type-props.h" #include "unaligned.h" #include "odp-util.h" #include "util.h" diff --git a/lib/ofp-util.c b/lib/ofp-util.c index 314c8c1..455ebe3 100644 --- a/lib/ofp-util.c +++ b/lib/ofp-util.c @@ -44,7 +44,7 @@ #include "random.h" #include "tun-metadata.h" #include "unaligned.h" -#include "type-props.h" +#include "openvswitch/type-props.h" #include "openvswitch/ofp-errors.h" #include "openvswitch/vlog.h" #include "bitmap.h" diff --git a/lib/ofp-util.h b/lib/ofp-util.h index ca36dc4..2a849ec 100644 --- a/lib/ofp-util.h +++ b/lib/ofp-util.h @@ -30,7 +30,7 @@ #include "openflow/netronome-ext.h" #include "openflow/nicira-ext.h" #include "openvswitch/types.h" -#include "type-props.h" +#include "openvswitch/type-props.h" #include "uuid.h" struct ofpbuf; diff --git a/lib/signals.c b/lib/signals.c index 3af6187..36c640b 100644 --- a/lib/signals.c +++ b/lib/signals.c @@ -23,7 +23,7 @@ #include #include "poll-loop.h" #include "socket-util.h" -#include "type-props.h" +#include "openvswitch/type-props.h" #include "util.h" #include "openvswitch/vlog.h" diff --git a/lib/signals.h b/lib/signals.h index 7017ae8..436f934 100644 --- a/lib/signals.h +++ b/lib/signals.h @@ -19,7 +19,7 @@ #include #include -#include "type-props.h" +#include "openvswitch/type-props.h" enum { SIGNAL_NAME_BUFSIZE = 7 + INT_STRLEN(int) + 1 }; const char *signal_name(int signum, char *namebuf, size_t bufsize); diff --git a/lib/timeval.h b/lib/timeval.h index 96b5d08..7957dad 100644 --- a/lib/timeval.h +++ b/lib/timeval.h @@ -18,7 +18,7 @@ #define TIMEVAL_H 1 #include -#include "type-props.h" +#include "openvswitch/type-props.h" #include "util.h" #ifdef __cplusplus diff --git a/lib/type-props.h b/lib/type-props.h deleted file mode 100644 index e5f4fdc..0000000 --- a/lib/type-props.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2008, 2011, 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. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef TYPE_PROPS_H -#define TYPE_PROPS_H 1 - -#include - -/* True if TYPE is _Bool, false otherwise. */ -#define TYPE_IS_BOOL(TYPE) ((TYPE) 1 == (TYPE) 2) - -/* True if TYPE is an integer type (including _Bool), false if it is a - * floating-point type. */ -#define TYPE_IS_INTEGER(TYPE) ((TYPE) 1.5 == (TYPE) 1) - -/* True if TYPE is a signed integer or floating point type, otherwise false. */ -#define TYPE_IS_SIGNED(TYPE) ((TYPE) 1 > (TYPE) -1) - -/* The number of value bits in an signed or unsigned integer TYPE: - * - * - _Bool has 1 value bit. - * - * - An N-bit unsigned integer type has N value bits. - * - * - An N-bit signed integer type has N-1 value bits. - */ -#define TYPE_VALUE_BITS(TYPE) \ - (TYPE_IS_BOOL(TYPE) ? 1 : sizeof(TYPE) * CHAR_BIT - TYPE_IS_SIGNED(TYPE)) - -/* The minimum or maximum value of a signed or unsigned integer TYPE. */ -#define TYPE_MINIMUM(TYPE) (TYPE_IS_SIGNED(TYPE) ? -TYPE_MAXIMUM(TYPE) - 1 : 0) -#define TYPE_MAXIMUM(TYPE) \ - ((((TYPE)1 << (TYPE_VALUE_BITS(TYPE) - 1)) - 1) * 2 + 1) - -/* Number of decimal digits required to format an integer of the given TYPE. - * Includes space for a sign, if TYPE is signed, but not for a null - * terminator. - * - * The value is an overestimate. */ -#define INT_STRLEN(TYPE) (TYPE_IS_SIGNED(TYPE) + TYPE_VALUE_BITS(TYPE) / 3 + 1) - -#endif /* type-props.h */ diff --git a/lib/unaligned.h b/lib/unaligned.h index d56f22b..130f337 100644 --- a/lib/unaligned.h +++ b/lib/unaligned.h @@ -20,7 +20,7 @@ #include #include "byte-order.h" #include "openvswitch/types.h" -#include "type-props.h" +#include "openvswitch/type-props.h" #include "util.h" /* Public API. */ diff --git a/tests/test-type-props.c b/tests/test-type-props.c index 3c351eb..092c53e 100644 --- a/tests/test-type-props.c +++ b/tests/test-type-props.c @@ -15,7 +15,7 @@ */ #include -#include "type-props.h" +#include "openvswitch/type-props.h" #include #include #include