Blamite Game Engine - blam!  00296.01.12.21.0102.blamite
The core library for the Blamite Game Engine.
sentry.h
Go to the documentation of this file.
1 
18 #ifndef SENTRY_H_INCLUDED
19 #define SENTRY_H_INCLUDED
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 /* SDK Version */
26 #define SENTRY_SDK_NAME "sentry.native"
27 #define SENTRY_SDK_VERSION "0.3.1"
28 #define SENTRY_SDK_USER_AGENT (SENTRY_SDK_NAME "/" SENTRY_SDK_VERSION)
29 
30 /* common platform detection */
31 #ifdef _WIN32
32 # define SENTRY_PLATFORM_WINDOWS
33 #elif defined(__APPLE__)
34 # define SENTRY_PLATFORM_MACOS
35 # define SENTRY_PLATFORM_DARWIN
36 # define SENTRY_PLATFORM_UNIX
37 #elif defined(__ANDROID__)
38 # define SENTRY_PLATFORM_ANDROID
39 # define SENTRY_PLATFORM_LINUX
40 # define SENTRY_PLATFORM_UNIX
41 #elif defined(__linux) || defined(__linux__)
42 # define SENTRY_PLATFORM_LINUX
43 # define SENTRY_PLATFORM_UNIX
44 #else
45 # error unsupported platform
46 #endif
47 
48 /* marks a function as part of the sentry API */
49 #ifndef SENTRY_API
50 # ifdef _WIN32
51 # if defined(SENTRY_BUILD_SHARED) /* build dll */
52 # define SENTRY_API __declspec(dllexport)
53 # elif !defined(SENTRY_BUILD_STATIC) /* use dll */
54 # define SENTRY_API __declspec(dllimport)
55 # else /* static library */
56 # define SENTRY_API
57 # endif
58 # else
59 # if __GNUC__ >= 4
60 # define SENTRY_API __attribute__((visibility("default")))
61 # else
62 # define SENTRY_API
63 # endif
64 # endif
65 #endif
66 
67 /* marks a function as experimental api */
68 #ifndef SENTRY_EXPERIMENTAL_API
69 # define SENTRY_EXPERIMENTAL_API SENTRY_API
70 #endif
71 
72 #include <inttypes.h>
73 #include <stdbool.h>
74 #include <stddef.h>
75 
76 /* context type dependencies */
77 #ifdef _WIN32
78 # include <wtypes.h>
79 #else
80 # include <signal.h>
81 #endif
82 
97 SENTRY_API void *sentry_malloc(size_t size);
98 
102 SENTRY_API void sentry_free(void *ptr);
103 
107 #define sentry_string_free sentry_free
108 
109 /* -- Protocol Value API -- */
110 
114 typedef enum {
123 
141  uint64_t _bits;
142  double _double;
143 };
145 
150 
155 
160 
165 
170 
175 
180 
185 
190 
195 
200 
205 
210 
218  sentry_value_t value, const char *k, sentry_value_t v);
219 
223 SENTRY_API int sentry_value_remove_by_key(sentry_value_t value, const char *k);
224 
232 
243  sentry_value_t value, size_t index, sentry_value_t v);
244 
249 
255  sentry_value_t value, const char *k);
256 
265  sentry_value_t value, const char *k);
266 
272  sentry_value_t value, size_t index);
273 
282  sentry_value_t value, size_t index);
283 
290 
295 
300 
305 
310 
315 
323 
327 typedef enum sentry_level_e {
334 
339 
346  sentry_level_t level, const char *logger, const char *text);
347 
354  const char *type, const char *message);
355 
356 /* -- Experimental APIs -- */
357 
366  sentry_value_t value, size_t *size_out);
367 
375  sentry_value_t event, void **ips, size_t len);
376 
381 typedef struct sentry_ucontext_s {
382 #ifdef _WIN32
383  EXCEPTION_POINTERS exception_ptrs;
384 #else
385  int signum;
386  siginfo_t *siginfo;
387  ucontext_t *user_context;
388 #endif
390 
401  void *addr, void **stacktrace_out, size_t max_len);
402 
410  const sentry_ucontext_t *uctx, void **stacktrace_out, size_t max_len);
411 
415 typedef struct sentry_uuid_s {
416  char bytes[16];
417 } sentry_uuid_t;
418 
423 
428 
433 
437 SENTRY_API sentry_uuid_t sentry_uuid_from_bytes(const char bytes[16]);
438 
443 
447 SENTRY_API void sentry_uuid_as_bytes(const sentry_uuid_t *uuid, char bytes[16]);
448 
452 SENTRY_API void sentry_uuid_as_string(const sentry_uuid_t *uuid, char str[37]);
453 
461 struct sentry_envelope_s;
462 typedef struct sentry_envelope_s sentry_envelope_t;
463 
468 
475  const sentry_envelope_t *envelope);
476 
483  const sentry_envelope_t *envelope, size_t *size_out);
484 
493  const sentry_envelope_t *envelope, const char *path);
494 
500 struct sentry_options_s;
501 typedef struct sentry_options_s sentry_options_t;
502 
528 struct sentry_transport_s;
529 typedef struct sentry_transport_s sentry_transport_t;
530 
535  void (*send_func)(sentry_envelope_t *envelope, void *state));
536 
544  sentry_transport_t *transport, void *state);
545 
550  sentry_transport_t *transport, void (*free_func)(void *state));
551 
556  void (*startup_func)(const sentry_options_t *options, void *state));
557 
566  sentry_transport_t *transport,
567  bool (*shutdown_func)(uint64_t timeout, void *state));
568 
573 
586  void (*func)(const sentry_envelope_t *envelope, void *data), void *data);
587 
592  sentry_value_t event, void *hint, void *closure);
593 
594 /* -- Options APIs -- */
595 
599 typedef enum {
604 
610 
615 
620  sentry_options_t *opts, sentry_transport_t *transport);
621 
626  sentry_options_t *opts, sentry_event_function_t func, void *data);
627 
631 SENTRY_API void sentry_options_set_dsn(sentry_options_t *opts, const char *dsn);
632 
636 SENTRY_API const char *sentry_options_get_dsn(const sentry_options_t *opts);
637 
644  sentry_options_t *opts, double sample_rate);
645 
650 
655  sentry_options_t *opts, const char *release);
656 
661 
666  sentry_options_t *opts, const char *environment);
667 
672  const sentry_options_t *opts);
673 
678  sentry_options_t *opts, const char *dist);
679 
683 SENTRY_API const char *sentry_options_get_dist(const sentry_options_t *opts);
684 
689  sentry_options_t *opts, const char *proxy);
690 
695  const sentry_options_t *opts);
696 
702  sentry_options_t *opts, const char *path);
703 
708  const sentry_options_t *opts);
709 
714 
719 
728  sentry_options_t *opts, int val);
729 
734  const sentry_options_t *opts);
735 
745  sentry_options_t *opts, int val);
746 
751  const sentry_options_t *opts);
752 
761  sentry_options_t *opts, const char *name, const char *path);
762 
778  sentry_options_t *opts, const char *path);
779 
799  sentry_options_t *opts, const char *path);
800 
801 #ifdef SENTRY_PLATFORM_WINDOWS
802 
805 SENTRY_API void sentry_options_add_attachmentw(
806  sentry_options_t *opts, const char *name, const wchar_t *path);
807 
811 SENTRY_API void sentry_options_set_handler_pathw(
812  sentry_options_t *opts, const wchar_t *path);
813 
817 SENTRY_API void sentry_options_set_database_pathw(
818  sentry_options_t *opts, const wchar_t *path);
819 #endif
820 
830  sentry_options_t *opts, int enabled);
831 
832 /* -- Global APIs -- */
833 
841 
845 SENTRY_API void sentry_shutdown(void);
846 
857 
864 
869 
874 
879 
884 
889 
896  const sentry_ucontext_t *uctx);
897 
902 
907 
911 SENTRY_API void sentry_remove_user(void);
912 
916 SENTRY_API void sentry_set_tag(const char *key, const char *value);
917 
921 SENTRY_API void sentry_remove_tag(const char *key);
922 
926 SENTRY_API void sentry_set_extra(const char *key, sentry_value_t value);
927 
931 SENTRY_API void sentry_remove_extra(const char *key);
932 
936 SENTRY_API void sentry_set_context(const char *key, sentry_value_t value);
937 
941 SENTRY_API void sentry_remove_context(const char *key);
942 
949 SENTRY_API void sentry_set_fingerprint(const char *fingerprint, ...);
950 
955 
959 SENTRY_API void sentry_set_transaction(const char *transaction);
960 
965 
970 
975 
980 
981 #ifdef __cplusplus
982 }
983 #endif
984 #endif
sentry_value_u
Represents a sentry protocol value.
Definition: sentry.h:140
sentry_options_free
SENTRY_API void sentry_options_free(sentry_options_t *opts)
Deallocates previously allocated sentry options.
sentry_options_set_dist
SENTRY_API void sentry_options_set_dist(sentry_options_t *opts, const char *dist)
Sets the dist.
sentry_options_t
struct sentry_options_s sentry_options_t
Definition: sentry.h:501
sentry_uuid_t
struct sentry_uuid_s sentry_uuid_t
A UUID.
sentry_envelope_t
struct sentry_envelope_s sentry_envelope_t
Definition: sentry.h:462
sentry_remove_tag
SENTRY_API void sentry_remove_tag(const char *key)
Removes the tag with the specified key.
sentry_set_level
SENTRY_API void sentry_set_level(sentry_level_t level)
Sets the event level.
sentry_value_to_msgpack
SENTRY_EXPERIMENTAL_API char * sentry_value_to_msgpack(sentry_value_t value, size_t *size_out)
Serialize a sentry value to msgpack.
sentry_value_t
union sentry_value_u sentry_value_t
Definition: sentry.h:144
sentry_uuid_nil
SENTRY_API sentry_uuid_t sentry_uuid_nil(void)
Creates the nil uuid.
sentry_options_get_sample_rate
SENTRY_API double sentry_options_get_sample_rate(const sentry_options_t *opts)
Gets the sample rate.
sentry_uuid_is_nil
SENTRY_API int sentry_uuid_is_nil(const sentry_uuid_t *uuid)
Checks if the uuid is nil.
sentry_value_get_by_key_owned
SENTRY_API sentry_value_t sentry_value_get_by_key_owned(sentry_value_t value, const char *k)
Looks up a value in a map by key.
sentry_remove_transaction
SENTRY_API void sentry_remove_transaction(void)
Removes the transaction.
sentry_level_e
sentry_level_e
Sentry levels for events and breadcrumbs.
Definition: sentry.h:327
sentry_value_is_frozen
SENTRY_API int sentry_value_is_frozen(sentry_value_t value)
Checks if a value is frozen.
SENTRY_VALUE_TYPE_DOUBLE
@ SENTRY_VALUE_TYPE_DOUBLE
Definition: sentry.h:118
sentry_remove_fingerprint
SENTRY_API void sentry_remove_fingerprint(void)
Removes the fingerprint.
SENTRY_API
#define SENTRY_API
Definition: sentry.h:62
sentry_value_to_json
SENTRY_API char * sentry_value_to_json(sentry_value_t value)
Serialize a sentry value to JSON.
sentry_level_t
enum sentry_level_e sentry_level_t
Sentry levels for events and breadcrumbs.
SENTRY_LEVEL_FATAL
@ SENTRY_LEVEL_FATAL
Definition: sentry.h:332
sentry_options_get_dist
const SENTRY_API char * sentry_options_get_dist(const sentry_options_t *opts)
Gets the dist.
sentry_options_get_release
const SENTRY_API char * sentry_options_get_release(const sentry_options_t *opts)
Gets the release.
sentry_options_get_symbolize_stacktraces
SENTRY_API int sentry_options_get_symbolize_stacktraces(const sentry_options_t *opts)
Returns true if on-device symbolication of stack traces is enabled.
sentry_uuid_s::bytes
char bytes[16]
Definition: sentry.h:416
sentry_options_new
SENTRY_API sentry_options_t * sentry_options_new(void)
Creates a new options struct.
sentry_malloc
SENTRY_API void * sentry_malloc(size_t size)
The library internally uses the system malloc and free functions to manage memory.
SENTRY_VALUE_TYPE_LIST
@ SENTRY_VALUE_TYPE_LIST
Definition: sentry.h:120
SENTRY_LEVEL_INFO
@ SENTRY_LEVEL_INFO
Definition: sentry.h:329
sentry_remove_context
SENTRY_API void sentry_remove_context(const char *key)
Removes the context object with the specified key.
sentry_event_function_t
sentry_value_t(* sentry_event_function_t)(sentry_value_t event, void *hint, void *closure)
Type of the callback for modifying events.
Definition: sentry.h:591
sentry_envelope_serialize
SENTRY_API char * sentry_envelope_serialize(const sentry_envelope_t *envelope, size_t *size_out)
Serializes the envelope.
sentry_options_set_sample_rate
SENTRY_API void sentry_options_set_sample_rate(sentry_options_t *opts, double sample_rate)
Sets the sample rate, which should be a double between 0.0 and 1.0.
sentry_clear_modulecache
SENTRY_EXPERIMENTAL_API void sentry_clear_modulecache(void)
Clears the internal module cache.
sentry_options_get_debug
SENTRY_API int sentry_options_get_debug(const sentry_options_t *opts)
Returns the current value of the debug flag.
sentry_transport_free
SENTRY_API void sentry_transport_free(sentry_transport_t *transport)
Generic way to free a transport.
sentry_uuid_new_v4
SENTRY_API sentry_uuid_t sentry_uuid_new_v4(void)
Creates a new uuid4.
sentry_envelope_free
SENTRY_API void sentry_envelope_free(sentry_envelope_t *envelope)
Frees an envelope.
sentry_user_consent_reset
SENTRY_API void sentry_user_consent_reset(void)
Resets the user consent (back to unknown).
sentry_options_set_symbolize_stacktraces
SENTRY_API void sentry_options_set_symbolize_stacktraces(sentry_options_t *opts, int val)
Enables or disables on-device symbolication of stack traces.
sentry_value_new_null
SENTRY_API sentry_value_t sentry_value_new_null(void)
Creates a null value.
sentry_remove_extra
SENTRY_API void sentry_remove_extra(const char *key)
Removes the extra with the specified key.
sentry_init
SENTRY_API int sentry_init(sentry_options_t *options)
Initializes the Sentry SDK with the specified options.
sentry_value_get_by_index_owned
SENTRY_API sentry_value_t sentry_value_get_by_index_owned(sentry_value_t value, size_t index)
Looks up a value in a list by index.
sentry_start_session
SENTRY_EXPERIMENTAL_API void sentry_start_session(void)
Starts a new session.
SENTRY_VALUE_TYPE_INT32
@ SENTRY_VALUE_TYPE_INT32
Definition: sentry.h:117
sentry_ucontext_s::siginfo
siginfo_t * siginfo
Definition: sentry.h:386
sentry_transport_set_free_func
SENTRY_API void sentry_transport_set_free_func(sentry_transport_t *transport, void(*free_func)(void *state))
Sets the transport hook to free the transport state.
sentry_value_incref
SENTRY_API void sentry_value_incref(sentry_value_t value)
Increments the reference count on the value.
sentry_value_as_string
const SENTRY_API char * sentry_value_as_string(sentry_value_t value)
Returns the value as c string.
sentry_value_new_object
SENTRY_API sentry_value_t sentry_value_new_object(void)
Creates a new object.
SENTRY_EXPERIMENTAL_API
#define SENTRY_EXPERIMENTAL_API
Definition: sentry.h:69
SENTRY_VALUE_TYPE_OBJECT
@ SENTRY_VALUE_TYPE_OBJECT
Definition: sentry.h:121
sentry_shutdown
SENTRY_API void sentry_shutdown(void)
Shuts down the sentry client and forces transports to flush out.
sentry_end_session
SENTRY_EXPERIMENTAL_API void sentry_end_session(void)
Ends a session.
sentry_value_u::_bits
uint64_t _bits
Definition: sentry.h:141
sentry_envelope_get_event
SENTRY_API sentry_value_t sentry_envelope_get_event(const sentry_envelope_t *envelope)
Given an envelope returns the embedded event if there is one.
sentry_value_new_int32
SENTRY_API sentry_value_t sentry_value_new_int32(int32_t value)
Creates a new 32-bit signed integer value.
SENTRY_LEVEL_DEBUG
@ SENTRY_LEVEL_DEBUG
Definition: sentry.h:328
sentry_options_add_attachment
SENTRY_API void sentry_options_add_attachment(sentry_options_t *opts, const char *name, const char *path)
Adds a new attachment to be sent along.
sentry_transport_set_startup_func
SENTRY_API void sentry_transport_set_startup_func(sentry_transport_t *transport, void(*startup_func)(const sentry_options_t *options, void *state))
Sets the transport startup hook.
sentry_options_set_http_proxy
SENTRY_API void sentry_options_set_http_proxy(sentry_options_t *opts, const char *proxy)
Configures the http proxy.
sentry_value_new_message_event
SENTRY_API sentry_value_t sentry_value_new_message_event(sentry_level_t level, const char *logger, const char *text)
Creates a new message event value.
sentry_value_remove_by_key
SENTRY_API int sentry_value_remove_by_key(sentry_value_t value, const char *k)
This removes a value from the map by key.
sentry_remove_user
SENTRY_API void sentry_remove_user(void)
Removes a user.
sentry_new_function_transport
SENTRY_API sentry_transport_t * sentry_new_function_transport(void(*func)(const sentry_envelope_t *envelope, void *data), void *data)
Create a new function transport.
sentry_set_fingerprint
SENTRY_API void sentry_set_fingerprint(const char *fingerprint,...)
Sets the event fingerprint.
sentry_options_set_handler_path
SENTRY_API void sentry_options_set_handler_path(sentry_options_t *opts, const char *path)
Sets the path to the crashpad handler if the crashpad backend is used.
SENTRY_USER_CONSENT_GIVEN
@ SENTRY_USER_CONSENT_GIVEN
Definition: sentry.h:601
sentry_ucontext_t
struct sentry_ucontext_s sentry_ucontext_t
This represents the OS dependent user context in the case of a crash, and can be used to manually cap...
sentry_value_is_true
SENTRY_API int sentry_value_is_true(sentry_value_t value)
Returns true if the value is boolean true.
sentry_value_new_string
SENTRY_API sentry_value_t sentry_value_new_string(const char *value)
Creates a new null terminated string.
sentry_uuid_s
A UUID.
Definition: sentry.h:415
sentry_value_new_breadcrumb
SENTRY_API sentry_value_t sentry_value_new_breadcrumb(const char *type, const char *message)
Creates a new breadcrumb with a specific type and message.
sentry_user_consent_get
SENTRY_API sentry_user_consent_t sentry_user_consent_get(void)
Checks the current state of user consent.
SENTRY_USER_CONSENT_UNKNOWN
@ SENTRY_USER_CONSENT_UNKNOWN
Definition: sentry.h:600
sentry_value_new_double
SENTRY_API sentry_value_t sentry_value_new_double(double value)
Creates a new double value.
sentry_options_get_environment
const SENTRY_API char * sentry_options_get_environment(const sentry_options_t *opts)
Gets the environment.
SENTRY_VALUE_TYPE_BOOL
@ SENTRY_VALUE_TYPE_BOOL
Definition: sentry.h:116
sentry_handle_exception
SENTRY_EXPERIMENTAL_API void sentry_handle_exception(const sentry_ucontext_t *uctx)
Captures an exception to be handled by the backend.
sentry_options_set_ca_certs
SENTRY_API void sentry_options_set_ca_certs(sentry_options_t *opts, const char *path)
Configures the path to a file containing ssl certificates for verification.
sentry_event_value_add_stacktrace
SENTRY_EXPERIMENTAL_API void sentry_event_value_add_stacktrace(sentry_value_t event, void **ips, size_t len)
Adds a stacktrace to an event.
sentry_user_consent_t
sentry_user_consent_t
The state of user consent.
Definition: sentry.h:599
sentry_transport_set_state
SENTRY_API void sentry_transport_set_state(sentry_transport_t *transport, void *state)
Sets the transport state.
sentry_unwind_stack_from_ucontext
SENTRY_EXPERIMENTAL_API size_t sentry_unwind_stack_from_ucontext(const sentry_ucontext_t *uctx, void **stacktrace_out, size_t max_len)
Unwinds the stack from the given context.
sentry_transport_set_shutdown_func
SENTRY_API void sentry_transport_set_shutdown_func(sentry_transport_t *transport, bool(*shutdown_func)(uint64_t timeout, void *state))
Sets the transport shutdown hook.
sentry_value_get_length
SENTRY_API size_t sentry_value_get_length(sentry_value_t value)
Returns the length of the given map or list.
sentry_options_get_http_proxy
const SENTRY_API char * sentry_options_get_http_proxy(const sentry_options_t *opts)
Returns the configured http proxy.
sentry_options_get_require_user_consent
SENTRY_API int sentry_options_get_require_user_consent(const sentry_options_t *opts)
Returns true if user consent is required.
sentry_options_set_database_path
SENTRY_API void sentry_options_set_database_path(sentry_options_t *opts, const char *path)
Sets the path to the Sentry Database Directory.
sentry_options_set_transport
SENTRY_API void sentry_options_set_transport(sentry_options_t *opts, sentry_transport_t *transport)
Sets a transport.
SENTRY_LEVEL_ERROR
@ SENTRY_LEVEL_ERROR
Definition: sentry.h:331
sentry_transport_new
SENTRY_API sentry_transport_t * sentry_transport_new(void(*send_func)(sentry_envelope_t *envelope, void *state))
Creates a new transport with an initial send_func.
SENTRY_LEVEL_WARNING
@ SENTRY_LEVEL_WARNING
Definition: sentry.h:330
sentry_value_remove_by_index
SENTRY_API int sentry_value_remove_by_index(sentry_value_t value, size_t index)
This removes a value from the list by index.
sentry_value_as_int32
SENTRY_API int32_t sentry_value_as_int32(sentry_value_t value)
Converts a value into a 32bit signed integer.
sentry_value_u::_double
double _double
Definition: sentry.h:142
sentry_user_consent_revoke
SENTRY_API void sentry_user_consent_revoke(void)
Revokes user consent.
sentry_value_get_type
SENTRY_API sentry_value_type_t sentry_value_get_type(sentry_value_t value)
Returns the type of the value passed.
sentry_capture_event
SENTRY_API sentry_uuid_t sentry_capture_event(sentry_value_t event)
Sends a sentry event.
sentry_value_set_by_key
SENTRY_API int sentry_value_set_by_key(sentry_value_t value, const char *k, sentry_value_t v)
Sets a key to a value in the map.
sentry_transport_t
struct sentry_transport_s sentry_transport_t
Definition: sentry.h:529
sentry_options_get_ca_certs
const SENTRY_API char * sentry_options_get_ca_certs(const sentry_options_t *opts)
Returns the configured path for ca certificates.
sentry_options_set_dsn
SENTRY_API void sentry_options_set_dsn(sentry_options_t *opts, const char *dsn)
Sets the DSN.
sentry_envelope_write_to_file
SENTRY_API int sentry_envelope_write_to_file(const sentry_envelope_t *envelope, const char *path)
Serializes the envelope into a file.
sentry_ucontext_s
This represents the OS dependent user context in the case of a crash, and can be used to manually cap...
Definition: sentry.h:381
sentry_value_new_event
SENTRY_API sentry_value_t sentry_value_new_event(void)
Creates a new empty event value.
sentry_value_freeze
SENTRY_API void sentry_value_freeze(sentry_value_t value)
Freezes a value.
SENTRY_VALUE_TYPE_NULL
@ SENTRY_VALUE_TYPE_NULL
Definition: sentry.h:115
sentry_value_refcount
SENTRY_API size_t sentry_value_refcount(sentry_value_t value)
Returns the refcount of a value.
sentry_user_consent_give
SENTRY_API void sentry_user_consent_give(void)
Gives user consent.
sentry_ucontext_s::user_context
ucontext_t * user_context
Definition: sentry.h:387
SENTRY_USER_CONSENT_REVOKED
@ SENTRY_USER_CONSENT_REVOKED
Definition: sentry.h:602
sentry_value_is_null
SENTRY_API int sentry_value_is_null(sentry_value_t value)
Returns true if the value is null.
sentry_set_transaction
SENTRY_API void sentry_set_transaction(const char *transaction)
Sets the transaction.
sentry_uuid_from_bytes
SENTRY_API sentry_uuid_t sentry_uuid_from_bytes(const char bytes[16])
Creates a uuid from bytes.
sentry_options_get_dsn
const SENTRY_API char * sentry_options_get_dsn(const sentry_options_t *opts)
Gets the DSN.
sentry_get_options
const SENTRY_API sentry_options_t * sentry_get_options(void)
Returns the client options.
sentry_free
SENTRY_API void sentry_free(void *ptr)
Releases memory allocated from the underlying allocator.
sentry_unwind_stack
SENTRY_EXPERIMENTAL_API size_t sentry_unwind_stack(void *addr, void **stacktrace_out, size_t max_len)
Unwinds the stack from the given address.
SENTRY_VALUE_TYPE_STRING
@ SENTRY_VALUE_TYPE_STRING
Definition: sentry.h:119
sentry_options_set_system_crash_reporter_enabled
SENTRY_API void sentry_options_set_system_crash_reporter_enabled(sentry_options_t *opts, int enabled)
Enables forwarding to the system crash reporter.
sentry_set_extra
SENTRY_API void sentry_set_extra(const char *key, sentry_value_t value)
Sets extra information.
sentry_uuid_as_bytes
SENTRY_API void sentry_uuid_as_bytes(const sentry_uuid_t *uuid, char bytes[16])
Returns the bytes of the uuid.
sentry_value_decref
SENTRY_API void sentry_value_decref(sentry_value_t value)
Decrements the reference count on the value.
sentry_value_as_double
SENTRY_API double sentry_value_as_double(sentry_value_t value)
Converts a value into a double value.
sentry_options_set_debug
SENTRY_API void sentry_options_set_debug(sentry_options_t *opts, int debug)
Enables or disables debug printing mode.
sentry_uuid_from_string
SENTRY_API sentry_uuid_t sentry_uuid_from_string(const char *str)
Parses a uuid from a string.
sentry_value_set_by_index
SENTRY_API int sentry_value_set_by_index(sentry_value_t value, size_t index, sentry_value_t v)
Inserts a value into the list at a certain position.
sentry_set_context
SENTRY_API void sentry_set_context(const char *key, sentry_value_t value)
Sets a context object.
sentry_options_set_require_user_consent
SENTRY_API void sentry_options_set_require_user_consent(sentry_options_t *opts, int val)
Enables or disables user consent requirements for uploads.
sentry_value_get_by_key
SENTRY_API sentry_value_t sentry_value_get_by_key(sentry_value_t value, const char *k)
Looks up a value in a map by key.
sentry_value_new_list
SENTRY_API sentry_value_t sentry_value_new_list(void)
Creates a new list value.
sentry_options_set_environment
SENTRY_API void sentry_options_set_environment(sentry_options_t *opts, const char *environment)
Sets the environment.
sentry_value_new_bool
SENTRY_API sentry_value_t sentry_value_new_bool(int value)
Creates a new boolen value.
sentry_value_type_t
sentry_value_type_t
Type of a sentry value.
Definition: sentry.h:114
sentry_options_set_release
SENTRY_API void sentry_options_set_release(sentry_options_t *opts, const char *release)
Sets the release.
sentry_set_tag
SENTRY_API void sentry_set_tag(const char *key, const char *value)
Sets a tag.
sentry_set_user
SENTRY_API void sentry_set_user(sentry_value_t user)
Sets the specified user.
sentry_value_get_by_index
SENTRY_API sentry_value_t sentry_value_get_by_index(sentry_value_t value, size_t index)
Looks up a value in a list by index.
sentry_add_breadcrumb
SENTRY_API void sentry_add_breadcrumb(sentry_value_t breadcrumb)
Adds the breadcrumb to be sent in case of an event.
sentry_ucontext_s::signum
int signum
Definition: sentry.h:385
sentry_uuid_as_string
SENTRY_API void sentry_uuid_as_string(const sentry_uuid_t *uuid, char str[37])
Formats the uuid into a string buffer.
sentry_options_set_before_send
SENTRY_API void sentry_options_set_before_send(sentry_options_t *opts, sentry_event_function_t func, void *data)
Sets the before send callback.
sentry_value_append
SENTRY_API int sentry_value_append(sentry_value_t value, sentry_value_t v)
Appends a value to a list.