summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/compiler/aslfiles.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/acpica/compiler/aslfiles.c')
-rw-r--r--sys/contrib/dev/acpica/compiler/aslfiles.c218
1 files changed, 126 insertions, 92 deletions
diff --git a/sys/contrib/dev/acpica/compiler/aslfiles.c b/sys/contrib/dev/acpica/compiler/aslfiles.c
index a8a7f05..7fd26f8 100644
--- a/sys/contrib/dev/acpica/compiler/aslfiles.c
+++ b/sys/contrib/dev/acpica/compiler/aslfiles.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslfiles - file I/O suppoert
- * $Revision: 47 $
+ * $Revision: 1.52 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2005, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -115,12 +115,31 @@
*
*****************************************************************************/
-#include "aslcompiler.h"
-#include "acapps.h"
+#include <contrib/dev/acpica/compiler/aslcompiler.h>
+#include <contrib/dev/acpica/acapps.h>
#define _COMPONENT ACPI_COMPILER
ACPI_MODULE_NAME ("aslfiles")
+/* Local prototypes */
+
+static void
+FlOpenFile (
+ UINT32 FileId,
+ char *Filename,
+ char *Mode);
+
+static FILE *
+FlOpenLocalFile (
+ char *LocalName,
+ char *Mode);
+
+#ifdef ACPI_OBSOLETE_FUNCTIONS
+ACPI_STATUS
+FlParseInputPathname (
+ char *InputFilename);
+#endif
+
/*******************************************************************************
*
@@ -136,7 +155,8 @@
******************************************************************************/
void
-AslAbort (void)
+AslAbort (
+ void)
{
AePrintErrorLog (ASL_FILE_STDOUT);
@@ -147,7 +167,7 @@ AslAbort (void)
AePrintErrorLog (ASL_FILE_STDERR);
}
- exit (0);
+ exit (1);
}
@@ -165,7 +185,7 @@ AslAbort (void)
*
******************************************************************************/
-FILE *
+static FILE *
FlOpenLocalFile (
char *LocalName,
char *Mode)
@@ -199,7 +219,8 @@ FlFileError (
UINT8 ErrorId)
{
- sprintf (MsgBuffer, "\"%s\" (%s)", Gbl_Files[FileId].Filename, strerror (errno));
+ sprintf (MsgBuffer, "\"%s\" (%s)", Gbl_Files[FileId].Filename,
+ strerror (errno));
AslCommonError (ASL_ERROR, ErrorId, 0, 0, 0, 0, NULL, MsgBuffer);
}
@@ -212,14 +233,14 @@ FlFileError (
* Filename - file pathname to open
* Mode - Open mode for fopen
*
- * RETURN: File descriptor
+ * RETURN: None
*
* DESCRIPTION: Open a file.
* NOTE: Aborts compiler on any error.
*
******************************************************************************/
-void
+static void
FlOpenFile (
UINT32 FileId,
char *Filename,
@@ -293,7 +314,7 @@ FlReadFile (
* Buffer - Data to write
* Length - Amount of data to write
*
- * RETURN: Status
+ * RETURN: None
*
* DESCRIPTION: Write data to an open file.
* NOTE: Aborts compiler on any error.
@@ -363,7 +384,7 @@ FlPrintFile (
* PARAMETERS: FileId - Index into file info array
* Offset - Absolute byte offset in file
*
- * RETURN: Status
+ * RETURN: None
*
* DESCRIPTION: Seek to absolute offset
* NOTE: Aborts compiler on any error.
@@ -393,7 +414,7 @@ FlSeekFile (
*
* PARAMETERS: FileId - Index into file info array
*
- * RETURN: Status
+ * RETURN: None
*
* DESCRIPTION: Close an open file. Aborts compiler on error
*
@@ -487,7 +508,8 @@ FlOpenIncludeFile (
/* Prepend the directory pathname and open the include file */
- DbgPrint (ASL_PARSE_OUTPUT, "\nOpen include file: path %s\n\n", Op->Asl.Value.String);
+ DbgPrint (ASL_PARSE_OUTPUT, "\nOpen include file: path %s\n\n",
+ Op->Asl.Value.String);
IncFile = FlOpenLocalFile (Op->Asl.Value.String, "r");
if (!IncFile)
{
@@ -504,72 +526,6 @@ FlOpenIncludeFile (
/*******************************************************************************
*
- * FUNCTION: FlParseInputPathname
- *
- * PARAMETERS: InputFilename - The user-specified ASL source file to be
- * compiled
- *
- * RETURN: Status
- *
- * DESCRIPTION: Split the input path into a directory and filename part
- * 1) Directory part used to open include files
- * 2) Filename part used to generate output filenames
- *
- ******************************************************************************/
-
-ACPI_STATUS
-FlParseInputPathname (
- char *InputFilename)
-{
- char *Substring;
-
-
- if (!InputFilename)
- {
- return (AE_OK);
- }
-
- /* Get the path to the input filename's directory */
-
- Gbl_DirectoryPath = strdup (InputFilename);
- if (!Gbl_DirectoryPath)
- {
- return (AE_NO_MEMORY);
- }
-
- Substring = strrchr (Gbl_DirectoryPath, '\\');
- if (!Substring)
- {
- Substring = strrchr (Gbl_DirectoryPath, '/');
- if (!Substring)
- {
- Substring = strrchr (Gbl_DirectoryPath, ':');
- }
- }
-
- if (!Substring)
- {
- Gbl_DirectoryPath[0] = 0;
- if (Gbl_UseDefaultAmlFilename)
- {
- Gbl_OutputFilenamePrefix = strdup (InputFilename);
- }
- }
- else
- {
- if (Gbl_UseDefaultAmlFilename)
- {
- Gbl_OutputFilenamePrefix = strdup (Substring + 1);
- }
- *(Substring+1) = 0;
- }
-
- return (AE_OK);
-}
-
-
-/*******************************************************************************
- *
* FUNCTION: FlOpenInputFile
*
* PARAMETERS: InputFilename - The user-specified ASL source file to be
@@ -588,7 +544,6 @@ FlOpenInputFile (
char *InputFilename)
{
-
/* Open the input ASL file, text mode */
FlOpenFile (ASL_FILE_INPUT, InputFilename, "r");
@@ -628,7 +583,8 @@ FlOpenAmlOutputFile (
Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_AML_CODE);
if (!Filename)
{
- AslCommonError (ASL_ERROR, ASL_MSG_OUTPUT_FILENAME, 0, 0, 0, 0, NULL, NULL);
+ AslCommonError (ASL_ERROR, ASL_MSG_OUTPUT_FILENAME,
+ 0, 0, 0, 0, NULL, NULL);
return (AE_ERROR);
}
}
@@ -665,7 +621,8 @@ FlOpenMiscOutputFiles (
Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_SOURCE);
if (!Filename)
{
- AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME, 0, 0, 0, 0, NULL, NULL);
+ AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME,
+ 0, 0, 0, 0, NULL, NULL);
return (AE_ERROR);
}
@@ -683,7 +640,8 @@ FlOpenMiscOutputFiles (
Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_LISTING);
if (!Filename)
{
- AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME, 0, 0, 0, 0, NULL, NULL);
+ AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME,
+ 0, 0, 0, 0, NULL, NULL);
return (AE_ERROR);
}
@@ -702,7 +660,8 @@ FlOpenMiscOutputFiles (
Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_ASM_SOURCE);
if (!Filename)
{
- AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME, 0, 0, 0, 0, NULL, NULL);
+ AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME,
+ 0, 0, 0, 0, NULL, NULL);
return (AE_ERROR);
}
@@ -721,7 +680,8 @@ FlOpenMiscOutputFiles (
Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_C_SOURCE);
if (!Filename)
{
- AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME, 0, 0, 0, 0, NULL, NULL);
+ AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME,
+ 0, 0, 0, 0, NULL, NULL);
return (AE_ERROR);
}
@@ -741,7 +701,8 @@ FlOpenMiscOutputFiles (
Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_ASM_INCLUDE);
if (!Filename)
{
- AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME, 0, 0, 0, 0, NULL, NULL);
+ AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME,
+ 0, 0, 0, 0, NULL, NULL);
return (AE_ERROR);
}
@@ -760,7 +721,8 @@ FlOpenMiscOutputFiles (
Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_C_INCLUDE);
if (!Filename)
{
- AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME, 0, 0, 0, 0, NULL, NULL);
+ AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME,
+ 0, 0, 0, 0, NULL, NULL);
return (AE_ERROR);
}
@@ -780,7 +742,8 @@ FlOpenMiscOutputFiles (
Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_HEX_DUMP);
if (!Filename)
{
- AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME, 0, 0, 0, 0, NULL, NULL);
+ AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME,
+ 0, 0, 0, 0, NULL, NULL);
return (AE_ERROR);
}
@@ -799,7 +762,8 @@ FlOpenMiscOutputFiles (
Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_NAMESPACE);
if (!Filename)
{
- AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME, 0, 0, 0, 0, NULL, NULL);
+ AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME,
+ 0, 0, 0, 0, NULL, NULL);
return (AE_ERROR);
}
@@ -818,7 +782,8 @@ FlOpenMiscOutputFiles (
Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_DEBUG);
if (!Filename)
{
- AslCommonError (ASL_ERROR, ASL_MSG_DEBUG_FILENAME, 0, 0, 0, 0, NULL, NULL);
+ AslCommonError (ASL_ERROR, ASL_MSG_DEBUG_FILENAME,
+ 0, 0, 0, 0, NULL, NULL);
return (AE_ERROR);
}
@@ -827,7 +792,8 @@ FlOpenMiscOutputFiles (
/* TBD: hide this behind a FlReopenFile function */
Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Filename = Filename;
- Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle = freopen (Filename, "w+t", stderr);
+ Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle =
+ freopen (Filename, "w+t", stderr);
AslCompilerSignon (ASL_FILE_DEBUG_OUTPUT);
AslCompilerFileHeader (ASL_FILE_DEBUG_OUTPUT);
@@ -837,3 +803,71 @@ FlOpenMiscOutputFiles (
}
+#ifdef ACPI_OBSOLETE_FUNCTIONS
+/*******************************************************************************
+ *
+ * FUNCTION: FlParseInputPathname
+ *
+ * PARAMETERS: InputFilename - The user-specified ASL source file to be
+ * compiled
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Split the input path into a directory and filename part
+ * 1) Directory part used to open include files
+ * 2) Filename part used to generate output filenames
+ *
+ ******************************************************************************/
+
+ACPI_STATUS
+FlParseInputPathname (
+ char *InputFilename)
+{
+ char *Substring;
+
+
+ if (!InputFilename)
+ {
+ return (AE_OK);
+ }
+
+ /* Get the path to the input filename's directory */
+
+ Gbl_DirectoryPath = strdup (InputFilename);
+ if (!Gbl_DirectoryPath)
+ {
+ return (AE_NO_MEMORY);
+ }
+
+ Substring = strrchr (Gbl_DirectoryPath, '\\');
+ if (!Substring)
+ {
+ Substring = strrchr (Gbl_DirectoryPath, '/');
+ if (!Substring)
+ {
+ Substring = strrchr (Gbl_DirectoryPath, ':');
+ }
+ }
+
+ if (!Substring)
+ {
+ Gbl_DirectoryPath[0] = 0;
+ if (Gbl_UseDefaultAmlFilename)
+ {
+ Gbl_OutputFilenamePrefix = strdup (InputFilename);
+ }
+ }
+ else
+ {
+ if (Gbl_UseDefaultAmlFilename)
+ {
+ Gbl_OutputFilenamePrefix = strdup (Substring + 1);
+ }
+ *(Substring+1) = 0;
+ }
+
+ return (AE_OK);
+}
+#endif
+
+
OpenPOWER on IntegriCloud