Add preparation for FAR release.
authorqhuang8 <qhuang8@65ba2f78-6c18-0410-a7b4-885970cf29fa>
Fri, 21 Dec 2007 03:27:26 +0000 (03:27 +0000)
committerqhuang8 <qhuang8@65ba2f78-6c18-0410-a7b4-885970cf29fa>
Fri, 21 Dec 2007 03:27:26 +0000 (03:27 +0000)
git-svn-id: https://fat-driver2.tianocore.org/svn/fat-driver2/trunk@24 65ba2f78-6c18-0410-a7b4-885970cf29fa

FatPkg/EnhancedFatDxe/Fat.msa [new file with mode: 0644]
FatPkg/EnhancedFatDxe/UnicodeCollation.c
FatPkg/FatPkg.nspd [new file with mode: 0644]

diff --git a/FatPkg/EnhancedFatDxe/Fat.msa b/FatPkg/EnhancedFatDxe/Fat.msa
new file mode 100644 (file)
index 0000000..c3d3e9e
--- /dev/null
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
+  <MsaHeader>\r
+    <ModuleName>Fat</ModuleName>\r
+    <ModuleType>UEFI_DRIVER</ModuleType>\r
+    <GuidValue>961578FE-B6B7-44c3-AF35-6BC705CD2B1F</GuidValue>\r
+    <Version>1.0</Version>\r
+    <Abstract>Component description file for FAT module.</Abstract>\r
+    <Description>This UEFI driver detects the FAT file system in the disk. It also produces the Simple File System protocol for the consumer to perform file and directory operations on the disk.</Description>\r
+    <Copyright>Copyright (c) 2004 - 2007, Intel Corporation</Copyright>\r
+    <License>Redistribution and use in source and binary forms, with or without
+      modification, are permitted provided that the following conditions are
+      met:
+
+           Redistributions of source code must retain the above copyright
+           notice, this list of conditions and the following disclaimer.
+
+           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.
+
+           Neither the name of Intel 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 COPYRIGHT HOLDERS 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 COPYRIGHT
+      OWNER 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.
+
+      Additional terms: In addition to the forgoing, redistribution and use
+      of the code is conditioned upon the FAT 32 File System Driver and all
+      derivative works thereof being used for and designed only to read
+      and/or write to a file system that is directly managed by an
+      Extensible Firmware Interface (EFI) implementation or by an emulator
+      of an EFI implementation.</License>\r
+    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
+  </MsaHeader>\r
+  <ModuleDefinitions>\r
+    <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r
+    <BinaryModule>false</BinaryModule>\r
+    <OutputFileBasename>Fat</OutputFileBasename>\r
+  </ModuleDefinitions>\r
+  <LibraryClassDefinitions>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>DebugLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiDriverEntryPoint</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>BaseLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>BaseMemoryLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>MemoryAllocationLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiBootServicesTableLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiRuntimeServicesTableLib</Keyword>\r
+    </LibraryClass>\r
+  </LibraryClassDefinitions>\r
+  <SourceFiles>\r
+    <Filename>Data.c</Filename>\r
+    <Filename>Delete.c</Filename>\r
+    <Filename>Fat.c</Filename>\r
+    <Filename>Flush.c</Filename>\r
+    <Filename>FileSpace.c</Filename>\r
+    <Filename>Info.c</Filename>\r
+    <Filename>Init.c</Filename>\r
+    <Filename>Misc.c</Filename>\r
+    <Filename>Open.c</Filename>\r
+    <Filename>OpenVolume.c</Filename>\r
+    <Filename>ReadWrite.c</Filename>\r
+    <Filename>Fat.h</Filename>\r
+    <Filename>FatFileSystem.h</Filename>\r
+    <Filename>ComponentName.c</Filename>\r
+    <Filename>DirectoryManage.c</Filename>\r
+    <Filename>Hash.c</Filename>\r
+    <Filename>FileName.c</Filename>\r
+    <Filename>DiskCache.c</Filename>\r
+    <Filename>DirectoryCache.c</Filename>\r
+    <Filename>UnicodeCollation.c</Filename>\r
+  </SourceFiles>\r
+  <NonProcessedFiles>\r
+    <Filename>Debug.c</Filename>\r
+  </NonProcessedFiles>\r
+  <PackageDependencies>\r
+    <Package PackageGuid="1E73767F-8F52-4603-AEB4-F29B510B6766"/>\r
+    <Package PackageGuid="8EA68A2C-99CB-4332-85C6-DD5864EAA674"/>\r
+  </PackageDependencies>\r
+  <Protocols>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiBlockIoProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiDiskIoProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiUnicodeCollationProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiUnicodeCollation2ProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="BY_START">\r
+      <ProtocolCName>gEfiSimpleFileSystemProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+  </Protocols>\r
+  <Variables>\r
+    <Variable Usage="ALWAYS_CONSUMED">\r
+      <VariableName>0x0050 0x006c 0x0061 0x0074 0x0066 0x006f 0x0072 0x006d 0x004c 0x0061 0x006e 0x0067</VariableName>\r
+      <GuidC_Name>gEfiGlobalVariableGuid</GuidC_Name>\r
+      <HelpText>Variable Name: L"PlatformLang"</HelpText>\r
+    </Variable>\r
+    <Variable Usage="ALWAYS_CONSUMED">\r
+      <VariableName>0x004c 0x0061 0x006e 0x0067</VariableName>\r
+      <GuidC_Name>gEfiGlobalVariableGuid</GuidC_Name>\r
+      <HelpText>Variable Name: L"Lang"</HelpText>\r
+    </Variable>\r
+  </Variables>\r
+  <Guids>\r
+    <GuidCNames Usage="ALWAYS_CONSUMED">\r
+      <GuidCName>gEfiGlobalVariableGuid</GuidCName>\r
+    </GuidCNames>\r
+    <GuidCNames Usage="ALWAYS_CONSUMED">\r
+      <GuidCName>gEfiFileSystemInfoGuid</GuidCName>\r
+    </GuidCNames>\r
+    <GuidCNames Usage="ALWAYS_CONSUMED">\r
+      <GuidCName>gEfiFileInfoGuid</GuidCName>\r
+    </GuidCNames>\r
+    <GuidCNames Usage="ALWAYS_CONSUMED">\r
+      <GuidCName>gEfiFileSystemVolumeLabelInfoIdGuid</GuidCName>\r
+    </GuidCNames>\r
+  </Guids>\r
+  <Externs>\r
+    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
+    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
+    <Extern>\r
+      <ModuleEntryPoint>FatEntryPoint</ModuleEntryPoint>\r
+      <ModuleUnloadImage>FatUnload</ModuleUnloadImage>\r
+    </Extern>\r
+    <Extern>\r
+      <DriverBinding>gFatDriverBinding</DriverBinding>\r
+      <ComponentName>gFatComponentName</ComponentName>\r
+    </Extern>\r
+  </Externs>\r
+</ModuleSurfaceArea>
\ No newline at end of file
index d74dc1e..67f1b7c 100644 (file)
 \r
 **/\r
 \r
