UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
syms_parser.c
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#ifndef SYMS_PARSER_C
4#define SYMS_PARSER_C
5
7//~ NOTE(allen): General File Analysis
8
12
13 // easy to recognize
14 if (result->format == SYMS_FileFormat_Null){
15 result = (SYMS_FileAccel*)syms_pe_file_accel_from_data(arena, data);
16 }
17 if (result->format == SYMS_FileFormat_Null){
18 result = (SYMS_FileAccel*)syms_pdb_file_accel_from_data(arena, data);
19 }
20 if (result->format == SYMS_FileFormat_Null){
21 result = (SYMS_FileAccel*)syms_elf_file_accel_from_data(arena, data);
22 }
23 if (result->format == SYMS_FileFormat_Null){
24 result = (SYMS_FileAccel*)syms_mach_file_accel_from_data(arena, data);
25 }
26
28 return(result);
29}
30
33 SYMS_FileFormat result = accel->format;
34 return(result);
35}
36
38//~ NOTE(allen): Bin File
39
42 SYMS_B32 result = syms_false;
43 switch (file->format){
46 {
47 result = syms_true;
48 }break;
49
51 {
52 result = syms_mach_file_is_bin(&file->mach_accel);
53 }break;
54 }
56 return(result);
57}
58
61 SYMS_ProfBegin("syms_bin_accel_from_file");
63 switch (file->format){
65 {
66 result = (SYMS_BinAccel*)syms_pe_bin_accel_from_file(arena, data, &file->pe_accel);
67 }break;
68
70 {
71 result = (SYMS_BinAccel*)syms_elf_bin_accel_from_file(arena, data, &file->elf_accel);
72 }break;
73
75 {
76 result = (SYMS_BinAccel*)syms_mach_bin_accel_from_file(arena, data, &file->mach_accel);
77 }break;
78 }
81 return(result);
82}
83
84// arch
87 SYMS_ProfBegin("syms_arch_from_bin");
89 switch (bin->format){
91 {
92 result = syms_pe_arch_from_bin(&bin->pe_accel);
93 }break;
94
96 {
97 result = syms_elf_arch_from_bin(&bin->elf_accel);
98 }break;
99
101 {
102 result = syms_mach_arch_from_bin(&bin->mach_accel);
103 }break;
104 }
106 SYMS_ProfEnd();
107 return(result);
108}
109
110// external info
113 SYMS_ProfBegin("syms_ext_file_list_from_bin");
114 SYMS_ExtFileList result = {0};
115 switch (accel->format){
117 {
118 result = syms_pe_ext_file_list_from_bin(arena, data, &accel->pe_accel);
119 }break;
120
122 {
123 result = syms_elf_ext_file_list_from_bin(arena, data, &accel->elf_accel);
124 }break;
125 }
127 SYMS_ProfEnd();
128 return(result);
129}
130
131// binary sections
134 SYMS_ProfBegin("syms_sec_info_array_from_bin");
135 SYMS_SecInfoArray result = {0};
136 switch (bin->format){
138 {
139 result = syms_pe_sec_info_array_from_bin(arena, data, &bin->pe_accel);
140 }break;
141
143 {
144 result = syms_elf_sec_info_array_from_bin(arena, data, &bin->elf_accel);
145 }break;
146
148 {
149 result = syms_mach_sec_info_array_from_bin(arena, data, &bin->mach_accel);
150 }break;
151 }
153 SYMS_ProfEnd();
154 return(result);
155}
156
157
158// default vbase
161 SYMS_ProfBegin("syms_default_vbase_from_bin");
162 SYMS_U64 result = 0;
163 switch (bin->format){
165 {
166 // this always has value 0
167 }break;
168
170 {
172 }break;
173
175 {
176 // TODO(allen): ?
177 }break;
178 }
180 SYMS_ProfEnd();
181 return(result);
182}
183
184// entry point
187 SYMS_ProfBegin("syms_entry_point_voff_from_bin");
188 SYMS_U64 result = 0;
189 switch (bin->format){
191 {
193 }break;
194
196 {
198 }break;
199
201 {
202 // TODO(allen): ?
203 }break;
204 }
206 SYMS_ProfEnd();
207 return(result);
208}
209
210// imports & exports
213 SYMS_ProfBegin("syms_imports_from_bin");
214 SYMS_ImportArray result = {0};
215 switch (bin->format){
217 {
218 result = syms_pe_imports_from_bin(arena, data, &bin->pe_accel);
219 }break;
220
222 {
223 result = syms_elf_imports_from_bin(arena, data, &bin->elf_accel);
224 }break;
225
227 {
228 result = syms_mach_imports_from_bin(arena, data, &bin->mach_accel);
229 }break;
230 }
232 SYMS_ProfEnd();
233 return(result);
234}
235
238 SYMS_ProfBegin("syms_exports_from_bin");
239 SYMS_ExportArray result = {0};
240 switch (bin->format){
242 {
243 result = syms_pe_exports_from_bin(arena, data, &bin->pe_accel);
244 }break;
245
247 {
248 result = syms_elf_exports_from_bin(arena, data, &bin->elf_accel);
249 }break;
250
252 {
253 result = syms_mach_exports_from_bin(arena, data, &bin->mach_accel);
254 }break;
255 }
257 SYMS_ProfEnd();
258 return(result);
259}
260
261
263//~ NOTE(nick): Bin List
264
267 SYMS_B32 result = syms_false;
268 switch (file->format){
270 {
272 }break;
273 }
274 return(result);
275}
276
279 SYMS_ProfBegin("syms_bin_list_from_file");
281 switch (file->format){
283 {
285 }break;
286 }
288 SYMS_ProfEnd();
289 return(result);
290}
291
294 SYMS_ProfBegin("syms_bin_info_array_from_bin_list");
295 SYMS_BinInfoArray result; syms_memzero_struct(&result);
296 switch (list->format){
298 {
300 }break;
301 }
303 SYMS_ProfEnd();
304 return(result);
305}
306
309 SYMS_ProfBegin("syms_bin_accel_from_bin_list_number");
311 switch (list->format){
313 {
314 result = (SYMS_BinAccel*)syms_mach_bin_accel_from_bin_list_number(arena, data, &list->mach_accel, n);
315 }break;
316 }
318 SYMS_ProfEnd();
319 return(result);
320}
321
323//~ NOTE(rjf): Dbg File
324
327 SYMS_ProfBegin("syms_file_is_dbg");
328 SYMS_B32 result = syms_false;
329 switch(accel->format){
331 {
332 result = syms_true;
333 }break;
334 }
336 SYMS_ProfEnd();
337 return(result);
338}
339
342 SYMS_ProfBegin("syms_dbg_accel_from_file");
344 switch(accel->format){
346 {
347 result = (SYMS_DbgAccel*)syms_pdb_dbg_accel_from_file(arena, data, &accel->pdb_accel);
348 }break;
349 }
351 SYMS_ProfEnd();
352 return(result);
353}
354
357 SYMS_ProfBegin("syms_bin_is_dbg");
358 SYMS_B32 result = syms_false;
359 switch(bin->format){
361 {
363 }break;
365 {
367 }break;
368 }
370 SYMS_ProfEnd();
371 return(result);
372}
373
376 SYMS_ProfBegin("syms_dbg_accel_from_bin");
378 switch(bin->format){
380 {
381 result = (SYMS_DbgAccel*)syms_dw_dbg_accel_from_elf_bin(arena, data, &bin->elf_accel);
382 }break;
383
385 {
386 result = (SYMS_DbgAccel*)syms_dw_dbg_accel_from_mach_bin(arena, data, &bin->mach_accel);
387 }break;
388 }
390 SYMS_ProfEnd();
391 return(result);
392}
393
394// arch
397 SYMS_ProfBegin("syms_arch_from_dbg");
398 SYMS_Arch result = SYMS_Arch_Null;
399 switch (dbg->format){
401 {
402 result = syms_pdb_arch_from_dbg(&dbg->pdb_accel);
403 }break;
404
406 {
407 result = ((SYMS_DwDbgAccel *)dbg)->arch;
408 }break;
409 }
411 SYMS_ProfEnd();
412 return(result);
413}
414
415// external info
418 SYMS_ProfBegin("syms_ext_file_list_from_dbg");
419 SYMS_ExtFileList result = {0};
420 switch (dbg->format){
422 {
423 // PDB has no external files, do nothing.
424 }break;
425
427 {
428 result = syms_dw_ext_file_list_from_dbg(arena, data, &dbg->dw_accel);
429 }break;
430 }
432 SYMS_ProfEnd();
433 return(result);
434}
435
436// match key
439 SYMS_ProfBegin("syms_ext_match_key_from_dbg");
440 SYMS_ExtMatchKey result = {0};
441 switch (dbg->format){
443 {
444 result = syms_pdb_ext_match_key_from_dbg(data, &dbg->pdb_accel);
445 }break;
446
448 {
449 result = syms_dw_ext_match_key_from_dbg(data, &dbg->dw_accel);
450 }break;
451 }
453 SYMS_ProfEnd();
454 return(result);
455}
456
457// binary secs
460 SYMS_ProfBegin("syms_sec_info_array_from_bin");
461 SYMS_SecInfoArray result = {0};
462 switch (dbg->format){
464 {
465 result = syms_pdb_sec_info_array_from_dbg(arena, data, &dbg->pdb_accel);
466 }break;
467
469 {
470 result = syms_dw_sec_info_array_from_dbg(arena, data, &dbg->dw_accel);
471 }break;
472 }
474 SYMS_ProfEnd();
475 return(result);
476}
477
478// default vbase
481 SYMS_ProfBegin("syms_sec_info_array_from_bin");
482 SYMS_U64 result = 0;
483 switch (dbg->format){
485 {
486 // always has value 0
487 }break;
488
490 {
492 }break;
493 }
495 SYMS_ProfEnd();
496 return(result);
497}
498
499
500// compilation units
503 SYMS_ProfBegin("syms_unit_set_accel_from_dbg");
505 switch (accel->format){
507 {
508 result = (SYMS_UnitSetAccel*)syms_pdb_unit_set_accel_from_dbg(arena, data, &accel->pdb_accel);
509 }break;
510
512 {
513 result = (SYMS_UnitSetAccel*)syms_dw_unit_set_accel_from_dbg(arena, data, &accel->dw_accel);
514 }break;
515 }
517 SYMS_ProfEnd();
518 return(result);
519}
520
523 SYMS_ProfBegin("syms_unit_count_from_set");
524 SYMS_U64 result = 0;
525 switch (accel->format){
527 {
528 result = syms_pdb_unit_count_from_set(&accel->pdb_accel);
529 }break;
530
532 {
533 result = syms_dw_unit_count_from_set(&accel->dw_accel);
534 }break;
535 }
537 SYMS_ProfEnd();
538 return(result);
539}
540
543 SYMS_ProfBegin("syms_unit_info_from_uid");
544 SYMS_UnitInfo result = {0};
545 switch (unit_set->format){
547 {
548 result = syms_pdb_unit_info_from_uid(&unit_set->pdb_accel, uid);
549 }break;
550
552 {
553 result = syms_dw_unit_info_from_uid(&unit_set->dw_accel, uid);
554 }break;
555 }
557 SYMS_ProfEnd();
558 return(result);
559}
560
563 SYMS_ProfBegin("syms_unit_names_from_uid");
564 SYMS_UnitNames result = {0};
565 switch (unit_set->format){
567 {
568 result = syms_pdb_unit_names_from_uid(arena, &unit_set->pdb_accel, uid);
569 }break;
570
572 {
573 result = syms_dw_unit_names_from_uid(arena, &unit_set->dw_accel, uid);
574 }break;
575 }
577 SYMS_ProfEnd();
578 return(result);
579}
580
583 SYMS_ProfBegin("syms_unit_ranges_from_set");
584 SYMS_UnitRangeArray result = {0};
585 switch (unit_set->format){
587 {
588 result = syms_pdb_unit_ranges_from_set(arena, data, &dbg->pdb_accel, &unit_set->pdb_accel);
589 }break;
590
592 {
593 result = syms_dw_unit_ranges_from_set(arena, data, &dbg->dw_accel, &unit_set->dw_accel);
594 }break;
595 }
599 SYMS_ProfEnd();
600 return(result);
601}
602
605 SYMS_ProfBegin("syms_uid_collated_types_from_set");
606 SYMS_UnitID result = 0;
607 switch (unit_set->format){
609 {
610 result = SYMS_PdbPseudoUnit_TPI;
611 }break;
613 {
614 result = 0;
615 }break;
616 }
618 SYMS_ProfEnd();
619 return(result);
620}
621
624 SYMS_ProfBegin("syms_uid_collated_public_symbols_from_set");
625 SYMS_UnitID result = 0;
626 switch (unit_set->format){
628 {
629 result = SYMS_PdbPseudoUnit_SYM;
630 }break;
632 {
633 result = 0;
634 }break;
635 }
637 SYMS_ProfEnd();
638 return(result);
639}
640
641// symbol parsing
644 SYMS_UnitSetAccel *unit_set, SYMS_UnitID uid){
645 SYMS_ProfBegin("syms_unit_accel_from_uid");
647 if (unit_set->format == dbg->format){
648 switch (unit_set->format){
650 {
651 result =
652 (SYMS_UnitAccel*)syms_pdb_unit_accel_from_uid(arena, data, &dbg->pdb_accel, &unit_set->pdb_accel,
653 uid);
654 }break;
655
657 {
658 result = (SYMS_UnitAccel*)syms_dw_unit_accel_from_uid(arena, data, &dbg->dw_accel,
659 &unit_set->dw_accel, uid);
660 }break;
661 }
662 }
664 SYMS_ProfEnd();
665 return(result);
666}
667
670 SYMS_ProfBegin("syms_uid_from_unit");
671 SYMS_UnitID result = 0;
672 switch (unit->format){
674 {
675 result = syms_cv_uid_from_accel(&unit->cv_accel);
676 }break;
677
679 {
680 result = syms_dw_uid_from_accel(&unit->dw_accel);
681 }break;
682 }
684 SYMS_ProfEnd();
685 return(result);
686}
687
690 SYMS_ProfBegin("syms_proc_sid_array_from_unit");
691 SYMS_SymbolIDArray result = {0};
692 switch (unit->format){
694 {
695 result = syms_cv_proc_sid_array_from_unit(arena, &unit->cv_accel);
696 }break;
697
699 {
700 result = syms_dw_proc_sid_array_from_unit(arena, &unit->dw_accel);
701 }break;
702 }
704 SYMS_ProfEnd();
705 return(result);
706}
707
710 SYMS_ProfBegin("syms_var_sid_array_from_unit");
711 SYMS_SymbolIDArray result = {0};
712 switch (unit->format){
714 {
715 result = syms_cv_var_sid_array_from_unit(arena, &unit->cv_accel);
716 }break;
717
719 {
720 result = syms_dw_var_sid_array_from_unit(arena, &unit->dw_accel);
721 }break;
722 }
724 SYMS_ProfEnd();
725 return(result);
726}
727
730 SYMS_ProfBegin("syms_type_sid_array_from_unit");
731 SYMS_SymbolIDArray result = {0};
732 switch (unit->format){
734 {
735 result = syms_cv_type_sid_array_from_unit(arena, &unit->cv_accel);
736 }break;
737
739 {
740 result = syms_dw_type_sid_array_from_unit(arena, &unit->dw_accel);
741 }break;
742 }
744 SYMS_ProfEnd();
745 return(result);
746}
747
750 SYMS_ProfBegin("syms_symbol_kind_from_sid");
752 if (unit->format == dbg->format){
753 switch (unit->format){
755 {
756 result = syms_pdb_symbol_kind_from_sid(data, &dbg->pdb_accel, &unit->cv_accel, sid);
757 }break;
758
760 {
761 result = syms_dw_symbol_kind_from_sid(data, &dbg->dw_accel, &unit->dw_accel, sid);
762 }break;
763 }
764 }
766 SYMS_ProfEnd();
767 return(result);
768}
769
772 SYMS_UnitAccel *unit, SYMS_SymbolID sid){
773 SYMS_ProfBegin("syms_symbol_kind_from_sid");
774 SYMS_String8 result = {0};
775 if (unit->format == dbg->format){
776 switch (unit->format){
778 {
779 result = syms_cv_symbol_name_from_sid(arena, &unit->cv_accel, sid);
780 }break;
781
783 {
784 result = syms_dw_symbol_name_from_sid(arena, data, &dbg->dw_accel, &unit->dw_accel, sid);
785 }break;
786 }
787 }
789 SYMS_ProfEnd();
790 return(result);
791}
792
795 SYMS_ProfBegin("syms_type_info_from_sid");
797 if (unit->format == dbg->format){
798 switch (unit->format){
800 {
801 result = syms_pdb_type_info_from_sid(data, &dbg->pdb_accel, &unit->cv_accel, id);
802 }break;
803
805 {
806 result = syms_dw_type_info_from_sid(data, &dbg->dw_accel, &unit->dw_accel, id);
807 }break;
808 }
809 }
811 SYMS_ProfEnd();
812 return(result);
813}
814
817 SYMS_ProfBegin("syms_const_info_from_sid");
819 if (unit->format == dbg->format){
820 switch (unit->format){
822 {
823 result = syms_pdb_const_info_from_id(data, &dbg->pdb_accel, &unit->cv_accel, id);
824 }break;
825
827 {
828 result = syms_dw_const_info_from_sid(data, &dbg->dw_accel, &unit->dw_accel, id);
829 }break;
830 }
831 }
833 SYMS_ProfEnd();
834 return(result);
835}
836
837// variable info
838
841 SYMS_ProfBegin("syms_type_from_var_sid");
842 SYMS_USID result = {0};
843 if (unit->format == dbg->format){
844 switch (unit->format){
846 {
847 result = syms_pdb_type_from_var_id(data, &dbg->pdb_accel, &unit->cv_accel, id);
848 }break;
849
851 {
852 result = syms_dw_type_from_var_sid(data, &dbg->dw_accel, &unit->dw_accel, id);
853 }break;
854 }
855 }
857 SYMS_ProfEnd();
858 return(result);
859}
860
863 SYMS_ProfBegin("syms_voff_from_var_sid");
864 SYMS_U64 result = 0;
865 if (unit->format == dbg->format){
866 switch (unit->format){
868 {
869 result = syms_pdb_voff_from_var_sid(data, &dbg->pdb_accel, &unit->cv_accel, id);
870 }break;
871
873 {
874 result = syms_dw_voff_from_var_sid(data, &dbg->dw_accel, &unit->dw_accel, id);
875 }break;
876 }
877 }
879 SYMS_ProfEnd();
880 return(result);
881}
882
885 SYMS_UnitAccel *unit, SYMS_SymbolID sid){
886 SYMS_ProfBegin("syms_location_from_var_sid");
887 SYMS_Location result = {0};
888 if (unit->format == dbg->format){
889 switch (unit->format){
891 {
892 result = syms_pdb_location_from_var_sid(arena, data, &dbg->pdb_accel, &unit->cv_accel, sid);
893 }break;
894
896 {
897 result = syms_dw_location_from_var_sid(arena, data, &dbg->dw_accel, &unit->dw_accel, sid);
898 }break;
899 }
900 }
902 SYMS_ProfEnd();
903 return(result);
904}
905
908 SYMS_UnitAccel *unit, SYMS_SymbolID sid){
909 SYMS_ProfBegin("syms_location_ranges_from_var_sid");
910 SYMS_LocRangeArray result = {0};
911 if (unit->format == dbg->format){
912 switch (unit->format){
914 {
915 result = syms_pdb_location_ranges_from_var_sid(arena, data, &dbg->pdb_accel,
916 &unit->cv_accel, sid);
917 }break;
918
920 {
921 result = syms_dw_location_ranges_from_var_sid(arena, data, &dbg->dw_accel, &unit->dw_accel, sid);
922 }break;
923 }
924 }
926 SYMS_ProfEnd();
927 return(result);
928}
929
932 SYMS_UnitAccel *unit, SYMS_LocID loc_id){
933 SYMS_ProfBegin("syms_location_from_id");
934 SYMS_Location result = {0};
935 if (unit->format == dbg->format){
936 switch (unit->format){
938 {
939 result = syms_pdb_location_from_id(arena, data, &dbg->pdb_accel, &unit->cv_accel, loc_id);
940 }break;
941
943 {
944 result = syms_dw_location_from_id(arena, data, &dbg->dw_accel, &unit->dw_accel, loc_id);
945 }break;
946 }
947 }
949 SYMS_ProfEnd();
950 return(result);
951}
952
953
954// member info
955
958 SYMS_UnitAccel *unit, SYMS_SymbolID id){
959 SYMS_ProfBegin("syms_mems_accel_from_sid");
961 if (dbg->format == unit->format){
962 switch (unit->format){
964 {
965 result = (SYMS_MemsAccel*)syms_pdb_mems_accel_from_sid(arena, data, &dbg->pdb_accel, &unit->cv_accel, id);
966 }break;
967
969 {
970 result = (SYMS_MemsAccel *)syms_dw_mems_accel_from_sid(arena, data, &dbg->dw_accel, &unit->dw_accel, id);
971 }break;
972 }
973 }
975 SYMS_ProfEnd();
976 return(result);
977}
978
981 SYMS_ProfBegin("syms_mem_count_from_mems");
982 SYMS_U64 result = 0;
983 switch (mems->format){
985 {
986 result = syms_pdb_mem_count_from_mems(&mems->cv_accel);
987 }break;
988
990 {
991 result = syms_dw_mem_count_from_mems(&mems->dw_accel);
992 }break;
993 }
995 SYMS_ProfEnd();
996 return(result);
997}
998
1001 SYMS_UnitAccel *unit, SYMS_MemsAccel *mems, SYMS_U64 n){
1002 SYMS_ProfBegin("syms_mem_info_from_number");
1004 if (dbg->format == unit->format && unit->format == mems->format){
1005 switch (mems->format){
1007 {
1008 result = syms_pdb_mem_info_from_number(arena, data, &dbg->pdb_accel, &unit->cv_accel, &mems->cv_accel, n);
1009 }break;
1010
1012 {
1013 result = syms_dw_mem_info_from_number(arena, data, &dbg->dw_accel, &unit->dw_accel, &mems->dw_accel, n);
1014 }break;
1015 }
1016 }
1018 SYMS_ProfEnd();
1019 return(result);
1020}
1021
1024 SYMS_MemsAccel *mems, SYMS_U64 n){
1025 SYMS_ProfBegin("syms_type_from_mem_number");
1026 SYMS_USID result = {0};
1027 if (dbg->format == unit->format && unit->format == mems->format){
1028 switch (mems->format){
1030 {
1031 result = syms_pdb_type_from_mem_number(data, &dbg->pdb_accel, &unit->cv_accel, &mems->cv_accel, n);
1032 }break;
1033
1035 {
1036 result = syms_dw_type_from_mem_number(data, &dbg->dw_accel, &unit->dw_accel, &mems->dw_accel, n);
1037 }break;
1038 }
1039 }
1041 SYMS_ProfEnd();
1042 return(result);
1043}
1044
1047 SYMS_UnitAccel *unit, SYMS_MemsAccel *mems, SYMS_U64 n){
1048 SYMS_ProfBegin("syms_sig_info_from_mem_number");
1049 SYMS_SigInfo result = {0};
1050 if (dbg->format == unit->format && unit->format == mems->format){
1051 switch (mems->format){
1053 {
1054 result = syms_pdb_sig_info_from_mem_number(arena, data, &dbg->pdb_accel, &unit->cv_accel,
1055 &mems->cv_accel, n);
1056 }break;
1057
1059 {
1060 result = syms_dw_sig_info_from_mem_number(arena, data, &dbg->dw_accel, &unit->dw_accel, &mems->dw_accel, n);
1061 }break;
1062 }
1063 }
1065 SYMS_ProfEnd();
1066 return(result);
1067}
1068
1071 SYMS_U64 n){
1072 SYMS_ProfBegin("syms_symbol_from_mem_number");
1073 SYMS_USID result = {0};
1074 if (dbg->format == unit->format && unit->format == mems->format){
1075 switch (mems->format){
1077 {
1078 // NOTE(allen): not available in PDB
1079 }break;
1080
1082 {
1083 result = syms_dw_symbol_from_mem_number(data, &dbg->dw_accel, &unit->dw_accel, &mems->dw_accel, n);
1084 }break;
1085 }
1086 }
1088 SYMS_ProfEnd();
1089 return(result);
1090}
1091
1094 SYMS_ProfBegin("syms_containing_type_from_sid");
1095 SYMS_USID result = {0};
1096 if(dbg->format == unit->format){
1097 switch(unit->format){
1099 {
1100 // NOTE(rjf): not available in PDB
1101 }break;
1102
1104 {
1105 result = syms_dw_containing_type_from_sid(data, &dbg->dw_accel, &unit->dw_accel, sid);
1106 }break;
1107 }
1108 }
1110 SYMS_ProfEnd();
1111 return(result);
1112}
1113
1116 SYMS_ProfBegin("syms_linkage_name_from_sid");
1117 SYMS_String8 result = {0};
1118 if(dbg->format == unit->format){
1119 switch(unit->format){
1121 {
1122 // NOTE(rjf): not available in PDB
1123 }break;
1124
1126 {
1127 result = syms_dw_linkage_name_from_sid(arena, data, &dbg->dw_accel, &unit->dw_accel, sid);
1128 }break;
1129 }
1130 }
1132 SYMS_ProfEnd();
1133 return result;
1134}
1135
1138 SYMS_UnitAccel *unit, SYMS_SymbolID sid){
1139 SYMS_ProfBegin("syms_enum_member_array_from_sid");
1140 SYMS_EnumMemberArray result = {0};
1141 if (dbg->format == unit->format){
1142 switch (unit->format){
1144 {
1145 result = syms_pdb_enum_member_array_from_sid(arena, data, &dbg->pdb_accel, &unit->cv_accel, sid);
1146 }break;
1147
1149 {
1150 result = syms_dw_enum_member_array_from_sid(arena, data, &dbg->dw_accel, &unit->dw_accel, sid);
1151 }break;
1152 }
1153 }
1155 SYMS_ProfEnd();
1156 return(result);
1157}
1158
1159// symbol info
1160
1163 SYMS_ProfBegin("syms_sig_handle_from_proc_sid");
1164 SYMS_UnitIDAndSig result = {0};
1165 if (unit->format == dbg->format){
1166 switch (unit->format){
1168 {
1169 result = syms_pdb_proc_sig_handle_from_id(data, &dbg->pdb_accel, &unit->cv_accel, sid);
1170 }break;
1171
1173 {
1174 result = syms_dw_proc_sig_handle_from_sid(data, &dbg->dw_accel, &unit->dw_accel, sid);
1175 }break;
1176 }
1177 }
1179 SYMS_ProfEnd();
1180 return(result);
1181}
1182
1186 SYMS_ProfBegin("syms_sig_info_from_handle");
1187 SYMS_SigInfo result = {0};
1188 if (unit->format == dbg->format){
1189 switch (unit->format){
1191 {
1192 result = syms_pdb_sig_info_from_handle(arena, data, &dbg->pdb_accel, &unit->cv_accel, handle);
1193 }break;
1194
1196 {
1197 result = syms_dw_sig_info_from_handle(arena, data, &dbg->dw_accel, &unit->dw_accel, handle);
1198 }break;
1199 }
1200 }
1202 SYMS_ProfEnd();
1203 return(result);
1204}
1205
1208 SYMS_UnitAccel *unit, SYMS_SymbolID id){
1209 SYMS_ProfBegin("syms_scope_vranges_from_sid");
1210 SYMS_U64RangeArray result = {0};
1211 if (unit->format == dbg->format){
1212 switch (unit->format){
1214 {
1215 result = syms_pdb_scope_vranges_from_sid(arena, data, &dbg->pdb_accel, &unit->cv_accel, id);
1216 }break;
1217
1219 {
1220 result = syms_dw_scope_vranges_from_sid(arena, data, &dbg->dw_accel, &unit->dw_accel, id);
1221 }break;
1222 }
1223 }
1225 SYMS_ProfEnd();
1226 return(result);
1227}
1228
1231 SYMS_UnitAccel *unit, SYMS_SymbolID sid){
1232 SYMS_ProfBegin("syms_scope_children_from_sid");
1233 SYMS_SymbolIDArray result = {0};
1234 if (unit->format == dbg->format){
1235 switch (unit->format){
1237 {
1238 result = syms_pdb_scope_children_from_sid(arena, data, &dbg->pdb_accel, &unit->cv_accel, sid);
1239 }break;
1240
1242 {
1243 result = syms_dw_scope_children_from_sid(arena, data, &dbg->dw_accel, &unit->dw_accel, sid);
1244 }break;
1245 }
1246 }
1248 SYMS_ProfEnd();
1249 return(result);
1250}
1251
1255 SYMS_ProfBegin("syms_location_from_proc_sid");
1256 SYMS_Location result = {0};
1257 if (unit->format == dbg->format){
1258 switch (unit->format){
1260 {
1261 // do nothing
1262 }break;
1263
1265 {
1266 result = syms_dw_location_from_proc_sid(arena, data, &dbg->dw_accel, &unit->dw_accel, sid, proc_loc);
1267 }break;
1268 }
1269 }
1271 SYMS_ProfEnd();
1272 return(result);
1273}
1274
1278 SYMS_ProfBegin("syms_location_ranges_from_proc_sid");
1279 SYMS_LocRangeArray result = {0};
1280 if (unit->format == dbg->format){
1281 switch (unit->format){
1283 {
1284 // do nothing
1285 }break;
1286
1288 {
1289 result = syms_dw_location_ranges_from_proc_sid(arena, data, &dbg->dw_accel, &unit->dw_accel, sid, proc_loc);
1290 }break;
1291 }
1292 }
1294 SYMS_ProfEnd();
1295 return(result);
1296}
1297
1298// signature info
1301 SYMS_UnitAccel *unit, SYMS_SymbolID sid){
1302 SYMS_ProfBegin("syms_sig_info_from_type_sid");
1303 SYMS_SigInfo result = {0};
1304 if (unit->format == dbg->format){
1305 switch (unit->format){
1307 {
1308 result = syms_pdb_sig_info_from_id(arena, data, &dbg->pdb_accel, &unit->cv_accel, sid);
1309 }break;
1310
1312 {
1313 result = syms_dw_sig_info_from_sid(arena, data, &dbg->dw_accel, &unit->dw_accel, sid);
1314 }break;
1315 }
1316 }
1318 SYMS_ProfEnd();
1319 return(result);
1320}
1321
1322// line info
1325 SYMS_UnitID uid, SYMS_FileID file_id){
1326 SYMS_ProfBegin("syms_file_name_from_id");
1327 SYMS_String8 result = {0};
1328 if (unit_set->format == dbg->format){
1329 switch (unit_set->format){
1331 {
1332 result = syms_pdb_file_name_from_id(arena, data, &dbg->pdb_accel, &unit_set->pdb_accel, uid, file_id);
1333 }break;
1334
1336 {
1337 result = syms_dw_file_name_from_id(arena, &unit_set->dw_accel, uid, file_id);
1338 }break;
1339 }
1340 }
1342 SYMS_ProfEnd();
1343 return(result);
1344}
1345
1348 SYMS_UnitSetAccel *unit_set, SYMS_UnitID uid)
1349{
1350 SYMS_ProfBegin("syms_file_table_from_uid");
1351 SYMS_String8Array result = {0};
1352 if(unit_set->format == dbg->format){
1353 switch (unit_set->format){
1355 {
1356 result = syms_dw_file_table_from_uid(arena, data, &dbg->dw_accel, &unit_set->dw_accel, uid);
1357 }break;
1358 }
1359 }
1361 SYMS_ProfEnd();
1362 return(result);
1363}
1364
1367 SYMS_UnitSetAccel *unit_set, SYMS_UnitID uid){
1368 SYMS_ProfBegin("syms_line_parse_from_uid");
1369 SYMS_LineParseOut result = {0};
1370 if (dbg->format == unit_set->format){
1371 switch (unit_set->format){
1373 {
1374 result = syms_pdb_line_parse_from_uid(arena, data, &dbg->pdb_accel, &unit_set->pdb_accel, uid);
1375 }break;
1376
1378 {
1379 result = syms_dw_line_parse_from_uid(arena, data, &dbg->dw_accel, &unit_set->dw_accel, uid);
1380 }break;
1381 }
1382 }
1386 SYMS_ProfEnd();
1387 return(result);
1388}
1389
1390// name maps
1393 SYMS_ProfBegin("syms_type_map_from_dbg");
1395 switch (dbg->format){
1397 {
1398 result = (SYMS_MapAccel*)syms_pdb_type_map_from_dbg(arena, data, &dbg->pdb_accel);
1399 }break;
1400
1402 {
1403 result = (SYMS_MapAccel*)syms_dw_type_map_from_dbg(arena, data, &dbg->dw_accel);
1404 }break;
1405 }
1407 SYMS_ProfEnd();
1408 return(result);
1409}
1410
1413 SYMS_ProfBegin("syms_unmangled_symbol_map_from_dbg");
1415 switch (dbg->format){
1417 {
1418 result = (SYMS_MapAccel*)syms_pdb_unmangled_symbol_map_from_dbg(arena, data, &dbg->pdb_accel);
1419 }break;
1420
1422 {
1423 result = (SYMS_MapAccel*)syms_dw_image_symbol_map_from_dbg(arena, data, &dbg->dw_accel);
1424 }break;
1425 }
1427 SYMS_ProfEnd();
1428 return(result);
1429}
1430
1433 SYMS_ProfBegin("syms_partner_uid_from_map");
1434 SYMS_UnitID result = 0;
1435 switch (map->format){
1437 {
1439 }break;
1440
1442 {
1443 // NOTE(allen): do nothing
1444 }break;
1445 }
1447 SYMS_ProfEnd();
1448 return(result);
1449}
1450
1454 SYMS_ProfBegin("syms_usid_list_from_string");
1455 SYMS_USIDList result = {0};
1456 if (map_and_unit->map->format == dbg->format){
1457 switch (dbg->format){
1459 {
1460 result = syms_pdb_usid_list_from_string(arena, data, &dbg->pdb_accel,
1461 &map_and_unit->unit->cv_accel,
1462 &map_and_unit->map->pdb_accel,
1463 string);
1464 }break;
1465
1467 {
1468 result = syms_dw_usid_list_from_string(arena, &map_and_unit->map->dw_accel, string);
1469 }break;
1470 }
1471 }
1473 SYMS_ProfEnd();
1474 return(result);
1475}
1476
1477// mangled names (linker names)
1478
1481 SYMS_UnitID result = 0;
1482 switch (dbg->format){
1484 {
1485 result = syms_pdb_link_names_uid();
1486 }break;
1487
1489 {
1490 // NOTE(allen): do nothing
1491 }break;
1492 }
1493 return(result);
1494}
1495
1498 SYMS_ProfBegin("syms_link_map_is_complete");
1499 SYMS_B32 result = syms_false;
1500 switch (map->format){
1502 {
1503 result = syms_true;
1504 }break;
1506 {
1507 result = syms_false;
1508 }break;
1509 }
1510 SYMS_ProfEnd();
1511 return(result);
1512}
1513
1516 SYMS_ProfBegin("syms_link_map_from_dbg");
1518 switch (dbg->format){
1520 {
1521 result = (SYMS_LinkMapAccel*)syms_pdb_link_map_from_dbg(arena, data, (SYMS_PdbDbgAccel*)dbg);
1522 }break;
1523
1525 {
1526 // TODO(allen):
1527 }break;
1528 }
1529 SYMS_ProfEnd();
1530 return(result);
1531}
1532
1536 SYMS_ProfBegin("syms_voff_from_link_name");
1537 SYMS_U64 result = 0;
1538 if (dbg->format == map->format){
1539 switch (dbg->format){
1541 {
1543 (SYMS_CvUnitAccel*)link_unit, name);
1544 }break;
1545
1547 {
1548 // TODO(allen):
1549 }break;
1550 }
1551 }
1552 SYMS_ProfEnd();
1553 return(result);
1554}
1555
1558 SYMS_ProfBegin("syms_link_name_array_from_unit");
1559 SYMS_LinkNameRecArray result = {0};
1560 if (dbg->format == unit->format){
1561 switch (dbg->format){
1563 {
1564 result = syms_pdb_link_name_array_from_unit(arena, data, (SYMS_PdbDbgAccel*)dbg, (SYMS_CvUnitAccel*)unit);
1565 }break;
1566
1568 {
1569 // TODO(allen):
1570 }break;
1571 }
1572 }
1573 SYMS_ProfEnd();
1574 return(result);
1575}
1576
1577// thread vars
1578
1581 SYMS_UnitID result = 0;
1582 switch (dbg->format){
1584 {
1586 }break;
1587 }
1588 return(result);
1589}
1590
1593 SYMS_ProfBegin("syms_tls_var_sid_array_from_unit");
1594 SYMS_SymbolIDArray result = {0};
1595 switch (unit->format){
1597 {
1598 result = syms_pdb_tls_var_sid_array_from_unit(arena, &unit->cv_accel);
1599 }break;
1600
1602 {
1603 // TODO(nick): TLS support on dwarf
1604 }break;
1605 }
1607 SYMS_ProfEnd();
1608 return(result);
1609}
1610
1611#endif //SYMS_PARSER_C
OODEFFUNC typedef const char * file
Definition oodle2.h:678
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition syms_debug_info.h:31
Definition syms_debug_info.h:300
Definition syms_cv_helpers.h:104
Definition syms_dwarf_parser.h:94
Definition syms_debug_info.h:346
Definition syms_debug_info.h:69
Definition syms_debug_info.h:119
Definition syms_debug_info.h:105
Definition syms_debug_info.h:64
Definition syms_debug_info.h:164
SYMS_LineTable line_table
Definition syms_debug_info.h:165
Definition syms_debug_info.h:390
Definition syms_debug_info.h:361
Definition syms_eval.h:62
Definition syms_mach_parser.h:15
Definition syms_mach_parser.h:9
Definition syms_parser.h:69
Definition syms_debug_info.h:325
Definition syms_pdb_parser.h:124
Definition syms_pdb_parser.h:162
Definition syms_debug_info.h:21
Definition syms_debug_info.h:255
Definition syms_debug_info.h:334
Definition syms_base.h:313
Definition syms_base.h:296
Definition syms_debug_info.h:228
Definition syms_debug_info.h:264
Definition syms_base.h:280
Definition syms_debug_info.h:244
Definition syms_debug_info.h:234
Definition syms_debug_info.h:259
Definition syms_debug_info.h:79
Definition syms_debug_info.h:84
Definition syms_debug_info.h:97
#define syms_true
Definition syms_base.h:105
#define syms_memzero_struct(s)
Definition syms_base.h:161
#define syms_false
Definition syms_base.h:104
#define SYMS_API
Definition syms_base.h:29
SYMS_S32 SYMS_B32
Definition syms_base.h:99
#define SYMS_ASSERT_PARANOID(x)
Definition syms_base.h:132
uint64_t SYMS_U64
Definition syms_crt_overrides.h:39
SYMS_API SYMS_UnitID syms_cv_uid_from_accel(SYMS_CvUnitAccel *unit)
Definition syms_cv_helpers.c:1356
SYMS_API SYMS_SymbolIDArray syms_cv_type_sid_array_from_unit(SYMS_Arena *arena, SYMS_CvUnitAccel *unit)
Definition syms_cv_helpers.c:1558
SYMS_API SYMS_SymbolIDArray syms_cv_proc_sid_array_from_unit(SYMS_Arena *arena, SYMS_CvUnitAccel *unit)
Definition syms_cv_helpers.c:1510
SYMS_API SYMS_String8 syms_cv_symbol_name_from_sid(SYMS_Arena *arena, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_cv_helpers.c:1583
SYMS_API SYMS_SymbolIDArray syms_cv_var_sid_array_from_unit(SYMS_Arena *arena, SYMS_CvUnitAccel *unit)
Definition syms_cv_helpers.c:1534
SYMS_ProcLoc
Definition syms_debug_info.h:377
SYMS_U64 SYMS_UnitID
Definition syms_debug_info.h:77
SYMS_U64 SYMS_FileID
Definition syms_debug_info.h:128
SYMS_U64 SYMS_SymbolID
Definition syms_debug_info.h:215
SYMS_U64 SYMS_LocID
Definition syms_debug_info.h:354
@ SYMS_MemKind_Null
Definition syms_debug_info.h:307
SYMS_READ_ONLY SYMS_GLOBAL SYMS_FileFormat syms_format_nil
Definition syms_debug_info.h:398
#define SYMS_Arena
Definition syms_default_arena.h:61
#define SYMS_ProfEnd()
Definition syms_dev.h:212
#define SYMS_ProfBegin(str)
Definition syms_dev.h:209
SYMS_API SYMS_String8Array syms_dw_file_table_from_uid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:2993
SYMS_API SYMS_ExtFileList syms_dw_ext_file_list_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:1038
SYMS_API SYMS_LocRangeArray syms_dw_location_ranges_from_proc_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid, SYMS_ProcLoc proc_loc)
Definition syms_dwarf_parser.c:4826
SYMS_API SYMS_DwUnitAccel * syms_dw_unit_accel_from_uid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:3642
SYMS_API SYMS_ExtMatchKey syms_dw_ext_match_key_from_dbg(SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:1072
SYMS_API SYMS_MemInfo syms_dw_mem_info_from_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_DwMemsAccel *mems, SYMS_U64 n)
Definition syms_dwarf_parser.c:4079
SYMS_API SYMS_U64 syms_dw_voff_from_var_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4591
SYMS_API SYMS_DwMemsAccel * syms_dw_mems_accel_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:3800
SYMS_API SYMS_U64 syms_dw_unit_count_from_set(SYMS_DwUnitSetAccel *accel)
Definition syms_dwarf_parser.c:2687
SYMS_API SYMS_LocRangeArray syms_dw_location_ranges_from_var_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4811
SYMS_API SYMS_Location syms_dw_location_from_id(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_LocID loc_id)
Definition syms_dwarf_parser.c:4778
SYMS_API SYMS_LineParseOut syms_dw_line_parse_from_uid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:5380
SYMS_API SYMS_DwDbgAccel * syms_dw_dbg_accel_from_mach_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachBinAccel *bin)
Definition syms_dwarf_parser.c:1028
SYMS_API SYMS_SigInfo syms_dw_sig_info_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID id)
Definition syms_dwarf_parser.c:4945
SYMS_API SYMS_B32 syms_dw_mach_bin_accel_is_dbg(SYMS_MachBinAccel *bin_accel)
Definition syms_dwarf_parser.c:753
SYMS_API SYMS_U64 syms_dw_mem_count_from_mems(SYMS_DwMemsAccel *mems)
Definition syms_dwarf_parser.c:4073
SYMS_API SYMS_UnitID syms_dw_uid_from_accel(SYMS_DwUnitAccel *unit)
Definition syms_dwarf_parser.c:3652
SYMS_API SYMS_SymbolKind syms_dw_symbol_kind_from_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4295
SYMS_API SYMS_DwDbgAccel * syms_dw_dbg_accel_from_elf_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_ElfBinAccel *bin)
Definition syms_dwarf_parser.c:1018
SYMS_API SYMS_EnumMemberArray syms_dw_enum_member_array_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4134
SYMS_API SYMS_UnitRangeArray syms_dw_unit_ranges_from_set(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitSetAccel *unit_set)
Definition syms_dwarf_parser.c:2782
SYMS_API SYMS_SymbolIDArray syms_dw_var_sid_array_from_unit(SYMS_Arena *arena, SYMS_DwUnitAccel *unit)
Definition syms_dwarf_parser.c:3785
SYMS_API SYMS_SecInfoArray syms_dw_sec_info_array_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:1065
SYMS_API SYMS_U64RangeArray syms_dw_scope_vranges_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4882
SYMS_API SYMS_DwMapAccel * syms_dw_type_map_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:5723
SYMS_API SYMS_DwUnitSetAccel * syms_dw_unit_set_accel_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:2672
SYMS_API SYMS_SymbolIDArray syms_dw_scope_children_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID id)
Definition syms_dwarf_parser.c:5044
SYMS_API SYMS_Location syms_dw_location_from_proc_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid, SYMS_ProcLoc proc_loc)
Definition syms_dwarf_parser.c:4818
SYMS_API SYMS_USID syms_dw_symbol_from_mem_number(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_DwMemsAccel *mems, SYMS_U64 n)
Definition syms_dwarf_parser.c:4120
SYMS_API SYMS_SigInfo syms_dw_sig_info_from_mem_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_DwMemsAccel *mems, SYMS_U64 n)
Definition syms_dwarf_parser.c:4106
SYMS_API SYMS_UnitNames syms_dw_unit_names_from_uid(SYMS_Arena *arena, SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:2729
SYMS_API SYMS_USID syms_dw_type_from_var_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID id)
Definition syms_dwarf_parser.c:4560
SYMS_API SYMS_String8 syms_dw_symbol_name_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4304
SYMS_API SYMS_USID syms_dw_containing_type_from_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4210
SYMS_API SYMS_DwMapAccel * syms_dw_image_symbol_map_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:5737
SYMS_API SYMS_UnitInfo syms_dw_unit_info_from_uid(SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:2715
SYMS_API SYMS_Location syms_dw_location_from_var_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4805
SYMS_API SYMS_ConstInfo syms_dw_const_info_from_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID id)
Definition syms_dwarf_parser.c:4509
SYMS_API SYMS_SigInfo syms_dw_sig_info_from_handle(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SigHandle handle)
Definition syms_dwarf_parser.c:5038
SYMS_API SYMS_USID syms_dw_type_from_mem_number(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_DwMemsAccel *mems, SYMS_U64 n)
Definition syms_dwarf_parser.c:4092
SYMS_API SYMS_String8 syms_dw_file_name_from_id(SYMS_Arena *arena, SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid, SYMS_FileID file_id)
Definition syms_dwarf_parser.c:4849
SYMS_API SYMS_SymbolIDArray syms_dw_proc_sid_array_from_unit(SYMS_Arena *arena, SYMS_DwUnitAccel *unit)
Definition syms_dwarf_parser.c:3779
SYMS_API SYMS_SymbolIDArray syms_dw_type_sid_array_from_unit(SYMS_Arena *arena, SYMS_DwUnitAccel *unit)
Definition syms_dwarf_parser.c:3791
SYMS_API SYMS_String8 syms_dw_linkage_name_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4224
SYMS_API SYMS_TypeInfo syms_dw_type_info_from_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4312
SYMS_API SYMS_U64 syms_dw_default_vbase_from_dbg(SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:1096
SYMS_API SYMS_B32 syms_dw_elf_bin_accel_is_dbg(SYMS_ElfBinAccel *bin_accel)
Definition syms_dwarf_parser.c:717
SYMS_API SYMS_USIDList syms_dw_usid_list_from_string(SYMS_Arena *arena, SYMS_DwMapAccel *map, SYMS_String8 string)
Definition syms_dwarf_parser.c:5751
SYMS_API SYMS_UnitIDAndSig syms_dw_proc_sig_handle_from_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:5031
SYMS_API SYMS_ImportArray syms_elf_imports_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_ElfBinAccel *bin)
Definition syms_elf_parser.c:517
SYMS_API SYMS_ElfBinAccel * syms_elf_bin_accel_from_file(SYMS_Arena *arena, SYMS_String8 data, SYMS_ElfFileAccel *file_accel)
Definition syms_elf_parser.c:438
SYMS_API SYMS_ExtFileList syms_elf_ext_file_list_from_bin(SYMS_Arena *arena, SYMS_String8 file, SYMS_ElfBinAccel *bin_accel)
Definition syms_elf_parser.c:449
SYMS_API SYMS_U64 syms_elf_default_vbase_from_bin(SYMS_ElfBinAccel *bin)
Definition syms_elf_parser.c:479
SYMS_API SYMS_ExportArray syms_elf_exports_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_ElfBinAccel *bin)
Definition syms_elf_parser.c:700
SYMS_API SYMS_U64 syms_elf_entry_point_voff_from_bin(SYMS_ElfBinAccel *bin)
Definition syms_elf_parser.c:485
SYMS_API SYMS_Arch syms_elf_arch_from_bin(SYMS_ElfBinAccel *bin)
Definition syms_elf_parser.c:491
SYMS_API SYMS_SecInfoArray syms_elf_sec_info_array_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_ElfBinAccel *bin)
Definition syms_elf_parser.c:466
SYMS_API SYMS_ElfFileAccel * syms_elf_file_accel_from_data(SYMS_Arena *arena, SYMS_String8 string)
Definition syms_elf_parser.c:424
SYMS_API SYMS_Arch syms_mach_arch_from_bin(SYMS_MachBinAccel *bin)
Definition syms_mach_parser.c:376
SYMS_API SYMS_MachFileAccel * syms_mach_file_accel_from_data(SYMS_Arena *arena, SYMS_String8 data)
Definition syms_mach_parser.c:264
SYMS_API SYMS_SecInfoArray syms_mach_sec_info_array_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachBinAccel *bin)
Definition syms_mach_parser.c:423
SYMS_API SYMS_BinInfoArray syms_mach_bin_info_array_from_bin_list(SYMS_Arena *arena, SYMS_MachBinListAccel *bin_list)
Definition syms_mach_parser.c:386
SYMS_API SYMS_MachBinAccel * syms_mach_bin_accel_from_bin_list_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachBinListAccel *bin_list, SYMS_U64 n)
Definition syms_mach_parser.c:407
SYMS_API SYMS_B32 syms_mach_file_is_bin_list(SYMS_MachFileAccel *file_accel)
Definition syms_mach_parser.c:329
SYMS_API SYMS_ExportArray syms_mach_exports_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachBinAccel *bin)
Definition syms_mach_parser.c:673
SYMS_API SYMS_MachBinAccel * syms_mach_bin_accel_from_file(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachFileAccel *file)
Definition syms_mach_parser.c:319
SYMS_API SYMS_B32 syms_mach_file_is_bin(SYMS_MachFileAccel *file)
Definition syms_mach_parser.c:313
SYMS_API SYMS_MachBinListAccel * syms_mach_bin_list_accel_from_file(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachFileAccel *file)
Definition syms_mach_parser.c:335
SYMS_API SYMS_ImportArray syms_mach_imports_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachBinAccel *bin)
Definition syms_mach_parser.c:575
SYMS_FileFormat
Definition syms_meta_base.h:94
@ SYMS_FileFormat_PDB
Definition syms_meta_base.h:99
@ SYMS_FileFormat_ELF
Definition syms_meta_base.h:97
@ SYMS_FileFormat_Null
Definition syms_meta_base.h:95
@ SYMS_FileFormat_DWARF
Definition syms_meta_base.h:100
@ SYMS_FileFormat_PE
Definition syms_meta_base.h:96
@ SYMS_FileFormat_MACH
Definition syms_meta_base.h:98
SYMS_Arch
Definition syms_meta_base.h:6
@ SYMS_Arch_Null
Definition syms_meta_base.h:7
@ SYMS_TypeKind_Null
Definition syms_meta_debug_info.h:28
SYMS_SymbolKind
Definition syms_meta_debug_info.h:15
@ SYMS_SymbolKind_Null
Definition syms_meta_debug_info.h:16
SYMS_API SYMS_DbgAccel * syms_dbg_accel_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_BinAccel *bin)
Definition syms_parser.c:375
SYMS_API SYMS_SymbolIDArray syms_scope_children_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:1230
SYMS_API SYMS_String8 syms_file_name_from_id(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitSetAccel *unit_set, SYMS_UnitID uid, SYMS_FileID file_id)
Definition syms_parser.c:1324
SYMS_API SYMS_USID syms_type_from_var_sid(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID id)
Definition syms_parser.c:840
SYMS_API SYMS_UnitID syms_uid_from_unit(SYMS_UnitAccel *unit)
Definition syms_parser.c:669
SYMS_API SYMS_UnitID syms_uid_collated_public_symbols_from_set(SYMS_UnitSetAccel *unit_set)
Definition syms_parser.c:623
SYMS_API SYMS_UnitID syms_partner_uid_from_map(SYMS_MapAccel *map)
Definition syms_parser.c:1432
SYMS_API SYMS_ExtFileList syms_ext_file_list_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_BinAccel *accel)
Definition syms_parser.c:112
SYMS_API SYMS_B32 syms_file_is_bin(SYMS_FileAccel *file)
Definition syms_parser.c:41
SYMS_API SYMS_USIDList syms_usid_list_from_string(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_MapAndUnit *map_and_unit, SYMS_String8 string)
Definition syms_parser.c:1452
SYMS_API SYMS_SymbolIDArray syms_tls_var_sid_array_from_unit(SYMS_Arena *arena, SYMS_UnitAccel *unit)
Definition syms_parser.c:1592
SYMS_API SYMS_SymbolKind syms_symbol_kind_from_sid(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:749
SYMS_API SYMS_UnitRangeArray syms_unit_ranges_from_set(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitSetAccel *unit_set)
Definition syms_parser.c:582
SYMS_API SYMS_U64 syms_mem_count_from_mems(SYMS_MemsAccel *mems)
Definition syms_parser.c:980
SYMS_API SYMS_Location syms_location_from_id(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_LocID loc_id)
Definition syms_parser.c:931
SYMS_API SYMS_B32 syms_bin_is_dbg(SYMS_BinAccel *bin)
Definition syms_parser.c:356
SYMS_API SYMS_ExtMatchKey syms_ext_match_key_from_dbg(SYMS_String8 data, SYMS_DbgAccel *dbg)
Definition syms_parser.c:438
SYMS_API SYMS_SigInfo syms_sig_info_from_handle(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SigHandle handle)
Definition syms_parser.c:1184
SYMS_API SYMS_U64 syms_voff_from_link_name(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_LinkMapAccel *map, SYMS_UnitAccel *link_unit, SYMS_String8 name)
Definition syms_parser.c:1534
SYMS_API SYMS_Arch syms_arch_from_bin(SYMS_BinAccel *bin)
Definition syms_parser.c:86
SYMS_API SYMS_LocRangeArray syms_location_ranges_from_var_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:907
SYMS_API SYMS_BinInfoArray syms_bin_info_array_from_bin_list(SYMS_Arena *arena, SYMS_BinListAccel *list)
Definition syms_parser.c:293
SYMS_API SYMS_SymbolIDArray syms_var_sid_array_from_unit(SYMS_Arena *arena, SYMS_UnitAccel *unit)
Definition syms_parser.c:709
SYMS_API SYMS_UnitInfo syms_unit_info_from_uid(SYMS_UnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_parser.c:542
SYMS_API SYMS_BinAccel * syms_bin_accel_from_bin_list_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_BinListAccel *list, SYMS_U64 n)
Definition syms_parser.c:308
SYMS_API SYMS_SigInfo syms_sig_info_from_type_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:1300
SYMS_API SYMS_U64 syms_default_vbase_from_dbg(SYMS_DbgAccel *dbg)
Definition syms_parser.c:480
SYMS_API SYMS_UnitID syms_uid_collated_types_from_set(SYMS_UnitSetAccel *unit_set)
Definition syms_parser.c:604
SYMS_API SYMS_LinkMapAccel * syms_link_map_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg)
Definition syms_parser.c:1515
SYMS_API SYMS_ExportArray syms_exports_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_BinAccel *bin)
Definition syms_parser.c:237
SYMS_API SYMS_FileAccel * syms_file_accel_from_data(SYMS_Arena *arena, SYMS_String8 data)
Definition syms_parser.c:10
SYMS_API SYMS_SigInfo syms_sig_info_from_mem_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_MemsAccel *mems, SYMS_U64 n)
Definition syms_parser.c:1046
SYMS_API SYMS_SymbolIDArray syms_proc_sid_array_from_unit(SYMS_Arena *arena, SYMS_UnitAccel *unit)
Definition syms_parser.c:689
SYMS_API SYMS_String8Array syms_file_table_from_uid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_parser.c:1347
SYMS_API SYMS_MapAccel * syms_unmangled_symbol_map_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg)
Definition syms_parser.c:1412
SYMS_API SYMS_U64 syms_default_vbase_from_bin(SYMS_BinAccel *bin)
Definition syms_parser.c:160
SYMS_API SYMS_Location syms_location_from_var_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:884
SYMS_API SYMS_MemsAccel * syms_mems_accel_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID id)
Definition syms_parser.c:957
SYMS_API SYMS_LineParseOut syms_line_parse_from_uid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_parser.c:1366
SYMS_API SYMS_USID syms_type_from_mem_number(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_MemsAccel *mems, SYMS_U64 n)
Definition syms_parser.c:1023
SYMS_API SYMS_String8 syms_symbol_name_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:771
SYMS_API SYMS_U64 syms_voff_from_var_sid(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID id)
Definition syms_parser.c:862
SYMS_API SYMS_BinListAccel * syms_bin_list_from_file(SYMS_Arena *arena, SYMS_String8 data, SYMS_FileAccel *file)
Definition syms_parser.c:278
SYMS_API SYMS_TypeInfo syms_type_info_from_sid(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID id)
Definition syms_parser.c:794
SYMS_API SYMS_UnitAccel * syms_unit_accel_from_uid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_parser.c:643
SYMS_API SYMS_MemInfo syms_mem_info_from_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_MemsAccel *mems, SYMS_U64 n)
Definition syms_parser.c:1000
SYMS_API SYMS_String8 syms_linkage_name_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:1115
SYMS_API SYMS_U64 syms_unit_count_from_set(SYMS_UnitSetAccel *accel)
Definition syms_parser.c:522
SYMS_API SYMS_BinAccel * syms_bin_accel_from_file(SYMS_Arena *arena, SYMS_String8 data, SYMS_FileAccel *file)
Definition syms_parser.c:60
SYMS_API SYMS_LocRangeArray syms_location_ranges_from_proc_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid, SYMS_ProcLoc proc_loc)
Definition syms_parser.c:1276
SYMS_API SYMS_ExtFileList syms_ext_file_list_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg)
Definition syms_parser.c:417
SYMS_API SYMS_B32 syms_file_is_dbg(SYMS_FileAccel *accel)
Definition syms_parser.c:326
SYMS_API SYMS_ConstInfo syms_const_info_from_sid(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID id)
Definition syms_parser.c:816
SYMS_API SYMS_U64RangeArray syms_scope_vranges_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID id)
Definition syms_parser.c:1207
SYMS_API SYMS_MapAccel * syms_type_map_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg)
Definition syms_parser.c:1392
SYMS_API SYMS_UnitNames syms_unit_names_from_uid(SYMS_Arena *arena, SYMS_UnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_parser.c:562
SYMS_API SYMS_Arch syms_arch_from_dbg(SYMS_DbgAccel *dbg)
Definition syms_parser.c:396
SYMS_API SYMS_UnitID syms_link_names_uid(SYMS_DbgAccel *dbg)
Definition syms_parser.c:1480
SYMS_API SYMS_ImportArray syms_imports_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_BinAccel *bin)
Definition syms_parser.c:212
SYMS_API SYMS_UnitID syms_tls_var_uid_from_dbg(SYMS_DbgAccel *dbg)
Definition syms_parser.c:1580
SYMS_API SYMS_SecInfoArray syms_sec_info_array_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg)
Definition syms_parser.c:459
SYMS_API SYMS_USID syms_symbol_from_mem_number(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_MemsAccel *mems, SYMS_U64 n)
Definition syms_parser.c:1070
SYMS_API SYMS_USID syms_containing_type_from_sid(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:1093
SYMS_API SYMS_EnumMemberArray syms_enum_member_array_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:1137
SYMS_API SYMS_U64 syms_entry_point_voff_from_bin(SYMS_BinAccel *bin)
Definition syms_parser.c:186
SYMS_API SYMS_B32 syms_file_is_bin_list(SYMS_FileAccel *file)
Definition syms_parser.c:266
SYMS_API SYMS_SecInfoArray syms_sec_info_array_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_BinAccel *bin)
Definition syms_parser.c:133
SYMS_API SYMS_UnitIDAndSig syms_sig_handle_from_proc_sid(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:1162
SYMS_API SYMS_FileFormat syms_file_format_from_file(SYMS_FileAccel *accel)
Definition syms_parser.c:32
SYMS_API SYMS_LinkNameRecArray syms_link_name_array_from_unit(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit)
Definition syms_parser.c:1557
SYMS_API SYMS_Location syms_location_from_proc_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid, SYMS_ProcLoc proc_loc)
Definition syms_parser.c:1253
SYMS_API SYMS_UnitSetAccel * syms_unit_set_accel_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *accel)
Definition syms_parser.c:502
SYMS_API SYMS_B32 syms_link_map_is_complete(SYMS_LinkMapAccel *map)
Definition syms_parser.c:1497
SYMS_API SYMS_DbgAccel * syms_dbg_accel_from_file(SYMS_Arena *arena, SYMS_String8 data, SYMS_FileAccel *accel)
Definition syms_parser.c:341
SYMS_API SYMS_SymbolIDArray syms_type_sid_array_from_unit(SYMS_Arena *arena, SYMS_UnitAccel *unit)
Definition syms_parser.c:729
SYMS_API SYMS_B32 syms_line_table_high_level_invariants(SYMS_LineTable *line_table)
Definition syms_parser_invariants.c:84
SYMS_API SYMS_B32 syms_line_table_low_level_invariants(SYMS_LineTable *line_table)
Definition syms_parser_invariants.c:54
SYMS_API SYMS_B32 syms_parser_api_invariants(void)
Definition syms_parser_invariants.c:7
SYMS_API SYMS_B32 syms_unit_ranges_high_level_invariants(SYMS_UnitRangeArray *ranges, SYMS_UnitSetAccel *unit_set)
Definition syms_parser_invariants.c:37
SYMS_API SYMS_B32 syms_unit_ranges_low_level_invariants(SYMS_UnitRangeArray *ranges)
Definition syms_parser_invariants.c:20
SYMS_API SYMS_PdbFileAccel * syms_pdb_file_accel_from_data(SYMS_Arena *arena, SYMS_String8 data)
Definition syms_pdb_parser.c:784
SYMS_API SYMS_Location syms_pdb_location_from_var_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_pdb_parser.c:1704
SYMS_API SYMS_LocRangeArray syms_pdb_location_ranges_from_var_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_pdb_parser.c:1825
SYMS_API SYMS_TypeInfo syms_pdb_type_info_from_sid(SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_pdb_parser.c:1344
SYMS_API SYMS_LineParseOut syms_pdb_line_parse_from_uid(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_PdbUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_pdb_parser.c:3055
SYMS_API SYMS_USIDList syms_pdb_usid_list_from_string(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_PdbMapAccel *map, SYMS_String8 string)
Definition syms_pdb_parser.c:3120
SYMS_API SYMS_U64 syms_pdb_voff_from_var_sid(SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_pdb_parser.c:1695
SYMS_API SYMS_SigInfo syms_pdb_sig_info_from_handle(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SigHandle handle)
Definition syms_pdb_parser.c:2737
SYMS_API SYMS_U64RangeArray syms_pdb_scope_vranges_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_pdb_parser.c:2747
SYMS_API SYMS_EnumMemberArray syms_pdb_enum_member_array_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_pdb_parser.c:2624
SYMS_API SYMS_SymbolIDArray syms_pdb_scope_children_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID id)
Definition syms_pdb_parser.c:2806
SYMS_API SYMS_UnitIDAndSig syms_pdb_proc_sig_handle_from_id(SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID id)
Definition syms_pdb_parser.c:2700
SYMS_API SYMS_SigInfo syms_pdb_sig_info_from_id(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID id)
Definition syms_pdb_parser.c:2948
SYMS_API SYMS_SigInfo syms_pdb_sig_info_from_mem_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_CvMemsAccel *mems, SYMS_U64 n)
Definition syms_pdb_parser.c:2573
SYMS_API SYMS_USID syms_pdb_type_from_var_id(SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID id)
Definition syms_pdb_parser.c:1686
SYMS_API SYMS_PdbLinkMapAccel * syms_pdb_link_map_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg)
Definition syms_pdb_parser.c:3149
SYMS_API SYMS_U64 syms_pdb_voff_from_link_name(SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_PdbLinkMapAccel *map, SYMS_CvUnitAccel *link_unit, SYMS_String8 name)
Definition syms_pdb_parser.c:3156
SYMS_API SYMS_CvMemsAccel * syms_pdb_mems_accel_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID id)
Definition syms_pdb_parser.c:2202
SYMS_API SYMS_String8 syms_pdb_file_name_from_id(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_PdbUnitSetAccel *unit_set, SYMS_UnitID uid, SYMS_FileID id)
Definition syms_pdb_parser.c:3007
SYMS_API SYMS_UnitID syms_pdb_tls_var_uid_from_dbg(SYMS_PdbDbgAccel *dbg)
Definition syms_pdb_parser.c:1298
SYMS_API SYMS_UnitRangeArray syms_pdb_unit_ranges_from_set(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_PdbUnitSetAccel *unit_set)
Definition syms_pdb_parser.c:1123
SYMS_API SYMS_PdbMapAccel * syms_pdb_type_map_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg)
Definition syms_pdb_parser.c:3099
SYMS_API SYMS_ConstInfo syms_pdb_const_info_from_id(SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_pdb_parser.c:1415
SYMS_API SYMS_UnitID syms_pdb_partner_uid_from_map(SYMS_PdbMapAccel *map)
Definition syms_pdb_parser.c:3115
SYMS_API SYMS_USID syms_pdb_type_from_mem_number(SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_CvMemsAccel *mems, SYMS_U64 n)
Definition syms_pdb_parser.c:2499
SYMS_API SYMS_ExtMatchKey syms_pdb_ext_match_key_from_dbg(SYMS_String8 data, SYMS_PdbDbgAccel *dbg)
Definition syms_pdb_parser.c:885
SYMS_API SYMS_SymbolIDArray syms_pdb_tls_var_sid_array_from_unit(SYMS_Arena *arena, SYMS_CvUnitAccel *thread_unit)
Definition syms_pdb_parser.c:1306
SYMS_API SYMS_U64 syms_pdb_mem_count_from_mems(SYMS_CvMemsAccel *mems)
Definition syms_pdb_parser.c:2282
SYMS_API SYMS_U64 syms_pdb_unit_count_from_set(SYMS_PdbUnitSetAccel *unit_set)
Definition syms_pdb_parser.c:1072
SYMS_API SYMS_PdbUnitSetAccel * syms_pdb_unit_set_accel_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg)
Definition syms_pdb_parser.c:957
SYMS_API SYMS_Location syms_pdb_location_from_id(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_LocID loc_id)
Definition syms_pdb_parser.c:1977
SYMS_API SYMS_SymbolKind syms_pdb_symbol_kind_from_sid(SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_pdb_parser.c:1337
SYMS_API SYMS_UnitNames syms_pdb_unit_names_from_uid(SYMS_Arena *arena, SYMS_PdbUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_pdb_parser.c:1111
SYMS_API SYMS_CvUnitAccel * syms_pdb_unit_accel_from_uid(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_PdbUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_pdb_parser.c:1260
SYMS_API SYMS_PdbMapAccel * syms_pdb_unmangled_symbol_map_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg)
Definition syms_pdb_parser.c:3107
SYMS_API SYMS_UnitID syms_pdb_link_names_uid(void)
Definition syms_pdb_parser.c:3144
SYMS_API SYMS_UnitInfo syms_pdb_unit_info_from_uid(SYMS_PdbUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_pdb_parser.c:1078
SYMS_API SYMS_MemInfo syms_pdb_mem_info_from_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit, SYMS_CvMemsAccel *mems, SYMS_U64 n)
Definition syms_pdb_parser.c:2353
SYMS_API SYMS_LinkNameRecArray syms_pdb_link_name_array_from_unit(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg, SYMS_CvUnitAccel *unit)
Definition syms_pdb_parser.c:3201
SYMS_API SYMS_Arch syms_pdb_arch_from_dbg(SYMS_PdbDbgAccel *dbg)
Definition syms_pdb_parser.c:875
SYMS_API SYMS_PdbDbgAccel * syms_pdb_dbg_accel_from_file(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbFileAccel *file)
Definition syms_pdb_parser.c:796
SYMS_API SYMS_SecInfoArray syms_pdb_sec_info_array_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_PdbDbgAccel *dbg)
Definition syms_pdb_parser.c:920
@ SYMS_PdbPseudoUnit_SYM
Definition syms_pdb_parser.h:18
@ SYMS_PdbPseudoUnit_TPI
Definition syms_pdb_parser.h:19
SYMS_API SYMS_ImportArray syms_pe_imports_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_PeBinAccel *bin)
Definition syms_pe_parser.c:234
SYMS_API SYMS_ExtFileList syms_pe_ext_file_list_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_PeBinAccel *bin)
Definition syms_pe_parser.c:206
SYMS_API SYMS_U64 syms_pe_entry_point_voff_from_bin(SYMS_PeBinAccel *bin)
Definition syms_pe_parser.c:228
SYMS_API SYMS_SecInfoArray syms_pe_sec_info_array_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_PeBinAccel *bin)
Definition syms_pe_parser.c:222
SYMS_API SYMS_Arch syms_pe_arch_from_bin(SYMS_PeBinAccel *bin)
Definition syms_pe_parser.c:200
SYMS_API SYMS_PeBinAccel * syms_pe_bin_accel_from_file(SYMS_Arena *arena, SYMS_String8 data, SYMS_PeFileAccel *accel)
Definition syms_pe_parser.c:31
SYMS_API SYMS_ExportArray syms_pe_exports_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_PeBinAccel *bin)
Definition syms_pe_parser.c:293
SYMS_API SYMS_PeFileAccel * syms_pe_file_accel_from_data(SYMS_Arena *arena, SYMS_String8 data)
Definition syms_pe_parser.c:10
Definition syms_parser.h:18
SYMS_PeBinAccel pe_accel
Definition syms_parser.h:20
SYMS_ElfBinAccel elf_accel
Definition syms_parser.h:21
SYMS_MachBinAccel mach_accel
Definition syms_parser.h:22
SYMS_FileFormat format
Definition syms_parser.h:19
Definition syms_parser.h:25
Definition syms_parser.h:30
SYMS_PdbDbgAccel pdb_accel
Definition syms_parser.h:33
SYMS_FileFormat format
Definition syms_parser.h:31
SYMS_DwDbgAccel dw_accel
Definition syms_parser.h:32
Definition syms_parser.h:10
SYMS_FileFormat format
Definition syms_parser.h:11
Definition syms_parser.h:60
SYMS_FileFormat format
Definition syms_parser.h:61
Definition syms_parser.h:54
SYMS_FileFormat format
Definition syms_parser.h:55
SYMS_PdbMapAccel pdb_accel
Definition syms_parser.h:57
Definition syms_parser.h:48
SYMS_CvMemsAccel cv_accel
Definition syms_parser.h:51
SYMS_DwMemsAccel dw_accel
Definition syms_parser.h:50
SYMS_FileFormat format
Definition syms_parser.h:49
Definition syms_parser.h:42
SYMS_FileFormat format
Definition syms_parser.h:43
SYMS_CvUnitAccel cv_accel
Definition syms_parser.h:45
SYMS_DwUnitAccel dw_accel
Definition syms_parser.h:44
Definition syms_parser.h:36
SYMS_DwUnitSetAccel dw_accel
Definition syms_parser.h:38
SYMS_FileFormat format
Definition syms_parser.h:37
SYMS_PdbUnitSetAccel pdb_accel
Definition syms_parser.h:39