haiku/headers/private/storage
Augustin Cavalier 8f03af00f8 Storage: Rework LongDirEntry to be a union.
Our dirent structure is "slim": it has a flexible-length array at the
end which must be allocated to whatever size the consumer wants. However,
we use [1] there and not [0] or [], which meant GCC thought it was not
a flexible-length array, and so it optimized various string accesses
that it assumed must be always false. Among these was BDirectory's
check for "." and "..", and so that resulted in infinite loops.

When changing our dirent structure to a proper FLA instead of [1],
GCC then throws errors on LongDirEntry as it has data "after" the
FLA; which is what we want, but there is no way to tell GCC that.
So now we use a union instead, which is the proper way to statically
allocate a FLA.

This is part of #17389, but the real fix requires changing our dirent
structure, which is coming in a separate commit.
2021-11-18 16:00:23 -05:00
..
mime Mass updating of OpenBeOS text to Haiku 2021-11-07 10:00:35 +00:00
sniffer Mass updating of OpenBeOS text to Haiku 2021-11-07 10:00:35 +00:00
AddOnMonitor.h Refactored AddOnMonitor to allow an alternative constructor which does not 2010-12-05 14:59:27 +00:00
AddOnMonitorHandler.h Consolidate adding add-on directories 2013-10-17 01:28:31 -04:00
CopyEngine.h BCopyEngine: Add base class BEntryOperationEngineBase 2013-09-27 00:51:30 +02:00
DiskDevice.h * Made the use of file devices more convenient and complete by adding 2008-10-13 21:51:43 +00:00
DiskDeviceList.h * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class 2007-10-15 20:13:55 +00:00
DiskDevicePrivate.h Fixed GCC 4 warnings. 2006-10-13 10:35:04 +00:00
DiskDeviceRoster.h Make it clear from the API that the volume passed in is not touched by the 2009-04-22 14:13:45 +00:00
DiskDeviceTypes.h added exFAT partition type 2011-02-09 20:30:00 +00:00
DiskDeviceVisitor.h Mass updating of OpenBeOS text to Haiku 2021-11-07 10:00:35 +00:00
DiskScannerAddOn.h Mass updating of OpenBeOS text to Haiku 2021-11-07 10:00:35 +00:00
DiskSystem.h * Added a handy BDiskSystem::SupportsWriting(). 2008-10-13 23:47:30 +00:00
DiskSystemAddOn.h DriveSetup: 2010-10-24 03:39:19 +00:00
DiskSystemAddOnManager.h DriveSetup: 2010-10-24 03:39:19 +00:00
DriverSettings.h Add C++ API for driver settings 2013-06-29 13:42:00 +02:00
Elf.h Added ELF64 support to BResources. 2009-11-25 17:14:29 +00:00
ElfX.h Added ELF64 support to BResources. 2009-11-25 17:14:29 +00:00
EntryOperationEngineBase.h BEntryOperationEngineBase::Entry: Add debug methods 2014-06-15 17:21:00 +02:00
Exception.h + Changed StorageKit namespace to BPrivate::Storage 2002-08-12 08:42:01 +00:00
FdIO.h Add private class BFdIO 2014-07-12 15:40:21 +02:00
FileDescriptorIO.h Added private BPositionIO derived classes BFileIO and BFileDescriptorIO which 2010-04-15 22:19:27 +00:00
FileIO.h Added private BPositionIO derived classes BFileIO and BFileDescriptorIO which 2010-04-15 22:19:27 +00:00
MergedDirectory.h Add private class BMergedDirectory to storage kit 2013-05-07 04:43:50 +02:00
MimeTypes.h * More header cleanup, continuing korli's work. 2010-04-13 09:48:02 +00:00
MutablePartition.h * The BMutablePartition setters adjust the change flags accordingly. 2007-10-31 17:02:52 +00:00
NodeMonitorHandler.h Add stat fields to StatChanged hook. 2010-10-20 19:34:31 +00:00
NotOwningEntryRef.h <NotOwningEntryRef.h>: Denote BPrivate explicitly 2013-09-27 00:51:29 +02:00
OffsetFile.h Mass updating of OpenBeOS text to Haiku 2021-11-07 10:00:35 +00:00
Partition.h storage kit: don't expose the dev_t in BPartition::Mount() 2014-09-15 16:28:41 +12:00
PartitioningInfo.h Mass updating of OpenBeOS text to Haiku 2021-11-07 10:00:35 +00:00
PartitionParameterEditor.h Fixed design issues in BPartitionParameterEditor. 2013-02-02 01:13:19 +01:00
PathMonitor.h BPathMonitor: rewrite 2013-06-27 21:57:44 +02:00
Pef.h + Changed StorageKit namespace to BPrivate::Storage 2002-08-12 08:42:01 +00:00
query_private.h Add a private B_ATTR_CHANGE_NOTIFICATION flag to the open query syscall to tell the query to send notifications when an entry attribute changed and the entry stays in the query. Previously you only get created and removed messages, now you can also get updated messages. Only implement it for bfs. 2010-10-24 20:47:46 +00:00
QueryPredicate.h Mass updating of OpenBeOS text to Haiku 2021-11-07 10:00:35 +00:00
RemoveEngine.h Add BRemoveEngine 2013-09-27 00:51:30 +02:00
ResourceFile.h Speed up BResource loading 2020-06-01 14:09:54 +00:00
ResourceItem.h Mass updating of OpenBeOS text to Haiku 2021-11-07 10:00:35 +00:00
ResourcesContainer.h Mass updating of OpenBeOS text to Haiku 2021-11-07 10:00:35 +00:00
ResourcesDefs.h + Changed StorageKit namespace to BPrivate::Storage 2002-08-12 08:42:01 +00:00
storage_support.h Storage: Rework LongDirEntry to be a union. 2021-11-18 16:00:23 -05:00