pathconf

pathconf是一种应用于电脑系统的函数。

#include <unistd.h>

long pathconf( const char* path,int name );

pathconf函数返回配置文件的限制值,是与文件或目录相关联的运行时限制。path参数是你想得到限制值的路径,name是想得到限制值的名称,name的取值主要有以下几个取值:

限制名

说明

name参数

FILESIZEBITS

在指定目录中允许的普通文件最大长度所需的最少位数

_PC_FILESIZEBITS

LINK_MAX

文件链接数的最大值

_PC_LINK_MAX

MAX_CANON

终端规范输入队列的最大字节数

_PC_MAX_CANON

MAX_INPUT

终端输入队列可用空间的字节数

_PC_MAX_INPUT

NAME_MAX

文件名的最大字节数

_PC_NAME_MAX

PATH_MAX

相对路径名的最大字节数,包括null

_PC_PATH_MAX

PIPE_BUF

能原子的写到管道的最大字节数

_PC_PIPE_BUF

SYMLINK_MAX

符号链接中的字节数

_PC_SYMLINK_MAX

该函数在错误的时候返回-1,并且设置相应的errno值。

EACCES

所给的文件路径权限不允许

EINVAL

name参数无效.

ELOOP

Too many levels of symbolic links or prefixes.

ENAMETOOLONG

path参数太长了.

ENOENT

所给的文件不存在.

ENOSYS

The pathconf() function isn't implemented for the filesystem specified in path.

ENOTDIR

path参数不是一个目录.

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

int main( void )

{

long value;

value = pathconf( "/dev/con1", _PC_MAX_INPUT );

printf( "Input buffer size is %ld bytes\n",

value );

return EXIT_SUCCESS;

}

相关词汇