PARAM(3)

PARAM(3) | Library Functions Manual | PARAM(3)

# NAME

`param` — common parameters

# SYNOPSIS

`#include <sys/param.h>`

size
`MAX`(size a, size b);

size
`MIN`(size a, size b);

# DESCRIPTION

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.

# SEE ALSO

bitops(3), cdefs(3), types(3), unistd(3)

# HISTORY

A `<param.h>` header appeared already in the Version 4 AT&T UNIX.

April 10, 2011 | NetBSD 11.0