-#include <Uefi.h>\r
-\r
-#include <Guid/GlobalVariable.h>\r
-#include <Protocol/UnicodeCollation.h>\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiRuntimeServicesTableLib.h>\r
+#include "Fat.h"\r
 \r
 STATIC EFI_UNICODE_COLLATION_PROTOCOL  *mUnicodeCollationInterface = NULL;\r
 \r
diff --git a/FatPkg/FatPkg.nspd b/FatPkg/FatPkg.nspd
new file mode 100644 (file)
index 0000000..a583e69
--- /dev/null
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<PackageSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
+  <SpdHeader>\r
+    <PackageName>FatPkg</PackageName>\r
+    <GuidValue>8EA68A2C-99CB-4332-85C6-DD5864EAA674</GuidValue>\r
+    <Version>1.0</Version>\r
+    <Abstract>Edk FAT Package</Abstract>\r
+    <Description>FAT 32 Driver</Description>\r
+    <Copyright>Copyright (c) 2006,  Intel Corporation.</Copyright>\r
+    <License>Redistribution and use in source and binary forms, with or without
+      modification, are permitted provided that the following conditions are
+      met:
+
+           Redistributions of source code must retain the above copyright
+           notice, this list of conditions and the following disclaimer.
+
+           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.
+
+           Neither the name of Intel 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 COPYRIGHT HOLDERS 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 COPYRIGHT
+      OWNER 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.
+
+      Additional terms: In addition to the forgoing, redistribution and use
+      of the code is conditioned upon the FAT 32 File System Driver and all
+      derivative works thereof being used for and designed only to read
+      and/or write to a file system that is directly managed by an
+      Extensible Firmware Interface (EFI) implementation or by an emulator
+      of an EFI implementation.</License>\r
+    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
+  </SpdHeader>\r
+  <PackageDefinitions>\r
+    <ReadOnly>false</ReadOnly>\r
+    <RePackage>false</RePackage>\r
+  </PackageDefinitions>\r
+  <MsaFiles>\r
+    <Filename>EnhancedFatDxe/Fat.msa</Filename>\r
+  </MsaFiles>\r
+  <GuidDeclarations>\r
+    <Entry Name="Fat Package Token space Guid" GuidTypeList="TOKEN_SPACE_GUID">\r
+      <C_Name>gEfiFatPkgTokenSpaceGuid</C_Name>\r
+      <GuidValue>c8e92dba-1d92-411f-ae0a-1dbed8f13299</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+  </GuidDeclarations>\r
+  <PcdDeclarations>\r
+    <PcdEntry>\r
+      <C_Name>PcdUnicodeCollationSupport</C_Name>\r
+      <Token>0x00010001</Token>\r
+      <TokenSpaceGuidCName>gEfiFatPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>Support Unicode Collation</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdUnicodeCollationSupport2</C_Name>\r
+      <Token>0x00010002</Token>\r
+      <TokenSpaceGuidCName>gFatPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>Support Unicode Collation 2.</HelpText>\r
+    </PcdEntry>\r
+  </PcdDeclarations>\r
+</PackageSurfaceArea>
\ No newline at end of file