Manual browser: param(3)

PARAM(3) Library Functions Manual PARAM(3)


paramcommon parameters


#include <sys/param.h>

MAX(size a, size b);

MIN(size a, size b);


The <sys/param.h> header includes some common definitions and macros specific to NetBSD. The header is perhaps best characterized as a kernel equivalent of <sys/types.h>. The following list summarizes the provided definitions and macros.
  • First and foremost, the header defines the version of NetBSD. This is defined as

    #define __NetBSD_Version__    599004800   /* 5.99.48 */

    The general format is “MMmmrrpp00”, where ‘MM’ and ‘mm’ denote the major and minor version, respectively, ‘rr’ is provided for compatibility, and ‘pp’ defines the patch level.

  • Common utility macros such as MAX() and MIN() as well as more specific macros such as STACK(9), ctod(9), mstohz(9), roundup(9), and setbit(9).
  • Numerous miscellaneous definitions such as limits, constants for the kernel memoryallocators(9), scale factors used by the scheduler, kthread(9) priorities, and many others.
  • Definitions provided for historical and compatibility reasons. Examples range from definitions such as “#define BSD” to old priority levels used in the kernel.


A <param.h> header appeared already in the Version 4 AT&T UNIX.
April 10, 2011 NetBSD 7.0