diff options
author | Ben Pfaff <blp@nicira.com> | 2010-10-21 11:31:43 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2010-10-29 09:48:47 -0700 |
commit | fba473391b92b6f2ce33a0acd68920941cb47b03 (patch) | |
tree | 771f93528189876f9d50f1fa966e89c2ffe4437b /include/openvswitch/types.h | |
parent | d98e60075528c3065ad453f7add4b30f22edcde3 (diff) | |
download | openvswitch-fba473391b92b6f2ce33a0acd68920941cb47b03.tar.gz |
Make the ovs_be<N> types generally available.
Using these types for data in network byte order makes code clearer, and
allows the "sparse" checker to give warnings for misuse.
Diffstat (limited to 'include/openvswitch/types.h')
-rw-r--r-- | include/openvswitch/types.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/include/openvswitch/types.h b/include/openvswitch/types.h new file mode 100644 index 000000000..2f670c042 --- /dev/null +++ b/include/openvswitch/types.h @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2010 Nicira Networks. + * + * 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 OPENVSWITCH_TYPES_H +#define OPENVSWITCH_TYPES_H 1 + +#include <stdint.h> + +#ifdef __CHECKER__ +#define OVS_BITWISE __attribute__((bitwise)) +#else +#define OVS_BITWISE +#endif + +/* The ovs_be<N> types indicate that an object is in big-endian, not + * native-endian, byte order. They are otherwise equivalent to uint<N>_t. + * + * The OVS_BITWISE annotation allows the sparse checker to issue warnings + * for incorrect use of values in network byte order. */ +typedef uint16_t OVS_BITWISE ovs_be16; +typedef uint32_t OVS_BITWISE ovs_be32; +typedef uint64_t OVS_BITWISE ovs_be64; + +#endif /* openvswitch/types.h */ |