X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Futil.h;h=b2052f364e0f84f8b7405e396e79c463c20202f2;hb=c2f1d07b0e3af22a093ad5776a8b08999dfbed86;hp=1649c59c2777937f5e74539832ad403ae5ae6162;hpb=55d5bb44cbca6993494b05a374d4f09ec03c9102;p=sliver-openvswitch.git diff --git a/lib/util.h b/lib/util.h index 1649c59c2..b2052f364 100644 --- a/lib/util.h +++ b/lib/util.h @@ -53,6 +53,14 @@ #define BUILD_ASSERT_DECL BOOST_STATIC_ASSERT #endif /* __cplusplus */ +#ifdef __GNUC__ +#define BUILD_ASSERT_GCCONLY(EXPR) BUILD_ASSERT(EXPR) +#define BUILD_ASSERT_DECL_GCCONLY(EXPR) BUILD_ASSERT_DECL(EXPR) +#else +#define BUILD_ASSERT_GCCONLY(EXPR) ((void) 0) +#define BUILD_ASSERT_DECL_GCCONLY(EXPR) ((void) 0) +#endif + extern const char *program_name; /* Returns the number of elements in ARRAY. */ @@ -194,7 +202,12 @@ char *base_name(const char *file_name); char *abs_file_name(const char *dir, const char *file_name); void ignore(bool x OVS_UNUSED); -int log_2_floor(uint32_t n); +int log_2_floor(uint32_t); +int log_2_ceil(uint32_t); +int ctz(uint32_t); + +bool is_all_zeros(const uint8_t *, size_t); +bool is_all_ones(const uint8_t *, size_t); #ifdef __cplusplus }