summaryrefslogtreecommitdiff
path: root/StdLib/Include/sys/dirent.h
diff options
context:
space:
mode:
Diffstat (limited to 'StdLib/Include/sys/dirent.h')
-rw-r--r--StdLib/Include/sys/dirent.h144
1 files changed, 0 insertions, 144 deletions
diff --git a/StdLib/Include/sys/dirent.h b/StdLib/Include/sys/dirent.h
deleted file mode 100644
index 2c171de5b7..0000000000
--- a/StdLib/Include/sys/dirent.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/** @file
- Declarations pertaining to directory entries under the UEFI environment.
-
- The information is based upon the EFI_FILE_INFO structure
- in MdePkg/Include/Guid/FileInfo.h.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1989, 1993
- The Regents of the University of California. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. Neither the name of the University nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
- @(#)dirent.h 8.3 (Berkeley) 8/10/94
- NetBSD: dirent.h,v 1.23 2005/12/26 18:41:36 perry Exp
-**/
-#ifndef _SYS_DIRENT_H_
-#define _SYS_DIRENT_H_
-
-#include <Uefi.h>
-
-#include <sys/featuretest.h>
-#include <time.h>
-#include <sys/time.h>
-
-#define MAXNAMLEN 511
-
-/*
- * The dirent structure defines the format of directory entries returned by
- * read(fd, ...) when fd refers to a directory.
- *
- * All names are wide characters and are guaranteed to be null terminated.
- * The maximum length of a name in a directory is MAXNAMLEN.
- *
- * This structure is identical to the EFI_FILE_INFO structure. A new
- * structure is declared because one must be able to refer to it
- * as struct dirent.
- */
-struct dirent {
- UINT64 Size; // (d_reclen) Size of this dirent structure instance,
- // including the Null-terminated FileName string.
- UINT64 FileSize; // The size of the file in bytes.
- UINT64 PhysicalSize; // The amount of physical space the file consumes
- // on the file system volume.
- EFI_TIME CreateTime; // The time the file was created.
- EFI_TIME LastAccessTime; // The time when the file was last accessed.
- EFI_TIME ModificationTime; // The time when the file's contents were last modified.
- UINT64 Attribute; // (d_type) The attribute bits for the file. See below.
- CHAR16 FileName[1]; // (d_name) The Null-terminated name of the file.
-};
-
-/* For compatibility */
-#define d_name FileName
-#define d_type Attribute
-#define d_reclen Size
-
-
-/*
- * File Attributes
- */
-#define DT_UNKNOWN 0
-#define DT_READ_ONLY 0x0000000000000001
-#define DT_HIDDEN 0x0000000000000002
-#define DT_SYSTEM 0x0000000000000004
-#define DT_RESERVED 0x0000000000000008
-#define DT_DIRECTORY 0x0000000000000010
-#define DT_ARCHIVE 0x0000000000000020
-#define DT_CHR 0x0000000000010000 // File attaches to a character device
-#define DT_BLK 0x0000000000020000 // File attaches to a block device
-#define DT_SOCKET 0x0000000000030000 // File attaches to a socket
-#define DT_VALID_ATTR 0x0000000000030037 // Mask for valid attribute bits
-
-/*
- * The _DIRENT_ALIGN macro returns the alignment of struct dirent.
- * struct dirent uses 8.
- */
-#define _DIRENT_ALIGN(dp) (sizeof((dp)->Size) - 1)
-
-/*
- * The _DIRENT_NAMEOFF macro returns the offset of the d_name field in
- * struct dirent
- */
-#define _DIRENT_NAMEOFF(dp) \
- ((char *)(void *)&(dp)->FileName - (char *)(void *)dp)
-
-/*
- * The _DIRENT_RECLEN macro gives the minimum record length which will hold
- * a name of size "namlen". This requires the amount of space in struct dirent
- * without the d_name field, plus enough space for the name with a terminating
- * null byte (namlen+1), rounded up to a the appropriate byte boundary.
- */
-#define _DIRENT_RECLEN(dp, namlen) \
- ((_DIRENT_NAMEOFF(dp) + (namlen) + 1 + _DIRENT_ALIGN(dp)) & \
- ~_DIRENT_ALIGN(dp))
-
-#define _DIRENT_NAMELEN(dp) \
- ((dp)->Size - _DIRENT_NAMEOFF(dp) - 1)
-
-/*
- * The _DIRENT_SIZE macro returns the minimum record length required for
- * name name stored in the current record.
- */
-#define _DIRENT_SIZE(dp) _DIRENT_RECLEN(dp, _DIRENT_NAMELEN(dp))
-
-/*
- * The _DIRENT_NEXT macro advances to the next dirent record.
- */
-#define _DIRENT_NEXT(dp) ((void *)((char *)(void *)(dp) + (dp)->Size))
-
-/*
- * The _DIRENT_MINSIZE returns the size of an empty (invalid) record.
- */
-#define _DIRENT_MINSIZE(dp) _DIRENT_RECLEN(dp, 0)
-
-#endif /* !_SYS_DIRENT_H_ */