]>
Commit | Line | Data |
---|---|---|
2aa62f2b | 1 | /** @file\r |
2 | Declarations pertaining to directory entries under the UEFI environment.\r | |
3 | \r | |
4 | The information is based upon the EFI_FILE_INFO structure\r | |
5 | in MdePkg/Include/Guid/FileInfo.h.\r | |
6 | \r | |
d711a486 | 7 | Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r |
2aa62f2b | 8 | This program and the accompanying materials\r |
9 | are licensed and made available under the terms and conditions of the BSD License\r | |
10 | which accompanies this distribution. The full text of the license may be found at\r | |
11 | http://opensource.org/licenses/bsd-license.php\r | |
12 | \r | |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
15 | \r | |
d711a486 | 16 | Copyright (c) 1989, 1993\r |
17 | The Regents of the University of California. All rights reserved.\r | |
18 | \r | |
19 | Redistribution and use in source and binary forms, with or without\r | |
20 | modification, are permitted provided that the following conditions\r | |
21 | are met:\r | |
22 | 1. Redistributions of source code must retain the above copyright\r | |
23 | notice, this list of conditions and the following disclaimer.\r | |
24 | 2. Redistributions in binary form must reproduce the above copyright\r | |
25 | notice, this list of conditions and the following disclaimer in the\r | |
26 | documentation and/or other materials provided with the distribution.\r | |
27 | 3. Neither the name of the University nor the names of its contributors\r | |
28 | may be used to endorse or promote products derived from this software\r | |
29 | without specific prior written permission.\r | |
30 | \r | |
31 | THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\r | |
32 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r | |
33 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r | |
34 | ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\r | |
35 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r | |
36 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r | |
37 | OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r | |
38 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r | |
39 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r | |
40 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r | |
41 | SUCH DAMAGE.\r | |
42 | \r | |
43 | NetBSD: dirent.h,v 1.30 2008/01/09 20:55:03 christos Exp\r | |
44 | @(#)dirent.h 8.2 (Berkeley) 7/28/94\r | |
2aa62f2b | 45 | **/\r |
46 | #ifndef _DIRENT_H_\r | |
47 | #define _DIRENT_H_\r | |
48 | \r | |
d711a486 | 49 | #include <sys/featuretest.h>\r |
50 | #include <sys/types.h>\r | |
51 | \r | |
2aa62f2b | 52 | #include <sys/dirent.h>\r |
53 | \r | |
d711a486 | 54 | typedef struct _dirdesc DIR;\r |
55 | \r | |
56 | /* definitions for library routines operating on directories. */\r | |
57 | #define DIRBLKSIZ 1024\r | |
58 | \r | |
59 | /* structure describing an open directory. */\r | |
60 | struct _dirdesc {\r | |
61 | int dd_fd; /* file descriptor associated with directory */\r | |
62 | long dd_loc; /* offset in current buffer */\r | |
63 | long dd_size; /* amount of data returned by getdents */\r | |
64 | char *dd_buf; /* data buffer */\r | |
65 | int dd_len; /* size of data buffer */\r | |
66 | off_t dd_seek; /* magic cookie returned by getdents */\r | |
67 | void *dd_internal; /* state for seekdir/telldir */\r | |
68 | int dd_flags; /* flags for readdir */\r | |
69 | void *dd_lock; /* lock for concurrent access */\r | |
70 | };\r | |
71 | \r | |
72 | #define dirfd(dirp) ((dirp)->dd_fd)\r | |
73 | \r | |
74 | /* flags for __opendir2() */\r | |
75 | #define DTF_HIDEW 0x0001 /* hide whiteout entries */\r | |
76 | #define DTF_NODUP 0x0002 /* don't return duplicate names */\r | |
77 | #define DTF_REWIND 0x0004 /* rewind after reading union stack */\r | |
78 | #define __DTF_READALL 0x0008 /* everything has been read */\r | |
79 | \r | |
80 | #include <sys/cdefs.h>\r | |
81 | \r | |
82 | __BEGIN_DECLS\r | |
83 | int closedir(DIR *);\r | |
84 | void rewinddir(DIR *);\r | |
85 | \r | |
86 | DIR *opendir(const char *) __RENAME(__opendir30);\r | |
87 | struct dirent *readdir(DIR *) __RENAME(__readdir30);\r | |
88 | int readdir_r(DIR * __restrict, struct dirent * __restrict,\r | |
89 | struct dirent ** __restrict) __RENAME(__readdir_r30);\r | |
90 | \r | |
91 | void seekdir(DIR *, long);\r | |
92 | long telldir(DIR *);\r | |
93 | DIR *__opendir2(const char *, int) __RENAME(__opendir230);\r | |
94 | \r | |
95 | //#ifndef __LIBC12_SOURCE__\r | |
96 | //int scandir(const char *, struct dirent ***,\r | |
97 | // int (*)(const struct dirent *), int (*)(const void *,\r | |
98 | // const void *)) __RENAME(__scandir30);\r | |
99 | //int getdents(int, char *, size_t) __RENAME(__getdents30);\r | |
100 | //#endif\r | |
101 | \r | |
102 | //int alphasort(const void *, const void *);\r | |
103 | __END_DECLS\r | |
104 | \r | |
105 | \r | |
2aa62f2b | 106 | #endif /* _DIRENT_H_ */\r |