Blame


1 98cd2746 2004-04-19 devnull typedef struct Type Type;
2 98cd2746 2004-04-19 devnull typedef struct Typeref Typeref;
3 98cd2746 2004-04-19 devnull typedef struct TypeList TypeList;
4 87a478a3 2004-04-21 devnull typedef struct Sym Sym;
5 98cd2746 2004-04-19 devnull
6 98cd2746 2004-04-19 devnull enum
7 98cd2746 2004-04-19 devnull {
8 98cd2746 2004-04-19 devnull None,
9 98cd2746 2004-04-19 devnull Base,
10 98cd2746 2004-04-19 devnull Enum,
11 98cd2746 2004-04-19 devnull Aggr,
12 fa325e9b 2020-01-10 cross Function,
13 98cd2746 2004-04-19 devnull Pointer,
14 98cd2746 2004-04-19 devnull Array,
15 98cd2746 2004-04-19 devnull Range,
16 98cd2746 2004-04-19 devnull Defer,
17 cbeb0b26 2006-04-01 devnull Typedef
18 98cd2746 2004-04-19 devnull };
19 98cd2746 2004-04-19 devnull
20 98cd2746 2004-04-19 devnull struct Type
21 98cd2746 2004-04-19 devnull { /* Font Tab 4 */
22 98cd2746 2004-04-19 devnull uint ty; /* None, Struct, ... */
23 e63027eb 2004-10-22 devnull vlong lo; /* for range */
24 e63027eb 2004-10-22 devnull char sue;
25 e63027eb 2004-10-22 devnull vlong hi;
26 98cd2746 2004-04-19 devnull uint gen;
27 e63027eb 2004-10-22 devnull uint n1; /* type number (impl dependent) */
28 e63027eb 2004-10-22 devnull uint n2; /* another type number */
29 98cd2746 2004-04-19 devnull char *name; /* name of type */
30 98cd2746 2004-04-19 devnull char *suename; /* name of struct, union, enumeration */
31 98cd2746 2004-04-19 devnull uint isunion; /* is this Struct a union? */
32 98cd2746 2004-04-19 devnull uint printfmt; /* describes base type */
33 98cd2746 2004-04-19 devnull uint xsizeof; /* size of type */
34 98cd2746 2004-04-19 devnull Type *sub; /* subtype */
35 98cd2746 2004-04-19 devnull uint n; /* count for t, tname, val */
36 e63027eb 2004-10-22 devnull Type **t; /* members of sue, params of function */
37 98cd2746 2004-04-19 devnull char **tname; /* associated names */
38 98cd2746 2004-04-19 devnull long *val; /* associated offsets or values */
39 98cd2746 2004-04-19 devnull uint didtypedef; /* internal flag */
40 e63027eb 2004-10-22 devnull uint didrange; /* internal flag */
41 e63027eb 2004-10-22 devnull uint printed; /* internal flag */
42 e63027eb 2004-10-22 devnull Type *equiv; /* internal */
43 98cd2746 2004-04-19 devnull };
44 98cd2746 2004-04-19 devnull
45 98cd2746 2004-04-19 devnull struct TypeList
46 98cd2746 2004-04-19 devnull {
47 98cd2746 2004-04-19 devnull Type *hd;
48 98cd2746 2004-04-19 devnull TypeList *tl;
49 98cd2746 2004-04-19 devnull };
50 98cd2746 2004-04-19 devnull
51 87a478a3 2004-04-21 devnull struct Sym
52 87a478a3 2004-04-21 devnull {
53 87a478a3 2004-04-21 devnull char *fn;
54 87a478a3 2004-04-21 devnull char *name;
55 87a478a3 2004-04-21 devnull Type *type;
56 87a478a3 2004-04-21 devnull Sym *next;
57 87a478a3 2004-04-21 devnull };
58 87a478a3 2004-04-21 devnull
59 98cd2746 2004-04-19 devnull void *erealloc(void*, uint);
60 98cd2746 2004-04-19 devnull void *emalloc(uint);
61 98cd2746 2004-04-19 devnull char *estrdup(char*);
62 98cd2746 2004-04-19 devnull void warn(char*, ...);
63 98cd2746 2004-04-19 devnull
64 98cd2746 2004-04-19 devnull Type *typebynum(uint n1, uint n2);
65 98cd2746 2004-04-19 devnull Type *typebysue(char, char*);
66 98cd2746 2004-04-19 devnull void printtypes(Biobuf*);
67 98cd2746 2004-04-19 devnull void renumber(TypeList*, uint);
68 98cd2746 2004-04-19 devnull void denumber(void);
69 98cd2746 2004-04-19 devnull TypeList *mktl(Type*, TypeList*);
70 98cd2746 2004-04-19 devnull
71 98cd2746 2004-04-19 devnull struct Dwarf;
72 98cd2746 2004-04-19 devnull struct Stab;
73 98cd2746 2004-04-19 devnull int dwarf2acid(struct Dwarf*, Biobuf*);
74 98cd2746 2004-04-19 devnull int stabs2acid(struct Stab*, Biobuf*);
75 98cd2746 2004-04-19 devnull
76 98cd2746 2004-04-19 devnull Type *newtype(void);
77 733e9d39 2004-04-21 devnull Type *defer(Type*);
78 98cd2746 2004-04-19 devnull char *nameof(Type*, int);
79 98cd2746 2004-04-19 devnull void freetypes(void);
80 98cd2746 2004-04-19 devnull
81 98cd2746 2004-04-19 devnull extern char *prefix;
82 d58b36f9 2005-11-28 devnull extern int verbose;
83 d58b36f9 2005-11-28 devnull
84 98cd2746 2004-04-19 devnull char *fixname(char*);
85 d58b36f9 2005-11-28 devnull char *cleanstl(char*);
86 87a478a3 2004-04-21 devnull
87 87a478a3 2004-04-21 devnull void addsymx(char*, char*, Type*);
88 87a478a3 2004-04-21 devnull void dumpsyms(Biobuf*);
89 87a478a3 2004-04-21 devnull
90 e3de25fe 2005-11-29 devnull int Bfmt(Fmt*);
91 87a478a3 2004-04-21 devnull
92 e3de25fe 2005-11-29 devnull #ifdef VARARGCK
93 e3de25fe 2005-11-29 devnull #pragma varargck type "B" char*
94 e3de25fe 2005-11-29 devnull #endif