dlog
Logging framework
dlogutil.h
Go to the documentation of this file.
1/* MIT License
2 *
3 * Copyright (c) 2012-2020 Samsung Electronics Co., Ltd.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a copy
6 * of this software and associated documentation files (the "Software"), to deal
7 * in the Software without restriction, including without limitation the rights
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 * copies of the Software, and to permit persons to whom the Software is furnished
10 * to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in all
13 * copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 * THE SOFTWARE. */
22
23#ifndef __TIZEN_SYSTEM_DLOGUTIL_H__
24#define __TIZEN_SYSTEM_DLOGUTIL_H__
25
26#include <time.h>
27#include <tizen_type.h>
28#include <dlog.h>
29#include <limits.h>
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
45typedef enum {
53
58typedef struct dlogutil_entry dlogutil_entry_s;
59
72int dlogutil_entry_get_tid(const dlogutil_entry_s *entry, pid_t *tid);
73
86int dlogutil_entry_get_pid(const dlogutil_entry_s *entry, pid_t *pid);
87
101int dlogutil_entry_get_tag(const dlogutil_entry_s *entry, const char **tag);
102
116int dlogutil_entry_get_message(const dlogutil_entry_s *entry, const char **msg);
117
133int dlogutil_entry_get_timestamp(const dlogutil_entry_s *entry, dlogutil_sorting_order_e order, struct timespec *ts);
134
146
151typedef struct dlogutil_config dlogutil_config_s;
152
161
169
181
193
206
218
231
247int dlogutil_config_sorting_enable_with_size(dlogutil_config_s *config, unsigned int entry_count);
248
264
276
282#define DLOGUTIL_MAX_DUMP_SIZE UINT_MAX
283
288typedef struct dlogutil_state dlogutil_state_s;
289
297
310
323
338int dlogutil_config_mode_set_dump(dlogutil_config_s *config, unsigned int entry_count);
339
340
358
379int dlogutil_get_log(dlogutil_state_s *state, int timeout, dlogutil_entry_s **entry_out);
380
396int dlogutil_buffer_clear(dlogutil_state_s *state, log_id_t buffer);
397
409int dlogutil_buffer_get_name(log_id_t buffer, const char **name);
410
432int dlogutil_buffer_get_capacity(dlogutil_state_s *state, log_id_t buffer, unsigned int *capacity);
433
455int dlogutil_buffer_get_usage(dlogutil_state_s *state, log_id_t buffer, unsigned int *usage);
456
477
498int dlogutil_buffer_check_ts_type_available(log_id_t buffer, dlogutil_sorting_order_e type, bool *available);
499
519int dlogutil_buffer_get_alias(dlogutil_state_s *state, log_id_t buffer, log_id_t *real_buffer);
520
525#ifdef __cplusplus
526}
527#endif
528
529#endif /* __TIZEN_SYSTEM_DLOGUTIL_H__ */
This file is the header file of interface of Dlog.
log_priority
Enumeration for log priority values in ascending priority order. .
Definition: dlog.h:91
int dlogutil_config_order_set(dlogutil_config_s *config, dlogutil_sorting_order_e sort_by)
Chooses a timestamp type to sort by. @since_tizen 6.0.
int dlogutil_entry_get_priority(const dlogutil_entry_s *entry, log_priority *prio)
Retrieves the priority of the log entry. @since_tizen 6.0.
int dlogutil_config_filter_filterspec(dlogutil_config_s *config, const char *query)
Enables retrieving only those logs that match a given filter. @since_tizen 6.0.
int dlogutil_buffer_get_default_ts_type(log_id_t buffer, dlogutil_sorting_order_e *type)
Gets the default timestamp type of a buffer. @since_tizen 6.0.
struct dlogutil_state dlogutil_state_s
A struct containing log getting state. @since_tizen 6.0.
Definition: dlogutil.h:288
int dlogutil_buffer_check_ts_type_available(log_id_t buffer, dlogutil_sorting_order_e type, bool *available)
Checks if a buffer contains timestamps of a given type. @since_tizen 6.0.
void dlogutil_config_destroy(dlogutil_config_s *config)
Destroys the dlogutil_config_s struct. @since_tizen 6.0.
int dlogutil_config_mode_set_monitor(dlogutil_config_s *config)
Set log retrieval mode to retrieving all the logs since the call without an end. @since_tizen 6....
int dlogutil_buffer_get_name(log_id_t buffer, const char **name)
Gets the name of a buffer. @since_tizen 6.0.
int dlogutil_buffer_clear(dlogutil_state_s *state, log_id_t buffer)
Clears a log buffer. @since_tizen 6.0.
dlogutil_config_s * dlogutil_config_create(void)
Creates a new dlogutil_config_s struct. @since_tizen 6.0.
int dlogutil_entry_get_pid(const dlogutil_entry_s *entry, pid_t *pid)
Retrieves the PID of the log sender. @since_tizen 6.0.
int dlogutil_config_buffer_add(dlogutil_config_s *config, log_id_t buf)
Adds a buffer to be handled @since_tizen 6.0.
int dlogutil_config_sorting_enable_with_size(dlogutil_config_s *config, unsigned int entry_count)
Enables sorting, choosing the sort buffer size manually. @since_tizen 6.0.
int dlogutil_entry_get_message(const dlogutil_entry_s *entry, const char **msg)
Retrieves the message of the log entry. @since_tizen 6.0.
dlogutil_sorting_order_e
Enumeration for sorting orders. @since_tizen 6.0.
Definition: dlogutil.h:45
int dlogutil_get_log(dlogutil_state_s *state, int timeout, dlogutil_entry_s **entry_out)
Gets a single log. @since_tizen 6.0.
int dlogutil_config_sorting_enable(dlogutil_config_s *config)
Enables sorting. @since_tizen 6.0.
int dlogutil_buffer_get_capacity(dlogutil_state_s *state, log_id_t buffer, unsigned int *capacity)
Gets the capacity of a buffer. @since_tizen 6.0.
int dlogutil_buffer_get_alias(dlogutil_state_s *state, log_id_t buffer, log_id_t *real_buffer)
Gets the buffer aliasing information @since_tizen 6.0.
struct dlogutil_config dlogutil_config_s
A struct containing libdlogutil configuration. @since_tizen 6.0.
Definition: dlogutil.h:151
int dlogutil_config_sorting_disable(dlogutil_config_s *config)
Disables log sorting. @since_tizen 6.0.
int dlogutil_entry_get_tid(const dlogutil_entry_s *entry, pid_t *tid)
Retrieves the TID of the log sender. @since_tizen 6.0.
int dlogutil_config_filter_tid(dlogutil_config_s *config, pid_t tid)
Enables retrieving only those logs that are logged by the thread with the given TID....
int dlogutil_config_mode_set_continuous(dlogutil_config_s *config)
Set log retrieval mode to retrieving all the logs since the start of the system without an end....
struct dlogutil_entry dlogutil_entry_s
A struct containing a single log entry. @since_tizen 6.0.
Definition: dlogutil.h:58
int dlogutil_entry_get_timestamp(const dlogutil_entry_s *entry, dlogutil_sorting_order_e order, struct timespec *ts)
Retrieves the timestamp of the log entry. @since_tizen 6.0.
int dlogutil_config_connect(dlogutil_config_s *config, dlogutil_state_s **state_out)
Finalizes the config into a state struct by connecting to buffers @since_tizen 6.0.
int dlogutil_config_filter_pid(dlogutil_config_s *config, pid_t pid)
Enables retrieving only those logs that are logged by the process with the given PID....
int dlogutil_entry_get_tag(const dlogutil_entry_s *entry, const char **tag)
Retrieves the tag of the log entry. @since_tizen 6.0.
int dlogutil_config_mode_set_dump(dlogutil_config_s *config, unsigned int entry_count)
Set log retrieval mode to dumping all the logs since the start of the system until the call (possibly...
int dlogutil_buffer_get_usage(dlogutil_state_s *state, log_id_t buffer, unsigned int *usage)
Gets the usage of a buffer. @since_tizen 6.0.
void dlogutil_state_destroy(dlogutil_state_s *state)
Destroys the dlogutil_state_s struct. @since_tizen 6.0.
@ DLOGUTIL_SORT_RECV_REAL
Definition: dlogutil.h:49
@ DLOGUTIL_SORT_DEFAULT
Definition: dlogutil.h:50
@ DLOGUTIL_SORT_SENT_MONO
Definition: dlogutil.h:46
@ DLOGUTIL_SORT_SENT_REAL
Definition: dlogutil.h:47
@ DLOGUTIL_SORT_RECV_MONO
Definition: dlogutil.h:48