109 lines
3.0 KiB
Groff
109 lines
3.0 KiB
Groff
.\" $NetBSD: cdefs.3,v 1.3 2011/04/08 07:55:04 jruoho Exp $
|
|
.\"
|
|
.\" Copyright (c) 2010 The NetBSD Foundation, Inc.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" This code is derived from software contributed to The NetBSD Foundation
|
|
.\" by Jukka Ruohonen.
|
|
.\"
|
|
.\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
|
|
.\"
|
|
.Dd April 8, 2011
|
|
.Dt CDEFS 3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm cdefs
|
|
.Nd common definitions and macros
|
|
.Sh SYNOPSIS
|
|
.In sys/cdefs.h
|
|
.Sh DESCRIPTION
|
|
The
|
|
.In sys/cdefs.h
|
|
header includes some common definitions and macros
|
|
typical to the C language conventions of
|
|
.Nx .
|
|
Among these are:
|
|
.Bl -bullet -offset indent
|
|
.It
|
|
Certain C language properties and definitions that
|
|
are versioned according to the support in compilers.
|
|
Examples include the
|
|
.Em __func__
|
|
keyword and the
|
|
.Em restrict
|
|
type qualifier from
|
|
.Tn C99 .
|
|
.It
|
|
Macros and definitions specific to compilers, preprocessors, and linkers; see
|
|
.Xr __CONCAT 3 ,
|
|
.Xr __UNCONST 3 ,
|
|
.Xr __insn_barrier 3 ,
|
|
and
|
|
.Xr attribute 3 .
|
|
.It
|
|
Utility macros provided for convenience; see
|
|
.Xr __arraycount 3
|
|
and
|
|
.Xr bits 3 .
|
|
.El
|
|
.Pp
|
|
The header also contains the
|
|
.Fn __RCSID
|
|
and
|
|
.Fn __KERNEL_RCSID
|
|
macros used for version control system
|
|
.Pq Tn VCS
|
|
identifiers.
|
|
Thus, all
|
|
.Nx
|
|
source code files typically include
|
|
.In sys/cdefs.h ,
|
|
included as the first thing right after any possible copyright texts;
|
|
.Bd -literal -offset indent
|
|
/*-
|
|
* Copyright (c) 1984 John Doe
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms,
|
|
* with or without modification, are permitted.
|
|
*/
|
|
|
|
#include <sys/cdefs.h>
|
|
__RCSID("$NetBSD: cdefs.3,v 1.3 2011/04/08 07:55:04 jruoho Exp $");
|
|
.Ed
|
|
.Pp
|
|
It is possible to identify the
|
|
.Tn RCS
|
|
keyword strings by using
|
|
.Xr ident 1 .
|
|
.Sh SEE ALSO
|
|
.Xr ident 1 ,
|
|
.Xr param 3 ,
|
|
.Xr stddef 3 ,
|
|
.Xr types 3 ,
|
|
.Xr c 7
|
|
.Sh HISTORY
|
|
The
|
|
.In sys/cdefs.h
|
|
header was originally imported from
|
|
.Bx 386 .
|