blob: 4989a7bc22cb3a72cc642f11b1596971fc86cc03 [file] [log] [blame]
/* 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));