Return the value of a configurable limit associated with a file
#include <unistd.h>
long fpathconf( int filedes, 
                int name );
- filedes
 
- A file descriptor for the file whose limit you want to check.
 
- name
 
- The name of the configurable limit; see below.
 
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
The fpathconf() function returns a value of a configurable limit
indicated by name that's associated with the file
indicated by filedes.
Configurable limits are defined in <confname.h>, and include
at least the following values:
- _PC_ASYNC_IO
  
 
- Defined (not -1) if asynchronous I/O is supported for the file.
    
    
    
    
  
 
- _PC_CHOWN_RESTRICTED
    
 
- If defined (not -1), indicates that the use of the chown()
      function is restricted to a process with appropriate privileges, and to 
      changing the group ID of a file to the effective group ID of the
      process or to one of its supplementary group IDs.
      
      
      
  
 
- _PC_LINK_DIR
  
 
- Defined (not -1) if the filesystem permits the unlinking of
    a directory.
    
    
  
 
- _PC_LINK_MAX
    
 
- Maximum value of a file's link count.
      
      
      
  
 
- _PC_MAX_CANON
    
 
- Maximum number of bytes in a terminal's canonical input buffer
      (edit buffer).
      
      
      
      
      
  
 
- _PC_MAX_INPUT
    
 
- Maximum number of bytes in a terminal's raw input buffer.
      
      
      
      
      
  
 
- _PC_NAME_MAX
    
 
- Maximum number of bytes in a file name (not including the terminating 
      null).
      
      
      
  
 
- _PC_NO_TRUNC
    
 
- If defined (not -1), indicates that the use of pathname components 
      longer than the value given by _PC_NAME_MAX
      generates an error.
      
      
  
 
- _PC_PATH_MAX
    
 
- Maximum number of bytes in a pathname (not including the terminating 
      null).
      
      
      
  
 
- _PC_PIPE_BUF
    
 
- Maximum number of bytes that can be written atomically when writing to 
      a pipe.
      
      
      
  
 
- _PC_PRIO_IO
  
 
- Defined (not -1) if prioritized I/O is supported for the file.
    
    
    
    
  
 
- _PC_SYNC_IO
  
 
- Defined (not -1) if synchronous I/O is supported for the file.
    
    
    
    
  
 
- _PC_VDISABLE
    
 
- If defined (not -1), this is the character value that can be used to
      individually disable special control characters in the 
      termios
      control structure.
      
      
      
 
The requested configurable limit, or -1 if an error occurred
(errno is set).
- EINVAL
    
 
- The name argument is invalid, or the indicated limit isn't
      supported for this filedes.
  
 
- EBADF
    
 
- The argument filedes is invalid.
 
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
  {
    long value;
    value = fpathconf( 0, _PC_MAX_INPUT );
    printf( "Input buffer size is %ld bytes\n",
        value );
    return EXIT_SUCCESS;
  }
POSIX 1003.1
| Safety: |  | 
| Cancellation point | 
    No | 
| Interrupt handler | 
    No | 
| Signal handler | 
    Yes | 
| Thread | 
    Yes | 
confstr(),
pathconf(),
sysconf(),
termios