頭檔案
#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 |
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;
}