File indexing completed on 2025-09-13 08:56:15
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifndef _DEBUGINFOD_CLIENT_H
0030 #define _DEBUGINFOD_CLIENT_H 1
0031
0032
0033 #define DEBUGINFOD_URLS_ENV_VAR "DEBUGINFOD_URLS"
0034 #define DEBUGINFOD_CACHE_PATH_ENV_VAR "DEBUGINFOD_CACHE_PATH"
0035 #define DEBUGINFOD_TIMEOUT_ENV_VAR "DEBUGINFOD_TIMEOUT"
0036 #define DEBUGINFOD_PROGRESS_ENV_VAR "DEBUGINFOD_PROGRESS"
0037 #define DEBUGINFOD_VERBOSE_ENV_VAR "DEBUGINFOD_VERBOSE"
0038 #define DEBUGINFOD_RETRY_LIMIT_ENV_VAR "DEBUGINFOD_RETRY_LIMIT"
0039 #define DEBUGINFOD_MAXSIZE_ENV_VAR "DEBUGINFOD_MAXSIZE"
0040 #define DEBUGINFOD_MAXTIME_ENV_VAR "DEBUGINFOD_MAXTIME"
0041 #define DEBUGINFOD_HEADERS_FILE_ENV_VAR "DEBUGINFOD_HEADERS_FILE"
0042 #define DEBUGINFOD_IMA_CERT_PATH_ENV_VAR "DEBUGINFOD_IMA_CERT_PATH"
0043
0044
0045 #define DEBUGINFOD_SONAME "libdebuginfod.so.1"
0046
0047
0048 #ifndef _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF
0049 typedef struct debuginfod_client debuginfod_client;
0050 #define _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF 1
0051 #endif
0052
0053 #ifdef __cplusplus
0054 extern "C" {
0055 #endif
0056
0057
0058 debuginfod_client *debuginfod_begin (void);
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070 int debuginfod_find_debuginfo (debuginfod_client *client,
0071 const unsigned char *build_id,
0072 int build_id_len,
0073 char **path);
0074
0075 int debuginfod_find_executable (debuginfod_client *client,
0076 const unsigned char *build_id,
0077 int build_id_len,
0078 char **path);
0079
0080 int debuginfod_find_source (debuginfod_client *client,
0081 const unsigned char *build_id,
0082 int build_id_len,
0083 const char *filename,
0084 char **path);
0085
0086 int debuginfod_find_section (debuginfod_client *client,
0087 const unsigned char *build_id,
0088 int build_id_len,
0089 const char *section,
0090 char **path);
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103 int debuginfod_find_metadata (debuginfod_client *client,
0104 const char *key,
0105 const char* value,
0106 char **path);
0107
0108 typedef int (*debuginfod_progressfn_t)(debuginfod_client *c, long a, long b);
0109 void debuginfod_set_progressfn(debuginfod_client *c,
0110 debuginfod_progressfn_t fn);
0111
0112 void debuginfod_set_verbose_fd(debuginfod_client *c, int fd);
0113
0114
0115 void debuginfod_set_user_data (debuginfod_client *client, void *value);
0116
0117
0118 void* debuginfod_get_user_data (debuginfod_client *client);
0119
0120
0121 const char* debuginfod_get_url (debuginfod_client *client);
0122
0123
0124
0125 const char* debuginfod_get_headers(debuginfod_client *client);
0126
0127
0128 int debuginfod_add_http_header (debuginfod_client *client, const char* header);
0129
0130
0131 void debuginfod_end (debuginfod_client *client);
0132
0133 #ifdef __cplusplus
0134 }
0135 #endif
0136
0137
0138 #endif