[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v3 03/17] lib/nolibc: add sys/param.h header
From: Costin Lupu <costin.lupu@xxxxxxxxx> In order to use 'howmany' macro from other files which do not need select, we introduce sys/param.h header where 'howmany' is usually defined. Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx> Reviewed-by: Yuri Volchkov <yuri.volchkov@xxxxxxxxx> --- lib/nolibc/include/sys/param.h | 52 +++++++++++++++++++++++++++++++++ lib/nolibc/include/sys/select.h | 7 ++--- 2 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 lib/nolibc/include/sys/param.h diff --git a/lib/nolibc/include/sys/param.h b/lib/nolibc/include/sys/param.h new file mode 100644 index 0000000..6387569 --- /dev/null +++ b/lib/nolibc/include/sys/param.h @@ -0,0 +1,52 @@ +/* SPDX-License-Identifier: BSD-3-Clause */ +/* + * Authors: Costin Lupu <costin.lupu@xxxxxxxxx> + * + * + * Copyright (c) 2018, NEC Europe Ltd., NEC Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY. + */ + + +#ifndef __SYS_PARAM_H__ +#define __SYS_PARAM_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef howmany +#define howmany(x, y) (((x)+((y)-1))/(y)) +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __SYS_PARAM_H__ */ diff --git a/lib/nolibc/include/sys/select.h b/lib/nolibc/include/sys/select.h index ecdc49a..f7949ee 100644 --- a/lib/nolibc/include/sys/select.h +++ b/lib/nolibc/include/sys/select.h @@ -32,6 +32,7 @@ #ifndef __SYS_SELECT_H__ #define __SYS_SELECT_H__ +#include <sys/param.h> #ifdef __cplusplus extern "C" { #endif @@ -55,12 +56,8 @@ typedef unsigned long __fd_mask; #define _NFDBITS (sizeof(__fd_mask) * 8) /* bits per mask */ -#ifndef _howmany -#define _howmany(x, y) (((x) + ((y) - 1)) / (y)) -#endif - typedef struct fd_set { - __fd_mask __fds_bits[_howmany(FD_SETSIZE, _NFDBITS)]; + __fd_mask __fds_bits[howmany(FD_SETSIZE, _NFDBITS)]; } fd_set; #ifdef __cplusplus -- 2.18.0 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |