[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 1/6] tools/libxl: Introduce min and max macros
This is the same set used by libxc. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Ian Campbell <Ian.Campbell@xxxxxxxxxx> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> CC: Wei Liu <wei.liu2@xxxxxxxxxx> --- v2: Don't use reserved identifiers in min_t/max_t --- tools/libxl/libxl_internal.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index 934465a..fcbec7f 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -108,6 +108,22 @@ #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) +#define min(X, Y) ({ \ + const typeof (X) _x = (X); \ + const typeof (Y) _y = (Y); \ + (void) (&_x == &_y); \ + (_x < _y) ? _x : _y; }) +#define max(X, Y) ({ \ + const typeof (X) _x = (X); \ + const typeof (Y) _y = (Y); \ + (void) (&_x == &_y); \ + (_x > _y) ? _x : _y; }) + +#define min_t(type, x, y) \ + ({ const type _x = (x); const type _y = (y); _x < _y ? _x: _y; }) +#define max_t(type, x, y) \ + ({ const type _x = (x); const type _y = (y); _x > _y ? _x: _y; }) + #define LIBXL__LOGGING_ENABLED #ifdef LIBXL__LOGGING_ENABLED -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |