### 33.8 Minimum Values for File System Limits ¶

Here are the names for the POSIX minimum upper bounds for some of the above parameters. The significance of these values is that you can safely push to these limits without checking whether the particular system you are using can go that far. In most cases GNU systems do not have these strict limitations. The actual limit should be requested if necessary.

`_POSIX_LINK_MAX` ¶

  The most restrictive limit permitted by POSIX for the maximum value of a file’s link count. The value of this constant is `8`; thus, you can always make up to eight names for a file without running into a system limit.

`_POSIX_MAX_CANON` ¶

  The most restrictive limit permitted by POSIX for the maximum number of bytes in a canonical input line from a terminal device. The value of this constant is `255`.

`_POSIX_MAX_INPUT` ¶

  The most restrictive limit permitted by POSIX for the maximum number of bytes in a terminal device input queue (or typeahead buffer). See Input Modes. The value of this constant is `255`.

`_POSIX_NAME_MAX` ¶

  The most restrictive limit permitted by POSIX for the maximum number of bytes in a file name component. The value of this constant is `14`.

`_POSIX_PATH_MAX` ¶

  The most restrictive limit permitted by POSIX for the maximum number of bytes in a file name. The value of this constant is `256`.

`_POSIX_PIPE_BUF` ¶

  The most restrictive limit permitted by POSIX for the maximum number of bytes that can be written atomically to a pipe. The value of this constant is `512`.

`SYMLINK_MAX` ¶

  Maximum number of bytes in a symbolic link.

`POSIX_REC_INCR_XFER_SIZE` ¶

  Recommended increment for file transfer sizes between the `POSIX_REC_MIN_XFER_SIZE` and `POSIX_REC_MAX_XFER_SIZE` values.

`POSIX_REC_MAX_XFER_SIZE` ¶

  Maximum recommended file transfer size.

`POSIX_REC_MIN_XFER_SIZE` ¶

  Minimum recommended file transfer size.

`POSIX_REC_XFER_ALIGN` ¶

  Recommended file transfer buffer alignment.