/* This file is dedicated to the public domain, pursuant to CC0 (https://creativecommons.org/publicdomain/zero/1.0/) */ #ifndef _SDT_TYPES_H #define _SDT_TYPES_H 1 #define UPROBE1_TYPE 0x31425250 /* "PRB1" (little-endian) */ #define UPROBE2_TYPE 0x32425055 /* "UPB2" */ #define UPROBE3_TYPE 0x33425055 /* "UPB3" */ typedef enum { uprobe1_type = UPROBE1_TYPE, uprobe2_type = UPROBE2_TYPE, uprobe3_type = UPROBE3_TYPE, unknown_probe_type = -1, } stap_sdt_probe_type; typedef struct { __uint32_t type_a; __uint32_t type_b; __uint64_t name; __uint64_t arg; } stap_sdt_probe_entry_v1; typedef struct { __uint32_t type_a; __uint32_t type_b; __uint64_t name; __uint64_t provider; __uint64_t arg_count; __uint64_t arg_string; __uint64_t pc; __uint64_t semaphore; } stap_sdt_probe_entry_v2; #endif /* _SDT_TYPES_H */