一个目录
,则返回值用于目录本身(不用于目录内的文档名项)。
3[CD#*2]PC[CD#*2]NAME[CD#*2]MAX和[CD#*2]PC[CD#*2]NO[CD#*2]TRUNC所涉及
的文档必
须是目录,返回值用于该目录中的文档名。
4[CD#*2]PC[CD#*2]PATH[CD#*2]MAX涉及的必须是目录。当所指定的目录是工作
目录时,
返回值是相对路径名的最大长度。(不幸的是,这不是我们想要知道的一个绝对路
径名的实
际最大长度,我们将在257中再回到这一问题上来)
5[CD#*2]PC[CD#*2]PIPE[CD#*2]BUF所涉及的文档必须是管道,FIFO或目录。在
管道或FIF
O情况下,返回值是对所涉及的管道或FIFO的限制值。对于目录,则返回值是对在
该目录中
创建的任一FIFO的限制值。
6[CD#*2]PC[CD#*2]CHOWN[CD#*2]RESTRICTED必须是文档或目录。假如他是目录
,则返回
值指明此可选项是否适用于该目录中的文档。
图25〓对sysconf、pathconf和fpathconf的限制及name参数
我们需要更周详地说明这三个函数的不同返回值。
1假如name不是图25第3列中的一个合适常数,则任何这三个函数都返回-1,并
将error
配置为EINVAL。
2包含MAX的12个名字连同名字[CD#*2]PC[CD#*2]PIPE[CD#*2]BUF可能或返回该
变量的值
(返回值ZO),或返回-1,这表示该值是不确定的,此时并不更改errno的值。
3对[CD#*2]SC[CD#*2]CLK[CD#*2]TCK的返回值是每秒的时钟滴答数,以用于tim
es函数的
返回值(815节)。
4对[CD#*2]SC[CD#*2]VERSION的返回值以4位数,2位数分别表示以标准的年、月
。这可能
或是198808L,或199009L,或此标准某个以后版本的值。
5对[CD#*2]SC[CD#*2]XOPEN[CD#*2]VERSION的返回值表示此系统所遵从的XPG版
本,其当
前值是3。
6[CD#*2]SC[CD#*2]JOB[CD#*2]CONTROL和[CD#*2]SC[CD#*2]SAVED[CD#*2]IDS是
两个可选
功能。若sysconf返回-1(没有更改errno)则不支持相应的功能。这两个功能也可在
编辑时从
<unistdh>头文档中决定。
7对[CD#*2]PC[CD#*2]CHOWN[CD#*2]RESTRICTED和[CD#*2]PC[CD#*2]NO[CD#*2]T
RUNC的返
回值若为-1(不改变errno),则表示对所指定的pathname或filedes不支持此功能。
8对[CD#*2]PC[CD#*2]VDISABLE的返回值若为-1(不改变errno),则表示对所指定
的pathna
me或filedes不支持此功能。若支持此功能,则返回值是被用于禁止特定终端输入
字符的字
符值(图16)。
实例
程式21打印任何这些限制,并处理一个限制未被定义的情况。
程式21〓打印任何可能的sysconf和pathconf值
我们条件地包括了两个常数,他们已被加至POSIX1,但不是IEEEStd 10031-1
988版本
的一部分。图26显示了在几个不同的系统上,程式21的样本输出。表中的"no
def"表
示该常数未定义。我们在414中能够了解到,SVR4 S5文档系统是能够回逆到Ver
sion 7的
传统系统Ⅴ文档系统。UFS是贝克莱快速文档系统的SVR4实现。
图26〓配置限制的实例
255〓FIPS 151-1需要
FIPS 151-1标准(我们已在224节中提及)由于需要下列功能,所以他比POSIX
1标准更
严:
·需要下列POSIX1可选功能:
[CD#*2]POSIX[CD#*2]JOB[CD#*2]CONTROL,[CD#*2]POSIX[CD#*2]SAVED[CD#*2]IDS
,[CD#*2]P
OSIX[CD#*2]NO[CD#*2]TRONC,[CD#*2]POSIX[CD#*2]CHOWN[CD#*2]RESTRICTED和[C
D#*2]POSI
X[CD#*2]VDISABLE。
·NGROUPS[CD#*2]MAX的最小值是8。
·新创建的文档或目录的组ID应配置为他所在目录的组ID(在46节中说明此功能
)
·在已传输了一些数据后,若read或write被一个捕获到的信号所中断,则这些函
数应返回
已被传输的字节数(在105节中讨论被中断的系统调用)。
·登录shell应定义环境变量HOME和LOGNAME。
因为美国政府购买很多电脑系统,所以大多数POSIX的制造商都将支持这些增加
的FIPS要
求。
图27〓编辑时和运行时限制的摘要
256〓限制摘要
我们已说明了很多限制和幻常数,其中某些总被包含在一头文档中,某些可选地包
含在头文
件中,其他则可在运行时决定。图27以字母序摘要列出了任何这些常数连同得到
他们值的
各种方法。以[CD#*2]SC[CD#*2]开始的运行时名字是sysconf函数的参数,以[CD#
*2]PC[CD#
*2]开始的名字是pathconf和fpathconf函数的参数,假如他有最小值,则也将其列
于其中。
注意,图23中的13个POSIX1不变最小值示于图27中的最右一列。
257〓未确定的运行时限制
我们已提及图27中的某些值可能是未确定的,这些值是第三列标记为可选的(op
tional),
其名字中或包含MAX,或是PIPE[CD#*2]BUF。我们碰到的问题是假如这些值没有在
头文档<li
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




