Lines Matching refs:fdef

431 def_file_free (def_file *fdef)
435 if (!fdef)
437 free (fdef->name);
438 free (fdef->description);
440 if (fdef->section_defs)
442 for (i = 0; i < fdef->num_section_defs; i++)
444 free (fdef->section_defs[i].name);
445 free (fdef->section_defs[i].class);
447 free (fdef->section_defs);
450 if (fdef->exports)
452 for (i = 0; i < fdef->num_exports; i++)
454 if (fdef->exports[i].internal_name != fdef->exports[i].name)
455 free (fdef->exports[i].internal_name);
456 free (fdef->exports[i].name);
457 free (fdef->exports[i].its_name);
459 free (fdef->exports);
462 if (fdef->imports)
464 for (i = 0; i < fdef->num_imports; i++)
466 if (fdef->imports[i].internal_name != fdef->imports[i].name)
467 free (fdef->imports[i].internal_name);
468 free (fdef->imports[i].name);
469 free (fdef->imports[i].its_name);
471 free (fdef->imports);
474 while (fdef->modules)
476 def_file_module *m = fdef->modules;
478 fdef->modules = fdef->modules->next;
482 while (fdef->aligncomms)
484 def_file_aligncomm *c = fdef->aligncomms;
486 fdef->aligncomms = fdef->aligncomms->next;
491 free (fdef);
496 def_file_print (FILE *file, def_file *fdef)
500 fprintf (file, ">>>> def_file at 0x%08x\n", fdef);
501 if (fdef->name)
502 fprintf (file, " name: %s\n", fdef->name ? fdef->name : "(unspecified)");
503 if (fdef->is_dll != -1)
504 fprintf (file, " is dll: %s\n", fdef->is_dll ? "yes" : "no");
505 if (fdef->base_address != (bfd_vma) -1)
508 fprintf_vma (file, fdef->base_address);
511 if (fdef->description)
512 fprintf (file, " description: `%s'\n", fdef->description);
513 if (fdef->stack_reserve != -1)
514 fprintf (file, " stack reserve: 0x%08x\n", fdef->stack_reserve);
515 if (fdef->stack_commit != -1)
516 fprintf (file, " stack commit: 0x%08x\n", fdef->stack_commit);
517 if (fdef->heap_reserve != -1)
518 fprintf (file, " heap reserve: 0x%08x\n", fdef->heap_reserve);
519 if (fdef->heap_commit != -1)
520 fprintf (file, " heap commit: 0x%08x\n", fdef->heap_commit);
522 if (fdef->num_section_defs > 0)
526 for (i = 0; i < fdef->num_section_defs; i++)
529 fdef->section_defs[i].name, fdef->section_defs[i].class);
530 if (fdef->section_defs[i].flag_read)
532 if (fdef->section_defs[i].flag_write)
534 if (fdef->section_defs[i].flag_execute)
536 if (fdef->section_defs[i].flag_shared)
542 if (fdef->num_exports > 0)
546 for (i = 0; i < fdef->num_exports; i++)
549 fdef->exports[i].name, fdef->exports[i].internal_name,
550 fdef->exports[i].ordinal);
551 if (fdef->exports[i].flag_private)
553 if (fdef->exports[i].flag_constant)
555 if (fdef->exports[i].flag_noname)
557 if (fdef->exports[i].flag_data)
563 if (fdef->num_imports > 0)
567 for (i = 0; i < fdef->num_imports; i++)
570 fdef->imports[i].internal_name,
571 fdef->imports[i].module,
572 fdef->imports[i].name,
573 fdef->imports[i].ordinal);
577 if (fdef->version_major != -1)
578 fprintf (file, " version: %d.%d\n", fdef->version_major, fdef->version_minor);
580 fprintf (file, "<<<< def_file at 0x%08x\n", fdef);
666 def_file_add_export (def_file *fdef,
675 int max_exports = ROUND_UP(fdef->num_exports, 32);
684 pos = find_export_in_list (fdef->exports, fdef->num_exports,
689 return (fdef->exports + pos);
691 if (fdef->num_exports >= max_exports)
693 max_exports = ROUND_UP(fdef->num_exports + 1, 32);
694 if (fdef->exports)
695 fdef->exports = xrealloc (fdef->exports,
698 fdef->exports = xmalloc (max_exports * sizeof (def_file_export));
701 e = fdef->exports + pos;
702 if (pos != fdef->num_exports)
703 memmove (&e[1], e, (sizeof (def_file_export) * (fdef->num_exports - pos)));
709 fdef->num_exports++;
714 def_get_module (def_file *fdef, const char *name)
718 for (s = fdef->modules; s; s = s->next)
726 def_stash_module (def_file *fdef, const char *name)
730 if ((s = def_get_module (fdef, name)) != NULL)
733 s->next = fdef->modules;
734 fdef->modules = s;
831 def_file_add_import (def_file *fdef,
841 int max_imports = ROUND_UP (fdef->num_imports, 16);
845 pos = find_import_in_list (fdef->imports, fdef->num_imports,
850 return fdef->imports + pos;
852 if (fdef->num_imports >= max_imports)
854 max_imports = ROUND_UP (fdef->num_imports+1, 16);
856 if (fdef->imports)
857 fdef->imports = xrealloc (fdef->imports,
860 fdef->imports = xmalloc (max_imports * sizeof (def_file_import));
862 i = fdef->imports + pos;
863 if (pos != fdef->num_imports)
864 memmove (i + 1, i, sizeof (def_file_import) * (fdef->num_imports - pos));
866 fill_in_import (i, name, def_stash_module (fdef, module), ordinal,
868 fdef->num_imports++;
874 def_file_add_import_from (def_file *fdef,
885 int max_imports = ROUND_UP (fdef->num_imports, 16);
889 pos = find_import_in_list (fdef->imports, fdef->num_imports,
894 if (fdef->imports && pos != fdef->num_imports)
896 i = fdef->imports + pos;
901 if (fdef->num_imports + num_imports - 1 >= max_imports)
903 max_imports = ROUND_UP (fdef->num_imports + num_imports, 16);
905 if (fdef->imports)
906 fdef->imports = xrealloc (fdef->imports,
909 fdef->imports = xmalloc (max_imports * sizeof (def_file_import));
911 i = fdef->imports + pos;
912 if (pos != fdef->num_imports)
914 sizeof (def_file_import) * (fdef->num_imports - pos));
920 def_file_add_import_at (def_file *fdef,
928 def_file_import *i = fdef->imports + pos;
930 fill_in_import (i, name, def_stash_module (fdef, module), ordinal,
932 fdef->num_imports++;