linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / scripts / genksyms / genksyms.h
index 2668287..f09af47 100644 (file)
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
+
 #ifndef MODUTILS_GENKSYMS_H
 #define MODUTILS_GENKSYMS_H 1
 
 #include <stdio.h>
 
-enum symbol_type {
-       SYM_NORMAL, SYM_TYPEDEF, SYM_ENUM, SYM_STRUCT, SYM_UNION
+
+enum symbol_type
+{
+  SYM_NORMAL, SYM_TYPEDEF, SYM_ENUM, SYM_STRUCT, SYM_UNION
 };
 
-struct string_list {
-       struct string_list *next;
-       enum symbol_type tag;
-       char *string;
+struct string_list
+{
+  struct string_list *next;
+  enum symbol_type tag;
+  char *string;
 };
 
-struct symbol {
-       struct symbol *hash_next;
-       const char *name;
-       enum symbol_type type;
-       struct string_list *defn;
-       struct symbol *expansion_trail;
-       struct symbol *visited;
-       int is_extern;
+struct symbol
+{
+  struct symbol *hash_next;
+  const char *name;
+  enum symbol_type type;
+  struct string_list *defn;
+  struct symbol *expansion_trail;
+  int is_extern;
 };
 
 typedef struct string_list **yystype;
 #define YYSTYPE yystype
 
+extern FILE *outfile, *debugfile;
+
 extern int cur_line;
-extern char *cur_filename;
+extern char *cur_filename, *output_directory;
+
+extern int flag_debug, flag_dump_defs, flag_warnings;
+extern int checksum_version, kernel_version;
+
+extern int want_brace_phrase, want_exp_phrase, discard_phrase_contents;
+extern struct string_list *current_list, *next_list;
+
 
 struct symbol *find_symbol(const char *name, enum symbol_type ns);
 struct symbol *add_symbol(const char *name, enum symbol_type type,
-                         struct string_list *defn, int is_extern);
+                          struct string_list *defn, int is_extern);
 void export_symbol(const char *);
 
-void free_node(struct string_list *list);
+struct string_list *reset_list(void);
 void free_list(struct string_list *s, struct string_list *e);
+void free_node(struct string_list *list);
 struct string_list *copy_node(struct string_list *);
+struct string_list *copy_list(struct string_list *s, struct string_list *e);
+int equal_list(struct string_list *a, struct string_list *b);
+void print_list(FILE *, struct string_list *list);
 
 int yylex(void);
 int yyparse(void);
 
 void error_with_pos(const char *, ...);
 
+#define version(a,b,c)  ((a << 16) | (b << 8) | (c))
+
 /*----------------------------------------------------------------------*/
+
+#define MODUTILS_VERSION "<in-kernel>"
+
 #define xmalloc(size) ({ void *__ptr = malloc(size);           \
        if(!__ptr && size != 0) {                               \
                fprintf(stderr, "out of memory\n");             \
@@ -79,4 +101,4 @@ void error_with_pos(const char *, ...);
        }                                                       \
        __str; })
 
-#endif                         /* genksyms.h */
+#endif /* genksyms.h */