1.系统限制
SUSv3 要求,针对其所规范的每个限制,所有实现必须支持一个最小值。在大多数情况下,会将这些
最小值定义为<limits.h>文件中的常量,其命名则冠以字符串 _POSIX_,而且通常还包含字符串 _MAX,
因此,常量命名为 _POSIX_XXX_MAX 。
SUSv3 将其所定义的各类限制描述为最小值,但命名却用了字符串 _MAX 。
某些情况下,会为某个限制提供最大值,并且在对这些值的命名中包含字符串 _MIN。
SUSv3 将其规定的限制归为3类:
1.运行时恒定值
所谓运行时恒定值是指某一限制,若已然在 <limits.h> 文件中定义,则对于实现而言固定不变。
然后该值可能是不确定的(因为该值可能依赖于可用的内存空间),因而在 <limits.h> 文件中会忽略
对其定义。
2.路径名变量值
所谓路径名变量值是指与路径名(文件,目录,终端)相关的限制,每个限制可能是相对于某个系统实现的常量,
也可能随文件系统的不同而不同。在限制可能因路径名而发生变量的情况下,应用程序可以使用 pathconf()或 fpathconf()
来获取该值。
3.运行时可增加值
运行时可增加值是指某一限制,相对于特定实现其值固定,且运行此实现的所有系统至少都应支持这一最小值。然而,特定系统
在运行时可能会增加该值,应用程序可以使用 sysconf() 来获得系统所支持的实际值。
getconf // shell 命令
sysconf();
pathconf();
fpathconf();