This file is indexed.

/usr/include/aubio/utils/log.h is in libaubio-dev 0.4.5-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/*
  Copyright (C) 2016 Paul Brossier <piem@aubio.org>

  This file is part of aubio.

  aubio is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  aubio is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with aubio.  If not, see <http://www.gnu.org/licenses/>.

*/

#ifndef AUBIO_LOG_H
#define AUBIO_LOG_H

#ifdef __cplusplus
extern "C" {
#endif

/** \file

  Logging features

  This file specifies ::aubio_log_set_function and
  ::aubio_log_set_level_function, which let you define one or several custom
  logging functions to redirect warnings and errors from aubio to your
  application. The custom function should have the prototype defined in
  ::aubio_log_function_t.

  After a call to ::aubio_log_set_level_function, ::aubio_log_reset can be used
  to reset each logging functions to the default ones.

  \example utils/test-log.c

*/

/** list of logging levels */
enum aubio_log_level {
  AUBIO_LOG_ERR, /**< critical errors */
  AUBIO_LOG_INF, /**< infos */
  AUBIO_LOG_MSG, /**< general messages */
  AUBIO_LOG_DBG, /**< debug messages */
  AUBIO_LOG_WRN, /**< warnings */
  AUBIO_LOG_LAST_LEVEL, /**< number of valid levels */
};

/** Logging function prototype, to be passed to ::aubio_log_set_function

  \param level log level
  \param message text to log
  \param data optional closure used by the callback

  See @ref utils/test-log.c for an example of logging function.

 */
typedef void (*aubio_log_function_t)(sint_t level, const char_t *message, void
    *data);

/** Set logging function for all levels

  \param fun the function to be used to log, of type ::aubio_log_function_t
  \param data optional closure to be passed to the function (can be NULL if
  nothing to pass)

 */
void aubio_log_set_function(aubio_log_function_t fun, void* data);

/** Set logging function for a given level

  \param level the level for which to set the logging function
  \param fun the function to be used to log, of type ::aubio_log_function_t
  \param data optional closure to be passed to the function (can be NULL if
  nothing to pass)

*/
aubio_log_function_t aubio_log_set_level_function(sint_t level,
    aubio_log_function_t fun, void* data);

/** Reset all logging functions to the default one

 After calling this function, the default logging function will be used to
 print error, warning, normal, and debug messages to `stdout` or `stderr`.

 */
void aubio_log_reset(void);

#ifdef __cplusplus
}
#endif

#endif /* AUBIO_LOG_H */