File indexing completed on 2025-02-21 10:00:00
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
0043
0044 #define DEBUGINFOD_SONAME "libdebuginfod.so.1"
0045
0046
0047 #ifndef _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF
0048 typedef struct debuginfod_client debuginfod_client;
0049 #define _ELFUTILS_DEBUGINFOD_CLIENT_TYPEDEF 1
0050 #endif
0051
0052 #ifdef __cplusplus
0053 extern "C" {
0054 #endif
0055
0056
0057 debuginfod_client *debuginfod_begin (void);
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069 int debuginfod_find_debuginfo (debuginfod_client *client,
0070 const unsigned char *build_id,
0071 int build_id_len,
0072 char **path);
0073
0074 int debuginfod_find_executable (debuginfod_client *client,
0075 const unsigned char *build_id,
0076 int build_id_len,
0077 char **path);
0078
0079 int debuginfod_find_source (debuginfod_client *client,
0080 const unsigned char *build_id,
0081 int build_id_len,
0082 const char *filename,
0083 char **path);
0084
0085 int debuginfod_find_section (debuginfod_client *client,
0086 const unsigned char *build_id,
0087 int build_id_len,
0088 const char *section,
0089 char **path);
0090
0091 typedef int (*debuginfod_progressfn_t)(debuginfod_client *c, long a, long b);
0092 void debuginfod_set_progressfn(debuginfod_client *c,
0093 debuginfod_progressfn_t fn);
0094
0095 void debuginfod_set_verbose_fd(debuginfod_client *c, int fd);
0096
0097
0098 void debuginfod_set_user_data (debuginfod_client *client, void *value);
0099
0100
0101 void* debuginfod_get_user_data (debuginfod_client *client);
0102
0103
0104 const char* debuginfod_get_url (debuginfod_client *client);
0105
0106
0107
0108 const char* debuginfod_get_headers(debuginfod_client *client);
0109
0110
0111 int debuginfod_add_http_header (debuginfod_client *client, const char* header);
0112
0113
0114 void debuginfod_end (debuginfod_client *client);
0115
0116 #ifdef __cplusplus
0117 }
0118 #endif
0119
0120
0121 #endif