| /* Copyright (c) 2015 Google Inc | 
 |  * Davide Libenzi <dlibenzi@google.com> | 
 |  * See LICENSE for details. | 
 |  */ | 
 |  | 
 | #pragma once | 
 |  | 
 | #include <sys/types.h> | 
 |  | 
 | #define PROFTYPE_KERN_TRACE64	1 | 
 |  | 
 | struct proftype_kern_trace64 { | 
 | 	uint64_t info; | 
 | 	uint64_t tstamp; | 
 | 	uint32_t pid; | 
 | 	uint16_t cpu; | 
 | 	uint16_t num_traces; | 
 | 	uint64_t trace[0]; | 
 | } __attribute__((packed)); | 
 |  | 
 | #define PROFTYPE_USER_TRACE64	2 | 
 |  | 
 | struct proftype_user_trace64 { | 
 | 	uint64_t info; | 
 | 	uint64_t tstamp; | 
 | 	uint32_t pid; | 
 | 	uint16_t cpu; | 
 | 	uint16_t num_traces; | 
 | 	uint64_t trace[0]; | 
 | } __attribute__((packed)); | 
 |  | 
 | #define PROFTYPE_PID_MMAP64	3 | 
 |  | 
 | struct proftype_pid_mmap64 { | 
 | 	uint64_t tstamp; | 
 | 	uint64_t addr; | 
 | 	uint64_t size; | 
 | 	uint64_t offset; | 
 | 	uint32_t pid; | 
 | 	uint8_t path[0]; | 
 | } __attribute__((packed)); | 
 |  | 
 | #define PROFTYPE_NEW_PROCESS	4 | 
 |  | 
 | struct proftype_new_process { | 
 | 	uint64_t tstamp; | 
 | 	uint32_t pid; | 
 | 	uint8_t path[0]; | 
 | } __attribute__((packed)); |