]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/boot/dtc-src/srcpos.h
powerpc: Update in-kernel dtc and libfdt to version 1.2.0
[linux-2.6-omap-h63xx.git] / arch / powerpc / boot / dtc-src / srcpos.h
index ce7ab5ba5b4659ab90426f62ed7a2182187ca805..e17c7c04db8ea4c17d4dfc94e7082b6eb9f296cb 100644 (file)
  * array of all opened filenames.
  */
 
+#include <stdio.h>
+
+struct dtc_file {
+       char *dir;
+       const char *name;
+       FILE *file;
+};
+
 #if ! defined(YYLTYPE) && ! defined(YYLTYPE_IS_DECLARED)
 typedef struct YYLTYPE {
     int first_line;
     int first_column;
     int last_line;
     int last_column;
-    int filenum;
+    struct dtc_file *file;
 } YYLTYPE;
 
 #define YYLTYPE_IS_DECLARED    1
@@ -48,7 +56,7 @@ typedef struct YYLTYPE {
          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
-         (Current).filenum      = YYRHSLOC (Rhs, N).filenum;           \
+         (Current).file         = YYRHSLOC (Rhs, N).file;              \
        }                                                               \
       else                                                             \
        {                                                               \
@@ -56,20 +64,22 @@ typedef struct YYLTYPE {
            YYRHSLOC (Rhs, 0).last_line;                                \
          (Current).first_column = (Current).last_column =              \
            YYRHSLOC (Rhs, 0).last_column;                              \
-         (Current).filenum      = YYRHSLOC (Rhs, 0).filenum;           \
+         (Current).file         = YYRHSLOC (Rhs, 0).file;              \
        }                                                               \
     while (YYID (0))
 
 
 
 extern void yyerror(char const *);
+extern void yyerrorf(char const *, ...) __attribute__((format(printf, 1, 2)));
 
-extern int srcpos_filenum;
+extern struct dtc_file *srcpos_file;
 
-extern int push_input_file(const char *filename);
-extern int pop_input_file(void);
+struct search_path {
+       const char *dir; /* NULL for current directory */
+       struct search_path *prev, *next;
+};
 
-extern FILE *dtc_open_file(const char *fname);
-extern int lookup_file_name(const char *fname, int add_it);
-extern const char *srcpos_filename_for_num(int filenum);
-const char *srcpos_get_filename(void);
+extern struct dtc_file *dtc_open_file(const char *fname,
+                                      const struct search_path *search);
+extern void dtc_close_file(struct dtc_file *file);