Catch up with 5.0-CURRENT-20021105-JPSNAP
This commit is contained in:
parent
286fbe26c7
commit
5a88d61870
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=15240
5 changed files with 14 additions and 374 deletions
|
@ -15,7 +15,6 @@ MAN9 = BUS_PRINT_CHILD.9\
|
|||
MD5.9\
|
||||
MODULE_DEPEND.9\
|
||||
MODULE_VERSION.9\
|
||||
SPLASSERT.9\
|
||||
SYSCALL_MODULE.9\
|
||||
VFS.9\
|
||||
VFS_CHECKEXP.9\
|
||||
|
@ -46,7 +45,6 @@ MAN9 = BUS_PRINT_CHILD.9\
|
|||
VOP_LINK.9\
|
||||
VOP_LOCK.9\
|
||||
VOP_LOOKUP.9\
|
||||
VOP_MMAP.9\
|
||||
VOP_OPENCLOSE.9\
|
||||
VOP_PATHCONF.9\
|
||||
VOP_PRINT.9\
|
||||
|
@ -67,7 +65,6 @@ MAN9 = BUS_PRINT_CHILD.9\
|
|||
bus_alloc_resource.9\
|
||||
bus_generic_attach.9\
|
||||
bus_generic_detach.9\
|
||||
bus_generic_map_intr.9\
|
||||
bus_generic_print_child.9\
|
||||
bus_generic_read_ivar.9\
|
||||
bus_generic_shutdown.9\
|
||||
|
@ -112,7 +109,6 @@ MAN9 = BUS_PRINT_CHILD.9\
|
|||
microtime.9\
|
||||
microuptime.9\
|
||||
module.9\
|
||||
posix4.9\
|
||||
panic.9\
|
||||
physio.9\
|
||||
psignal.9\
|
||||
|
@ -136,6 +132,10 @@ MAN9 = BUS_PRINT_CHILD.9\
|
|||
vslock.9\
|
||||
zone.9
|
||||
|
||||
MLINKS+=BUS_SETUP_INTR.9 bus_setup_intr.9
|
||||
MLINKS+=BUS_SETUP_INTR.9 BUS_TEARDOWN_INTR.9
|
||||
MLINKS+=BUS_SETUP_INTR.9 bus_teardown_intr.9
|
||||
|
||||
MLINKS+=DRIVER_MODULE.9 MULTI_DRIVER_MODULE.9
|
||||
MLINKS+=MD5.9 MD5Init.9 MD5.9 MD5Transform.9
|
||||
MLINKS+=VOP_ATTRIB.9 VOP_GETATTR.9
|
||||
|
@ -164,15 +164,15 @@ MLINKS+=devstat.9 devstat_end_transaction.9
|
|||
MLINKS+=fetch.9 fubyte.9 fetch.9 fuswintr.9 fetch.9 fusword.9 fetch.9 fuword.9
|
||||
#MLINKS+=ifnet.9 if_data.9 ifnet.9 ifaddr.9 ifnet.9 ifqueue.9
|
||||
MLINKS+=kernacc.9 useracc.9
|
||||
MLINKS+=make_dev.9 dev_depends.9
|
||||
MLINKS+=make_dev.9 destroy_dev.9
|
||||
MLINKS+=make_dev.9 make_dev_alias.9
|
||||
MLINKS+=malloc.9 FREE.9 malloc.9 MALLOC.9 malloc.9 free.9
|
||||
#MLINKS+=mi_switch.9 cpu_switch.9
|
||||
MLINKS+=posix4.9 p1003_1b.9
|
||||
MLINKS+=mi_switch.9 cpu_switch.9 mi_switch.9 cpu_throw.9
|
||||
MLINKS+=psignal.9 gsignal.9
|
||||
MLINKS+=psignal.9 pgsignal.9
|
||||
#MLINKS+=rtalloc.9 rtalloc1.9 rtalloc.9 rtalloc_ign.9
|
||||
#MLINKS+=sleep.9 tsleep.9 sleep.9 wakeup.9 sleep.9 wakeup_one.9
|
||||
#MLINKS+=sleep.9 asleep.9 sleep.9 await.9
|
||||
#MLINKS+=buf.9 bp.9
|
||||
MLINKS+=spl.9 spl0.9
|
||||
MLINKS+=spl.9 splbio.9 spl.9 splclock.9 spl.9 splhigh.9 spl.9 splimp.9
|
||||
|
@ -208,6 +208,8 @@ MLINKS+=microuptime.9 getmicrouptime.9
|
|||
MLINKS+=microuptime.9 nanouptime.9
|
||||
MLINKS+=microuptime.9 getnanouptime.9
|
||||
|
||||
MLINKS+=suser.9 suser_cred.9
|
||||
|
||||
MLINKS+=sysctl_add_oid.9 sysctl_remove_oid.9
|
||||
MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_OID.9
|
||||
MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_NODE.9
|
||||
|
@ -239,12 +241,10 @@ MLINKS+=sbuf.9 sbuf_delete.9
|
|||
MLINKS+=sbuf.9 sbuf_trim.9
|
||||
MLINKS+=sbuf.9 sbuf_vprintf.9
|
||||
|
||||
MLINKS+=zone.9 zalloc.9
|
||||
MLINKS+=zone.9 zfree.9
|
||||
MLINKS+=zone.9 zalloci.9
|
||||
MLINKS+=zone.9 zfreei.9
|
||||
MLINKS+=zone.9 zinit.9
|
||||
MLINKS+=zone.9 zinitna.9
|
||||
MLINKS+=zone.9 zbootinit.9
|
||||
MLINKS+=zone.9 uma.9
|
||||
MLINKS+=zone.9 uma_zalloc.9
|
||||
MLINKS+=zone.9 uma_zcreate.9
|
||||
MLINKS+=zone.9 uma_zfree.9
|
||||
MLINKS+=zone.9 uma_zdestroy.9
|
||||
|
||||
.include "bsd.prog.mk"
|
||||
|
|
|
@ -1,89 +0,0 @@
|
|||
.\" -*- nroff -*-
|
||||
.\"
|
||||
.\" Copyright (c) 2000 Jonathan M. Bresler
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This program is free software.
|
||||
.\"
|
||||
.\" 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 DEVELOPERS ``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 DEVELOPERS 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/man9/SPLASSERT.9,v 1.1.2.4 2001/07/21 09:16:54 schweikh Exp %
|
||||
.\"
|
||||
.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/SPLASSERT.9,v 1.3 2001/07/23 02:27:01 horikawa Exp $
|
||||
.\"
|
||||
.\"
|
||||
.Dd January 14, 2000
|
||||
.Os
|
||||
.Dt SPLASSERT 9
|
||||
.Sh 名称
|
||||
.Nm SPLASSERT
|
||||
.Nd カーネル spl レベル検証マクロ
|
||||
.Sh 書式
|
||||
.Cd options INVARIANTS
|
||||
.Cd options INVARIANT_SUPPORT
|
||||
.Fn SPLASSERT "char *level" "char *msg"
|
||||
.Sh 解説
|
||||
"options INVARIANTS" および "options INVARIANT_SUPPORT" の両方の
|
||||
オプション付きでコンパイルされたカーネル内では、
|
||||
.Fn SPLASSERT
|
||||
マクロはカーネルの現在の spl レベルと
|
||||
.Fn SPLASSERT
|
||||
マクロの中で指定された spl レベル
|
||||
.Fa level
|
||||
とを比較します。
|
||||
指定された
|
||||
.Fa level
|
||||
がアクティブでない場合には、
|
||||
.Fn SPLASSERT
|
||||
は
|
||||
.Fa msg
|
||||
を引数として
|
||||
.Fn KASSERT
|
||||
マクロを呼び出し、稼働中のシステムを停止させます。
|
||||
.Pp
|
||||
"options INVARIANTS" および "options INVARIANT_SUPPORT" の両方の
|
||||
オプションが無いカーネル内では、
|
||||
.Fn SPLASSERT
|
||||
マクロは何もしない様に定義されます。
|
||||
.Sh 使用例
|
||||
カーネル関数
|
||||
.Fn rtalloc
|
||||
は
|
||||
.Fn splnet
|
||||
時に呼び出されなければなりません。
|
||||
.Bd -literal -offset indent
|
||||
void
|
||||
rtalloc(ro)
|
||||
register struct route *ro;
|
||||
{
|
||||
SPLASSERT(net, "rtalloc()");
|
||||
rtalloc_ign(ro, 0UL);
|
||||
}
|
||||
.Sh 関連項目
|
||||
.Xr config 8 ,
|
||||
.Xr KASSERT 9 ,
|
||||
.Xr panic 9
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Jonathan M. Bresler
|
||||
.Aq jmb@FreeBSD.org
|
||||
が書きました。
|
|
@ -1,73 +0,0 @@
|
|||
.\" -*- nroff -*-
|
||||
.\"
|
||||
.\" Copyright (c) 1996 Doug Rabson
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This program is free software.
|
||||
.\"
|
||||
.\" 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 DEVELOPERS ``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 DEVELOPERS 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/man9/VOP_MMAP.9,v 1.4 1999/08/28 00:21:14 peter Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 24, 1996
|
||||
.Os
|
||||
.Dt VOP_MMAP 9
|
||||
.Sh 名称
|
||||
.Nm VOP_MMAP
|
||||
.Nd ファイルをメモリにマップする
|
||||
.Sh 書式
|
||||
.Fd #include <sys/param.h>
|
||||
.Fd #include <sys/vnode.h>
|
||||
.Ft int
|
||||
.Fn VOP_MMAP "struct vnode *vp" "int fflags" "struct ucred *cred" "struct proc *p"
|
||||
.Sh 解説
|
||||
VM システムを使用してファイルの内容をメモリにマップします。
|
||||
.Pp
|
||||
引数は以下の通りです。
|
||||
.Bl -tag -width fflags
|
||||
.It Ar vp
|
||||
ファイルの vnode。
|
||||
.It Ar fflags
|
||||
幾つかのフラグ ???
|
||||
.It Ar cred
|
||||
呼び出し側の証明。
|
||||
.It Ar p
|
||||
呼び出したプロセス。
|
||||
.El
|
||||
.Pp
|
||||
ほとんどのファイルシステムは、このエントリポイントを実装していません。
|
||||
.Sh 疑似コード
|
||||
.Bd -literal
|
||||
int
|
||||
vop_mmap(struct vnode *vp, int fflags,
|
||||
struct ucred *cred, struct proc *p)
|
||||
{
|
||||
return EINVAL;
|
||||
}
|
||||
.Ed
|
||||
.Sh 関連項目
|
||||
.Xr vnode 9
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Doug Rabson
|
||||
が書きました。
|
|
@ -1,58 +0,0 @@
|
|||
.\" -*- nroff -*-
|
||||
.\"
|
||||
.\" Copyright (c) 1998 Doug Rabson
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This program is free software.
|
||||
.\"
|
||||
.\" 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 DEVELOPERS ``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 DEVELOPERS 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/man9/bus_generic_map_intr.9,v 1.3.2.3 2001/12/21 10:07:15 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 16, 1998
|
||||
.Dt BUS_GENERIC_MAP_INTR 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm bus_generic_map_intr
|
||||
.Nd バスのための
|
||||
.Dv BUS_MAP_INTR
|
||||
の一般的な実装
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/bus.h
|
||||
.Ft int
|
||||
.Fn bus_generic_map_intr "device_t dev" "device_t child" "driver_intr_t *intr" "void *arg"
|
||||
.Sh 解説
|
||||
この
|
||||
.Xr BUS_MAP_INTR 9
|
||||
の単純な実装は、
|
||||
.Fa dev
|
||||
の親のメソッドを呼び出すだけです。
|
||||
.Sh 戻り値
|
||||
成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。
|
||||
.Sh 関連項目
|
||||
.Xr device 9
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Doug Rabson
|
||||
が書きました。
|
|
@ -1,140 +0,0 @@
|
|||
.\" Copyright (c) 1998 HD Associates, Inc.
|
||||
.\" 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/man9/posix4.9,v 1.5.2.5 2001/08/17 13:08:54 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.Dd March 1, 1998
|
||||
.Dt POSIX.1B 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm posix1b
|
||||
.Nd POSIX P1003-1B 拡張
|
||||
.Sh 解説
|
||||
POSIX.1B はリアルタイム拡張および POSIX.1 に対する幾つかの
|
||||
共通な Berkeley 拡張を追加します。
|
||||
このセクションは、矛盾を避けることおよびインタフェースのバージョンを
|
||||
明示するために要求された能力のためのサポートを追加することについての、
|
||||
予備的な情報を含んでいます。
|
||||
.Sh ステータス
|
||||
1998 年 3 月 28 日: _POSIX_PRIORITY_SCHEDULING は、次のカーネルオプションを
|
||||
コンフィギュレーションに付けることで動作します。
|
||||
.Bd -literal -offset 0i
|
||||
options "P1003_1B"
|
||||
options "_KPOSIX_PRIORITY_SCHEDULING"
|
||||
.Ed
|
||||
.Sh バージョンの明示
|
||||
POSIX.1B のバージョンおよびプログラミングインタフェースを
|
||||
設定する、3 つの目録定数があります。
|
||||
.Bd -literal -offset 0i
|
||||
_POSIX_VERSION
|
||||
.Ed
|
||||
はそのシステムがどのシステムのためにビルドされたかを明示します。
|
||||
デフォルトは POSIX.1 および 199009L です。
|
||||
POSIX.1B は 199309L です。
|
||||
これはオペレーティングシステムの基本の特徴を定義します。
|
||||
.Bd -literal -offset 0i
|
||||
_POSIX_SOURCE
|
||||
.Ed
|
||||
は、名前空間において POSIX および ANSI の機能のみ発生することを明示するために
|
||||
定義することが可能な、POSIX.1 からのマクロです。
|
||||
.Bd -literal -offset 0i
|
||||
_POSIX_C_SOURCE
|
||||
.Ed
|
||||
は、名前空間において明示された POSIX バージョン以降の POSIX および ANSI の
|
||||
機能のみ発生することを明示するために定義することが可能な、POSIX.1B からの
|
||||
マクロです。
|
||||
例えば、_POSIX_VERSION が 199309L (POSIX.1B) だが _POSIX_C_SOURCE が
|
||||
199009L (POSIX.1) である場合には、POSIX.1 の機能のみが出現するべきです。
|
||||
.Sh 適切な拡張の隠蔽
|
||||
以下のテストマクロが <sys/_posix.h> でセットアップされます。
|
||||
これらをシステムヘッダファイルで使用することで、
|
||||
<sys/_posix.h> でみられる種類のテストを避けられます。
|
||||
ソースプログラムはこれらの
|
||||
.Fx
|
||||
特有の実装の詳細を使用するべきではありません。
|
||||
_POSIX_VERSION, _POSIX_SOURCE
|
||||
および _POSIX_C_SOURCE をテストするべきです。
|
||||
しかしながら、これらのマクロはカーネルの中では使用されるべきではありません。
|
||||
なぜなら、
|
||||
カーネルはユーザ領域の _POSIX_VERSION の設定の影響を
|
||||
受けるべきではないからです。
|
||||
P1003_1B オプションをカーネル内で使用することで、
|
||||
新しいコードを含めることを制限できます。
|
||||
でも、P1003_1B オプションのないカーネル上で
|
||||
POSIX.1B プログラムが実行されたときに物事が正確に働くことを、確認してください。
|
||||
.Bd -literal -offset 0i
|
||||
_P1003_1B_VISIBLE
|
||||
.Ed
|
||||
は拡張が可視であるべきときに解決するテストマクロです。
|
||||
これは <sys/_posix.h> で定義されています。
|
||||
.Pp
|
||||
通常の C プログラム開発では、_POSIX_VERSION のみが設定され、プログラムに
|
||||
.Bx
|
||||
拡張が可視であるようにします。
|
||||
しかしながら、POSIX.1B が必須とする新機能を追加するときには、
|
||||
新しい _POSIX_C_SOURCE マクロによって追加された要求を満足させることが重要です。
|
||||
_POSIX_VERSION, _POSIX_SOURCE, および _POSIX_C_SOURCE の組み合わせが
|
||||
その拡張がスコープ内であることを示しているときには、_P1003_1B_VISIBLE
|
||||
(標準機能テストマクロではない) は sys/unistd.h で定義されます。
|
||||
.Bd -literal -offset 0i
|
||||
_P1003_1B_VISIBLE_HISTORICALLY
|
||||
.Ed
|
||||
は歴史的にシステム内にある POSIX.1B 拡張を条件付けするために存在します。
|
||||
_POSIX_SOURCE および _POSIX_C_SOURCE が全く設定されていないとき、または
|
||||
_POSIX_C_SOURCE が POSIX.1B の機能を有効にしているとき、これらは可視です。
|
||||
この機能テストの意図は、
|
||||
.Bx
|
||||
拡張を可視としつつ新しい拡張を不可視とすることで、
|
||||
_POSIX_C_SOURCE の "big hammar" ("大金鎚") の
|
||||
使用を試みることなく、現存のプログラムを壊さないようにすることです。
|
||||
.Pp
|
||||
幾つかの最近のヘッダファイルへの追加は十分新しいので、
|
||||
_HISTORICALLY の代わりに
|
||||
_P1003_1B_VISIBLE に依存するように変更するべきでしょう。
|
||||
.Pp
|
||||
現在では POSIX.1B で明示されている伝統的な
|
||||
.Bx
|
||||
ヘッダファイル (例えば、mmap.h) は、<sys/_posix.h> をインクルードすること
|
||||
および _P1003_1B_VISIBLE_HISTORICALLY で条件付けすることが可能です。
|
||||
.Sh 非標準テストマクロ
|
||||
.Bd -literal -offset 0i
|
||||
_P1003_1B_INCLUDE_MAYBES
|
||||
.Ed
|
||||
が他の全てのヘッダファイルのインクルードの前に設定されたときには、
|
||||
標準ヘッダがインクルードして良いと POSIX.1B 仕様が定めた
|
||||
全てのヘッダファイルがインクルードされるよう、要求します。
|
||||
通常は、不要なヘッダはインクルードされないのです。
|
||||
このプリプロセッサ定義を設定することにより、仕様に従ったプログラムを、
|
||||
ヘッダファイルのインクルードの問題無しにコンパイルできるようにします。
|
||||
.Bd -literal -offset 0i
|
||||
P1003_1B
|
||||
.Ed
|
||||
はカーネル内に POSIX.1B サポートを付けてビルドするための
|
||||
コンフィグオプションです。
|
||||
.\" .Sh 関連項目
|
||||
.Sh 歴史
|
||||
.Nm
|
||||
セクションのマニュアルページは
|
||||
.Fx 3.0
|
||||
で登場しました。
|
Loading…
Reference in a new issue