Lines Matching refs:std

105 	std::span<const T> contents;
107 macho_section(const section_64 &sec, std::span<uint8_t> data) in macho_section()
135 std::cout << indent; in printf_with_indent()
174 const std::span<uint8_t> slice_contents;
177 std::optional<macho_section<kalloc_type_view> > sec_types;
178 std::optional<macho_section<kalloc_type_var_view> > sec_types_var;
179 std::optional<macho_section<char> > sec_cstring;
182 std::set<std::pair<const char *, const char *> > dedup_entries;
183 std::set<std::tuple<const char *, const char *, const char *> > dedup_entries_var;
184 std::set<const char *> dedup_strings;
199 std::cout << ",\n" << indent << " \"fixed\": ["; in dump_types()
207 if (!dedup_entries.insert(std::make_tuple(name, sig)).second) { in dump_types()
228 std::cout << indent << name << " [" << sig << "]\n"; in dump_types()
231 std::cout << sep << indent in dump_types()
251 std::cout << std::endl << indent << " ]"; in dump_types()
261 std::cout << ",\n" << indent << " \"var\": ["; in dump_types_var()
270 if (!dedup_entries_var.insert(std::make_tuple(name, sig_hdr, sig_type)).second) { in dump_types_var()
298 std::cout << indent << name in dump_types_var()
301 std::cout << indent << name in dump_types_var()
306 std::cout << sep << indent in dump_types_var()
309 std::cout << "\"size_hdr\": " << ktv.kt_size_hdr << ", " in dump_types_var()
312 std::cout << "\"size_type\": " << ktv.kt_size_type << ", " in dump_types_var()
331 std::cout << std::endl << indent << " ]"; in dump_types_var()
342 image(std::span<uint8_t> contents, size_t mh_offs = 0) in image()
346 std::span<uint8_t> commands = contents.subspan(mh_offs + sizeof(*hdr));
366 const std::span<section_64> sections((section_64 *)(seg_cmd + 1), seg_cmd->nsects);
369 std::string_view segname(sec.segname);
370 std::string_view sectname(sec.sectname);
392 std::string
397 return std::string{to_str}; in uuid()
427 dump(const std::string &imgname, const char *indent = "") in dump()
430 std::cout << indent << "{\n" in dump()
435 std::cout << imgname << " (" << slice() << ", " << uuid() << ")\n"; in dump()
447 std::cout << std::endl << indent << "}"; in dump()
455 std::cout << indent << "__kalloc_type: " << std::endl; in dump()
456 std::cout << indent << " total structs: " << sec.elem_count() << std::endl; in dump()
457 std::cout << indent << " unique structs: " << ucount << std::endl; in dump()
458 std::cout << indent << " total size: " << sec.section.size << std::endl; in dump()
459 std::cout << indent << " unique size: " << usize << std::endl; in dump()
465 std::cout << indent << "__kalloc_var: " << std::endl; in dump()
466 std::cout << indent << " total structs: " << sec.elem_count() << std::endl; in dump()
467 std::cout << indent << " unique structs: " << ucount << std::endl; in dump()
468 std::cout << indent << " total size: " << sec.section.size << std::endl; in dump()
469 std::cout << indent << " unique size: " << usize << std::endl; in dump()
471 std::cout << indent << "names strings: " << stats.names_sz << std::endl; in dump()
472 std::cout << indent << "signatures strings: " << stats.sig_sz << std::endl; in dump()
483 do_simple_macho(const std::string filename, std::span<uint8_t> contents) in do_simple_macho()
491 do_fat_macho(const std::string filename, std::span<uint8_t> contents) in do_fat_macho()
494 std::span<fat_arch> fat_archs( in do_fat_macho()
500 std::cout << "["; in do_fat_macho()
507 std::cout << sep; in do_fat_macho()
509 std::cout << std::endl; in do_fat_macho()
516 std::cout << "\n]"; in do_fat_macho()
523 do_fileset(std::span<uint8_t> contents) in do_fileset()
526 std::span<uint8_t> commands = contents.subspan(sizeof(*hdr)); in do_fileset()
530 std::cerr << "unsupported cpu type"; in do_fileset()
535 std::cout << "["; in do_fileset()
552 std::cout << sep; in do_fileset()
554 std::cout << std::endl; in do_fileset()
561 std::cout << "]"; in do_fileset()
568 read_file(std::filesystem::path &path, std::vector<uint8_t> &contents) in read_file()
570 std::ifstream file(path, std::ifstream::binary); in read_file()
571 size_t size(std::filesystem::file_size(path)); in read_file()
587 recognize_file(const std::vector<uint8_t> &contents) in recognize_file()
648 do_file(const std::filesystem::path &path, std::vector<uint8_t> &contents) in do_file()
662 std::cerr << "Unsupported file type\n"; in do_file()
670 std::cerr << "Unable to make temporary directory to unpack img4\n"; in do_file()
674 std::filesystem::path compressed_kc{tmp_dir}; in do_file()
675 std::filesystem::path uncompressed_kc{tmp_dir}; in do_file()
704 std::cerr << "Unable to unpack img4 image\n"; in do_file()
707 std::cerr << "Unable to decompress KC\n"; in do_file()
724 std::cout << "Usage: " << argv[0] in main()
729 std::string path_arg; in main()
733 std::string arg(argv[i]); in main()
736 std::cerr << "Option " << arg << " requires an argument\n"; in main()
749 std::cerr << "Unknown output format: " << arg << std::endl; in main()
759 std::cerr << "no file specified\n"; in main()
763 std::filesystem::path path(path_arg); in main()
764 std::vector<uint8_t> contents; in main()