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