2 * Copyright (C) 2020 Francis Deslauriers <francis.deslauriers@efficios.com>
4 * SPDX-License-Identifier: GPL-2.0-only
8 #ifndef _TRIGGER_ERROR_ACCOUNTING_H
9 #define _TRIGGER_ERROR_ACCOUNTING_H
15 enum trigger_error_accounting_status
{
16 TRIGGER_ERROR_ACCOUNTING_STATUS_OK
,
17 TRIGGER_ERROR_ACCOUNTING_STATUS_ERR
,
18 TRIGGER_ERROR_ACCOUNTING_STATUS_NOT_FOUND
,
19 TRIGGER_ERROR_ACCOUNTING_STATUS_NOMEM
,
20 TRIGGER_ERROR_ACCOUNTING_STATUS_NO_INDEX_AVAILABLE
,
21 TRIGGER_ERROR_ACCOUNTING_STATUS_APP_DEAD
,
24 void trigger_error_accounting_init(uint64_t nb_bucket
);
26 #ifdef HAVE_LIBLTTNG_UST_CTL
27 enum trigger_error_accounting_status
trigger_error_accounting_register_app(
29 #else /* HAVE_LIBLTTNG_UST_CTL */
31 enum trigger_error_accounting_status
trigger_error_accounting_register_app(
34 return TRIGGER_ERROR_ACCOUNTING_STATUS_OK
;
36 #endif /* HAVE_LIBLTTNG_UST_CTL */
38 void trigger_error_accounting_register_kernel(int kernel_fd
);
40 enum trigger_error_accounting_status
trigger_error_accounting_register_trigger(
41 const struct lttng_trigger
*trigger
,
42 uint64_t *error_counter_index
);
44 enum trigger_error_accounting_status
trigger_error_accounting_get_count(
45 const struct lttng_trigger
*trigger
, uint64_t *count
);
47 void trigger_error_accounting_unregister_trigger(
48 const struct lttng_trigger
*trigger
);
50 void trigger_error_accounting_fini(void);
52 #endif /* _TRIGGER_ERROR_ACCOUNTING_H */