Lines Matching refs:header

47 void perf_header__set_feat(struct perf_header *header, int feat)  in perf_header__set_feat()  argument
49 set_bit(feat, header->adds_features); in perf_header__set_feat()
52 void perf_header__clear_feat(struct perf_header *header, int feat) in perf_header__clear_feat() argument
54 clear_bit(feat, header->adds_features); in perf_header__clear_feat()
57 bool perf_header__has_feat(const struct perf_header *header, int feat) in perf_header__has_feat() argument
59 return test_bit(feat, header->adds_features); in perf_header__has_feat()
151 session = container_of(h, struct perf_session, header); in write_build_id()
863 session = container_of(h, struct perf_session, header); in write_auxtrace()
1206 session = container_of(ph, struct perf_session, header); in print_group_desc()
1238 cpumode = bev->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; in __event_process_build_id()
1276 static int perf_header__read_build_ids_abi_quirk(struct perf_header *header, in perf_header__read_build_ids_abi_quirk() argument
1279 struct perf_session *session = container_of(header, struct perf_session, header); in perf_header__read_build_ids_abi_quirk()
1281 struct perf_event_header header; in perf_header__read_build_ids_abi_quirk() member
1295 if (header->needs_swap) in perf_header__read_build_ids_abi_quirk()
1296 perf_event_header__bswap(&old_bev.header); in perf_header__read_build_ids_abi_quirk()
1298 len = old_bev.header.size - sizeof(old_bev); in perf_header__read_build_ids_abi_quirk()
1302 bev.header = old_bev.header; in perf_header__read_build_ids_abi_quirk()
1309 if (bev.header.misc == PERF_RECORD_MISC_GUEST_USER || in perf_header__read_build_ids_abi_quirk()
1310 bev.header.misc == PERF_RECORD_MISC_GUEST_KERNEL) in perf_header__read_build_ids_abi_quirk()
1316 offset += bev.header.size; in perf_header__read_build_ids_abi_quirk()
1322 static int perf_header__read_build_ids(struct perf_header *header, in perf_header__read_build_ids() argument
1325 struct perf_session *session = container_of(header, struct perf_session, header); in perf_header__read_build_ids()
1337 if (header->needs_swap) in perf_header__read_build_ids()
1338 perf_event_header__bswap(&bev.header); in perf_header__read_build_ids()
1340 len = bev.header.size - sizeof(bev); in perf_header__read_build_ids()
1359 return perf_header__read_build_ids_abi_quirk(header, input, offset, size); in perf_header__read_build_ids()
1364 offset += bev.header.size; in perf_header__read_build_ids()
1515 struct perf_header *header, int fd, in process_event_desc() argument
1519 struct perf_evsel *evsel, *events = read_event_desc(header, fd); in process_event_desc()
1524 session = container_of(header, struct perf_session, header); in process_event_desc()
1850 session = container_of(ph, struct perf_session, header); in process_group_desc()
1901 session = container_of(ph, struct perf_session, header); in process_auxtrace()
1988 struct perf_header *header = &session->header; in perf_header__fprintf_info() local
1993 perf_header__process_sections(header, fd, &hd, in perf_header__fprintf_info()
2026 static int perf_header__adds_write(struct perf_header *header, in perf_header__adds_write() argument
2036 nr_sections = bitmap_weight(header->adds_features, HEADER_FEAT_BITS); in perf_header__adds_write()
2046 sec_start = header->feat_offset; in perf_header__adds_write()
2049 for_each_set_bit(feat, header->adds_features, HEADER_FEAT_BITS) { in perf_header__adds_write()
2050 if (do_write_feat(fd, header, feat, &p, evlist)) in perf_header__adds_write()
2051 perf_header__clear_feat(header, feat); in perf_header__adds_write()
2091 struct perf_header *header = &session->header; in perf_session__write_header() local
2124 if (!header->data_offset) in perf_session__write_header()
2125 header->data_offset = lseek(fd, 0, SEEK_CUR); in perf_session__write_header()
2126 header->feat_offset = header->data_offset + header->data_size; in perf_session__write_header()
2129 err = perf_header__adds_write(header, evlist, fd); in perf_session__write_header()
2143 .offset = header->data_offset, in perf_session__write_header()
2144 .size = header->data_size, in perf_session__write_header()
2149 memcpy(&f_header.adds_features, &header->adds_features, sizeof(header->adds_features)); in perf_session__write_header()
2157 lseek(fd, header->data_offset + header->data_size, SEEK_SET); in perf_session__write_header()
2162 static int perf_header__getbuffer64(struct perf_header *header, in perf_header__getbuffer64() argument
2168 if (header->needs_swap) in perf_header__getbuffer64()
2174 int perf_header__process_sections(struct perf_header *header, int fd, in perf_header__process_sections() argument
2186 nr_sections = bitmap_weight(header->adds_features, HEADER_FEAT_BITS); in perf_header__process_sections()
2196 lseek(fd, header->feat_offset, SEEK_SET); in perf_header__process_sections()
2198 err = perf_header__getbuffer64(header, fd, feat_sec, sec_size); in perf_header__process_sections()
2202 for_each_set_bit(feat, header->adds_features, HEADER_LAST_FEATURE) { in perf_header__process_sections()
2203 err = process(sec++, header, feat, fd, data); in perf_header__process_sections()
2330 int perf_file_header__read(struct perf_file_header *header, in perf_file_header__read() argument
2337 ret = readn(fd, header, sizeof(*header)); in perf_file_header__read()
2341 if (check_magic_endian(header->magic, in perf_file_header__read()
2342 header->attr_size, false, ph) < 0) { in perf_file_header__read()
2348 mem_bswap_64(header, offsetof(struct perf_file_header, in perf_file_header__read()
2352 if (header->size != sizeof(*header)) { in perf_file_header__read()
2354 if (header->size == offsetof(typeof(*header), adds_features)) in perf_file_header__read()
2355 bitmap_zero(header->adds_features, HEADER_FEAT_BITS); in perf_file_header__read()
2374 mem_bswap_64(&header->adds_features, in perf_file_header__read()
2377 if (!test_bit(HEADER_HOSTNAME, header->adds_features)) { in perf_file_header__read()
2379 mem_bswap_64(&header->adds_features, in perf_file_header__read()
2383 mem_bswap_32(&header->adds_features, in perf_file_header__read()
2387 if (!test_bit(HEADER_HOSTNAME, header->adds_features)) { in perf_file_header__read()
2388 bitmap_zero(header->adds_features, HEADER_FEAT_BITS); in perf_file_header__read()
2389 set_bit(HEADER_BUILD_ID, header->adds_features); in perf_file_header__read()
2393 memcpy(&ph->adds_features, &header->adds_features, in perf_file_header__read()
2396 ph->data_offset = header->data.offset; in perf_file_header__read()
2397 ph->data_size = header->data.size; in perf_file_header__read()
2398 ph->feat_offset = header->data.offset + header->data.size; in perf_file_header__read()
2423 static int perf_file_header__read_pipe(struct perf_pipe_file_header *header, in perf_file_header__read_pipe() argument
2429 ret = readn(fd, header, sizeof(*header)); in perf_file_header__read_pipe()
2433 if (check_magic_endian(header->magic, header->size, true, ph) < 0) { in perf_file_header__read_pipe()
2439 header->size = bswap_64(header->size); in perf_file_header__read_pipe()
2441 if (repipe && do_write(STDOUT_FILENO, header, sizeof(*header)) < 0) in perf_file_header__read_pipe()
2449 struct perf_header *header = &session->header; in perf_header__read_pipe() local
2452 if (perf_file_header__read_pipe(&f_header, header, in perf_header__read_pipe()
2555 struct perf_header *header = &session->header; in perf_session__read_header() local
2566 session->evlist->env = &header->env; in perf_session__read_header()
2567 session->machines.host.env = &header->env; in perf_session__read_header()
2571 if (perf_file_header__read(&f_header, header, fd) < 0) in perf_session__read_header()
2593 if (read_attr(fd, header, &f_attr) < 0) in perf_session__read_header()
2596 if (header->needs_swap) { in perf_session__read_header()
2608 evsel->needs_swap = header->needs_swap; in perf_session__read_header()
2627 if (perf_header__getbuffer64(header, fd, &f_id, sizeof(f_id))) in perf_session__read_header()
2638 perf_header__process_sections(header, fd, &session->tevent, in perf_session__read_header()
2676 ev->attr.header.type = PERF_RECORD_HEADER_ATTR; in perf_event__synthesize_attr()
2677 ev->attr.header.size = (u16)size; in perf_event__synthesize_attr()
2679 if (ev->attr.header.size == size) in perf_event__synthesize_attr()
2728 ids = event->header.size; in perf_event__process_attr()
2774 ev.tracing_data.header.type = PERF_RECORD_HEADER_TRACING_DATA; in perf_event__synthesize_tracing_data()
2778 ev.tracing_data.header.size = sizeof(ev.tracing_data); in perf_event__synthesize_tracing_data()
2851 ev.build_id.header.type = PERF_RECORD_HEADER_BUILD_ID; in perf_event__synthesize_build_id()
2852 ev.build_id.header.misc = misc; in perf_event__synthesize_build_id()
2854 ev.build_id.header.size = sizeof(ev.build_id) + len; in perf_event__synthesize_build_id()