Lines Matching defs:mlp
37 static void switch_on_type(struct mlist *mlp, struct tdesc *tdp,
40 static void print_intrinsic(struct mlist *mlp, struct tdesc *tdp,
42 static void print_forward(struct mlist *mlp, struct tdesc *tdp,
44 static void print_pointer(struct mlist *mlp, struct tdesc *tdp,
46 static void print_array(struct mlist *mlp, struct tdesc *tdp,
48 static void print_function(struct mlist *mlp, struct tdesc *tdp,
50 static void print_union(struct mlist *mlp, struct tdesc *tdp,
52 static void print_enum(struct mlist *mlp, struct tdesc *tdp,
54 static void print_forward(struct mlist *mlp, struct tdesc *tdp,
56 static void print_typeof(struct mlist *mlp, struct tdesc *tdp,
58 static void print_struct(struct mlist *mlp, struct tdesc *tdp,
60 static void print_volatile(struct mlist *mlp, struct tdesc *tdp,
71 struct mlist *mlp;
85 for (mlp = tdp->data.members.back; mlp != NULL; mlp = mlp->prev) {
90 if (mlp->name == NULL)
92 chp = find_child(np, mlp->name);
98 if (mlp->fdesc == NULL)
100 switch_on_type(mlp, mlp->fdesc, format, 0);
122 switch_on_type(struct mlist *mlp, struct tdesc *tdp, char *format, int level)
126 print_intrinsic(mlp, tdp, format, level);
129 print_pointer(mlp, tdp, format, level);
132 print_array(mlp, tdp, format, level);
135 print_function(mlp, tdp, format, level);
138 print_union(mlp, tdp, format, level);
141 print_enum(mlp, tdp, format, level);
144 print_forward(mlp, tdp, format, level);
147 print_typeof(mlp, tdp, format, level);
150 print_struct(mlp, tdp, format, level);
153 print_volatile(mlp, tdp, format, level);
163 print_forward(struct mlist *mlp, struct tdesc *tdp, char *format, int level)
165 fprintf(stderr, "%s never defined\n", mlp->name);
170 print_typeof(struct mlist *mlp, struct tdesc *tdp, char *format, int level)
172 switch_on_type(mlp, tdp->data.tdesc, format, level);
176 print_volatile(struct mlist *mlp, struct tdesc *tdp, char *format, int level)
178 switch_on_type(mlp, tdp->data.tdesc, format, level);
182 print_intrinsic(struct mlist *mlp, struct tdesc *tdp, char *format, int level)
204 } else if (mlp->size != 0 &&
205 ((mlp->size % 8) != 0 || (mlp->offset % mlp->size) != 0)) {
208 offset = (mlp->offset / 32) * 4;
209 shift = 32 - ((mlp->offset % 32) + mlp->size);
210 mask = ((int)pow(2, mlp->size) - 1) << shift;
212 format, shift, mask, offset, mlp->name);
213 } else if (mlp->name != NULL) {
217 format, mlp->offset / 8, mlp->name);
221 format, mlp->offset / 8, mlp->name);
225 format, mlp->offset / 8, mlp->name);
229 format, mlp->offset / 8, mlp->name);
236 print_pointer(struct mlist *mlp, struct tdesc *tdp, char *format, int level)
256 format, mlp->offset / 8, mlp->name);
261 print_array(struct mlist *mlp, struct tdesc *tdp, char *format, int level)
270 inc = (mlp->size / items) / 8;
271 limit = mlp->size / 8;
272 switch_on_type(mlp, ap->contents, format, level + 1);
273 printf(" %x %x %x array-field", limit, inc, mlp->offset / 8);
274 printf(" %s\n", mlp->name);
279 print_function(struct mlist *mlp, struct tdesc *tdp, char *format, int level)
286 print_struct(struct mlist *mlp, struct tdesc *tdp, char *format, int level)
293 format, mlp->offset / 8, mlp->name);
298 print_union(struct mlist *mlp, struct tdesc *tdp, char *format, int level)
305 format, mlp->offset / 8, mlp->name);
310 print_enum(struct mlist *mlp, struct tdesc *tdp, char *format, int level)
318 format, mlp->offset / 8, mlp->name);