/* Licensed under Apache-2.0 */

#ifndef PYROSCOPE_FFI_H_
#define PYROSCOPE_FFI_H_

/* Generated with cbindgen:0.20.0 */

/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */

#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>

bool initialize_logging(uint32_t logging_level);

bool initialize_agent(const char *application_name,
                      const char *server_address,
                      const char *auth_token,
                      uint32_t sample_rate,
                      bool detect_subprocesses,
                      bool oncpu,
                      bool native,
                      bool gil_only,
                      bool report_pid,
                      bool report_thread_id,
                      bool report_thread_name,
                      const char *tags);

bool drop_agent(void);

bool add_thread_tag(uint64_t thread_id, const char *key, const char *value);

bool remove_thread_tag(uint64_t thread_id, const char *key, const char *value);

bool add_global_tag(const char *key, const char *value);

bool remove_global_tag(const char *key, const char *value);

#endif /* PYROSCOPE_FFI_H_ */
