Imported Upstream version 1.4.19
[platform/upstream/m4.git] / lib / dirent-private.h
1 /* Private details of the DIR type.
2    Copyright (C) 2011-2021 Free Software Foundation, Inc.
3
4    This program is free software: you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; either version 3 of the License, or
7    (at your option) any later version.
8
9    This program 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 General Public License for more details.
13
14    You should have received a copy of the GNU 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 #define WIN32_LEAN_AND_MEAN
21 #include <windows.h>
22
23 /* Don't assume that UNICODE is not defined.  */
24 #undef WIN32_FIND_DATA
25 #define WIN32_FIND_DATA WIN32_FIND_DATAA
26
27 struct gl_directory
28 {
29   /* Status, or error code to produce in next readdir() call.
30      -2 means the end of the directory is already reached,
31      -1 means the entry was already filled by FindFirstFile,
32      0 means the entry needs to be filled using FindNextFile.
33      A positive value is an error code.  */
34   int status;
35   /* Handle, reading the directory, at current position.  */
36   HANDLE current;
37   /* Found directory entry.  */
38   WIN32_FIND_DATA entry;
39   /* Argument to pass to FindFirstFile.  It consists of the absolutized
40      directory name, followed by a directory separator and the wildcards.  */
41   char dir_name_mask[1];
42 };
43
44 #endif /* _DIRENT_PRIVATE_H */