|  | /* 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)); |