dircntl()
QNX SDP8.0C Library ReferenceAPIDeveloper
Control an open directory
Synopsis:
#include <dirent.h>
int dircntl( DIR * dir,
             int cmd,
             ... );
Arguments:
- dir
 - Provide control for this directory.
 - cmd
 - At least the following values are defined in <dirent.h>:
  
- D_GETFLAG — retrieve the flags associated with the directory
    referenced by dir.
    For more information, see
    
Flag values,
below. - D_SETFLAG — set the flags associated with the directory referenced by dir to the value given as the additional flags argument.
 
 - D_GETFLAG — retrieve the flags associated with the directory
    referenced by dir.
    For more information, see
    
 
If cmd is D_SETFLAG, you must also specify the following argument:
- unsigned flags
 - Any combination of the flags described in
  
Flag values,
below. 
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The dircntl() function provides control over the open directory referenced by the dir argument. This function behaves in a manner similar to the file control function, fcntl().
Flag values
The flags that you can get or set for a directory include the following:
Returns:
The return value depends on the value of cmd:
- D_GETFLAG
 - The flags associated with the directory.
 - D_SETFLAG
 - 0.
 - Any other value
 - -1 (errno is set to ENOSYS).
 
Examples:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
int main(int argc, char **argv) {
    DIR *dp;
    int ret;
    if(!(dp = opendir("/"))) {
        exit(EXIT_FAILURE);
    }
    /* Display the flags that are set on the
       directory by default*/
    if((ret = dircntl(dp, D_GETFLAG)) == -1) {
        exit(EXIT_FAILURE);
    }
    if(ret & D_FLAG_FILTER) {
        printf("Directory names are filtered\n");
    } else {
        printf("Directory names are not filtered\n");
    }
    if(ret & D_FLAG_STAT) {
        printf("Servers asked for extra stat information\n");
    } else {
        printf("Servers not asked for extra stat information\n");
    }
    closedir(dp);
    return 0;
}
Classification:
| Safety: | |
|---|---|
| Cancellation point | No | 
| Signal handler | No | 
| Thread | Yes | 
Page updated: 
