84d9c625bf
- Fix for possible unset uid/gid in toproto - Fix for default mtree style - Update libelf - Importing libexecinfo - Resynchronize GCC, mpc, gmp, mpfr - build.sh: Replace params with show-params. This has been done as the make target has been renamed in the same way, while a new target named params has been added. This new target generates a file containing all the parameters, instead of printing it on the console. - Update test48 with new etc/services (Fix by Ben Gras <ben@minix3.org) get getservbyport() out of the inner loop Change-Id: Ie6ad5226fa2621ff9f0dee8782ea48f9443d2091
58 lines
2 KiB
C
58 lines
2 KiB
C
/* $NetBSD: util.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */
|
|
/*-
|
|
* Copyright (c) 1994
|
|
* The Regents of the University of California. All rights reserved.
|
|
* Copyright (c) 1994, 1995, 1996
|
|
* Keith Bostic. All rights reserved.
|
|
*
|
|
* See the LICENSE file for redistribution information.
|
|
*
|
|
* Id: util.h,v 10.5 1996/03/16 14:42:47 bostic Exp (Berkeley) Date: 1996/03/16 14:42:47
|
|
*/
|
|
|
|
/* Macros to init/set/clear/test flags. */
|
|
#define FL_INIT(l, f) (l) = (f) /* Specific flags location. */
|
|
#define FL_SET(l, f) ((l) |= (f))
|
|
#define FL_CLR(l, f) ((l) &= ~(f))
|
|
#define FL_ISSET(l, f) ((l) & (f))
|
|
|
|
#define LF_INIT(f) FL_INIT(flags, f) /* Local variable flags. */
|
|
#define LF_SET(f) FL_SET(flags, f)
|
|
#define LF_CLR(f) FL_CLR(flags, f)
|
|
#define LF_ISSET(f) FL_ISSET(flags, f)
|
|
|
|
#define F_INIT(p, f) FL_INIT((p)->flags, f) /* Structure element flags. */
|
|
#define F_SET(p, f) FL_SET((p)->flags, f)
|
|
#define F_CLR(p, f) FL_CLR((p)->flags, f)
|
|
#define F_ISSET(p, f) FL_ISSET((p)->flags, f)
|
|
|
|
/* Offset to next column of stop size, e.g. tab offsets. */
|
|
#define COL_OFF(c, stop) ((stop) - ((c) % (stop)))
|
|
|
|
/* Busy message types. */
|
|
typedef enum { B_NONE, B_OFF, B_READ, B_RECOVER, B_SEARCH, B_WRITE } bmsg_t;
|
|
|
|
/*
|
|
* Number handling defines and protoypes.
|
|
*
|
|
* NNFITS: test for addition of two negative numbers under a limit
|
|
* NPFITS: test for addition of two positive numbers under a limit
|
|
* NADD_SLONG: test for addition of two signed longs
|
|
* NADD_USLONG: test for addition of two unsigned longs
|
|
*/
|
|
enum nresult { NUM_ERR, NUM_OK, NUM_OVER, NUM_UNDER };
|
|
#define NNFITS(min, cur, add) \
|
|
(((long)(min)) - (cur) <= (add))
|
|
#define NPFITS(max, cur, add) \
|
|
(((unsigned long)(max)) - (cur) >= (add))
|
|
#define NADD_SLONG(sp, v1, v2) \
|
|
((v1) < 0 ? \
|
|
((v2) < 0 && \
|
|
NNFITS(LONG_MIN, (v1), (v2))) ? NUM_UNDER : NUM_OK : \
|
|
(v1) > 0 ? \
|
|
(v2) > 0 && \
|
|
NPFITS(LONG_MAX, (unsigned long)(v1), (unsigned long)(v2)) ? \
|
|
NUM_OK : NUM_OVER : \
|
|
NUM_OK)
|
|
#define NADD_USLONG(sp, v1, v2) \
|
|
(NPFITS(ULONG_MAX, (v1), (v2)) ? NUM_OK : NUM_OVER)
|