pathconf
pathconf
>un istd.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
#include
#include
int main( void )
{
long value;
value = pathconf( "/dev/con1", _PC_MAX_INPUT );
printf( "Input buffer size is %ld bytes\n",
value );
return EXIT_SUCCESS;
}