root/lib/dirent-private.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


     1 /* Private details of the DIR type.
     2    Copyright (C) 2011-2023 Free Software Foundation, Inc.
     3 
     4    This file is free software: you can redistribute it and/or modify
     5    it under the terms of the GNU Lesser General Public License as
     6    published by the Free Software Foundation; either version 2.1 of the
     7    License, or (at your option) any later version.
     8 
     9    This file is distributed in the hope that it will be useful,
    10    but WITHOUT ANY WARRANTY; without even the implied warranty of
    11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    12    GNU Lesser General Public License for more details.
    13 
    14    You should have received a copy of the GNU Lesser General Public License
    15    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
    16 
    17 #ifndef _DIRENT_PRIVATE_H
    18 #define _DIRENT_PRIVATE_H 1
    19 
    20 #if HAVE_DIRENT_H                       /* mingw */
    21 
    22 # undef DIR
    23 
    24 struct gl_directory
    25 {
    26   /* File descriptor to close during closedir().
    27      Needed for implementing fdopendir().  */
    28   int fd_to_close;
    29   /* Pointer to the real DIR.  */
    30   DIR *real_dirp;
    31 };
    32 
    33 /* Restore definition from dirent.h.  */
    34 # define DIR struct gl_directory
    35 
    36 #else                                   /* MSVC */
    37 
    38 # define WIN32_LEAN_AND_MEAN
    39 # include <windows.h>
    40 
    41 /* Don't assume that UNICODE is not defined.  */
    42 # undef WIN32_FIND_DATA
    43 # define WIN32_FIND_DATA WIN32_FIND_DATAA
    44 
    45 struct gl_directory
    46 {
    47   /* File descriptor to close during closedir().
    48      Needed for implementing fdopendir().  */
    49   int fd_to_close;
    50   /* Status, or error code to produce in next readdir() call.
    51      -2 means the end of the directory is already reached,
    52      -1 means the entry was already filled by FindFirstFile,
    53      0 means the entry needs to be filled using FindNextFile.
    54      A positive value is an error code.  */
    55   int status;
    56   /* Handle, reading the directory, at current position.  */
    57   HANDLE current;
    58   /* Found directory entry.  */
    59   WIN32_FIND_DATA entry;
    60   /* Argument to pass to FindFirstFile.  It consists of the absolutized
    61      directory name, followed by a directory separator and the wildcards.  */
    62   char dir_name_mask[1];
    63 };
    64 
    65 #endif
    66 
    67 #endif /* _DIRENT_PRIVATE_H */

/* [<][>][^][v][top][bottom][index][help] */