\" $NetBSD: stdint.3,v 1.6 2011/08/09 18:11:37 jruoho Exp $
\"
\" Copyright (c) 2002 Mike Barcroft <[email protected]>
\" 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.
\"
\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
\"
\" $FreeBSD: src/share/man/man7/stdint.7,v 1.5 2003/09/08 19:57:21 ru Exp $
\"
Dd August 9, 2011
Dt STDINT 3
Os
Sh NAME
Nm stdint
Nd standard integer types
Sh SYNOPSIS
In stdint.h
Sh DESCRIPTION
The
In stdint.h
header provides source-portable integer types of a specific
size, smallest memory footprint with a minimum size, fastest
access speed with a minimum size, largest integer size, and
those capable of storing pointers.
Pp
The types
Vt int8_t ,
Vt int16_t ,
Vt int32_t ,
and
Vt int64_t
provide a signed integer type of width 8, 16, 32, or 64 bits, respectively.
The types
Vt uint8_t ,
Vt uint16_t ,
Vt uint32_t ,
and
Vt uint64_t
provide an unsigned integer type of width 8, 16, 32, or 64 bits, respectively.
These integer types should be used when a specific size is required.
Pp
The types
Vt int_fast8_t ,
Vt int_fast16_t ,
Vt int_fast32_t ,
and
Vt int_fast64_t
provide the fastest signed integer type with a width
of at least 8, 16, 32, or 64 bits, respectively.
The types
Vt uint_fast8_t ,
Vt uint_fast16_t ,
Vt uint_fast32_t ,
and
Vt uint_fast64_t
provide the fastest unsigned integer type with a width
of at least 8, 16, 32, or 64 bits, respectively.
These types should be used when access speed is
paramount, and when a specific size is not required.
Pp
The types
Vt int_least8_t ,
Vt int_least16_t ,
Vt int_least32_t ,
and
Vt int_least64_t
provide the smallest memory footprint signed integer type with
a width of at least 8, 16, 32, or 64 bits, respectively.
The types
Vt uint_least8_t ,
Vt uint_least16_t ,
Vt uint_least32_t ,
and
Vt uint_least64_t
provide the smallest memory footprint unsigned integer type with
a width of at least 8, 16, 32, or 64 bits, respectively.
These types should be used when memory storage is of
concern, and when a specific size is not required.
Pp
The type
Vt intmax_t
provides a signed integer type large
enough to hold any other signed integer.
The type
Vt uintmax_t
provides an unsigned integer type large
enough to hold any other unsigned integer.
These types are generally the largest signed and unsigned
integer types available on a specific architecture.
Pp
The type
Vt intptr_t
provides a signed integer type with the ability to hold a pointer to
Vt void ,
that can later be converted back to a pointer to
Vt void .
Pp
The type
Vt uintptr_t
provides an unsigned integer type with the ability to hold a pointer to
Vt void ,
that can later be converted back to a pointer to
Vt void .
Sh SEE ALSO
Xr inttypes 3 ,
Xr limits 3 ,
Xr stdbool 3 ,
Xr unistd 3
Sh STANDARDS
The
In stdint.h
header conforms to
St -isoC-99
and
St -p1003.1-2001 .
Sh HISTORY
The
In stdint.h
header was first introduced in
Nx 1.6 .