Lines Matching refs:elt

268 	struct pnp_elt *elt;  in parse_pnp_list()  local
318 elt = malloc(sizeof(struct pnp_elt) + strlen(key) + 1); in parse_pnp_list()
319 TAILQ_INSERT_TAIL(list, elt, next); in parse_pnp_list()
320 elt->pe_key = (char *)(elt + 1); in parse_pnp_list()
321 elt->pe_offset = off; in parse_pnp_list()
323 elt->pe_kind = TYPE_U8; in parse_pnp_list()
325 elt->pe_kind = TYPE_V8; in parse_pnp_list()
327 elt->pe_kind = TYPE_G16; in parse_pnp_list()
329 elt->pe_kind = TYPE_L16; in parse_pnp_list()
331 elt->pe_kind = TYPE_M16; in parse_pnp_list()
333 elt->pe_kind = TYPE_U16; in parse_pnp_list()
335 elt->pe_kind = TYPE_V16; in parse_pnp_list()
337 elt->pe_kind = TYPE_U32; in parse_pnp_list()
339 elt->pe_kind = TYPE_V32; in parse_pnp_list()
341 elt->pe_kind = TYPE_W32; in parse_pnp_list()
343 elt->pe_kind = TYPE_D; in parse_pnp_list()
345 elt->pe_kind = TYPE_Z; in parse_pnp_list()
347 elt->pe_kind = TYPE_P; in parse_pnp_list()
349 elt->pe_kind = TYPE_E; in parse_pnp_list()
351 elt->pe_kind = TYPE_T; in parse_pnp_list()
359 if (elt->pe_kind & TYPE_INT) { in parse_pnp_list()
360 elt->pe_offset = roundup2(elt->pe_offset, elt->pe_kind & TYPE_SZ_MASK); in parse_pnp_list()
361 off = elt->pe_offset + (elt->pe_kind & TYPE_SZ_MASK); in parse_pnp_list()
362 } else if (elt->pe_kind == TYPE_E) { in parse_pnp_list()
364 elt->pe_offset = roundup2(elt->pe_offset, sizeof(uint32_t)); in parse_pnp_list()
365 off = elt->pe_offset + sizeof(uint32_t); in parse_pnp_list()
366 } else if (elt->pe_kind == TYPE_T) { in parse_pnp_list()
368 off = elt->pe_offset; in parse_pnp_list()
370 elt->pe_offset = roundup2(elt->pe_offset, elf_pointer_size(ef)); in parse_pnp_list()
371 off = elt->pe_offset + elf_pointer_size(ef); in parse_pnp_list()
373 if (elt->pe_kind & TYPE_PAIRED) { in parse_pnp_list()
378 newtype = elt->pe_kind & TYPE_FLAGGED ? 'J' : 'I'; in parse_pnp_list()
385 if (elt->pe_kind & TYPE_FLAGGED) in parse_pnp_list()
387 else if (elt->pe_kind & TYPE_GE) in parse_pnp_list()
389 else if (elt->pe_kind & TYPE_LE) in parse_pnp_list()
391 else if (elt->pe_kind & TYPE_MASK) in parse_pnp_list()
393 else if (elt->pe_kind & TYPE_INT) in parse_pnp_list()
395 else if (elt->pe_kind == TYPE_D) in parse_pnp_list()
397 else if (elt->pe_kind == TYPE_Z || elt->pe_kind == TYPE_E) in parse_pnp_list()
399 else if (elt->pe_kind == TYPE_T) in parse_pnp_list()
402 errx(1, "Impossible type %x\n", elt->pe_kind); in parse_pnp_list()
420 struct pnp_elt *elt, *elt_tmp; in free_pnp_list() local
422 TAILQ_FOREACH_SAFE(elt, list, next, elt_tmp) { in free_pnp_list()
423 TAILQ_REMOVE(list, elt, next); in free_pnp_list()
424 free(elt); in free_pnp_list()
448 parse_pnp_entry(struct elf_file *ef, struct pnp_elt *elt, const char *walker) in parse_pnp_entry() argument
456 if (elt->pe_kind == TYPE_W32) { in parse_pnp_entry()
457 v4 = parse_32(walker + elt->pe_offset); in parse_pnp_entry()
466 } else if (elt->pe_kind & TYPE_INT) { in parse_pnp_entry()
467 switch (elt->pe_kind & TYPE_SZ_MASK) { in parse_pnp_entry()
469 memcpy(&v1, walker + elt->pe_offset, sizeof(v1)); in parse_pnp_entry()
470 if ((elt->pe_kind & TYPE_FLAGGED) && v1 == 0xff) in parse_pnp_entry()
476 v2 = parse_16(walker + elt->pe_offset); in parse_pnp_entry()
477 if ((elt->pe_kind & TYPE_FLAGGED) && v2 == 0xffff) in parse_pnp_entry()
483 v4 = parse_32(walker + elt->pe_offset); in parse_pnp_entry()
484 if ((elt->pe_kind & TYPE_FLAGGED) && v4 == 0xffffffff) in parse_pnp_entry()
490 errx(1, "Invalid size somehow %#x", elt->pe_kind); in parse_pnp_entry()
495 } else if (elt->pe_kind == TYPE_T) { in parse_pnp_entry()
498 if (elt->pe_kind == TYPE_E) { in parse_pnp_entry()
499 v4 = parse_32(walker + elt->pe_offset); in parse_pnp_entry()
505 elt->pe_offset); in parse_pnp_entry()
514 printf("%c:%s;", elt->pe_kind == TYPE_E ? 'E' : in parse_pnp_entry()
515 (elt->pe_kind == TYPE_Z ? 'Z' : 'D'), buffer); in parse_pnp_entry()
525 struct pnp_elt *elt; in record_pnp_info() local
557 TAILQ_FOREACH(elt, &list, next) { in record_pnp_info()
558 parse_pnp_entry(ef, elt, walker); in record_pnp_info()