43 lines
1.0 KiB
C++
43 lines
1.0 KiB
C++
//===-- xray_interface_internal.h -------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file is a part of XRay, a dynamic runtime instrumentation system.
|
|
//
|
|
// Implementation of the API functions. See also include/xray/xray_interface.h.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
#ifndef XRAY_INTERFACE_INTERNAL_H
|
|
#define XRAY_INTERFACE_INTERNAL_H
|
|
|
|
#include "xray/xray_interface.h"
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
|
|
extern "C" {
|
|
|
|
struct XRaySledEntry {
|
|
uint64_t Address;
|
|
uint64_t Function;
|
|
unsigned char Kind;
|
|
unsigned char AlwaysInstrument;
|
|
unsigned char Padding[14]; // Need 32 bytes
|
|
};
|
|
}
|
|
|
|
namespace __xray {
|
|
|
|
struct XRaySledMap {
|
|
const XRaySledEntry *Sleds;
|
|
size_t Entries;
|
|
};
|
|
|
|
} // namespace __xray
|
|
|
|
#endif
|