Remove extern from function declared in headers. (#13790)
By default functions are declared as extern in C/C++ headers. The goal of this PR is to reduce the wall of text that many headers have and, more importantly, to make the declaration of extern'd variables - of which we have many dispersed in various places - easily and quickly identifiable. Automatically generated with: $ git grep -l '^extern.*(' '**.h' | \ grep -v libjudy | \ grep -v 'sqlite3.h' | \ xargs sed -i -e 's/extern \(.*(.*$\)/\1/' This is a NFC.
vkalintiris committed
Oct 9, 2022 at 16:38 UTC
ccfbdb5c3d253a391cab0561dfc8a524b93d2e7c
128 files changed
+1269
-1269
collectors/ebpf.plugin/ebpf.h
+27
-27
@@ -163,8 +163,8 @@ enum ebpf_algorithms_list {
163
};
164
165
// Threads
166
-extern void *ebpf_process_thread(void *ptr);
167
-extern void *ebpf_socket_thread(void *ptr);
166
+void *ebpf_process_thread(void *ptr);
167
+void *ebpf_socket_thread(void *ptr);
168
169
// Common variables
170
extern pthread_mutex_t lock;
@@ -177,14 +177,14 @@ extern pthread_mutex_t collect_data_mutex;
177
extern pthread_cond_t collect_data_cond_var;
178
179
// Common functions
180
-extern void ebpf_global_labels(netdata_syscall_stat_t *is,
180
+void ebpf_global_labels(netdata_syscall_stat_t *is,
181
netdata_publish_syscall_t *pio,
182
char **dim,
183
char **name,
184
int *algorithm,
185
int end);
186
187
-extern void ebpf_write_chart_cmd(char *type,
187
+void ebpf_write_chart_cmd(char *type,
188
char *id,
189
char *title,
190
char *units,
@@ -195,11 +195,11 @@ extern void ebpf_write_chart_cmd(char *type,
195
int update_every,
196
char *module);
197
198
-extern void ebpf_write_global_dimension(char *name, char *id, char *algorithm);
198
+void ebpf_write_global_dimension(char *name, char *id, char *algorithm);
199
200
-extern void ebpf_create_global_dimension(void *ptr, int end);
200
+void ebpf_create_global_dimension(void *ptr, int end);
201
202
-extern void ebpf_create_chart(char *type,
202
+void ebpf_create_chart(char *type,
203
char *id,
204
char *title,
205
char *units,
@@ -213,18 +213,18 @@ extern void ebpf_create_chart(char *type,
213
int update_every,
214
char *module);
215
216
-extern void write_begin_chart(char *family, char *name);
216
+void write_begin_chart(char *family, char *name);
217
218
-extern void write_chart_dimension(char *dim, long long value);
218
+void write_chart_dimension(char *dim, long long value);
219
220
-extern void write_count_chart(char *name, char *family, netdata_publish_syscall_t *move, uint32_t end);
220
+void write_count_chart(char *name, char *family, netdata_publish_syscall_t *move, uint32_t end);
221
222
-extern void write_err_chart(char *name, char *family, netdata_publish_syscall_t *move, int end);
222
+void write_err_chart(char *name, char *family, netdata_publish_syscall_t *move, int end);
223
224
-extern void write_io_chart(char *chart, char *family, char *dwrite, long long vwrite,
224
+void write_io_chart(char *chart, char *family, char *dwrite, long long vwrite,
225
char *dread, long long vread);
226
227
-extern void ebpf_create_charts_on_apps(char *name,
227
+void ebpf_create_charts_on_apps(char *name,
228
char *title,
229
char *units,
230
char *family,
@@ -235,15 +235,15 @@ extern void ebpf_create_charts_on_apps(char *name,
235
int update_every,
236
char *module);
237
238
-extern void write_end_chart();
238
+void write_end_chart();
239
240
-extern void ebpf_cleanup_publish_syscall(netdata_publish_syscall_t *nps);
240
+void ebpf_cleanup_publish_syscall(netdata_publish_syscall_t *nps);
241
242
-extern int ebpf_enable_tracepoint(ebpf_tracepoint_t *tp);
243
-extern int ebpf_disable_tracepoint(ebpf_tracepoint_t *tp);
244
-extern uint32_t ebpf_enable_tracepoints(ebpf_tracepoint_t *tps);
242
+int ebpf_enable_tracepoint(ebpf_tracepoint_t *tp);
243
+int ebpf_disable_tracepoint(ebpf_tracepoint_t *tp);
244
+uint32_t ebpf_enable_tracepoints(ebpf_tracepoint_t *tps);
245
246
-extern void ebpf_pid_file(char *filename, size_t length);
246
+void ebpf_pid_file(char *filename, size_t length);
247
248
#define EBPF_PROGRAMS_SECTION "ebpf programs"
249
@@ -279,15 +279,15 @@ extern void *default_btf;
279
280
// Socket functions and variables
281
// Common functions
282
-extern void ebpf_process_create_apps_charts(struct ebpf_module *em, void *ptr);
283
-extern void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr);
284
-extern void ebpf_cachestat_create_apps_charts(struct ebpf_module *em, void *root);
285
-extern void ebpf_one_dimension_write_charts(char *family, char *chart, char *dim, long long v1);
286
-extern collected_number get_value_from_structure(char *basis, size_t offset);
287
-extern void ebpf_update_pid_table(ebpf_local_maps_t *pid, ebpf_module_t *em);
288
-extern void ebpf_write_chart_obsolete(char *type, char *id, char *title, char *units, char *family,
282
+void ebpf_process_create_apps_charts(struct ebpf_module *em, void *ptr);
283
+void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr);
284
+void ebpf_cachestat_create_apps_charts(struct ebpf_module *em, void *root);
285
+void ebpf_one_dimension_write_charts(char *family, char *chart, char *dim, long long v1);
286
+collected_number get_value_from_structure(char *basis, size_t offset);
287
+void ebpf_update_pid_table(ebpf_local_maps_t *pid, ebpf_module_t *em);
288
+void ebpf_write_chart_obsolete(char *type, char *id, char *title, char *units, char *family,
289
char *charttype, char *context, int order, int update_every);
290
-extern void write_histogram_chart(char *family, char *name, const netdata_idx_t *hist, char **dimensions, uint32_t end);
290
+void write_histogram_chart(char *family, char *name, const netdata_idx_t *hist, char **dimensions, uint32_t end);
291
void ebpf_update_disabled_plugin_stats(ebpf_module_t *em);
292
extern ebpf_filesystem_partitions_t localfs[];
293
extern ebpf_sync_syscalls_t local_syscalls[];
collectors/ebpf.plugin/ebpf_apps.h
+10
-10
@@ -408,30 +408,30 @@ static inline void debug_log_int(const char *fmt, ...)
408
//
409
extern struct pid_stat **all_pids;
410
411
-extern int ebpf_read_apps_groups_conf(struct target **apps_groups_default_target,
411
+int ebpf_read_apps_groups_conf(struct target **apps_groups_default_target,
412
struct target **apps_groups_root_target,
413
const char *path,
414
const char *file);
415
416
-extern void clean_apps_groups_target(struct target *apps_groups_root_target);
416
+void clean_apps_groups_target(struct target *apps_groups_root_target);
417
418
-extern size_t zero_all_targets(struct target *root);
418
+size_t zero_all_targets(struct target *root);
419
420
-extern int am_i_running_as_root();
420
+int am_i_running_as_root();
421
422
-extern void cleanup_exited_pids();
422
+void cleanup_exited_pids();
423
424
-extern int ebpf_read_hash_table(void *ep, int fd, uint32_t pid);
424
+int ebpf_read_hash_table(void *ep, int fd, uint32_t pid);
425
426
-extern int get_pid_comm(pid_t pid, size_t n, char *dest);
426
+int get_pid_comm(pid_t pid, size_t n, char *dest);
427
428
-extern size_t read_processes_statistic_using_pid_on_target(ebpf_process_stat_t **ep,
428
+size_t read_processes_statistic_using_pid_on_target(ebpf_process_stat_t **ep,
429
int fd,
430
struct pid_on_target *pids);
431
432
-extern size_t read_bandwidth_statistic_using_pid_on_target(ebpf_bandwidth_t **ep, int fd, struct pid_on_target *pids);
432
+size_t read_bandwidth_statistic_using_pid_on_target(ebpf_bandwidth_t **ep, int fd, struct pid_on_target *pids);
433
434
-extern void collect_data_for_all_processes(int tbl_pid_stats_fd);
434
+void collect_data_for_all_processes(int tbl_pid_stats_fd);
435
436
extern ebpf_process_stat_t **global_process_stats;
437
extern ebpf_process_publish_apps_t **current_apps_data;
collectors/ebpf.plugin/ebpf_cachestat.h
+1
-1
@@ -81,7 +81,7 @@ typedef struct netdata_publish_cachestat {
81
netdata_cachestat_pid_t prev;
82
} netdata_publish_cachestat_t;
83
84
-extern void *ebpf_cachestat_thread(void *ptr);
84
+void *ebpf_cachestat_thread(void *ptr);
85
86
extern struct config cachestat_config;
87
extern netdata_ebpf_targets_t cachestat_targets[];
collectors/ebpf.plugin/ebpf_cgroup.h
+4
-4
@@ -60,10 +60,10 @@ typedef struct ebpf_cgroup_target {
60
struct ebpf_cgroup_target *next;
61
} ebpf_cgroup_target_t;
62
63
-extern void ebpf_map_cgroup_shared_memory();
64
-extern void ebpf_parse_cgroup_shm_data();
65
-extern void ebpf_close_cgroup_shm();
66
-extern void ebpf_create_charts_on_systemd(char *id, char *title, char *units, char *family, char *charttype, int order,
63
+void ebpf_map_cgroup_shared_memory();
64
+void ebpf_parse_cgroup_shm_data();
65
+void ebpf_close_cgroup_shm();
66
+void ebpf_create_charts_on_systemd(char *id, char *title, char *units, char *family, char *charttype, int order,
67
char *algorithm, char *context, char *module, int update_every);
68
69
#endif /* NETDATA_EBPF_CGROUP_H */
collectors/ebpf.plugin/ebpf_dcstat.h
+2
-2
@@ -75,8 +75,8 @@ typedef struct netdata_publish_dcstat {
75
netdata_dcstat_pid_t prev;
76
} netdata_publish_dcstat_t;
77
78
-extern void *ebpf_dcstat_thread(void *ptr);
79
-extern void ebpf_dcstat_create_apps_charts(struct ebpf_module *em, void *ptr);
78
+void *ebpf_dcstat_thread(void *ptr);
79
+void ebpf_dcstat_create_apps_charts(struct ebpf_module *em, void *ptr);
80
extern struct config dcstat_config;
81
extern netdata_ebpf_targets_t dc_targets[];
82
extern ebpf_local_maps_t dcstat_maps[];
collectors/ebpf.plugin/ebpf_disk.h
+1
-1
@@ -72,7 +72,7 @@ typedef struct netdata_ebpf_publish_disk {
72
73
extern struct config disk_config;
74
75
-extern void *ebpf_disk_thread(void *ptr);
75
+void *ebpf_disk_thread(void *ptr);
76
77
#endif /* NETDATA_EBPF_DISK_H */
78
collectors/ebpf.plugin/ebpf_fd.h
+2
-2
@@ -75,8 +75,8 @@ enum fd_syscalls {
75
};
76
77
78
-extern void *ebpf_fd_thread(void *ptr);
79
-extern void ebpf_fd_create_apps_charts(struct ebpf_module *em, void *ptr);
78
+void *ebpf_fd_thread(void *ptr);
79
+void ebpf_fd_create_apps_charts(struct ebpf_module *em, void *ptr);
80
extern struct config fd_config;
81
extern netdata_fd_stat_t **fd_pid;
82
extern netdata_ebpf_targets_t fd_targets[];
collectors/ebpf.plugin/ebpf_filesystem.h
+1
-1
@@ -43,7 +43,7 @@ enum netdata_filesystem_table {
43
NETDATA_ADDR_FS_TABLE
44
};
45
46
-extern void *ebpf_filesystem_thread(void *ptr);
46
+void *ebpf_filesystem_thread(void *ptr);
47
extern struct config fs_config;
48
49
#endif /* NETDATA_EBPF_FILESYSTEM_H */
collectors/ebpf.plugin/ebpf_hardirq.h
+1
-1
@@ -68,6 +68,6 @@ typedef struct hardirq_static_val {
68
} hardirq_static_val_t;
69
70
extern struct config hardirq_config;
71
-extern void *ebpf_hardirq_thread(void *ptr);
71
+void *ebpf_hardirq_thread(void *ptr);
72
73
#endif /* NETDATA_EBPF_HARDIRQ_H */
collectors/ebpf.plugin/ebpf_mdflush.h
+1
-1
@@ -35,7 +35,7 @@ typedef struct netdata_mdflush {
35
uint64_t cnt;
36
} netdata_mdflush_t;
37
38
-extern void *ebpf_mdflush_thread(void *ptr);
38
+void *ebpf_mdflush_thread(void *ptr);
39
40
extern struct config mdflush_config;
41
collectors/ebpf.plugin/ebpf_mount.h
+1
-1
@@ -38,7 +38,7 @@ enum netdata_mount_syscalls {
38
};
39
40
extern struct config mount_config;
41
-extern void *ebpf_mount_thread(void *ptr);
41
+void *ebpf_mount_thread(void *ptr);
42
extern netdata_ebpf_targets_t mount_targets[];
43
44
#endif /* NETDATA_EBPF_MOUNT_H */
collectors/ebpf.plugin/ebpf_oomkill.h
+2
-2
@@ -26,7 +26,7 @@ typedef uint8_t oomkill_ebpf_val_t;
26
#define NETDATA_CGROUP_OOMKILLS_CONTEXT "cgroup.oomkills"
27
28
extern struct config oomkill_config;
29
-extern void *ebpf_oomkill_thread(void *ptr);
30
-extern void ebpf_oomkill_create_apps_charts(struct ebpf_module *em, void *ptr);
29
+void *ebpf_oomkill_thread(void *ptr);
30
+void ebpf_oomkill_create_apps_charts(struct ebpf_module *em, void *ptr);
31
32
#endif /* NETDATA_EBPF_OOMKILL_H */
collectors/ebpf.plugin/ebpf_shm.h
+2
-2
@@ -54,8 +54,8 @@ enum shm_counters {
54
55
extern netdata_publish_shm_t **shm_pid;
56
57
-extern void *ebpf_shm_thread(void *ptr);
58
-extern void ebpf_shm_create_apps_charts(struct ebpf_module *em, void *ptr);
57
+void *ebpf_shm_thread(void *ptr);
58
+void ebpf_shm_create_apps_charts(struct ebpf_module *em, void *ptr);
59
extern netdata_ebpf_targets_t shm_targets[];
60
61
extern struct config shm_config;
collectors/ebpf.plugin/ebpf_socket.h
+5
-5
@@ -356,12 +356,12 @@ typedef struct netdata_vector_plot {
356
357
} netdata_vector_plot_t;
358
359
-extern void clean_port_structure(ebpf_network_viewer_port_list_t **clean);
359
+void clean_port_structure(ebpf_network_viewer_port_list_t **clean);
360
extern ebpf_network_viewer_port_list_t *listen_ports;
361
-extern void update_listen_table(uint16_t value, uint16_t proto, netdata_passive_connection_t *values);
362
-extern void parse_network_viewer_section(struct config *cfg);
363
-extern void fill_ip_list(ebpf_network_viewer_ip_list_t **out, ebpf_network_viewer_ip_list_t *in, char *table);
364
-extern void parse_service_name_section(struct config *cfg);
361
+void update_listen_table(uint16_t value, uint16_t proto, netdata_passive_connection_t *values);
362
+void parse_network_viewer_section(struct config *cfg);
363
+void fill_ip_list(ebpf_network_viewer_ip_list_t **out, ebpf_network_viewer_ip_list_t *in, char *table);
364
+void parse_service_name_section(struct config *cfg);
365
366
extern ebpf_socket_publish_apps_t **socket_bandwidth_curr;
367
extern struct config socket_config;
collectors/ebpf.plugin/ebpf_softirq.h
+1
-1
@@ -29,6 +29,6 @@ typedef struct sofirq_val {
29
} softirq_val_t;
30
31
extern struct config softirq_config;
32
-extern void *ebpf_softirq_thread(void *ptr);
32
+void *ebpf_softirq_thread(void *ptr);
33
34
#endif /* NETDATA_EBPF_SOFTIRQ_H */
collectors/ebpf.plugin/ebpf_swap.h
+2
-2
@@ -44,8 +44,8 @@ enum swap_counters {
44
45
extern netdata_publish_swap_t **swap_pid;
46
47
-extern void *ebpf_swap_thread(void *ptr);
48
-extern void ebpf_swap_create_apps_charts(struct ebpf_module *em, void *ptr);
47
+void *ebpf_swap_thread(void *ptr);
48
+void ebpf_swap_create_apps_charts(struct ebpf_module *em, void *ptr);
49
50
extern struct config swap_config;
51
extern netdata_ebpf_targets_t swap_targets[];
collectors/ebpf.plugin/ebpf_sync.h
+1
-1
@@ -52,7 +52,7 @@ enum netdata_sync_table {
52
NETDATA_SYNC_GLOBAL_TABLE
53
};
54
55
-extern void *ebpf_sync_thread(void *ptr);
55
+void *ebpf_sync_thread(void *ptr);
56
extern struct config sync_config;
57
extern netdata_ebpf_targets_t sync_targets[];
58
collectors/ebpf.plugin/ebpf_vfs.h
+2
-2
@@ -168,8 +168,8 @@ enum netdata_vfs_calls_name {
168
169
extern netdata_publish_vfs_t **vfs_pid;
170
171
-extern void *ebpf_vfs_thread(void *ptr);
172
-extern void ebpf_vfs_create_apps_charts(struct ebpf_module *em, void *ptr);
171
+void *ebpf_vfs_thread(void *ptr);
172
+void ebpf_vfs_create_apps_charts(struct ebpf_module *em, void *ptr);
173
extern netdata_ebpf_targets_t vfs_targets[];
174
175
extern struct config vfs_config;
collectors/freebsd.plugin/plugin_freebsd.h
+35
-35
@@ -13,41 +13,41 @@
13
14
#define MAX_INT_DIGITS 10 // maximum number of digits for int
15
16
-extern int freebsd_plugin_init();
17
-
18
-extern int do_vm_loadavg(int update_every, usec_t dt);
19
-extern int do_vm_vmtotal(int update_every, usec_t dt);
20
-extern int do_kern_cp_time(int update_every, usec_t dt);
21
-extern int do_kern_cp_times(int update_every, usec_t dt);
22
-extern int do_dev_cpu_temperature(int update_every, usec_t dt);
23
-extern int do_dev_cpu_0_freq(int update_every, usec_t dt);
24
-extern int do_hw_intcnt(int update_every, usec_t dt);
25
-extern int do_vm_stats_sys_v_intr(int update_every, usec_t dt);
26
-extern int do_vm_stats_sys_v_soft(int update_every, usec_t dt);
27
-extern int do_vm_stats_sys_v_swtch(int update_every, usec_t dt);
28
-extern int do_vm_stats_sys_v_forks(int update_every, usec_t dt);
29
-extern int do_vm_swap_info(int update_every, usec_t dt);
30
-extern int do_system_ram(int update_every, usec_t dt);
31
-extern int do_vm_stats_sys_v_swappgs(int update_every, usec_t dt);
32
-extern int do_vm_stats_sys_v_pgfaults(int update_every, usec_t dt);
33
-extern int do_kern_ipc_sem(int update_every, usec_t dt);
34
-extern int do_kern_ipc_shm(int update_every, usec_t dt);
35
-extern int do_kern_ipc_msq(int update_every, usec_t dt);
36
-extern int do_uptime(int update_every, usec_t dt);
37
-extern int do_net_isr(int update_every, usec_t dt);
38
-extern int do_net_inet_tcp_states(int update_every, usec_t dt);
39
-extern int do_net_inet_tcp_stats(int update_every, usec_t dt);
40
-extern int do_net_inet_udp_stats(int update_every, usec_t dt);
41
-extern int do_net_inet_icmp_stats(int update_every, usec_t dt);
42
-extern int do_net_inet_ip_stats(int update_every, usec_t dt);
43
-extern int do_net_inet6_ip6_stats(int update_every, usec_t dt);
44
-extern int do_net_inet6_icmp6_stats(int update_every, usec_t dt);
45
-extern int do_getifaddrs(int update_every, usec_t dt);
46
-extern int do_getmntinfo(int update_every, usec_t dt);
47
-extern int do_kern_devstat(int update_every, usec_t dt);
48
-extern int do_kstat_zfs_misc_arcstats(int update_every, usec_t dt);
49
-extern int do_kstat_zfs_misc_zio_trim(int update_every, usec_t dt);
50
-extern int do_ipfw(int update_every, usec_t dt);
16
+int freebsd_plugin_init();
17
+
18
+int do_vm_loadavg(int update_every, usec_t dt);
19
+int do_vm_vmtotal(int update_every, usec_t dt);
20
+int do_kern_cp_time(int update_every, usec_t dt);
21
+int do_kern_cp_times(int update_every, usec_t dt);
22
+int do_dev_cpu_temperature(int update_every, usec_t dt);
23
+int do_dev_cpu_0_freq(int update_every, usec_t dt);
24
+int do_hw_intcnt(int update_every, usec_t dt);
25
+int do_vm_stats_sys_v_intr(int update_every, usec_t dt);
26
+int do_vm_stats_sys_v_soft(int update_every, usec_t dt);
27
+int do_vm_stats_sys_v_swtch(int update_every, usec_t dt);
28
+int do_vm_stats_sys_v_forks(int update_every, usec_t dt);
29
+int do_vm_swap_info(int update_every, usec_t dt);
30
+int do_system_ram(int update_every, usec_t dt);
31
+int do_vm_stats_sys_v_swappgs(int update_every, usec_t dt);
32
+int do_vm_stats_sys_v_pgfaults(int update_every, usec_t dt);
33
+int do_kern_ipc_sem(int update_every, usec_t dt);
34
+int do_kern_ipc_shm(int update_every, usec_t dt);
35
+int do_kern_ipc_msq(int update_every, usec_t dt);
36
+int do_uptime(int update_every, usec_t dt);
37
+int do_net_isr(int update_every, usec_t dt);
38
+int do_net_inet_tcp_states(int update_every, usec_t dt);
39
+int do_net_inet_tcp_stats(int update_every, usec_t dt);
40
+int do_net_inet_udp_stats(int update_every, usec_t dt);
41
+int do_net_inet_icmp_stats(int update_every, usec_t dt);
42
+int do_net_inet_ip_stats(int update_every, usec_t dt);
43
+int do_net_inet6_ip6_stats(int update_every, usec_t dt);
44
+int do_net_inet6_icmp6_stats(int update_every, usec_t dt);
45
+int do_getifaddrs(int update_every, usec_t dt);
46
+int do_getmntinfo(int update_every, usec_t dt);
47
+int do_kern_devstat(int update_every, usec_t dt);
48
+int do_kstat_zfs_misc_arcstats(int update_every, usec_t dt);
49
+int do_kstat_zfs_misc_zio_trim(int update_every, usec_t dt);
50
+int do_ipfw(int update_every, usec_t dt);
51
52
// metrics that need to be shared among data collectors
53
extern unsigned long long zfs_arcstats_shrinkable_cache_size_bytes;
collectors/macos.plugin/plugin_macos.h
+3
-3
@@ -5,8 +5,8 @@
5
6
#include "daemon/common.h"
7
8
-extern int do_macos_sysctl(int update_every, usec_t dt);
9
-extern int do_macos_mach_smi(int update_every, usec_t dt);
10
-extern int do_macos_iokit(int update_every, usec_t dt);
8
+int do_macos_sysctl(int update_every, usec_t dt);
9
+int do_macos_mach_smi(int update_every, usec_t dt);
10
+int do_macos_iokit(int update_every, usec_t dt);
11
12
#endif /* NETDATA_PLUGIN_MACOS_H */
collectors/plugins.d/plugins_d.h
+2
-2
@@ -67,9 +67,9 @@ struct plugind {
67
68
extern struct plugind *pluginsd_root;
69
70
-extern size_t pluginsd_process(RRDHOST *host, struct plugind *cd, FILE *fp_plugin_input, FILE *fp_plugin_output, int trust_durations);
70
+size_t pluginsd_process(RRDHOST *host, struct plugind *cd, FILE *fp_plugin_input, FILE *fp_plugin_output, int trust_durations);
71
72
-extern int pluginsd_initialize_plugin_directories();
72
+int pluginsd_initialize_plugin_directories();
73
74
75
collectors/plugins.d/pluginsd_parser.h
+13
-13
@@ -22,22 +22,22 @@ typedef struct parser_user_object {
22
void *private; // the user can set this for private use
23
} PARSER_USER_OBJECT;
24
25
-extern PARSER_RC pluginsd_set_action(void *user, RRDSET *st, RRDDIM *rd, long long int value);
26
-extern PARSER_RC pluginsd_flush_action(void *user, RRDSET *st);
27
-extern PARSER_RC pluginsd_begin_action(void *user, RRDSET *st, usec_t microseconds, int trust_durations);
28
-extern PARSER_RC pluginsd_end_action(void *user, RRDSET *st);
29
-extern PARSER_RC pluginsd_chart_action(void *user, char *type, char *id, char *name, char *family, char *context,
25
+PARSER_RC pluginsd_set_action(void *user, RRDSET *st, RRDDIM *rd, long long int value);
26
+PARSER_RC pluginsd_flush_action(void *user, RRDSET *st);
27
+PARSER_RC pluginsd_begin_action(void *user, RRDSET *st, usec_t microseconds, int trust_durations);
28
+PARSER_RC pluginsd_end_action(void *user, RRDSET *st);
29
+PARSER_RC pluginsd_chart_action(void *user, char *type, char *id, char *name, char *family, char *context,
30
char *title, char *units, char *plugin, char *module, int priority,
31
int update_every, RRDSET_TYPE chart_type, char *options);
32
-extern PARSER_RC pluginsd_disable_action(void *user);
33
-extern PARSER_RC pluginsd_variable_action(void *user, RRDHOST *host, RRDSET *st, char *name, int global, NETDATA_DOUBLE value);
34
-extern PARSER_RC pluginsd_dimension_action(void *user, RRDSET *st, char *id, char *name, char *algorithm,
32
+PARSER_RC pluginsd_disable_action(void *user);
33
+PARSER_RC pluginsd_variable_action(void *user, RRDHOST *host, RRDSET *st, char *name, int global, NETDATA_DOUBLE value);
34
+PARSER_RC pluginsd_dimension_action(void *user, RRDSET *st, char *id, char *name, char *algorithm,
35
long multiplier, long divisor, char *options, RRD_ALGORITHM algorithm_type);
36
-extern PARSER_RC pluginsd_label_action(void *user, char *key, char *value, RRDLABEL_SRC source);
37
-extern PARSER_RC pluginsd_overwrite_action(void *user, RRDHOST *host, DICTIONARY *new_host_labels);
36
+PARSER_RC pluginsd_label_action(void *user, char *key, char *value, RRDLABEL_SRC source);
37
+PARSER_RC pluginsd_overwrite_action(void *user, RRDHOST *host, DICTIONARY *new_host_labels);
38
39
-extern PARSER_RC pluginsd_function(char **words, void *user, PLUGINSD_ACTION *plugins_action);
40
-extern PARSER_RC pluginsd_function_result_begin(char **words, void *user, PLUGINSD_ACTION *plugins_action);
41
-extern void inflight_functions_init(PARSER *parser);
39
+PARSER_RC pluginsd_function(char **words, void *user, PLUGINSD_ACTION *plugins_action);
40
+PARSER_RC pluginsd_function_result_begin(char **words, void *user, PLUGINSD_ACTION *plugins_action);
41
+void inflight_functions_init(PARSER *parser);
42
43
#endif //NETDATA_PLUGINSD_PARSER_H
collectors/proc.plugin/plugin_proc.h
+39
-39
@@ -9,58 +9,58 @@
9
#define PLUGIN_PROC_NAME PLUGIN_PROC_CONFIG_NAME ".plugin"
10
11
#define THREAD_NETDEV_NAME "PLUGIN[proc netdev]"
12
-extern void *netdev_main(void *ptr);
12
+void *netdev_main(void *ptr);
13
14
-extern int do_proc_net_wireless(int update_every, usec_t dt);
15
-extern int do_proc_diskstats(int update_every, usec_t dt);
16
-extern int do_proc_mdstat(int update_every, usec_t dt);
17
-extern int do_proc_net_snmp(int update_every, usec_t dt);
18
-extern int do_proc_net_snmp6(int update_every, usec_t dt);
19
-extern int do_proc_net_netstat(int update_every, usec_t dt);
20
-extern int do_proc_net_stat_conntrack(int update_every, usec_t dt);
21
-extern int do_proc_net_ip_vs_stats(int update_every, usec_t dt);
22
-extern int do_proc_stat(int update_every, usec_t dt);
23
-extern int do_proc_meminfo(int update_every, usec_t dt);
24
-extern int do_proc_vmstat(int update_every, usec_t dt);
25
-extern int do_proc_net_rpc_nfs(int update_every, usec_t dt);
26
-extern int do_proc_net_rpc_nfsd(int update_every, usec_t dt);
27
-extern int do_proc_sys_kernel_random_entropy_avail(int update_every, usec_t dt);
28
-extern int do_proc_interrupts(int update_every, usec_t dt);
29
-extern int do_proc_softirqs(int update_every, usec_t dt);
30
-extern int do_proc_pressure(int update_every, usec_t dt);
31
-extern int do_sys_kernel_mm_ksm(int update_every, usec_t dt);
32
-extern int do_sys_block_zram(int update_every, usec_t dt);
33
-extern int do_proc_loadavg(int update_every, usec_t dt);
34
-extern int do_proc_net_stat_synproxy(int update_every, usec_t dt);
35
-extern int do_proc_net_softnet_stat(int update_every, usec_t dt);
36
-extern int do_proc_uptime(int update_every, usec_t dt);
37
-extern int do_proc_sys_devices_system_edac_mc(int update_every, usec_t dt);
38
-extern int do_proc_sys_devices_system_node(int update_every, usec_t dt);
39
-extern int do_proc_spl_kstat_zfs_arcstats(int update_every, usec_t dt);
40
-extern int do_proc_spl_kstat_zfs_pool_state(int update_every, usec_t dt);
41
-extern int do_sys_fs_btrfs(int update_every, usec_t dt);
42
-extern int do_proc_net_sockstat(int update_every, usec_t dt);
43
-extern int do_proc_net_sockstat6(int update_every, usec_t dt);
44
-extern int do_proc_net_sctp_snmp(int update_every, usec_t dt);
45
-extern int do_ipc(int update_every, usec_t dt);
46
-extern int do_sys_class_power_supply(int update_every, usec_t dt);
47
-extern int do_proc_pagetypeinfo(int update_every, usec_t dt);
48
-extern int do_sys_class_infiniband(int update_every, usec_t dt);
49
-extern int get_numa_node_count(void);
14
+int do_proc_net_wireless(int update_every, usec_t dt);
15
+int do_proc_diskstats(int update_every, usec_t dt);
16
+int do_proc_mdstat(int update_every, usec_t dt);
17
+int do_proc_net_snmp(int update_every, usec_t dt);
18
+int do_proc_net_snmp6(int update_every, usec_t dt);
19
+int do_proc_net_netstat(int update_every, usec_t dt);
20
+int do_proc_net_stat_conntrack(int update_every, usec_t dt);
21
+int do_proc_net_ip_vs_stats(int update_every, usec_t dt);
22
+int do_proc_stat(int update_every, usec_t dt);
23
+int do_proc_meminfo(int update_every, usec_t dt);
24
+int do_proc_vmstat(int update_every, usec_t dt);
25
+int do_proc_net_rpc_nfs(int update_every, usec_t dt);
26
+int do_proc_net_rpc_nfsd(int update_every, usec_t dt);
27
+int do_proc_sys_kernel_random_entropy_avail(int update_every, usec_t dt);
28
+int do_proc_interrupts(int update_every, usec_t dt);
29
+int do_proc_softirqs(int update_every, usec_t dt);
30
+int do_proc_pressure(int update_every, usec_t dt);
31
+int do_sys_kernel_mm_ksm(int update_every, usec_t dt);
32
+int do_sys_block_zram(int update_every, usec_t dt);
33
+int do_proc_loadavg(int update_every, usec_t dt);
34
+int do_proc_net_stat_synproxy(int update_every, usec_t dt);
35
+int do_proc_net_softnet_stat(int update_every, usec_t dt);
36
+int do_proc_uptime(int update_every, usec_t dt);
37
+int do_proc_sys_devices_system_edac_mc(int update_every, usec_t dt);
38
+int do_proc_sys_devices_system_node(int update_every, usec_t dt);
39
+int do_proc_spl_kstat_zfs_arcstats(int update_every, usec_t dt);
40
+int do_proc_spl_kstat_zfs_pool_state(int update_every, usec_t dt);
41
+int do_sys_fs_btrfs(int update_every, usec_t dt);
42
+int do_proc_net_sockstat(int update_every, usec_t dt);
43
+int do_proc_net_sockstat6(int update_every, usec_t dt);
44
+int do_proc_net_sctp_snmp(int update_every, usec_t dt);
45
+int do_ipc(int update_every, usec_t dt);
46
+int do_sys_class_power_supply(int update_every, usec_t dt);
47
+int do_proc_pagetypeinfo(int update_every, usec_t dt);
48
+int do_sys_class_infiniband(int update_every, usec_t dt);
49
+int get_numa_node_count(void);
50
51
// metrics that need to be shared among data collectors
52
extern unsigned long long tcpext_TCPSynRetrans;
53
extern unsigned long long zfs_arcstats_shrinkable_cache_size_bytes;
54
55
// netdev renames
56
-extern void netdev_rename_device_add(
56
+void netdev_rename_device_add(
57
const char *host_device,
58
const char *container_device,
59
const char *container_name,
60
DICTIONARY *labels,
61
const char *ctx_prefix);
62
63
-extern void netdev_rename_device_del(const char *host_device);
63
+void netdev_rename_device_del(const char *host_device);
64
65
#include "proc_self_mountinfo.h"
66
#include "proc_pressure.h"
collectors/proc.plugin/proc_pressure.h
+1
-1
@@ -38,6 +38,6 @@ struct pressure {
38
} some, full;
39
};
40
41
-extern void update_pressure_charts(struct pressure_charts *charts);
41
+void update_pressure_charts(struct pressure_charts *charts);
42
43
#endif //NETDATA_PROC_PRESSURE_H
collectors/proc.plugin/proc_self_mountinfo.h
+5
-5
@@ -51,11 +51,11 @@ struct mountinfo {
51
struct mountinfo *next;
52
};
53
54
-extern struct mountinfo *mountinfo_find(struct mountinfo *root, unsigned long major, unsigned long minor, char *device);
55
-extern struct mountinfo *mountinfo_find_by_filesystem_mount_source(struct mountinfo *root, const char *filesystem, const char *mount_source);
56
-extern struct mountinfo *mountinfo_find_by_filesystem_super_option(struct mountinfo *root, const char *filesystem, const char *super_options);
54
+struct mountinfo *mountinfo_find(struct mountinfo *root, unsigned long major, unsigned long minor, char *device);
55
+struct mountinfo *mountinfo_find_by_filesystem_mount_source(struct mountinfo *root, const char *filesystem, const char *mount_source);
56
+struct mountinfo *mountinfo_find_by_filesystem_super_option(struct mountinfo *root, const char *filesystem, const char *super_options);
57
58
-extern void mountinfo_free_all(struct mountinfo *mi);
59
-extern struct mountinfo *mountinfo_read(int do_statvfs);
58
+void mountinfo_free_all(struct mountinfo *mi);
59
+struct mountinfo *mountinfo_read(int do_statvfs);
60
61
#endif /* NETDATA_PROC_SELF_MOUNTINFO_H */
daemon/analytics.h
+12
-12
@@ -69,18 +69,18 @@ struct analytics_data {
69
uint8_t dashboard_hits;
70
};
71
72
-extern void analytics_get_data(char *name, BUFFER *wb);
73
-extern void set_late_global_environment(void);
74
-extern void analytics_free_data(void);
75
-extern void set_global_environment(void);
76
-extern void send_statistics(const char *action, const char *action_result, const char *action_data);
77
-extern void analytics_log_shell(void);
78
-extern void analytics_log_json(void);
79
-extern void analytics_log_prometheus(void);
80
-extern void analytics_log_dashboard(void);
81
-extern void analytics_gather_mutable_meta_data(void);
82
-extern void analytics_report_oom_score(long long int score);
83
-extern void get_system_timezone(void);
72
+void analytics_get_data(char *name, BUFFER *wb);
73
+void set_late_global_environment(void);
74
+void analytics_free_data(void);
75
+void set_global_environment(void);
76
+void send_statistics(const char *action, const char *action_result, const char *action_data);
77
+void analytics_log_shell(void);
78
+void analytics_log_json(void);
79
+void analytics_log_prometheus(void);
80
+void analytics_log_dashboard(void);
81
+void analytics_gather_mutable_meta_data(void);
82
+void analytics_report_oom_score(long long int score);
83
+void get_system_timezone(void);
84
85
extern struct analytics_data analytics_data;
86
daemon/buildinfo.h
+4
-4
@@ -3,12 +3,12 @@
3
#ifndef NETDATA_BUILDINFO_H
4
#define NETDATA_BUILDINFO_H 1
5
6
-extern void print_build_info(void);
6
+void print_build_info(void);
7
8
-extern void print_build_info_json(void);
8
+void print_build_info_json(void);
9
10
-extern char *get_value_from_key(char *buffer, char *key);
10
+char *get_value_from_key(char *buffer, char *key);
11
12
-extern void get_install_type(char **install_type, char **prebuilt_arch, char **prebuilt_dist);
12
+void get_install_type(char **install_type, char **prebuilt_arch, char **prebuilt_dist);
13
14
#endif // NETDATA_BUILDINFO_H
daemon/commands.h
+2
-2
@@ -76,7 +76,7 @@ typedef struct command_info {
76
typedef void (command_lock_t) (unsigned index);
77
78
cmd_status_t execute_command(cmd_t idx, char *args, char **message);
79
-extern void commands_init(void);
80
-extern void commands_exit(void);
79
+void commands_init(void);
80
+void commands_exit(void);
81
82
#endif //NETDATA_COMMANDS_H
daemon/daemon.h
+5
-5
@@ -3,14 +3,14 @@
3
#ifndef NETDATA_DAEMON_H
4
#define NETDATA_DAEMON_H 1
5
6
-extern int become_user(const char *username, int pid_fd);
6
+int become_user(const char *username, int pid_fd);
7
8
-extern int become_daemon(int dont_fork, const char *user);
8
+int become_daemon(int dont_fork, const char *user);
9
10
-extern void netdata_cleanup_and_exit(int i);
11
-extern void send_statistics(const char *action, const char *action_result, const char *action_data);
10
+void netdata_cleanup_and_exit(int i);
11
+void send_statistics(const char *action, const char *action_result, const char *action_data);
12
13
-extern void get_netdata_execution_path(void);
13
+void get_netdata_execution_path(void);
14
15
extern char pidfile[];
16
extern char exepath[];
daemon/global_statistics.h
+6
-6
@@ -8,17 +8,17 @@
8
// ----------------------------------------------------------------------------
9
// global statistics
10
11
-extern void rrdr_query_completed(uint64_t db_points_read, uint64_t result_points_generated);
12
-extern void sqlite3_query_completed(bool success, bool busy, bool locked);
13
-extern void sqlite3_row_completed(void);
11
+void rrdr_query_completed(uint64_t db_points_read, uint64_t result_points_generated);
12
+void sqlite3_query_completed(bool success, bool busy, bool locked);
13
+void sqlite3_row_completed(void);
14
15
-extern void finished_web_request_statistics(uint64_t dt,
15
+void finished_web_request_statistics(uint64_t dt,
16
uint64_t bytes_received,
17
uint64_t bytes_sent,
18
uint64_t content_size,
19
uint64_t compressed_content_size);
20
21
-extern uint64_t web_client_connected(void);
22
-extern void web_client_disconnected(void);
21
+uint64_t web_client_connected(void);
22
+void web_client_disconnected(void);
23
24
#endif /* NETDATA_GLOBAL_STATISTICS_H */
daemon/main.h
+4
-4
@@ -22,9 +22,9 @@ struct option_def {
22
const char *default_value;
23
};
24
25
-extern void cancel_main_threads(void);
26
-extern int killpid(pid_t pid);
27
-extern void netdata_cleanup_and_exit(int ret) NORETURN;
28
-extern void send_statistics(const char *action, const char *action_result, const char *action_data);
25
+void cancel_main_threads(void);
26
+int killpid(pid_t pid);
27
+void netdata_cleanup_and_exit(int ret) NORETURN;
28
+void send_statistics(const char *action, const char *action_result, const char *action_data);
29
30
#endif /* NETDATA_MAIN_H */
daemon/signals.h
+6
-6
@@ -3,11 +3,11 @@
3
#ifndef NETDATA_SIGNALS_H
4
#define NETDATA_SIGNALS_H 1
5
6
-extern void signals_init(void);
7
-extern void signals_block(void);
8
-extern void signals_unblock(void);
9
-extern void signals_restore_SIGCHLD(void);
10
-extern void signals_reset(void);
11
-extern void signals_handle(void) NORETURN;
6
+void signals_init(void);
7
+void signals_block(void);
8
+void signals_unblock(void);
9
+void signals_restore_SIGCHLD(void);
10
+void signals_reset(void);
11
+void signals_handle(void) NORETURN;
12
13
#endif //NETDATA_SIGNALS_H
daemon/unit_test.h
+11
-11
@@ -3,18 +3,18 @@
3
#ifndef NETDATA_UNIT_TEST_H
4
#define NETDATA_UNIT_TEST_H 1
5
6
-extern int unit_test_storage(void);
7
-extern int unit_test(long delay, long shift);
8
-extern int run_all_mockup_tests(void);
9
-extern int unit_test_str2ld(void);
10
-extern int unit_test_buffer(void);
11
-extern int unit_test_static_threads(void);
12
-extern int test_sqlite(void);
13
-extern int unit_test_bitmap256(void);
6
+int unit_test_storage(void);
7
+int unit_test(long delay, long shift);
8
+int run_all_mockup_tests(void);
9
+int unit_test_str2ld(void);
10
+int unit_test_buffer(void);
11
+int unit_test_static_threads(void);
12
+int test_sqlite(void);
13
+int unit_test_bitmap256(void);
14
#ifdef ENABLE_DBENGINE
15
-extern int test_dbengine(void);
16
-extern void generate_dbengine_dataset(unsigned history_seconds);
17
-extern void dbengine_stress_test(unsigned TEST_DURATION_SEC, unsigned DSET_CHARTS, unsigned QUERY_THREADS,
15
+int test_dbengine(void);
16
+void generate_dbengine_dataset(unsigned history_seconds);
17
+void dbengine_stress_test(unsigned TEST_DURATION_SEC, unsigned DSET_CHARTS, unsigned QUERY_THREADS,
18
unsigned RAMP_UP_SECONDS, unsigned PAGE_CACHE_MB, unsigned DISK_SPACE_MB);
19
20
#endif
database/engine/datafile.h
+11
-11
@@ -52,16 +52,16 @@ struct rrdengine_datafile_list {
52
struct rrdengine_datafile *last; /* newest */
53
};
54
55
-extern void df_extent_insert(struct extent_info *extent);
56
-extern void datafile_list_insert(struct rrdengine_instance *ctx, struct rrdengine_datafile *datafile);
57
-extern void datafile_list_delete(struct rrdengine_instance *ctx, struct rrdengine_datafile *datafile);
58
-extern void generate_datafilepath(struct rrdengine_datafile *datafile, char *str, size_t maxlen);
59
-extern int close_data_file(struct rrdengine_datafile *datafile);
60
-extern int unlink_data_file(struct rrdengine_datafile *datafile);
61
-extern int destroy_data_file(struct rrdengine_datafile *datafile);
62
-extern int create_data_file(struct rrdengine_datafile *datafile);
63
-extern int create_new_datafile_pair(struct rrdengine_instance *ctx, unsigned tier, unsigned fileno);
64
-extern int init_data_files(struct rrdengine_instance *ctx);
65
-extern void finalize_data_files(struct rrdengine_instance *ctx);
55
+void df_extent_insert(struct extent_info *extent);
56
+void datafile_list_insert(struct rrdengine_instance *ctx, struct rrdengine_datafile *datafile);
57
+void datafile_list_delete(struct rrdengine_instance *ctx, struct rrdengine_datafile *datafile);
58
+void generate_datafilepath(struct rrdengine_datafile *datafile, char *str, size_t maxlen);
59
+int close_data_file(struct rrdengine_datafile *datafile);
60
+int unlink_data_file(struct rrdengine_datafile *datafile);
61
+int destroy_data_file(struct rrdengine_datafile *datafile);
62
+int create_data_file(struct rrdengine_datafile *datafile);
63
+int create_new_datafile_pair(struct rrdengine_instance *ctx, unsigned tier, unsigned fileno);
64
+int init_data_files(struct rrdengine_instance *ctx);
65
+void finalize_data_files(struct rrdengine_instance *ctx);
66
67
#endif /* NETDATA_DATAFILE_H */
\ No newline at end of file
database/engine/journalfile.h
+10
-10
@@ -33,17 +33,17 @@ struct transaction_commit_log {
33
unsigned buf_size;
34
};
35
36
-extern void generate_journalfilepath(struct rrdengine_datafile *datafile, char *str, size_t maxlen);
37
-extern void journalfile_init(struct rrdengine_journalfile *journalfile, struct rrdengine_datafile *datafile);
38
-extern void *wal_get_transaction_buffer(struct rrdengine_worker_config* wc, unsigned size);
39
-extern void wal_flush_transaction_buffer(struct rrdengine_worker_config* wc);
40
-extern int close_journal_file(struct rrdengine_journalfile *journalfile, struct rrdengine_datafile *datafile);
41
-extern int unlink_journal_file(struct rrdengine_journalfile *journalfile);
42
-extern int destroy_journal_file(struct rrdengine_journalfile *journalfile, struct rrdengine_datafile *datafile);
43
-extern int create_journal_file(struct rrdengine_journalfile *journalfile, struct rrdengine_datafile *datafile);
44
-extern int load_journal_file(struct rrdengine_instance *ctx, struct rrdengine_journalfile *journalfile,
36
+void generate_journalfilepath(struct rrdengine_datafile *datafile, char *str, size_t maxlen);
37
+void journalfile_init(struct rrdengine_journalfile *journalfile, struct rrdengine_datafile *datafile);
38
+void *wal_get_transaction_buffer(struct rrdengine_worker_config* wc, unsigned size);
39
+void wal_flush_transaction_buffer(struct rrdengine_worker_config* wc);
40
+int close_journal_file(struct rrdengine_journalfile *journalfile, struct rrdengine_datafile *datafile);
41
+int unlink_journal_file(struct rrdengine_journalfile *journalfile);
42
+int destroy_journal_file(struct rrdengine_journalfile *journalfile, struct rrdengine_datafile *datafile);
43
+int create_journal_file(struct rrdengine_journalfile *journalfile, struct rrdengine_datafile *datafile);
44
+int load_journal_file(struct rrdengine_instance *ctx, struct rrdengine_journalfile *journalfile,
45
struct rrdengine_datafile *datafile);
46
-extern void init_commit_log(struct rrdengine_instance *ctx);
46
+void init_commit_log(struct rrdengine_instance *ctx);
47
48
49
#endif /* NETDATA_JOURNALFILE_H */
\ No newline at end of file
database/engine/metadata_log/compaction.h
+1
-1
@@ -8,7 +8,7 @@
8
#endif
9
#include "../rrdengine.h"
10
11
-extern int compaction_failure_recovery(struct metalog_instance *ctx, struct metadata_logfile **metalogfiles,
11
+int compaction_failure_recovery(struct metalog_instance *ctx, struct metadata_logfile **metalogfiles,
12
unsigned *matched_files);
13
14
#endif /* NETDATA_COMPACTION_H */
database/engine/metadata_log/logfile.h
+5
-5
@@ -28,12 +28,12 @@ struct metadata_logfile_list {
28
struct metadata_logfile *last; /* newest */
29
};
30
31
-extern void generate_metadata_logfile_path(struct metadata_logfile *metadatalog, char *str, size_t maxlen);
32
-extern int rename_metadata_logfile(struct metadata_logfile *metalogfile, unsigned new_starting_fileno,
31
+void generate_metadata_logfile_path(struct metadata_logfile *metadatalog, char *str, size_t maxlen);
32
+int rename_metadata_logfile(struct metadata_logfile *metalogfile, unsigned new_starting_fileno,
33
unsigned new_fileno);
34
-extern int unlink_metadata_logfile(struct metadata_logfile *metalogfile);
35
-extern int load_metadata_logfile(struct metalog_instance *ctx, struct metadata_logfile *logfile);
36
-extern int init_metalog_files(struct metalog_instance *ctx);
34
+int unlink_metadata_logfile(struct metadata_logfile *metalogfile);
35
+int load_metadata_logfile(struct metalog_instance *ctx, struct metadata_logfile *logfile);
36
+int init_metalog_files(struct metalog_instance *ctx);
37
38
39
#endif /* NETDATA_LOGFILE_H */
database/engine/metadata_log/metadatalogapi.h
+3
-3
@@ -3,10 +3,10 @@
3
#ifndef NETDATA_METADATALOGAPI_H
4
#define NETDATA_METADATALOGAPI_H
5
6
-extern void metalog_commit_delete_chart(RRDSET *st);
7
-extern void metalog_delete_dimension_by_uuid(struct metalog_instance *ctx, uuid_t *metric_uuid);
6
+void metalog_commit_delete_chart(RRDSET *st);
7
+void metalog_delete_dimension_by_uuid(struct metalog_instance *ctx, uuid_t *metric_uuid);
8
9
/* must call once before using anything */
10
-extern int metalog_init(struct rrdengine_instance *rrdeng_parent_ctx);
10
+int metalog_init(struct rrdengine_instance *rrdeng_parent_ctx);
11
12
#endif /* NETDATA_METADATALOGAPI_H */
database/engine/metadata_log/metalogpluginsd.h
+8
-8
@@ -16,18 +16,18 @@ struct metalog_pluginsd_state {
16
struct metadata_logfile *metalogfile; /* current metadata log file being replayed */
17
};
18
19
-extern void metalog_pluginsd_state_init(struct metalog_pluginsd_state *state, struct metalog_instance *ctx);
19
+void metalog_pluginsd_state_init(struct metalog_pluginsd_state *state, struct metalog_instance *ctx);
20
21
-extern PARSER_RC metalog_pluginsd_chart_action(void *user, char *type, char *id, char *name, char *family,
21
+PARSER_RC metalog_pluginsd_chart_action(void *user, char *type, char *id, char *name, char *family,
22
char *context, char *title, char *units, char *plugin, char *module,
23
int priority, int update_every, RRDSET_TYPE chart_type, char *options);
24
-extern PARSER_RC metalog_pluginsd_dimension_action(void *user, RRDSET *st, char *id, char *name, char *algorithm,
24
+PARSER_RC metalog_pluginsd_dimension_action(void *user, RRDSET *st, char *id, char *name, char *algorithm,
25
long multiplier, long divisor, char *options,
26
RRD_ALGORITHM algorithm_type);
27
-extern PARSER_RC metalog_pluginsd_guid_action(void *user, uuid_t *uuid);
28
-extern PARSER_RC metalog_pluginsd_context_action(void *user, uuid_t *uuid);
29
-extern PARSER_RC metalog_pluginsd_tombstone_action(void *user, uuid_t *uuid);
30
-extern PARSER_RC metalog_pluginsd_host(char **words, void *user, PLUGINSD_ACTION *plugins_action);
31
-extern PARSER_RC metalog_pluginsd_host_action(void *user, char *machine_guid, char *hostname, char *registry_hostname, int update_every, char *os, char *timezone, char *tags);
27
+PARSER_RC metalog_pluginsd_guid_action(void *user, uuid_t *uuid);
28
+PARSER_RC metalog_pluginsd_context_action(void *user, uuid_t *uuid);
29
+PARSER_RC metalog_pluginsd_tombstone_action(void *user, uuid_t *uuid);
30
+PARSER_RC metalog_pluginsd_host(char **words, void *user, PLUGINSD_ACTION *plugins_action);
31
+PARSER_RC metalog_pluginsd_host_action(void *user, char *machine_guid, char *hostname, char *registry_hostname, int update_every, char *os, char *timezone, char *tags);
32
33
#endif /* NETDATA_METALOGPLUGINSD_H */
database/engine/pagecache.h
+32
-32
@@ -152,30 +152,30 @@ struct page_cache { /* TODO: add statistics */
152
unsigned populated_pages;
153
};
154
155
-extern void pg_cache_wake_up_waiters_unsafe(struct rrdeng_page_descr *descr);
156
-extern void pg_cache_wake_up_waiters(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
157
-extern void pg_cache_wait_event_unsafe(struct rrdeng_page_descr *descr);
158
-extern unsigned long pg_cache_wait_event(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
159
-extern void pg_cache_replaceQ_insert(struct rrdengine_instance *ctx,
155
+void pg_cache_wake_up_waiters_unsafe(struct rrdeng_page_descr *descr);
156
+void pg_cache_wake_up_waiters(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
157
+void pg_cache_wait_event_unsafe(struct rrdeng_page_descr *descr);
158
+unsigned long pg_cache_wait_event(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
159
+void pg_cache_replaceQ_insert(struct rrdengine_instance *ctx,
160
struct rrdeng_page_descr *descr);
161
-extern void pg_cache_replaceQ_delete(struct rrdengine_instance *ctx,
161
+void pg_cache_replaceQ_delete(struct rrdengine_instance *ctx,
162
struct rrdeng_page_descr *descr);
163
-extern void pg_cache_replaceQ_set_hot(struct rrdengine_instance *ctx,
163
+void pg_cache_replaceQ_set_hot(struct rrdengine_instance *ctx,
164
struct rrdeng_page_descr *descr);
165
-extern struct rrdeng_page_descr *pg_cache_create_descr(void);
166
-extern int pg_cache_try_get_unsafe(struct rrdeng_page_descr *descr, int exclusive_access);
167
-extern void pg_cache_put_unsafe(struct rrdeng_page_descr *descr);
168
-extern void pg_cache_put(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
169
-extern void pg_cache_insert(struct rrdengine_instance *ctx, struct pg_cache_page_index *index,
165
+struct rrdeng_page_descr *pg_cache_create_descr(void);
166
+int pg_cache_try_get_unsafe(struct rrdeng_page_descr *descr, int exclusive_access);
167
+void pg_cache_put_unsafe(struct rrdeng_page_descr *descr);
168
+void pg_cache_put(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
169
+void pg_cache_insert(struct rrdengine_instance *ctx, struct pg_cache_page_index *index,
170
struct rrdeng_page_descr *descr);
171
-extern uint8_t pg_cache_punch_hole(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr,
171
+uint8_t pg_cache_punch_hole(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr,
172
uint8_t remove_dirty, uint8_t is_exclusive_holder, uuid_t *metric_id);
173
-extern usec_t pg_cache_oldest_time_in_range(struct rrdengine_instance *ctx, uuid_t *id,
173
+usec_t pg_cache_oldest_time_in_range(struct rrdengine_instance *ctx, uuid_t *id,
174
usec_t start_time, usec_t end_time);
175
-extern void pg_cache_get_filtered_info_prev(struct rrdengine_instance *ctx, struct pg_cache_page_index *page_index,
175
+void pg_cache_get_filtered_info_prev(struct rrdengine_instance *ctx, struct pg_cache_page_index *page_index,
176
usec_t point_in_time, pg_cache_page_info_filter_t *filter,
177
struct rrdeng_page_info *page_info);
178
-extern struct rrdeng_page_descr *pg_cache_lookup_unpopulated_and_lock(struct rrdengine_instance *ctx, uuid_t *id,
178
+struct rrdeng_page_descr *pg_cache_lookup_unpopulated_and_lock(struct rrdengine_instance *ctx, uuid_t *id,
179
usec_t start_time);
180
extern unsigned
181
pg_cache_preload(struct rrdengine_instance *ctx, uuid_t *id, usec_t start_time, usec_t end_time,
@@ -186,22 +186,22 @@ extern struct rrdeng_page_descr *
186
extern struct rrdeng_page_descr *
187
pg_cache_lookup_next(struct rrdengine_instance *ctx, struct pg_cache_page_index *index, uuid_t *id,
188
usec_t start_time, usec_t end_time);
189
-extern struct pg_cache_page_index *create_page_index(uuid_t *id);
190
-extern void init_page_cache(struct rrdengine_instance *ctx);
191
-extern void free_page_cache(struct rrdengine_instance *ctx);
192
-extern void pg_cache_add_new_metric_time(struct pg_cache_page_index *page_index, struct rrdeng_page_descr *descr);
193
-extern void pg_cache_update_metric_times(struct pg_cache_page_index *page_index);
194
-extern unsigned long pg_cache_hard_limit(struct rrdengine_instance *ctx);
195
-extern unsigned long pg_cache_soft_limit(struct rrdengine_instance *ctx);
196
-extern unsigned long pg_cache_committed_hard_limit(struct rrdengine_instance *ctx);
197
-
198
-extern void rrdeng_page_descr_aral_go_singlethreaded(void);
199
-extern void rrdeng_page_descr_aral_go_multithreaded(void);
200
-extern void rrdeng_page_descr_use_malloc(void);
201
-extern void rrdeng_page_descr_use_mmap(void);
202
-extern bool rrdeng_page_descr_is_mmap(void);
203
-extern struct rrdeng_page_descr *rrdeng_page_descr_mallocz(void);
204
-extern void rrdeng_page_descr_freez(struct rrdeng_page_descr *descr);
189
+struct pg_cache_page_index *create_page_index(uuid_t *id);
190
+void init_page_cache(struct rrdengine_instance *ctx);
191
+void free_page_cache(struct rrdengine_instance *ctx);
192
+void pg_cache_add_new_metric_time(struct pg_cache_page_index *page_index, struct rrdeng_page_descr *descr);
193
+void pg_cache_update_metric_times(struct pg_cache_page_index *page_index);
194
+unsigned long pg_cache_hard_limit(struct rrdengine_instance *ctx);
195
+unsigned long pg_cache_soft_limit(struct rrdengine_instance *ctx);
196
+unsigned long pg_cache_committed_hard_limit(struct rrdengine_instance *ctx);
197
+
198
+void rrdeng_page_descr_aral_go_singlethreaded(void);
199
+void rrdeng_page_descr_aral_go_multithreaded(void);
200
+void rrdeng_page_descr_use_malloc(void);
201
+void rrdeng_page_descr_use_mmap(void);
202
+bool rrdeng_page_descr_is_mmap(void);
203
+struct rrdeng_page_descr *rrdeng_page_descr_mallocz(void);
204
+void rrdeng_page_descr_freez(struct rrdeng_page_descr *descr);
205
206
static inline void
207
pg_cache_atomic_get_pg_info(struct rrdeng_page_descr *descr, usec_t *end_timep, uint32_t *page_lengthp)
database/engine/rrdengine.h
+9
-9
@@ -256,14 +256,14 @@ struct rrdengine_instance {
256
struct rrdengine_statistics stats;
257
};
258
259
-extern void *dbengine_page_alloc(void);
260
-extern void dbengine_page_free(void *page);
261
-
262
-extern int init_rrd_files(struct rrdengine_instance *ctx);
263
-extern void finalize_rrd_files(struct rrdengine_instance *ctx);
264
-extern void rrdeng_test_quota(struct rrdengine_worker_config* wc);
265
-extern void rrdeng_worker(void* arg);
266
-extern void rrdeng_enq_cmd(struct rrdengine_worker_config* wc, struct rrdeng_cmd *cmd);
267
-extern struct rrdeng_cmd rrdeng_deq_cmd(struct rrdengine_worker_config* wc);
259
+void *dbengine_page_alloc(void);
260
+void dbengine_page_free(void *page);
261
+
262
+int init_rrd_files(struct rrdengine_instance *ctx);
263
+void finalize_rrd_files(struct rrdengine_instance *ctx);
264
+void rrdeng_test_quota(struct rrdengine_worker_config* wc);
265
+void rrdeng_worker(void* arg);
266
+void rrdeng_enq_cmd(struct rrdengine_worker_config* wc, struct rrdeng_cmd *cmd);
267
+struct rrdeng_cmd rrdeng_deq_cmd(struct rrdengine_worker_config* wc);
268
269
#endif /* NETDATA_RRDENGINE_H */
database/engine/rrdengineapi.h
+27
-27
@@ -30,53 +30,53 @@ struct rrdeng_region_info {
30
unsigned points;
31
};
32
33
-extern void *rrdeng_create_page(struct rrdengine_instance *ctx, uuid_t *id, struct rrdeng_page_descr **ret_descr);
34
-extern void rrdeng_commit_page(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr,
33
+void *rrdeng_create_page(struct rrdengine_instance *ctx, uuid_t *id, struct rrdeng_page_descr **ret_descr);
34
+void rrdeng_commit_page(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr,
35
Word_t page_correlation_id);
36
-extern void *rrdeng_get_latest_page(struct rrdengine_instance *ctx, uuid_t *id, void **handle);
37
-extern void *rrdeng_get_page(struct rrdengine_instance *ctx, uuid_t *id, usec_t point_in_time, void **handle);
38
-extern void rrdeng_put_page(struct rrdengine_instance *ctx, void *handle);
36
+void *rrdeng_get_latest_page(struct rrdengine_instance *ctx, uuid_t *id, void **handle);
37
+void *rrdeng_get_page(struct rrdengine_instance *ctx, uuid_t *id, usec_t point_in_time, void **handle);
38
+void rrdeng_put_page(struct rrdengine_instance *ctx, void *handle);
39
40
-extern void rrdeng_generate_legacy_uuid(const char *dim_id, char *chart_id, uuid_t *ret_uuid);
41
-extern void rrdeng_convert_legacy_uuid_to_multihost(char machine_guid[GUID_LEN + 1], uuid_t *legacy_uuid,
40
+void rrdeng_generate_legacy_uuid(const char *dim_id, char *chart_id, uuid_t *ret_uuid);
41
+void rrdeng_convert_legacy_uuid_to_multihost(char machine_guid[GUID_LEN + 1], uuid_t *legacy_uuid,
42
uuid_t *ret_uuid);
43
44
45
-extern STORAGE_METRIC_HANDLE *rrdeng_metric_init(RRDDIM *rd, STORAGE_INSTANCE *db_instance);
46
-extern void rrdeng_metric_free(STORAGE_METRIC_HANDLE *db_metric_handle);
45
+STORAGE_METRIC_HANDLE *rrdeng_metric_init(RRDDIM *rd, STORAGE_INSTANCE *db_instance);
46
+void rrdeng_metric_free(STORAGE_METRIC_HANDLE *db_metric_handle);
47
48
-extern STORAGE_COLLECT_HANDLE *rrdeng_store_metric_init(STORAGE_METRIC_HANDLE *db_metric_handle);
49
-extern void rrdeng_store_metric_flush_current_page(STORAGE_COLLECT_HANDLE *collection_handle);
50
-extern void rrdeng_store_metric_next(STORAGE_COLLECT_HANDLE *collection_handle, usec_t point_in_time, NETDATA_DOUBLE n,
48
+STORAGE_COLLECT_HANDLE *rrdeng_store_metric_init(STORAGE_METRIC_HANDLE *db_metric_handle);
49
+void rrdeng_store_metric_flush_current_page(STORAGE_COLLECT_HANDLE *collection_handle);
50
+void rrdeng_store_metric_next(STORAGE_COLLECT_HANDLE *collection_handle, usec_t point_in_time, NETDATA_DOUBLE n,
51
NETDATA_DOUBLE min_value,
52
NETDATA_DOUBLE max_value,
53
uint16_t count,
54
uint16_t anomaly_count,
55
SN_FLAGS flags);
56
-extern int rrdeng_store_metric_finalize(STORAGE_COLLECT_HANDLE *collection_handle);
56
+int rrdeng_store_metric_finalize(STORAGE_COLLECT_HANDLE *collection_handle);
57
58
-extern unsigned rrdeng_variable_step_boundaries(RRDSET *st, time_t start_time, time_t end_time,
58
+unsigned rrdeng_variable_step_boundaries(RRDSET *st, time_t start_time, time_t end_time,
59
struct rrdeng_region_info **region_info_arrayp, unsigned *max_intervalp, struct context_param *context_param_list);
60
61
-extern void rrdeng_load_metric_init(STORAGE_METRIC_HANDLE *db_metric_handle, struct rrddim_query_handle *rrdimm_handle,
61
+void rrdeng_load_metric_init(STORAGE_METRIC_HANDLE *db_metric_handle, struct rrddim_query_handle *rrdimm_handle,
62
time_t start_time, time_t end_time, TIER_QUERY_FETCH tier_query_fetch_type);
63
-extern STORAGE_POINT rrdeng_load_metric_next(struct rrddim_query_handle *rrdimm_handle);
63
+STORAGE_POINT rrdeng_load_metric_next(struct rrddim_query_handle *rrdimm_handle);
64
65
-extern int rrdeng_load_metric_is_finished(struct rrddim_query_handle *rrdimm_handle);
66
-extern void rrdeng_load_metric_finalize(struct rrddim_query_handle *rrdimm_handle);
67
-extern time_t rrdeng_metric_latest_time(STORAGE_METRIC_HANDLE *db_metric_handle);
68
-extern time_t rrdeng_metric_oldest_time(STORAGE_METRIC_HANDLE *db_metric_handle);
65
+int rrdeng_load_metric_is_finished(struct rrddim_query_handle *rrdimm_handle);
66
+void rrdeng_load_metric_finalize(struct rrddim_query_handle *rrdimm_handle);
67
+time_t rrdeng_metric_latest_time(STORAGE_METRIC_HANDLE *db_metric_handle);
68
+time_t rrdeng_metric_oldest_time(STORAGE_METRIC_HANDLE *db_metric_handle);
69
70
-extern void rrdeng_get_37_statistics(struct rrdengine_instance *ctx, unsigned long long *array);
70
+void rrdeng_get_37_statistics(struct rrdengine_instance *ctx, unsigned long long *array);
71
72
/* must call once before using anything */
73
-extern int rrdeng_init(RRDHOST *host, struct rrdengine_instance **ctxp, char *dbfiles_path, unsigned page_cache_mb,
73
+int rrdeng_init(RRDHOST *host, struct rrdengine_instance **ctxp, char *dbfiles_path, unsigned page_cache_mb,
74
unsigned disk_space_mb, int tier);
75
76
-extern int rrdeng_exit(struct rrdengine_instance *ctx);
77
-extern void rrdeng_prepare_exit(struct rrdengine_instance *ctx);
78
-extern int rrdeng_metric_latest_time_by_uuid(uuid_t *dim_uuid, time_t *first_entry_t, time_t *last_entry_t, int tier);
79
-extern int rrdeng_metric_retention_by_uuid(STORAGE_INSTANCE *si, uuid_t *dim_uuid, time_t *first_entry_t, time_t *last_entry_t);
76
+int rrdeng_exit(struct rrdengine_instance *ctx);
77
+void rrdeng_prepare_exit(struct rrdengine_instance *ctx);
78
+int rrdeng_metric_latest_time_by_uuid(uuid_t *dim_uuid, time_t *first_entry_t, time_t *last_entry_t, int tier);
79
+int rrdeng_metric_retention_by_uuid(STORAGE_INSTANCE *si, uuid_t *dim_uuid, time_t *first_entry_t, time_t *last_entry_t);
80
81
typedef struct rrdengine_size_statistics {
82
size_t default_granularity_secs;
@@ -134,6 +134,6 @@ typedef struct rrdengine_size_statistics {
134
double average_page_size_bytes;
135
} RRDENG_SIZE_STATS;
136
137
-extern RRDENG_SIZE_STATS rrdeng_size_statistics(struct rrdengine_instance *ctx);
137
+RRDENG_SIZE_STATS rrdeng_size_statistics(struct rrdengine_instance *ctx);
138
139
#endif /* NETDATA_RRDENGINEAPI_H */
database/engine/rrdenginelib.h
+7
-7
@@ -83,10 +83,10 @@ static inline void crc32set(void *crcp, uLong crc)
83
*(uint32_t *)crcp = crc;
84
}
85
86
-extern void print_page_cache_descr(struct rrdeng_page_descr *page_cache_descr);
87
-extern void print_page_descr(struct rrdeng_page_descr *descr);
88
-extern int check_file_properties(uv_file file, uint64_t *file_size, size_t min_size);
89
-extern int open_file_for_io(char *path, int flags, uv_file *file, int direct);
86
+void print_page_cache_descr(struct rrdeng_page_descr *page_cache_descr);
87
+void print_page_descr(struct rrdeng_page_descr *descr);
88
+int check_file_properties(uv_file file, uint64_t *file_size, size_t min_size);
89
+int open_file_for_io(char *path, int flags, uv_file *file, int direct);
90
static inline int open_file_direct_io(char *path, int flags, uv_file *file)
91
{
92
return open_file_for_io(path, flags, file, 1);
@@ -95,8 +95,8 @@ static inline int open_file_buffered_io(char *path, int flags, uv_file *file)
95
{
96
return open_file_for_io(path, flags, file, 0);
97
}
98
-extern char *get_rrdeng_statistics(struct rrdengine_instance *ctx, char *str, size_t size);
99
-extern int compute_multidb_diskspace();
100
-extern int is_legacy_child(const char *machine_guid);
98
+char *get_rrdeng_statistics(struct rrdengine_instance *ctx, char *str, size_t size);
99
+int compute_multidb_diskspace();
100
+int is_legacy_child(const char *machine_guid);
101
102
#endif /* NETDATA_RRDENGINELIB_H */
database/engine/rrdenglocking.h
+5
-5
@@ -8,10 +8,10 @@
8
/* Forward declarations */
9
struct page_cache_descr;
10
11
-extern struct page_cache_descr *rrdeng_create_pg_cache_descr(struct rrdengine_instance *ctx);
12
-extern void rrdeng_destroy_pg_cache_descr(struct rrdengine_instance *ctx, struct page_cache_descr *pg_cache_descr);
13
-extern void rrdeng_page_descr_mutex_lock(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
14
-extern void rrdeng_page_descr_mutex_unlock(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
15
-extern void rrdeng_try_deallocate_pg_cache_descr(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
11
+struct page_cache_descr *rrdeng_create_pg_cache_descr(struct rrdengine_instance *ctx);
12
+void rrdeng_destroy_pg_cache_descr(struct rrdengine_instance *ctx, struct page_cache_descr *pg_cache_descr);
13
+void rrdeng_page_descr_mutex_lock(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
14
+void rrdeng_page_descr_mutex_unlock(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
15
+void rrdeng_try_deallocate_pg_cache_descr(struct rrdengine_instance *ctx, struct rrdeng_page_descr *descr);
16
17
#endif /* NETDATA_RRDENGLOCKING_H */
\ No newline at end of file
database/ram/rrddim_mem.h
+13
-13
@@ -20,24 +20,24 @@ struct mem_query_handle {
20
size_t last_slot;
21
};
22
23
-extern STORAGE_METRIC_HANDLE *rrddim_metric_init(RRDDIM *rd, STORAGE_INSTANCE *db_instance);
24
-extern void rrddim_metric_free(STORAGE_METRIC_HANDLE *db_metric_handle);
23
+STORAGE_METRIC_HANDLE *rrddim_metric_init(RRDDIM *rd, STORAGE_INSTANCE *db_instance);
24
+void rrddim_metric_free(STORAGE_METRIC_HANDLE *db_metric_handle);
25
26
-extern STORAGE_COLLECT_HANDLE *rrddim_collect_init(STORAGE_METRIC_HANDLE *db_metric_handle);
27
-extern void rrddim_collect_store_metric(STORAGE_COLLECT_HANDLE *collection_handle, usec_t point_in_time, NETDATA_DOUBLE number,
26
+STORAGE_COLLECT_HANDLE *rrddim_collect_init(STORAGE_METRIC_HANDLE *db_metric_handle);
27
+void rrddim_collect_store_metric(STORAGE_COLLECT_HANDLE *collection_handle, usec_t point_in_time, NETDATA_DOUBLE number,
28
NETDATA_DOUBLE min_value,
29
NETDATA_DOUBLE max_value,
30
uint16_t count,
31
uint16_t anomaly_count,
32
SN_FLAGS flags);
33
-extern void rrddim_store_metric_flush(STORAGE_COLLECT_HANDLE *collection_handle);
34
-extern int rrddim_collect_finalize(STORAGE_COLLECT_HANDLE *collection_handle);
35
-
36
-extern void rrddim_query_init(STORAGE_METRIC_HANDLE *db_metric_handle, struct rrddim_query_handle *handle, time_t start_time, time_t end_time, TIER_QUERY_FETCH tier_query_fetch_type);
37
-extern STORAGE_POINT rrddim_query_next_metric(struct rrddim_query_handle *handle);
38
-extern int rrddim_query_is_finished(struct rrddim_query_handle *handle);
39
-extern void rrddim_query_finalize(struct rrddim_query_handle *handle);
40
-extern time_t rrddim_query_latest_time(STORAGE_METRIC_HANDLE *db_metric_handle);
41
-extern time_t rrddim_query_oldest_time(STORAGE_METRIC_HANDLE *db_metric_handle);
33
+void rrddim_store_metric_flush(STORAGE_COLLECT_HANDLE *collection_handle);
34
+int rrddim_collect_finalize(STORAGE_COLLECT_HANDLE *collection_handle);
35
+
36
+void rrddim_query_init(STORAGE_METRIC_HANDLE *db_metric_handle, struct rrddim_query_handle *handle, time_t start_time, time_t end_time, TIER_QUERY_FETCH tier_query_fetch_type);
37
+STORAGE_POINT rrddim_query_next_metric(struct rrddim_query_handle *handle);
38
+int rrddim_query_is_finished(struct rrddim_query_handle *handle);
39
+void rrddim_query_finalize(struct rrddim_query_handle *handle);
40
+time_t rrddim_query_latest_time(STORAGE_METRIC_HANDLE *db_metric_handle);
41
+time_t rrddim_query_oldest_time(STORAGE_METRIC_HANDLE *db_metric_handle);
42
43
#endif
database/rrd.h
+111
-111
@@ -132,8 +132,8 @@ typedef enum rrd_memory_mode {
132
133
extern RRD_MEMORY_MODE default_rrd_memory_mode;
134
135
-extern const char *rrd_memory_mode_name(RRD_MEMORY_MODE id);
136
-extern RRD_MEMORY_MODE rrd_memory_mode_id(const char *name);
135
+const char *rrd_memory_mode_name(RRD_MEMORY_MODE id);
136
+RRD_MEMORY_MODE rrd_memory_mode_id(const char *name);
137
138
139
// ----------------------------------------------------------------------------
@@ -153,17 +153,17 @@ typedef enum rrd_algorithm {
153
#define RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL_NAME "percentage-of-incremental-row"
154
#define RRD_ALGORITHM_PCENT_OVER_ROW_TOTAL_NAME "percentage-of-absolute-row"
155
156
-extern RRD_ALGORITHM rrd_algorithm_id(const char *name);
157
-extern const char *rrd_algorithm_name(RRD_ALGORITHM algorithm);
156
+RRD_ALGORITHM rrd_algorithm_id(const char *name);
157
+const char *rrd_algorithm_name(RRD_ALGORITHM algorithm);
158
159
// ----------------------------------------------------------------------------
160
// RRD FAMILY
161
162
-extern const RRDFAMILY_ACQUIRED *rrdfamily_add_and_acquire(RRDHOST *host, const char *id);
163
-extern void rrdfamily_release(RRDHOST *host, const RRDFAMILY_ACQUIRED *rfa);
164
-extern void rrdfamily_index_init(RRDHOST *host);
165
-extern void rrdfamily_index_destroy(RRDHOST *host);
166
-extern DICTIONARY *rrdfamily_rrdvars_dict(const RRDFAMILY_ACQUIRED *rf);
162
+const RRDFAMILY_ACQUIRED *rrdfamily_add_and_acquire(RRDHOST *host, const char *id);
163
+void rrdfamily_release(RRDHOST *host, const RRDFAMILY_ACQUIRED *rfa);
164
+void rrdfamily_index_init(RRDHOST *host);
165
+void rrdfamily_index_destroy(RRDHOST *host);
166
+DICTIONARY *rrdfamily_rrdvars_dict(const RRDFAMILY_ACQUIRED *rf);
167
168
169
// ----------------------------------------------------------------------------
@@ -217,37 +217,37 @@ typedef enum rrdlabel_source {
217
218
#define RRDLABEL_FLAG_INTERNAL (RRDLABEL_FLAG_OLD | RRDLABEL_FLAG_NEW | RRDLABEL_FLAG_PERMANENT)
219
220
-extern size_t text_sanitize(unsigned char *dst, const unsigned char *src, size_t dst_size, unsigned char *char_map, bool utf, const char *empty, size_t *multibyte_length);
220
+size_t text_sanitize(unsigned char *dst, const unsigned char *src, size_t dst_size, unsigned char *char_map, bool utf, const char *empty, size_t *multibyte_length);
221
222
-extern DICTIONARY *rrdlabels_create(void);
223
-extern void rrdlabels_destroy(DICTIONARY *labels_dict);
224
-extern void rrdlabels_add(DICTIONARY *dict, const char *name, const char *value, RRDLABEL_SRC ls);
225
-extern void rrdlabels_add_pair(DICTIONARY *dict, const char *string, RRDLABEL_SRC ls);
226
-extern void rrdlabels_get_value_to_buffer_or_null(DICTIONARY *labels, BUFFER *wb, const char *key, const char *quote, const char *null);
227
-extern void rrdlabels_get_value_to_char_or_null(DICTIONARY *labels, char **value, const char *key);
222
+DICTIONARY *rrdlabels_create(void);
223
+void rrdlabels_destroy(DICTIONARY *labels_dict);
224
+void rrdlabels_add(DICTIONARY *dict, const char *name, const char *value, RRDLABEL_SRC ls);
225
+void rrdlabels_add_pair(DICTIONARY *dict, const char *string, RRDLABEL_SRC ls);
226
+void rrdlabels_get_value_to_buffer_or_null(DICTIONARY *labels, BUFFER *wb, const char *key, const char *quote, const char *null);
227
+void rrdlabels_get_value_to_char_or_null(DICTIONARY *labels, char **value, const char *key);
228
229
-extern void rrdlabels_unmark_all(DICTIONARY *labels);
230
-extern void rrdlabels_remove_all_unmarked(DICTIONARY *labels);
229
+void rrdlabels_unmark_all(DICTIONARY *labels);
230
+void rrdlabels_remove_all_unmarked(DICTIONARY *labels);
231
232
-extern int rrdlabels_walkthrough_read(DICTIONARY *labels, int (*callback)(const char *name, const char *value, RRDLABEL_SRC ls, void *data), void *data);
233
-extern int rrdlabels_sorted_walkthrough_read(DICTIONARY *labels, int (*callback)(const char *name, const char *value, RRDLABEL_SRC ls, void *data), void *data);
232
+int rrdlabels_walkthrough_read(DICTIONARY *labels, int (*callback)(const char *name, const char *value, RRDLABEL_SRC ls, void *data), void *data);
233
+int rrdlabels_sorted_walkthrough_read(DICTIONARY *labels, int (*callback)(const char *name, const char *value, RRDLABEL_SRC ls, void *data), void *data);
234
235
-extern void rrdlabels_log_to_buffer(DICTIONARY *labels, BUFFER *wb);
236
-extern bool rrdlabels_match_simple_pattern(DICTIONARY *labels, const char *simple_pattern_txt);
237
-extern bool rrdlabels_match_simple_pattern_parsed(DICTIONARY *labels, SIMPLE_PATTERN *pattern, char equal);
238
-extern int rrdlabels_to_buffer(DICTIONARY *labels, BUFFER *wb, const char *before_each, const char *equal, const char *quote, const char *between_them, bool (*filter_callback)(const char *name, const char *value, RRDLABEL_SRC ls, void *data), void *filter_data, void (*name_sanitizer)(char *dst, const char *src, size_t dst_size), void (*value_sanitizer)(char *dst, const char *src, size_t dst_size));
235
+void rrdlabels_log_to_buffer(DICTIONARY *labels, BUFFER *wb);
236
+bool rrdlabels_match_simple_pattern(DICTIONARY *labels, const char *simple_pattern_txt);
237
+bool rrdlabels_match_simple_pattern_parsed(DICTIONARY *labels, SIMPLE_PATTERN *pattern, char equal);
238
+int rrdlabels_to_buffer(DICTIONARY *labels, BUFFER *wb, const char *before_each, const char *equal, const char *quote, const char *between_them, bool (*filter_callback)(const char *name, const char *value, RRDLABEL_SRC ls, void *data), void *filter_data, void (*name_sanitizer)(char *dst, const char *src, size_t dst_size), void (*value_sanitizer)(char *dst, const char *src, size_t dst_size));
239
240
-extern void rrdlabels_migrate_to_these(DICTIONARY *dst, DICTIONARY *src);
241
-extern void rrdlabels_copy(DICTIONARY *dst, DICTIONARY *src);
240
+void rrdlabels_migrate_to_these(DICTIONARY *dst, DICTIONARY *src);
241
+void rrdlabels_copy(DICTIONARY *dst, DICTIONARY *src);
242
243
void reload_host_labels(void);
244
-extern void rrdset_update_rrdlabels(RRDSET *st, DICTIONARY *new_rrdlabels);
245
-extern void rrdset_save_rrdlabels_to_sql(RRDSET *st);
244
+void rrdset_update_rrdlabels(RRDSET *st, DICTIONARY *new_rrdlabels);
245
+void rrdset_save_rrdlabels_to_sql(RRDSET *st);
246
247
-extern int rrdlabels_unittest(void);
247
+int rrdlabels_unittest(void);
248
249
// unfortunately this break when defined in exporting_engine.h
250
-extern bool exporting_labels_filter_callback(const char *name, const char *value, RRDLABEL_SRC ls, void *data);
250
+bool exporting_labels_filter_callback(const char *name, const char *value, RRDLABEL_SRC ls, void *data);
251
252
// ----------------------------------------------------------------------------
253
// RRD DIMENSION - this is a metric
@@ -328,20 +328,20 @@ struct rrddim {
328
#define rrddim_name(rd) string2str((rd) ->name)
329
330
// returns the RRDDIM cache filename, or NULL if it does not exist
331
-extern const char *rrddim_cache_filename(RRDDIM *rd);
331
+const char *rrddim_cache_filename(RRDDIM *rd);
332
333
// updated the header with the latest RRDDIM value, for memory mode MAP and SAVE
334
-extern void rrddim_memory_file_update(RRDDIM *rd);
334
+void rrddim_memory_file_update(RRDDIM *rd);
335
336
// free the memory file structures for memory mode MAP and SAVE
337
-extern void rrddim_memory_file_free(RRDDIM *rd);
337
+void rrddim_memory_file_free(RRDDIM *rd);
338
339
-extern bool rrddim_memory_load_or_create_map_save(RRDSET *st, RRDDIM *rd, RRD_MEMORY_MODE memory_mode);
339
+bool rrddim_memory_load_or_create_map_save(RRDSET *st, RRDDIM *rd, RRD_MEMORY_MODE memory_mode);
340
341
// return the v019 header size of RRDDIM files
342
-extern size_t rrddim_memory_file_header_size(void);
342
+size_t rrddim_memory_file_header_size(void);
343
344
-extern void rrddim_memory_file_save(RRDDIM *rd);
344
+void rrddim_memory_file_save(RRDDIM *rd);
345
346
// ----------------------------------------------------------------------------
347
// engine-specific iterator state for dimension data collection
@@ -451,7 +451,7 @@ struct rrddim_tier {
451
struct rrddim_query_ops query_ops;
452
};
453
454
-extern void rrdr_fill_tier_gap_from_smaller_tiers(RRDDIM *rd, int tier, time_t now);
454
+void rrdr_fill_tier_gap_from_smaller_tiers(RRDDIM *rd, int tier, time_t now);
455
456
// ----------------------------------------------------------------------------
457
// these loop macros make sure the linked list is accessed with the right lock
@@ -659,7 +659,7 @@ struct rrdset {
659
#define rrdset_wrlock(st) netdata_rwlock_wrlock(&((st)->rrdset_rwlock))
660
#define rrdset_unlock(st) netdata_rwlock_unlock(&((st)->rrdset_rwlock))
661
662
-extern STRING *rrd_string_strdupz(const char *s);
662
+STRING *rrd_string_strdupz(const char *s);
663
664
// ----------------------------------------------------------------------------
665
// these loop macros make sure the linked list is accessed with the right lock
@@ -679,11 +679,11 @@ extern STRING *rrd_string_strdupz(const char *s);
679
#define rrdset_number_of_dimensions(st) \
680
dictionary_entries((st)->rrddim_root_index)
681
682
-extern void rrdset_memory_file_save(RRDSET *st);
683
-extern void rrdset_memory_file_free(RRDSET *st);
684
-extern void rrdset_memory_file_update(RRDSET *st);
685
-extern const char *rrdset_cache_filename(RRDSET *st);
686
-extern bool rrdset_memory_load_or_create_map_save(RRDSET *st_on_file, RRD_MEMORY_MODE memory_mode);
682
+void rrdset_memory_file_save(RRDSET *st);
683
+void rrdset_memory_file_free(RRDSET *st);
684
+void rrdset_memory_file_update(RRDSET *st);
685
+const char *rrdset_cache_filename(RRDSET *st);
686
+bool rrdset_memory_load_or_create_map_save(RRDSET *st_on_file, RRD_MEMORY_MODE memory_mode);
687
688
#include "rrdfunctions.h"
689
@@ -1016,7 +1016,7 @@ extern RRDHOST *localhost;
1016
#define rrdhost_aclk_state_lock(host) netdata_mutex_lock(&((host)->aclk_state_lock))
1017
#define rrdhost_aclk_state_unlock(host) netdata_mutex_unlock(&((host)->aclk_state_lock))
1018
1019
-extern long rrdhost_hosts_available(void);
1019
+long rrdhost_hosts_available(void);
1020
1021
// ----------------------------------------------------------------------------
1022
// these loop macros make sure the linked list is accessed with the right lock
@@ -1039,24 +1039,24 @@ extern netdata_rwlock_t rrd_rwlock;
1039
1040
// ----------------------------------------------------------------------------
1041
1042
-extern bool is_storage_engine_shared(STORAGE_INSTANCE *engine);
1043
-extern void rrdset_index_init(RRDHOST *host);
1044
-extern void rrdset_index_destroy(RRDHOST *host);
1042
+bool is_storage_engine_shared(STORAGE_INSTANCE *engine);
1043
+void rrdset_index_init(RRDHOST *host);
1044
+void rrdset_index_destroy(RRDHOST *host);
1045
1046
-extern void rrddim_index_init(RRDSET *st);
1047
-extern void rrddim_index_destroy(RRDSET *st);
1046
+void rrddim_index_init(RRDSET *st);
1047
+void rrddim_index_destroy(RRDSET *st);
1048
1049
// ----------------------------------------------------------------------------
1050
1051
extern size_t rrd_hosts_available;
1052
extern time_t rrdhost_free_orphan_time;
1053
1054
-extern int rrd_init(char *hostname, struct rrdhost_system_info *system_info);
1054
+int rrd_init(char *hostname, struct rrdhost_system_info *system_info);
1055
1056
-extern RRDHOST *rrdhost_find_by_hostname(const char *hostname);
1057
-extern RRDHOST *rrdhost_find_by_guid(const char *guid);
1056
+RRDHOST *rrdhost_find_by_hostname(const char *hostname);
1057
+RRDHOST *rrdhost_find_by_guid(const char *guid);
1058
1059
-extern RRDHOST *rrdhost_find_or_create(
1059
+RRDHOST *rrdhost_find_or_create(
1060
const char *hostname
1061
, const char *registry_hostname
1062
, const char *guid
@@ -1079,7 +1079,7 @@ extern RRDHOST *rrdhost_find_or_create(
1079
, bool is_archived
1080
);
1081
1082
-extern void rrdhost_update(RRDHOST *host
1082
+void rrdhost_update(RRDHOST *host
1083
, const char *hostname
1084
, const char *registry_hostname
1085
, const char *guid
@@ -1101,15 +1101,15 @@ extern void rrdhost_update(RRDHOST *host
1101
, struct rrdhost_system_info *system_info
1102
);
1103
1104
-extern int rrdhost_set_system_info_variable(struct rrdhost_system_info *system_info, char *name, char *value);
1104
+int rrdhost_set_system_info_variable(struct rrdhost_system_info *system_info, char *name, char *value);
1105
1106
#if defined(NETDATA_INTERNAL_CHECKS) && defined(NETDATA_VERIFY_LOCKS)
1107
-extern void __rrdhost_check_wrlock(RRDHOST *host, const char *file, const char *function, const unsigned long line);
1108
-extern void __rrdhost_check_rdlock(RRDHOST *host, const char *file, const char *function, const unsigned long line);
1109
-extern void __rrdset_check_rdlock(RRDSET *st, const char *file, const char *function, const unsigned long line);
1110
-extern void __rrdset_check_wrlock(RRDSET *st, const char *file, const char *function, const unsigned long line);
1111
-extern void __rrd_check_rdlock(const char *file, const char *function, const unsigned long line);
1112
-extern void __rrd_check_wrlock(const char *file, const char *function, const unsigned long line);
1107
+void __rrdhost_check_wrlock(RRDHOST *host, const char *file, const char *function, const unsigned long line);
1108
+void __rrdhost_check_rdlock(RRDHOST *host, const char *file, const char *function, const unsigned long line);
1109
+void __rrdset_check_rdlock(RRDSET *st, const char *file, const char *function, const unsigned long line);
1110
+void __rrdset_check_wrlock(RRDSET *st, const char *file, const char *function, const unsigned long line);
1111
+void __rrd_check_rdlock(const char *file, const char *function, const unsigned long line);
1112
+void __rrd_check_wrlock(const char *file, const char *function, const unsigned long line);
1113
1114
#define rrdhost_check_rdlock(host) __rrdhost_check_rdlock(host, __FILE__, __FUNCTION__, __LINE__)
1115
#define rrdhost_check_wrlock(host) __rrdhost_check_wrlock(host, __FILE__, __FUNCTION__, __LINE__)
@@ -1130,9 +1130,9 @@ extern void __rrd_check_wrlock(const char *file, const char *function, const uns
1130
// ----------------------------------------------------------------------------
1131
// RRDSET functions
1132
1133
-extern int rrdset_reset_name(RRDSET *st, const char *name);
1133
+int rrdset_reset_name(RRDSET *st, const char *name);
1134
1135
-extern RRDSET *rrdset_create_custom(RRDHOST *host
1135
+RRDSET *rrdset_create_custom(RRDHOST *host
1136
, const char *type
1137
, const char *id
1138
, const char *name
@@ -1154,20 +1154,20 @@ extern RRDSET *rrdset_create_custom(RRDHOST *host
1154
#define rrdset_create_localhost(type, id, name, family, context, title, units, plugin, module, priority, update_every, chart_type) \
1155
rrdset_create(localhost, type, id, name, family, context, title, units, plugin, module, priority, update_every, chart_type)
1156
1157
-extern void rrdhost_free_all(void);
1158
-extern void rrdhost_save_all(void);
1159
-extern void rrdhost_cleanup_all(void);
1157
+void rrdhost_free_all(void);
1158
+void rrdhost_save_all(void);
1159
+void rrdhost_cleanup_all(void);
1160
1161
-extern void rrdhost_system_info_free(struct rrdhost_system_info *system_info);
1162
-extern void rrdhost_free(RRDHOST *host, bool force);
1163
-extern void rrdhost_save_charts(RRDHOST *host);
1164
-extern void rrdhost_delete_charts(RRDHOST *host);
1161
+void rrdhost_system_info_free(struct rrdhost_system_info *system_info);
1162
+void rrdhost_free(RRDHOST *host, bool force);
1163
+void rrdhost_save_charts(RRDHOST *host);
1164
+void rrdhost_delete_charts(RRDHOST *host);
1165
1166
-extern int rrdhost_should_be_removed(RRDHOST *host, RRDHOST *protected_host, time_t now);
1166
+int rrdhost_should_be_removed(RRDHOST *host, RRDHOST *protected_host, time_t now);
1167
1168
-extern void rrdset_update_heterogeneous_flag(RRDSET *st);
1168
+void rrdset_update_heterogeneous_flag(RRDSET *st);
1169
1170
-extern RRDSET *rrdset_find(RRDHOST *host, const char *id);
1170
+RRDSET *rrdset_find(RRDHOST *host, const char *id);
1171
#define rrdset_find_localhost(id) rrdset_find(localhost, id)
1172
/* This will not return charts that are archived */
1173
static inline RRDSET *rrdset_find_active_localhost(const char *id)
@@ -1178,7 +1178,7 @@ static inline RRDSET *rrdset_find_active_localhost(const char *id)
1178
return st;
1179
}
1180
1181
-extern RRDSET *rrdset_find_bytype(RRDHOST *host, const char *type, const char *id);
1181
+RRDSET *rrdset_find_bytype(RRDHOST *host, const char *type, const char *id);
1182
#define rrdset_find_bytype_localhost(type, id) rrdset_find_bytype(localhost, type, id)
1183
/* This will not return charts that are archived */
1184
static inline RRDSET *rrdset_find_active_bytype_localhost(const char *type, const char *id)
@@ -1189,7 +1189,7 @@ static inline RRDSET *rrdset_find_active_bytype_localhost(const char *type, cons
1189
return st;
1190
}
1191
1192
-extern RRDSET *rrdset_find_byname(RRDHOST *host, const char *name);
1192
+RRDSET *rrdset_find_byname(RRDHOST *host, const char *name);
1193
#define rrdset_find_byname_localhost(name) rrdset_find_byname(localhost, name)
1194
/* This will not return charts that are archived */
1195
static inline RRDSET *rrdset_find_active_byname_localhost(const char *name)
@@ -1200,30 +1200,30 @@ static inline RRDSET *rrdset_find_active_byname_localhost(const char *name)
1200
return st;
1201
}
1202
1203
-extern void rrdset_next_usec_unfiltered(RRDSET *st, usec_t microseconds);
1204
-extern void rrdset_next_usec(RRDSET *st, usec_t microseconds);
1203
+void rrdset_next_usec_unfiltered(RRDSET *st, usec_t microseconds);
1204
+void rrdset_next_usec(RRDSET *st, usec_t microseconds);
1205
#define rrdset_next(st) rrdset_next_usec(st, 0ULL)
1206
1207
-extern void rrdset_done(RRDSET *st);
1207
+void rrdset_done(RRDSET *st);
1208
1209
-extern void rrdset_is_obsolete(RRDSET *st);
1210
-extern void rrdset_isnot_obsolete(RRDSET *st);
1209
+void rrdset_is_obsolete(RRDSET *st);
1210
+void rrdset_isnot_obsolete(RRDSET *st);
1211
1212
// checks if the RRDSET should be offered to viewers
1213
#define rrdset_is_available_for_viewers(st) (!rrdset_flag_check(st, RRDSET_FLAG_HIDDEN) && !rrdset_flag_check(st, RRDSET_FLAG_OBSOLETE) && !rrdset_flag_check(st, RRDSET_FLAG_ARCHIVED) && rrdset_number_of_dimensions(st) && (st)->rrd_memory_mode != RRD_MEMORY_MODE_NONE)
1214
#define rrdset_is_available_for_exporting_and_alarms(st) (!rrdset_flag_check(st, RRDSET_FLAG_OBSOLETE) && !rrdset_flag_check(st, RRDSET_FLAG_ARCHIVED) && (st)->dimensions)
1215
#define rrdset_is_archived(st) (rrdset_flag_check(st, RRDSET_FLAG_ARCHIVED) && (st)->dimensions)
1216
1217
-extern time_t rrddim_first_entry_t(RRDDIM *rd);
1218
-extern time_t rrddim_last_entry_t(RRDDIM *rd);
1219
-extern time_t rrdset_last_entry_t(RRDSET *st);
1220
-extern time_t rrdset_first_entry_t(RRDSET *st);
1221
-extern time_t rrdhost_last_entry_t(RRDHOST *h);
1217
+time_t rrddim_first_entry_t(RRDDIM *rd);
1218
+time_t rrddim_last_entry_t(RRDDIM *rd);
1219
+time_t rrdset_last_entry_t(RRDSET *st);
1220
+time_t rrdset_first_entry_t(RRDSET *st);
1221
+time_t rrdhost_last_entry_t(RRDHOST *h);
1222
1223
// ----------------------------------------------------------------------------
1224
// RRD DIMENSION functions
1225
1226
-extern RRDDIM *rrddim_add_custom(RRDSET *st
1226
+RRDDIM *rrddim_add_custom(RRDSET *st
1227
, const char *id
1228
, const char *name
1229
, collected_number multiplier
@@ -1235,49 +1235,49 @@ extern RRDDIM *rrddim_add_custom(RRDSET *st
1235
#define rrddim_add(st, id, name, multiplier, divisor, algorithm) \
1236
rrddim_add_custom(st, id, name, multiplier, divisor, algorithm, (st)->rrd_memory_mode)
1237
1238
-extern int rrddim_reset_name(RRDSET *st, RRDDIM *rd, const char *name);
1239
-extern int rrddim_set_algorithm(RRDSET *st, RRDDIM *rd, RRD_ALGORITHM algorithm);
1240
-extern int rrddim_set_multiplier(RRDSET *st, RRDDIM *rd, collected_number multiplier);
1241
-extern int rrddim_set_divisor(RRDSET *st, RRDDIM *rd, collected_number divisor);
1238
+int rrddim_reset_name(RRDSET *st, RRDDIM *rd, const char *name);
1239
+int rrddim_set_algorithm(RRDSET *st, RRDDIM *rd, RRD_ALGORITHM algorithm);
1240
+int rrddim_set_multiplier(RRDSET *st, RRDDIM *rd, collected_number multiplier);
1241
+int rrddim_set_divisor(RRDSET *st, RRDDIM *rd, collected_number divisor);
1242
1243
-extern RRDDIM *rrddim_find(RRDSET *st, const char *id);
1244
-extern RRDDIM *rrddim_find_active(RRDSET *st, const char *id);
1243
+RRDDIM *rrddim_find(RRDSET *st, const char *id);
1244
+RRDDIM *rrddim_find_active(RRDSET *st, const char *id);
1245
1246
-extern int rrddim_hide(RRDSET *st, const char *id);
1247
-extern int rrddim_unhide(RRDSET *st, const char *id);
1246
+int rrddim_hide(RRDSET *st, const char *id);
1247
+int rrddim_unhide(RRDSET *st, const char *id);
1248
1249
-extern void rrddim_is_obsolete(RRDSET *st, RRDDIM *rd);
1250
-extern void rrddim_isnot_obsolete(RRDSET *st, RRDDIM *rd);
1249
+void rrddim_is_obsolete(RRDSET *st, RRDDIM *rd);
1250
+void rrddim_isnot_obsolete(RRDSET *st, RRDDIM *rd);
1251
1252
-extern collected_number rrddim_set_by_pointer(RRDSET *st, RRDDIM *rd, collected_number value);
1253
-extern collected_number rrddim_set(RRDSET *st, const char *id, collected_number value);
1252
+collected_number rrddim_set_by_pointer(RRDSET *st, RRDDIM *rd, collected_number value);
1253
+collected_number rrddim_set(RRDSET *st, const char *id, collected_number value);
1254
#ifdef ENABLE_ACLK
1255
-extern time_t calc_dimension_liveness(RRDDIM *rd, time_t now);
1255
+time_t calc_dimension_liveness(RRDDIM *rd, time_t now);
1256
#endif
1257
-extern long align_entries_to_pagesize(RRD_MEMORY_MODE mode, long entries);
1257
+long align_entries_to_pagesize(RRD_MEMORY_MODE mode, long entries);
1258
1259
// ----------------------------------------------------------------------------
1260
// Miscellaneous functions
1261
1262
-extern char *rrdset_strncpyz_name(char *to, const char *from, size_t length);
1262
+char *rrdset_strncpyz_name(char *to, const char *from, size_t length);
1263
1264
// ----------------------------------------------------------------------------
1265
// RRD internal functions
1266
1267
-extern void rrdset_delete_files(RRDSET *st);
1268
-extern void rrdset_save(RRDSET *st);
1269
-extern void rrdset_free(RRDSET *st);
1267
+void rrdset_delete_files(RRDSET *st);
1268
+void rrdset_save(RRDSET *st);
1269
+void rrdset_free(RRDSET *st);
1270
1271
#ifdef NETDATA_RRD_INTERNALS
1272
1273
-extern char *rrdset_cache_dir(RRDHOST *host, const char *id);
1273
+char *rrdset_cache_dir(RRDHOST *host, const char *id);
1274
1275
-extern void rrddim_free(RRDSET *st, RRDDIM *rd);
1275
+void rrddim_free(RRDSET *st, RRDDIM *rd);
1276
1277
-extern void rrdset_reset(RRDSET *st);
1278
-extern void rrdset_delete_obsolete_dimensions(RRDSET *st);
1277
+void rrdset_reset(RRDSET *st);
1278
+void rrdset_delete_obsolete_dimensions(RRDSET *st);
1279
1280
-extern RRDHOST *rrdhost_create(
1280
+RRDHOST *rrdhost_create(
1281
const char *hostname, const char *registry_hostname, const char *guid, const char *os, const char *timezone,
1282
const char *abbrev_timezone, int32_t utc_offset,const char *tags, const char *program_name, const char *program_version,
1283
int update_every, long entries, RRD_MEMORY_MODE memory_mode, unsigned int health_enabled, unsigned int rrdpush_enabled,
@@ -1286,12 +1286,12 @@ extern RRDHOST *rrdhost_create(
1286
1287
#endif /* NETDATA_RRD_INTERNALS */
1288
1289
-extern void set_host_properties(
1289
+void set_host_properties(
1290
RRDHOST *host, int update_every, RRD_MEMORY_MODE memory_mode, const char *registry_hostname,
1291
const char *os, const char *tags, const char *tzone, const char *abbrev_tzone, int32_t utc_offset,
1292
const char *program_name, const char *program_version);
1293
1294
-extern int get_tier_grouping(int tier);
1294
+int get_tier_grouping(int tier);
1295
1296
// ----------------------------------------------------------------------------
1297
// RRD DB engine declarations
database/rrdcalc.h
+16
-16
@@ -218,24 +218,24 @@ struct alert_config {
218
219
#define RRDCALC_HAS_DB_LOOKUP(rc) ((rc)->after)
220
221
-extern void rrdcalc_update_info_using_rrdset_labels(RRDCALC *rc);
221
+void rrdcalc_update_info_using_rrdset_labels(RRDCALC *rc);
222
223
-extern void rrdcalc_link_matching_alerts_to_rrdset(RRDSET *st);
223
+void rrdcalc_link_matching_alerts_to_rrdset(RRDSET *st);
224
225
-extern const RRDCALC_ACQUIRED *rrdcalc_from_rrdset_get(RRDSET *st, const char *alert_name);
226
-extern void rrdcalc_from_rrdset_release(RRDSET *st, const RRDCALC_ACQUIRED *rca);
227
-extern RRDCALC *rrdcalc_acquired_to_rrdcalc(const RRDCALC_ACQUIRED *rca);
225
+const RRDCALC_ACQUIRED *rrdcalc_from_rrdset_get(RRDSET *st, const char *alert_name);
226
+void rrdcalc_from_rrdset_release(RRDSET *st, const RRDCALC_ACQUIRED *rca);
227
+RRDCALC *rrdcalc_acquired_to_rrdcalc(const RRDCALC_ACQUIRED *rca);
228
229
-extern const char *rrdcalc_status2string(RRDCALC_STATUS status);
229
+const char *rrdcalc_status2string(RRDCALC_STATUS status);
230
231
-extern void rrdcalc_free_unused_rrdcalc_loaded_from_config(RRDCALC *rc);
231
+void rrdcalc_free_unused_rrdcalc_loaded_from_config(RRDCALC *rc);
232
233
-extern uint32_t rrdcalc_get_unique_id(RRDHOST *host, STRING *chart, STRING *name, uint32_t *next_event_id);
234
-extern void rrdcalc_add_from_rrdcalctemplate(RRDHOST *host, RRDCALCTEMPLATE *rt, RRDSET *st, const char *overwrite_alert_name, const char *overwrite_dimensions);
235
-extern int rrdcalc_add_from_config(RRDHOST *host, RRDCALC *rc);
233
+uint32_t rrdcalc_get_unique_id(RRDHOST *host, STRING *chart, STRING *name, uint32_t *next_event_id);
234
+void rrdcalc_add_from_rrdcalctemplate(RRDHOST *host, RRDCALCTEMPLATE *rt, RRDSET *st, const char *overwrite_alert_name, const char *overwrite_dimensions);
235
+int rrdcalc_add_from_config(RRDHOST *host, RRDCALC *rc);
236
237
-extern void rrdcalc_delete_alerts_not_matching_host_labels_from_all_hosts();
238
-extern void rrdcalc_delete_alerts_not_matching_host_labels_from_this_host(RRDHOST *host);
237
+void rrdcalc_delete_alerts_not_matching_host_labels_from_all_hosts();
238
+void rrdcalc_delete_alerts_not_matching_host_labels_from_this_host(RRDHOST *host);
239
240
static inline int rrdcalc_isrepeating(RRDCALC *rc) {
241
if (unlikely(rc->warn_repeat_every > 0 || rc->crit_repeat_every > 0)) {
@@ -244,11 +244,11 @@ static inline int rrdcalc_isrepeating(RRDCALC *rc) {
244
return 0;
245
}
246
247
-extern void rrdcalc_unlink_all_rrdset_alerts(RRDSET *st);
248
-extern void rrdcalc_delete_all(RRDHOST *host);
247
+void rrdcalc_unlink_all_rrdset_alerts(RRDSET *st);
248
+void rrdcalc_delete_all(RRDHOST *host);
249
250
-extern void rrdcalc_rrdhost_index_init(RRDHOST *host);
251
-extern void rrdcalc_rrdhost_index_destroy(RRDHOST *host);
250
+void rrdcalc_rrdhost_index_init(RRDHOST *host);
251
+void rrdcalc_rrdhost_index_destroy(RRDHOST *host);
252
253
#define RRDCALC_VAR_MAX 100
254
#define RRDCALC_VAR_FAMILY "$family"
database/rrdcalctemplate.h
+9
-9
@@ -110,19 +110,19 @@ struct rrdcalctemplate {
110
111
#define RRDCALCTEMPLATE_HAS_DB_LOOKUP(rt) ((rt)->after)
112
113
-extern void rrdcalctemplate_link_matching_templates_to_rrdset(RRDSET *st);
113
+void rrdcalctemplate_link_matching_templates_to_rrdset(RRDSET *st);
114
115
-extern void rrdcalctemplate_free_unused_rrdcalctemplate_loaded_from_config(RRDCALCTEMPLATE *rt);
116
-extern void rrdcalctemplate_delete_all(RRDHOST *host);
117
-extern void rrdcalctemplate_add_from_config(RRDHOST *host, RRDCALCTEMPLATE *rt);
115
+void rrdcalctemplate_free_unused_rrdcalctemplate_loaded_from_config(RRDCALCTEMPLATE *rt);
116
+void rrdcalctemplate_delete_all(RRDHOST *host);
117
+void rrdcalctemplate_add_from_config(RRDHOST *host, RRDCALCTEMPLATE *rt);
118
119
-extern void rrdcalctemplate_check_conditions_and_link(RRDCALCTEMPLATE *rt, RRDSET *st, RRDHOST *host);
119
+void rrdcalctemplate_check_conditions_and_link(RRDCALCTEMPLATE *rt, RRDSET *st, RRDHOST *host);
120
121
-extern bool rrdcalctemplate_check_rrdset_conditions(RRDCALCTEMPLATE *rt, RRDSET *st, RRDHOST *host);
122
-extern void rrdcalctemplate_check_rrddim_conditions_and_link(RRDCALCTEMPLATE *rt, RRDSET *st, RRDDIM *rd, RRDHOST *host);
121
+bool rrdcalctemplate_check_rrdset_conditions(RRDCALCTEMPLATE *rt, RRDSET *st, RRDHOST *host);
122
+void rrdcalctemplate_check_rrddim_conditions_and_link(RRDCALCTEMPLATE *rt, RRDSET *st, RRDDIM *rd, RRDHOST *host);
123
124
125
-extern void rrdcalctemplate_index_init(RRDHOST *host);
126
-extern void rrdcalctemplate_index_destroy(RRDHOST *host);
125
+void rrdcalctemplate_index_init(RRDHOST *host);
126
+void rrdcalctemplate_index_destroy(RRDHOST *host);
127
128
#endif //NETDATA_RRDCALCTEMPLATE_H
database/rrdcontext.h
+24
-24
@@ -27,14 +27,14 @@ typedef struct rrdcontext_acquired RRDCONTEXT_ACQUIRED;
27
// ----------------------------------------------------------------------------
28
// public API for rrdhost
29
30
-extern void rrdhost_load_rrdcontext_data(RRDHOST *host);
31
-extern void rrdhost_create_rrdcontexts(RRDHOST *host);
32
-extern void rrdhost_destroy_rrdcontexts(RRDHOST *host);
30
+void rrdhost_load_rrdcontext_data(RRDHOST *host);
31
+void rrdhost_create_rrdcontexts(RRDHOST *host);
32
+void rrdhost_destroy_rrdcontexts(RRDHOST *host);
33
34
-extern void rrdcontext_host_child_connected(RRDHOST *host);
35
-extern void rrdcontext_host_child_disconnected(RRDHOST *host);
34
+void rrdcontext_host_child_connected(RRDHOST *host);
35
+void rrdcontext_host_child_disconnected(RRDHOST *host);
36
37
-extern int rrdcontext_foreach_instance_with_rrdset_in_context(RRDHOST *host, const char *context, int (*callback)(RRDSET *st, void *data), void *data);
37
+int rrdcontext_foreach_instance_with_rrdset_in_context(RRDHOST *host, const char *context, int (*callback)(RRDSET *st, void *data), void *data);
38
39
typedef enum {
40
RRDCONTEXT_OPTION_NONE = 0,
@@ -52,41 +52,41 @@ typedef enum {
52
53
#define RRDCONTEXT_OPTIONS_ALL (RRDCONTEXT_OPTION_SHOW_METRICS|RRDCONTEXT_OPTION_SHOW_INSTANCES|RRDCONTEXT_OPTION_SHOW_LABELS|RRDCONTEXT_OPTION_SHOW_QUEUED|RRDCONTEXT_OPTION_SHOW_FLAGS|RRDCONTEXT_OPTION_SHOW_DELETED|RRDCONTEXT_OPTION_SHOW_UUIDS|RRDCONTEXT_OPTION_SHOW_HIDDEN)
54
55
-extern int rrdcontext_to_json(RRDHOST *host, BUFFER *wb, time_t after, time_t before, RRDCONTEXT_TO_JSON_OPTIONS options, const char *context, SIMPLE_PATTERN *chart_label_key, SIMPLE_PATTERN *chart_labels_filter, SIMPLE_PATTERN *chart_dimensions);
56
-extern int rrdcontexts_to_json(RRDHOST *host, BUFFER *wb, time_t after, time_t before, RRDCONTEXT_TO_JSON_OPTIONS options, SIMPLE_PATTERN *chart_label_key, SIMPLE_PATTERN *chart_labels_filter, SIMPLE_PATTERN *chart_dimensions);
55
+int rrdcontext_to_json(RRDHOST *host, BUFFER *wb, time_t after, time_t before, RRDCONTEXT_TO_JSON_OPTIONS options, const char *context, SIMPLE_PATTERN *chart_label_key, SIMPLE_PATTERN *chart_labels_filter, SIMPLE_PATTERN *chart_dimensions);
56
+int rrdcontexts_to_json(RRDHOST *host, BUFFER *wb, time_t after, time_t before, RRDCONTEXT_TO_JSON_OPTIONS options, SIMPLE_PATTERN *chart_label_key, SIMPLE_PATTERN *chart_labels_filter, SIMPLE_PATTERN *chart_dimensions);
57
58
// ----------------------------------------------------------------------------
59
// public API for rrddims
60
61
-extern void rrdcontext_updated_rrddim(RRDDIM *rd);
62
-extern void rrdcontext_removed_rrddim(RRDDIM *rd);
63
-extern void rrdcontext_updated_rrddim_algorithm(RRDDIM *rd);
64
-extern void rrdcontext_updated_rrddim_multiplier(RRDDIM *rd);
65
-extern void rrdcontext_updated_rrddim_divisor(RRDDIM *rd);
66
-extern void rrdcontext_updated_rrddim_flags(RRDDIM *rd);
67
-extern void rrdcontext_collected_rrddim(RRDDIM *rd);
61
+void rrdcontext_updated_rrddim(RRDDIM *rd);
62
+void rrdcontext_removed_rrddim(RRDDIM *rd);
63
+void rrdcontext_updated_rrddim_algorithm(RRDDIM *rd);
64
+void rrdcontext_updated_rrddim_multiplier(RRDDIM *rd);
65
+void rrdcontext_updated_rrddim_divisor(RRDDIM *rd);
66
+void rrdcontext_updated_rrddim_flags(RRDDIM *rd);
67
+void rrdcontext_collected_rrddim(RRDDIM *rd);
68
69
// ----------------------------------------------------------------------------
70
// public API for rrdsets
71
72
-extern void rrdcontext_updated_rrdset(RRDSET *st);
73
-extern void rrdcontext_removed_rrdset(RRDSET *st);
74
-extern void rrdcontext_updated_rrdset_name(RRDSET *st);
75
-extern void rrdcontext_updated_rrdset_flags(RRDSET *st);
76
-extern void rrdcontext_collected_rrdset(RRDSET *st);
72
+void rrdcontext_updated_rrdset(RRDSET *st);
73
+void rrdcontext_removed_rrdset(RRDSET *st);
74
+void rrdcontext_updated_rrdset_name(RRDSET *st);
75
+void rrdcontext_updated_rrdset_flags(RRDSET *st);
76
+void rrdcontext_collected_rrdset(RRDSET *st);
77
78
// ----------------------------------------------------------------------------
79
// public API for ACLK
80
81
-extern void rrdcontext_hub_checkpoint_command(void *cmd);
82
-extern void rrdcontext_hub_stop_streaming_command(void *cmd);
81
+void rrdcontext_hub_checkpoint_command(void *cmd);
82
+void rrdcontext_hub_stop_streaming_command(void *cmd);
83
84
85
// ----------------------------------------------------------------------------
86
// public API for threads
87
88
-extern void rrdcontext_db_rotation(void);
89
-extern void *rrdcontext_main(void *);
88
+void rrdcontext_db_rotation(void);
89
+void *rrdcontext_main(void *);
90
91
#endif // NETDATA_RRDCONTEXT_H
92
database/rrddimvar.h
+5
-5
@@ -11,11 +11,11 @@
11
// This means, there will be no speed penalty for using
12
// these variables
13
14
-extern void rrddimvar_rename_all(RRDDIM *rd);
15
-extern void rrddimvar_add_and_leave_released(RRDDIM *rd, RRDVAR_TYPE type, const char *prefix, const char *suffix, void *value, RRDVAR_FLAGS flags);
16
-extern void rrddimvar_delete_all(RRDDIM *rd);
14
+void rrddimvar_rename_all(RRDDIM *rd);
15
+void rrddimvar_add_and_leave_released(RRDDIM *rd, RRDVAR_TYPE type, const char *prefix, const char *suffix, void *value, RRDVAR_FLAGS flags);
16
+void rrddimvar_delete_all(RRDDIM *rd);
17
18
-extern void rrddimvar_index_init(RRDSET *st);
19
-extern void rrddimvar_index_destroy(RRDSET *st);
18
+void rrddimvar_index_init(RRDSET *st);
19
+void rrddimvar_index_destroy(RRDSET *st);
20
21
#endif //NETDATA_RRDDIMVAR_H
database/rrdfunctions.h
+14
-14
@@ -3,33 +3,33 @@
3
4
#include "rrd.h"
5
6
-extern void rrdfunctions_init(RRDHOST *host);
7
-extern void rrdfunctions_destroy(RRDHOST *host);
6
+void rrdfunctions_init(RRDHOST *host);
7
+void rrdfunctions_destroy(RRDHOST *host);
8
9
-extern void rrd_collector_started(void);
10
-extern void rrd_collector_finished(void);
9
+void rrd_collector_started(void);
10
+void rrd_collector_finished(void);
11
12
typedef void (*function_data_ready_callback)(BUFFER *wb, int code, void *callback_data);
13
14
typedef int (*function_execute_at_collector)(BUFFER *wb, int timeout, const char *function, void *collector_data,
15
function_data_ready_callback callback, void *callback_data);
16
17
-extern void rrd_collector_add_function(RRDHOST *host, RRDSET *st, const char *name, int timeout, const char *help,
17
+void rrd_collector_add_function(RRDHOST *host, RRDSET *st, const char *name, int timeout, const char *help,
18
bool sync, function_execute_at_collector function, void *collector_data);
19
20
-extern int rrd_call_function_and_wait(RRDHOST *host, BUFFER *wb, int timeout, const char *name);
20
+int rrd_call_function_and_wait(RRDHOST *host, BUFFER *wb, int timeout, const char *name);
21
22
typedef void (*rrd_call_function_async_callback)(BUFFER *wb, int code, void *callback_data);
23
-extern int rrd_call_function_async(RRDHOST *host, BUFFER *wb, int timeout, const char *name, rrd_call_function_async_callback, void *callback_data);
23
+int rrd_call_function_async(RRDHOST *host, BUFFER *wb, int timeout, const char *name, rrd_call_function_async_callback, void *callback_data);
24
25
-extern void rrd_functions_expose_rrdpush(RRDSET *st, BUFFER *wb);
25
+void rrd_functions_expose_rrdpush(RRDSET *st, BUFFER *wb);
26
27
-extern void chart_functions2json(RRDSET *st, BUFFER *wb, int tabs, const char *kq, const char *sq);
28
-extern void chart_functions_to_dict(RRDSET *st, DICTIONARY *dict);
29
-extern void host_functions2json(RRDHOST *host, BUFFER *wb, int tabs, const char *kq, const char *sq);
27
+void chart_functions2json(RRDSET *st, BUFFER *wb, int tabs, const char *kq, const char *sq);
28
+void chart_functions_to_dict(RRDSET *st, DICTIONARY *dict);
29
+void host_functions2json(RRDHOST *host, BUFFER *wb, int tabs, const char *kq, const char *sq);
30
31
-extern uint8_t functions_format_to_content_type(const char *format);
32
-extern const char *functions_content_type_to_format(uint8_t content_type);
33
-extern int rrd_call_function_error(BUFFER *wb, const char *msg, int code);
31
+uint8_t functions_format_to_content_type(const char *format);
32
+const char *functions_content_type_to_format(uint8_t content_type);
33
+int rrd_call_function_error(BUFFER *wb, const char *msg, int code);
34
35
#endif // NETDATA_RRDFUNCTIONS_H
database/rrdsetvar.h
+10
-10
@@ -11,20 +11,20 @@
11
// This means, there will be no speed penalty for using
12
// these variables
13
14
-extern void rrdsetvar_index_init(RRDSET *st);
15
-extern void rrdsetvar_index_destroy(RRDSET *st);
16
-extern void rrdsetvar_release_and_delete_all(RRDSET *st);
14
+void rrdsetvar_index_init(RRDSET *st);
15
+void rrdsetvar_index_destroy(RRDSET *st);
16
+void rrdsetvar_release_and_delete_all(RRDSET *st);
17
18
#define rrdsetvar_custom_chart_variable_release(st, rsa) rrdsetvar_release((st)->rrdsetvar_root_index, rsa)
19
-extern void rrdsetvar_release(DICTIONARY *dict, const RRDSETVAR_ACQUIRED *rsa);
19
+void rrdsetvar_release(DICTIONARY *dict, const RRDSETVAR_ACQUIRED *rsa);
20
21
-extern const RRDSETVAR_ACQUIRED *rrdsetvar_custom_chart_variable_add_and_acquire(RRDSET *st, const char *name);
22
-extern void rrdsetvar_custom_chart_variable_set(RRDSET *st, const RRDSETVAR_ACQUIRED *rsa, NETDATA_DOUBLE value);
21
+const RRDSETVAR_ACQUIRED *rrdsetvar_custom_chart_variable_add_and_acquire(RRDSET *st, const char *name);
22
+void rrdsetvar_custom_chart_variable_set(RRDSET *st, const RRDSETVAR_ACQUIRED *rsa, NETDATA_DOUBLE value);
23
24
-extern void rrdsetvar_rename_all(RRDSET *st);
25
-extern const RRDSETVAR_ACQUIRED *rrdsetvar_add_and_acquire(RRDSET *st, const char *name, RRDVAR_TYPE type, void *value, RRDVAR_FLAGS flags);
26
-extern void rrdsetvar_add_and_leave_released(RRDSET *st, const char *name, RRDVAR_TYPE type, void *value, RRDVAR_FLAGS flags);
24
+void rrdsetvar_rename_all(RRDSET *st);
25
+const RRDSETVAR_ACQUIRED *rrdsetvar_add_and_acquire(RRDSET *st, const char *name, RRDVAR_TYPE type, void *value, RRDVAR_FLAGS flags);
26
+void rrdsetvar_add_and_leave_released(RRDSET *st, const char *name, RRDVAR_TYPE type, void *value, RRDVAR_FLAGS flags);
27
28
-extern void rrdsetvar_print_to_streaming_custom_chart_variables(RRDSET *st, BUFFER *wb);
28
+void rrdsetvar_print_to_streaming_custom_chart_variables(RRDSET *st, BUFFER *wb);
29
30
#endif //NETDATA_RRDSETVAR_H
database/rrdvar.h
+15
-15
@@ -40,32 +40,32 @@ typedef enum rrdvar_options {
40
41
#define RRDVAR_MAX_LENGTH 1024
42
43
-extern int rrdvar_fix_name(char *variable);
43
+int rrdvar_fix_name(char *variable);
44
45
#include "rrd.h"
46
47
-extern STRING *rrdvar_name_to_string(const char *name);
47
+STRING *rrdvar_name_to_string(const char *name);
48
49
-extern const RRDVAR_ACQUIRED *rrdvar_custom_host_variable_add_and_acquire(RRDHOST *host, const char *name);
50
-extern void rrdvar_custom_host_variable_set(RRDHOST *host, const RRDVAR_ACQUIRED *rva, NETDATA_DOUBLE value);
49
+const RRDVAR_ACQUIRED *rrdvar_custom_host_variable_add_and_acquire(RRDHOST *host, const char *name);
50
+void rrdvar_custom_host_variable_set(RRDHOST *host, const RRDVAR_ACQUIRED *rva, NETDATA_DOUBLE value);
51
52
-extern int rrdvar_walkthrough_read(DICTIONARY *dict, int (*callback)(const DICTIONARY_ITEM *item, void *rrdvar, void *data), void *data);
52
+int rrdvar_walkthrough_read(DICTIONARY *dict, int (*callback)(const DICTIONARY_ITEM *item, void *rrdvar, void *data), void *data);
53
54
#define rrdvar_custom_host_variable_release(host, rva) rrdvar_release((host)->rrdvars, rva)
55
-extern void rrdvar_release(DICTIONARY *dict, const RRDVAR_ACQUIRED *rva);
55
+void rrdvar_release(DICTIONARY *dict, const RRDVAR_ACQUIRED *rva);
56
57
-extern NETDATA_DOUBLE rrdvar2number(const RRDVAR_ACQUIRED *rva);
57
+NETDATA_DOUBLE rrdvar2number(const RRDVAR_ACQUIRED *rva);
58
59
-extern const RRDVAR_ACQUIRED *rrdvar_add_and_acquire(const char *scope, DICTIONARY *dict, STRING *name, RRDVAR_TYPE type, RRDVAR_FLAGS options, void *value);
60
-extern void rrdvar_release_and_del(DICTIONARY *dict, const RRDVAR_ACQUIRED *rva);
59
+const RRDVAR_ACQUIRED *rrdvar_add_and_acquire(const char *scope, DICTIONARY *dict, STRING *name, RRDVAR_TYPE type, RRDVAR_FLAGS options, void *value);
60
+void rrdvar_release_and_del(DICTIONARY *dict, const RRDVAR_ACQUIRED *rva);
61
62
-extern DICTIONARY *rrdvariables_create(void);
63
-extern void rrdvariables_destroy(DICTIONARY *dict);
62
+DICTIONARY *rrdvariables_create(void);
63
+void rrdvariables_destroy(DICTIONARY *dict);
64
65
-extern void rrdvar_delete_all(DICTIONARY *dict);
65
+void rrdvar_delete_all(DICTIONARY *dict);
66
67
-extern const char *rrdvar_name(const RRDVAR_ACQUIRED *rva);
68
-extern RRDVAR_FLAGS rrdvar_flags(const RRDVAR_ACQUIRED *rva);
69
-extern RRDVAR_TYPE rrdvar_type(const RRDVAR_ACQUIRED *rva);
67
+const char *rrdvar_name(const RRDVAR_ACQUIRED *rva);
68
+RRDVAR_FLAGS rrdvar_flags(const RRDVAR_ACQUIRED *rva);
69
+RRDVAR_TYPE rrdvar_type(const RRDVAR_ACQUIRED *rva);
70
71
#endif //NETDATA_RRDVAR_H
database/sqlite/sqlite_aclk.h
+3
-3
@@ -184,9 +184,9 @@ static inline RRDHOST *find_host_by_node_id(char *node_id)
184
185
extern sqlite3 *db_meta;
186
187
-extern int aclk_database_enq_cmd_noblock(struct aclk_database_worker_config *wc, struct aclk_database_cmd *cmd);
188
-extern void aclk_database_enq_cmd(struct aclk_database_worker_config *wc, struct aclk_database_cmd *cmd);
189
-extern void sql_create_aclk_table(RRDHOST *host, uuid_t *host_uuid, uuid_t *node_id);
187
+int aclk_database_enq_cmd_noblock(struct aclk_database_worker_config *wc, struct aclk_database_cmd *cmd);
188
+void aclk_database_enq_cmd(struct aclk_database_worker_config *wc, struct aclk_database_cmd *cmd);
189
+void sql_create_aclk_table(RRDHOST *host, uuid_t *host_uuid, uuid_t *node_id);
190
int aclk_worker_enq_cmd(char *node_id, struct aclk_database_cmd *cmd);
191
void sql_aclk_sync_init(void);
192
void sql_check_aclk_table_list(struct aclk_database_worker_config *wc);
database/sqlite/sqlite_aclk_alert.h
+1
-1
@@ -26,6 +26,6 @@ void sql_process_queue_removed_alerts_to_aclk(struct aclk_database_worker_config
26
void aclk_push_alert_snapshot_event(struct aclk_database_worker_config *wc, struct aclk_database_cmd cmd);
27
void aclk_process_send_alarm_snapshot(char *node_id, char *claim_id, uint64_t snapshot_id, uint64_t sequence_id);
28
int get_proto_alert_status(RRDHOST *host, struct proto_alert_status *proto_alert_status);
29
-extern int sql_queue_alarm_to_aclk(RRDHOST *host, ALARM_ENTRY *ae, int skip_filter);
29
+int sql_queue_alarm_to_aclk(RRDHOST *host, ALARM_ENTRY *ae, int skip_filter);
30
31
#endif //NETDATA_SQLITE_ACLK_ALERT_H
database/sqlite/sqlite_context.h
+10
-10
@@ -6,7 +6,7 @@
6
#include "daemon/common.h"
7
#include "sqlite3.h"
8
9
-extern int sql_context_cache_stats(int op);
9
+int sql_context_cache_stats(int op);
10
typedef struct ctx_chart {
11
uuid_t chart_id;
12
const char *id;
@@ -51,19 +51,19 @@ typedef struct versioned_context_data {
51
52
} VERSIONED_CONTEXT_DATA;
53
54
-extern void ctx_get_context_list(uuid_t *host_uuid, void (*dict_cb)(VERSIONED_CONTEXT_DATA *, void *), void *data);
54
+void ctx_get_context_list(uuid_t *host_uuid, void (*dict_cb)(VERSIONED_CONTEXT_DATA *, void *), void *data);
55
56
-extern void ctx_get_chart_list(uuid_t *host_uuid, void (*dict_cb)(SQL_CHART_DATA *, void *), void *data);
57
-extern void ctx_get_label_list(uuid_t *chart_uuid, void (*dict_cb)(SQL_CLABEL_DATA *, void *), void *data);
58
-extern void ctx_get_dimension_list(uuid_t *chart_uuid, void (*dict_cb)(SQL_DIMENSION_DATA *, void *), void *data);
56
+void ctx_get_chart_list(uuid_t *host_uuid, void (*dict_cb)(SQL_CHART_DATA *, void *), void *data);
57
+void ctx_get_label_list(uuid_t *chart_uuid, void (*dict_cb)(SQL_CLABEL_DATA *, void *), void *data);
58
+void ctx_get_dimension_list(uuid_t *chart_uuid, void (*dict_cb)(SQL_DIMENSION_DATA *, void *), void *data);
59
60
-extern int ctx_store_context(uuid_t *host_uuid, VERSIONED_CONTEXT_DATA *context_data);
60
+int ctx_store_context(uuid_t *host_uuid, VERSIONED_CONTEXT_DATA *context_data);
61
62
#define ctx_update_context(host_uuid, context_data) ctx_store_context(host_uuid, context_data)
63
64
-extern int ctx_delete_context(uuid_t *host_id, VERSIONED_CONTEXT_DATA *context_data);
64
+int ctx_delete_context(uuid_t *host_id, VERSIONED_CONTEXT_DATA *context_data);
65
66
-extern int sql_init_context_database(int memory);
67
-extern void sql_close_context_database(void);
68
-extern int ctx_unittest(void);
66
+int sql_init_context_database(int memory);
67
+void sql_close_context_database(void);
68
+int ctx_unittest(void);
69
#endif //NETDATA_SQLITE_CONTEXT_H
database/sqlite/sqlite_functions.h
+39
-39
@@ -52,8 +52,8 @@ typedef enum db_check_action_type {
52
return 1; \
53
}
54
55
-extern SQLITE_API int sqlite3_step_monitored(sqlite3_stmt *stmt);
56
-extern SQLITE_API int sqlite3_exec_monitored(
55
+SQLITE_API int sqlite3_step_monitored(sqlite3_stmt *stmt);
56
+SQLITE_API int sqlite3_exec_monitored(
57
sqlite3 *db, /* An open database */
58
const char *sql, /* SQL to be evaluated */
59
int (*callback)(void*,int,char**,char**), /* Callback function */
@@ -61,55 +61,55 @@ extern SQLITE_API int sqlite3_exec_monitored(
61
char **errmsg /* Error msg written here */
62
);
63
64
-extern int sql_init_database(db_check_action_type_t rebuild, int memory);
65
-extern void sql_close_database(void);
66
-extern int bind_text_null(sqlite3_stmt *res, int position, const char *text, bool can_be_null);
67
-extern int sql_store_host(uuid_t *guid, const char *hostname, const char *registry_hostname, int update_every, const char *os,
64
+int sql_init_database(db_check_action_type_t rebuild, int memory);
65
+void sql_close_database(void);
66
+int bind_text_null(sqlite3_stmt *res, int position, const char *text, bool can_be_null);
67
+int sql_store_host(uuid_t *guid, const char *hostname, const char *registry_hostname, int update_every, const char *os,
68
const char *timezone, const char *tags, int hops);
69
70
-extern int sql_store_host_info(RRDHOST *host);
70
+int sql_store_host_info(RRDHOST *host);
71
72
-extern int sql_store_chart(
72
+int sql_store_chart(
73
uuid_t *chart_uuid, uuid_t *host_uuid, const char *type, const char *id, const char *name, const char *family,
74
const char *context, const char *title, const char *units, const char *plugin, const char *module, long priority,
75
int update_every, int chart_type, int memory_mode, long history_entries);
76
-extern int sql_store_dimension(uuid_t *dim_uuid, uuid_t *chart_uuid, const char *id, const char *name, collected_number multiplier,
76
+int sql_store_dimension(uuid_t *dim_uuid, uuid_t *chart_uuid, const char *id, const char *name, collected_number multiplier,
77
collected_number divisor, int algorithm);
78
79
-extern int find_dimension_uuid(RRDSET *st, RRDDIM *rd, uuid_t *store_uuid);
80
-
81
-extern int find_chart_uuid(RRDHOST *host, const char *type, const char *id, const char *name, uuid_t *store_uuid);
82
-extern int update_chart_metadata(uuid_t *chart_uuid, RRDSET *st, const char *id, const char *name);
83
-
84
-extern int find_uuid_type(uuid_t *uuid);
85
-
86
-extern void sql_rrdset2json(RRDHOST *host, BUFFER *wb);
87
-
88
-extern RRDHOST *sql_create_host_by_uuid(char *guid);
89
-extern int prepare_statement(sqlite3 *database, char *query, sqlite3_stmt **statement);
90
-extern int execute_insert(sqlite3_stmt *res);
91
-extern void db_execute(const char *cmd);
92
-extern int file_is_migrated(char *path);
93
-extern void add_migrated_file(char *path, uint64_t file_size);
94
-extern void db_unlock(void);
95
-extern void db_lock(void);
96
-extern void delete_dimension_uuid(uuid_t *dimension_uuid);
97
-extern void sql_build_context_param_list(ONEWAYALLOC *owa, struct context_param **param_list, RRDHOST *host, char *context, char *chart);
98
-extern void store_claim_id(uuid_t *host_id, uuid_t *claim_id);
99
-extern int update_node_id(uuid_t *host_id, uuid_t *node_id);
100
-extern int get_node_id(uuid_t *host_id, uuid_t *node_id);
101
-extern int get_host_id(uuid_t *node_id, uuid_t *host_id);
102
-extern void invalidate_node_instances(uuid_t *host_id, uuid_t *claim_id);
103
-extern struct node_instance_list *get_node_list(void);
104
-extern void sql_load_node_id(RRDHOST *host);
105
-extern int sql_set_dimension_option(uuid_t *dim_uuid, char *option);
79
+int find_dimension_uuid(RRDSET *st, RRDDIM *rd, uuid_t *store_uuid);
80
+
81
+int find_chart_uuid(RRDHOST *host, const char *type, const char *id, const char *name, uuid_t *store_uuid);
82
+int update_chart_metadata(uuid_t *chart_uuid, RRDSET *st, const char *id, const char *name);
83
+
84
+int find_uuid_type(uuid_t *uuid);
85
+
86
+void sql_rrdset2json(RRDHOST *host, BUFFER *wb);
87
+
88
+RRDHOST *sql_create_host_by_uuid(char *guid);
89
+int prepare_statement(sqlite3 *database, char *query, sqlite3_stmt **statement);
90
+int execute_insert(sqlite3_stmt *res);
91
+void db_execute(const char *cmd);
92
+int file_is_migrated(char *path);
93
+void add_migrated_file(char *path, uint64_t file_size);
94
+void db_unlock(void);
95
+void db_lock(void);
96
+void delete_dimension_uuid(uuid_t *dimension_uuid);
97
+void sql_build_context_param_list(ONEWAYALLOC *owa, struct context_param **param_list, RRDHOST *host, char *context, char *chart);
98
+void store_claim_id(uuid_t *host_id, uuid_t *claim_id);
99
+int update_node_id(uuid_t *host_id, uuid_t *node_id);
100
+int get_node_id(uuid_t *host_id, uuid_t *node_id);
101
+int get_host_id(uuid_t *node_id, uuid_t *host_id);
102
+void invalidate_node_instances(uuid_t *host_id, uuid_t *claim_id);
103
+struct node_instance_list *get_node_list(void);
104
+void sql_load_node_id(RRDHOST *host);
105
+int sql_set_dimension_option(uuid_t *dim_uuid, char *option);
106
char *get_hostname_by_node_id(char *node_id);
107
void free_temporary_host(RRDHOST *host);
108
int init_database_batch(sqlite3 *database, int rebuild, int init_type, const char *batch[]);
109
void migrate_localhost(uuid_t *host_uuid);
110
-extern void sql_store_host_system_info(uuid_t *host_id, const struct rrdhost_system_info *system_info);
111
-extern void sql_build_host_system_info(uuid_t *host_id, struct rrdhost_system_info *system_info);
110
+void sql_store_host_system_info(uuid_t *host_id, const struct rrdhost_system_info *system_info);
111
+void sql_build_host_system_info(uuid_t *host_id, struct rrdhost_system_info *system_info);
112
void sql_store_host_labels(RRDHOST *host);
113
-extern int sql_metadata_cache_stats(int op);
113
+int sql_metadata_cache_stats(int op);
114
DICTIONARY *sql_load_host_labels(uuid_t *host_id);
115
#endif //NETDATA_SQLITE_FUNCTIONS_H
database/sqlite/sqlite_health.h
+8
-8
@@ -6,12 +6,12 @@
6
#include "sqlite3.h"
7
8
extern sqlite3 *db_meta;
9
-extern void sql_health_alarm_log_load(RRDHOST *host);
10
-extern int sql_create_health_log_table(RRDHOST *host);
11
-extern void sql_health_alarm_log_update(RRDHOST *host, ALARM_ENTRY *ae);
12
-extern void sql_health_alarm_log_insert(RRDHOST *host, ALARM_ENTRY *ae);
13
-extern void sql_health_alarm_log_save(RRDHOST *host, ALARM_ENTRY *ae);
14
-extern void sql_health_alarm_log_cleanup(RRDHOST *host);
15
-extern int alert_hash_and_store_config(uuid_t hash_id, struct alert_config *cfg, int store_hash);
16
-extern void sql_aclk_alert_clean_dead_entries(RRDHOST *host);
9
+void sql_health_alarm_log_load(RRDHOST *host);
10
+int sql_create_health_log_table(RRDHOST *host);
11
+void sql_health_alarm_log_update(RRDHOST *host, ALARM_ENTRY *ae);
12
+void sql_health_alarm_log_insert(RRDHOST *host, ALARM_ENTRY *ae);
13
+void sql_health_alarm_log_save(RRDHOST *host, ALARM_ENTRY *ae);
14
+void sql_health_alarm_log_cleanup(RRDHOST *host);
15
+int alert_hash_and_store_config(uuid_t hash_id, struct alert_config *cfg, int store_hash);
16
+void sql_aclk_alert_clean_dead_entries(RRDHOST *host);
17
#endif //NETDATA_SQLITE_HEALTH_H
database/storage_engine.h
+4
-4
@@ -22,11 +22,11 @@ struct storage_engine {
22
STORAGE_ENGINE_API api;
23
};
24
25
-extern STORAGE_ENGINE* storage_engine_get(RRD_MEMORY_MODE mmode);
26
-extern STORAGE_ENGINE* storage_engine_find(const char* name);
25
+STORAGE_ENGINE* storage_engine_get(RRD_MEMORY_MODE mmode);
26
+STORAGE_ENGINE* storage_engine_find(const char* name);
27
28
// Iterator over existing engines
29
-extern STORAGE_ENGINE* storage_engine_foreach_init();
30
-extern STORAGE_ENGINE* storage_engine_foreach_next(STORAGE_ENGINE* it);
29
+STORAGE_ENGINE* storage_engine_foreach_init();
30
+STORAGE_ENGINE* storage_engine_foreach_next(STORAGE_ENGINE* it);
31
32
#endif
exporting/exporting_engine.h
+2
-2
@@ -271,7 +271,7 @@ size_t exporting_name_copy(char *dst, const char *src, size_t max_len);
271
int rrdhost_is_exportable(struct instance *instance, RRDHOST *host);
272
int rrdset_is_exportable(struct instance *instance, RRDSET *st);
273
274
-extern EXPORTING_OPTIONS exporting_parse_data_source(const char *source, EXPORTING_OPTIONS exporting_options);
274
+EXPORTING_OPTIONS exporting_parse_data_source(const char *source, EXPORTING_OPTIONS exporting_options);
275
276
NETDATA_DOUBLE
277
exporting_calculate_value_from_stored_data(
@@ -300,7 +300,7 @@ void create_main_rusage_chart(RRDSET **st_rusage, RRDDIM **rd_user, RRDDIM **rd_
300
void send_main_rusage(RRDSET *st_rusage, RRDDIM *rd_user, RRDDIM *rd_system);
301
void send_internal_metrics(struct instance *instance);
302
303
-extern void clean_instance(struct instance *ptr);
303
+void clean_instance(struct instance *ptr);
304
void simple_connector_cleanup(struct instance *instance);
305
306
static inline void disable_instance(struct instance *instance)
exporting/prometheus/prometheus.h
+3
-3
@@ -22,10 +22,10 @@ typedef enum prometheus_output_flags {
22
PROMETHEUS_OUTPUT_HIDEUNITS = (1 << 6)
23
} PROMETHEUS_OUTPUT_OPTIONS;
24
25
-extern void rrd_stats_api_v1_charts_allmetrics_prometheus_single_host(
25
+void rrd_stats_api_v1_charts_allmetrics_prometheus_single_host(
26
RRDHOST *host, const char *filter_string, BUFFER *wb, const char *server, const char *prefix,
27
EXPORTING_OPTIONS exporting_options, PROMETHEUS_OUTPUT_OPTIONS output_options);
28
-extern void rrd_stats_api_v1_charts_allmetrics_prometheus_all_hosts(
28
+void rrd_stats_api_v1_charts_allmetrics_prometheus_all_hosts(
29
RRDHOST *host, const char *filter_string, BUFFER *wb, const char *server, const char *prefix,
30
EXPORTING_OPTIONS exporting_options, PROMETHEUS_OUTPUT_OPTIONS output_options);
31
@@ -36,6 +36,6 @@ char *prometheus_units_copy(char *d, const char *s, size_t usable, int showoldun
36
37
void format_host_labels_prometheus(struct instance *instance, RRDHOST *host);
38
39
-extern void prometheus_clean_server_root();
39
+void prometheus_clean_server_root();
40
41
#endif //NETDATA_EXPORTING_PROMETHEUS_H
exporting/prometheus/remote_write/remote_write.h
+1
-1
@@ -18,7 +18,7 @@ struct prometheus_remote_write_variables_callback_options {
18
};
19
20
int init_prometheus_remote_write_instance(struct instance *instance);
21
-extern void clean_prometheus_remote_write(struct instance *instance);
21
+void clean_prometheus_remote_write(struct instance *instance);
22
23
int format_host_prometheus_remote_write(struct instance *instance, RRDHOST *host);
24
int format_chart_prometheus_remote_write(struct instance *instance, RRDSET *st);
health/health.h
+20
-20
@@ -32,23 +32,23 @@ extern unsigned int default_health_enabled;
32
33
extern char *silencers_filename;
34
35
-extern void health_init(void);
35
+void health_init(void);
36
37
-extern void health_reload(void);
37
+void health_reload(void);
38
39
-extern void health_aggregate_alarms(RRDHOST *host, BUFFER *wb, BUFFER* context, RRDCALC_STATUS status);
40
-extern void health_alarms2json(RRDHOST *host, BUFFER *wb, int all);
41
-extern void health_alarms_values2json(RRDHOST *host, BUFFER *wb, int all);
42
-extern void health_alarm_log2json(RRDHOST *host, BUFFER *wb, uint32_t after, char *chart);
39
+void health_aggregate_alarms(RRDHOST *host, BUFFER *wb, BUFFER* context, RRDCALC_STATUS status);
40
+void health_alarms2json(RRDHOST *host, BUFFER *wb, int all);
41
+void health_alarms_values2json(RRDHOST *host, BUFFER *wb, int all);
42
+void health_alarm_log2json(RRDHOST *host, BUFFER *wb, uint32_t after, char *chart);
43
44
void health_api_v1_chart_variables2json(RRDSET *st, BUFFER *buf);
45
void health_api_v1_chart_custom_variables2json(RRDSET *st, BUFFER *buf);
46
47
-extern int health_alarm_log_open(RRDHOST *host);
48
-extern void health_alarm_log_save(RRDHOST *host, ALARM_ENTRY *ae);
49
-extern void health_alarm_log_load(RRDHOST *host);
47
+int health_alarm_log_open(RRDHOST *host);
48
+void health_alarm_log_save(RRDHOST *host, ALARM_ENTRY *ae);
49
+void health_alarm_log_load(RRDHOST *host);
50
51
-extern ALARM_ENTRY* health_create_alarm_entry(
51
+ALARM_ENTRY* health_create_alarm_entry(
52
RRDHOST *host,
53
uint32_t alarm_id,
54
uint32_t alarm_event_id,
@@ -74,20 +74,20 @@ extern ALARM_ENTRY* health_create_alarm_entry(
74
int delay,
75
uint32_t flags);
76
77
-extern void health_alarm_log_add_entry(RRDHOST *host, ALARM_ENTRY *ae);
77
+void health_alarm_log_add_entry(RRDHOST *host, ALARM_ENTRY *ae);
78
79
-extern void health_readdir(RRDHOST *host, const char *user_path, const char *stock_path, const char *subpath);
80
-extern char *health_user_config_dir(void);
81
-extern char *health_stock_config_dir(void);
82
-extern void health_alarm_log_free(RRDHOST *host);
79
+void health_readdir(RRDHOST *host, const char *user_path, const char *stock_path, const char *subpath);
80
+char *health_user_config_dir(void);
81
+char *health_stock_config_dir(void);
82
+void health_alarm_log_free(RRDHOST *host);
83
84
-extern void health_alarm_log_free_one_nochecks_nounlink(ALARM_ENTRY *ae);
84
+void health_alarm_log_free_one_nochecks_nounlink(ALARM_ENTRY *ae);
85
86
-extern void *health_cmdapi_thread(void *ptr);
86
+void *health_cmdapi_thread(void *ptr);
87
88
-extern void health_label_log_save(RRDHOST *host);
88
+void health_label_log_save(RRDHOST *host);
89
90
-extern char *health_edit_command_from_source(const char *source);
91
-extern void sql_refresh_hashes(void);
90
+char *health_edit_command_from_source(const char *source);
91
+void sql_refresh_hashes(void);
92
93
#endif //NETDATA_HEALTH_H
libnetdata/adaptive_resortable_list/adaptive_resortable_list.h
+8
-8
@@ -64,25 +64,25 @@ typedef struct arl_base {
64
} ARL_BASE;
65
66
// create a new ARL
67
-extern ARL_BASE *arl_create(const char *name, void (*processor)(const char *, uint32_t, const char *, void *), size_t rechecks);
67
+ARL_BASE *arl_create(const char *name, void (*processor)(const char *, uint32_t, const char *, void *), size_t rechecks);
68
69
// free an ARL
70
-extern void arl_free(ARL_BASE *arl_base);
70
+void arl_free(ARL_BASE *arl_base);
71
72
// register an expected keyword to the ARL
73
// together with its destination ( i.e. the output of the processor() )
74
-extern ARL_ENTRY *arl_expect_custom(ARL_BASE *base, const char *keyword, void (*processor)(const char *name, uint32_t hash, const char *value, void *dst), void *dst);
74
+ARL_ENTRY *arl_expect_custom(ARL_BASE *base, const char *keyword, void (*processor)(const char *name, uint32_t hash, const char *value, void *dst), void *dst);
75
#define arl_expect(base, keyword, dst) arl_expect_custom(base, keyword, NULL, dst)
76
77
// an internal call to complete the check() call
78
-extern int arl_find_or_create_and_relink(ARL_BASE *base, const char *s, const char *value);
78
+int arl_find_or_create_and_relink(ARL_BASE *base, const char *s, const char *value);
79
80
// begin an ARL iteration
81
-extern void arl_begin(ARL_BASE *base);
81
+void arl_begin(ARL_BASE *base);
82
83
-extern void arl_callback_str2ull(const char *name, uint32_t hash, const char *value, void *dst);
84
-extern void arl_callback_str2kernel_uint_t(const char *name, uint32_t hash, const char *value, void *dst);
85
-extern void arl_callback_ssize_t(const char *name, uint32_t hash, const char *value, void *dst);
83
+void arl_callback_str2ull(const char *name, uint32_t hash, const char *value, void *dst);
84
+void arl_callback_str2kernel_uint_t(const char *name, uint32_t hash, const char *value, void *dst);
85
+void arl_callback_ssize_t(const char *name, uint32_t hash, const char *value, void *dst);
86
87
// check a keyword against the ARL
88
// this is to be called for each keyword read from source data
libnetdata/arrayalloc/arrayalloc.h
+3
-3
@@ -28,8 +28,8 @@ typedef struct arrayalloc {
28
} internal;
29
} ARAL;
30
31
-extern ARAL *arrayalloc_create(size_t element_size, size_t elements, const char *filename, char **cache_dir);
32
-extern void *arrayalloc_mallocz(ARAL *ar);
33
-extern void arrayalloc_freez(ARAL *ar, void *ptr);
31
+ARAL *arrayalloc_create(size_t element_size, size_t elements, const char *filename, char **cache_dir);
32
+void *arrayalloc_mallocz(ARAL *ar);
33
+void arrayalloc_freez(ARAL *ar, void *ptr);
34
35
#endif // ARRAYALLOC_H
libnetdata/buffer/buffer.h
+22
-22
@@ -49,37 +49,37 @@ typedef struct web_buffer {
49
#define buffer_no_cacheable(wb) do { (wb)->options |= WB_CONTENT_NO_CACHEABLE; if((wb)->options & WB_CONTENT_CACHEABLE) (wb)->options &= ~WB_CONTENT_CACHEABLE; (wb)->expires = 0; } while(0)
50
51
#define buffer_strlen(wb) ((wb)->len)
52
-extern const char *buffer_tostring(BUFFER *wb);
52
+const char *buffer_tostring(BUFFER *wb);
53
54
#define buffer_flush(wb) wb->buffer[(wb)->len = 0] = '\0'
55
-extern void buffer_reset(BUFFER *wb);
55
+void buffer_reset(BUFFER *wb);
56
57
-extern void buffer_strcat(BUFFER *wb, const char *txt);
58
-extern void buffer_fast_strcat(BUFFER *wb, const char *txt, size_t len);
59
-extern void buffer_rrd_value(BUFFER *wb, NETDATA_DOUBLE value);
57
+void buffer_strcat(BUFFER *wb, const char *txt);
58
+void buffer_fast_strcat(BUFFER *wb, const char *txt, size_t len);
59
+void buffer_rrd_value(BUFFER *wb, NETDATA_DOUBLE value);
60
61
-extern void buffer_date(BUFFER *wb, int year, int month, int day, int hours, int minutes, int seconds);
62
-extern void buffer_jsdate(BUFFER *wb, int year, int month, int day, int hours, int minutes, int seconds);
61
+void buffer_date(BUFFER *wb, int year, int month, int day, int hours, int minutes, int seconds);
62
+void buffer_jsdate(BUFFER *wb, int year, int month, int day, int hours, int minutes, int seconds);
63
64
-extern BUFFER *buffer_create(size_t size);
65
-extern void buffer_free(BUFFER *b);
66
-extern void buffer_increase(BUFFER *b, size_t free_size_required);
64
+BUFFER *buffer_create(size_t size);
65
+void buffer_free(BUFFER *b);
66
+void buffer_increase(BUFFER *b, size_t free_size_required);
67
68
-extern void buffer_snprintf(BUFFER *wb, size_t len, const char *fmt, ...) PRINTFLIKE(3, 4);
69
-extern void buffer_vsprintf(BUFFER *wb, const char *fmt, va_list args);
70
-extern void buffer_sprintf(BUFFER *wb, const char *fmt, ...) PRINTFLIKE(2,3);
71
-extern void buffer_strcat_jsonescape(BUFFER *wb, const char *txt);
72
-extern void buffer_strcat_htmlescape(BUFFER *wb, const char *txt);
68
+void buffer_snprintf(BUFFER *wb, size_t len, const char *fmt, ...) PRINTFLIKE(3, 4);
69
+void buffer_vsprintf(BUFFER *wb, const char *fmt, va_list args);
70
+void buffer_sprintf(BUFFER *wb, const char *fmt, ...) PRINTFLIKE(2,3);
71
+void buffer_strcat_jsonescape(BUFFER *wb, const char *txt);
72
+void buffer_strcat_htmlescape(BUFFER *wb, const char *txt);
73
74
-extern void buffer_char_replace(BUFFER *wb, char from, char to);
74
+void buffer_char_replace(BUFFER *wb, char from, char to);
75
76
-extern char *print_number_lu_r(char *str, unsigned long uvalue);
77
-extern char *print_number_llu_r(char *str, unsigned long long uvalue);
78
-extern char *print_number_llu_r_smart(char *str, unsigned long long uvalue);
76
+char *print_number_lu_r(char *str, unsigned long uvalue);
77
+char *print_number_llu_r(char *str, unsigned long long uvalue);
78
+char *print_number_llu_r_smart(char *str, unsigned long long uvalue);
79
80
-extern void buffer_print_llu(BUFFER *wb, unsigned long long uvalue);
81
-extern void buffer_print_ll(BUFFER *wb, long long value);
82
-extern void buffer_print_llu_hex(BUFFER *wb, unsigned long long value);
80
+void buffer_print_llu(BUFFER *wb, unsigned long long uvalue);
81
+void buffer_print_ll(BUFFER *wb, long long value);
82
+void buffer_print_llu_hex(BUFFER *wb, unsigned long long value);
83
84
static inline void buffer_need_bytes(BUFFER *buffer, size_t needed_free_size) {
85
if(unlikely(buffer->size - buffer->len < needed_free_size))
libnetdata/circular_buffer/circular_buffer.h
+7
-7
@@ -8,12 +8,12 @@ struct circular_buffer {
8
char *data;
9
};
10
11
-extern struct circular_buffer *cbuffer_new(size_t initial, size_t max);
12
-extern void cbuffer_free(struct circular_buffer *buf);
13
-extern int cbuffer_add_unsafe(struct circular_buffer *buf, const char *d, size_t d_len);
14
-extern void cbuffer_remove_unsafe(struct circular_buffer *buf, size_t num);
15
-extern size_t cbuffer_next_unsafe(struct circular_buffer *buf, char **start);
16
-extern size_t cbuffer_available_size_unsafe(struct circular_buffer *buf);
17
-extern void cbuffer_flush(struct circular_buffer*buf);
11
+struct circular_buffer *cbuffer_new(size_t initial, size_t max);
12
+void cbuffer_free(struct circular_buffer *buf);
13
+int cbuffer_add_unsafe(struct circular_buffer *buf, const char *d, size_t d_len);
14
+void cbuffer_remove_unsafe(struct circular_buffer *buf, size_t num);
15
+size_t cbuffer_next_unsafe(struct circular_buffer *buf, char **start);
16
+size_t cbuffer_available_size_unsafe(struct circular_buffer *buf);
17
+void cbuffer_flush(struct circular_buffer*buf);
18
19
#endif
libnetdata/clocks/clocks.h
+27
-27
@@ -82,7 +82,7 @@ typedef struct heartbeat {
82
* make systems without clock_gettime() support sensitive
83
* to time jumps or hibernation/suspend side effects.
84
*/
85
-extern int clock_gettime(clockid_t clk_id, struct timespec *ts);
85
+int clock_gettime(clockid_t clk_id, struct timespec *ts);
86
#endif
87
88
/*
@@ -111,50 +111,50 @@ extern int clock_gettime(clockid_t clk_id, struct timespec *ts);
111
* All now_*_usec() functions return the time in microseconds from the appropriate clock, or 0 on error.
112
*
113
*/
114
-extern int now_realtime_timeval(struct timeval *tv);
115
-extern time_t now_realtime_sec(void);
116
-extern usec_t now_realtime_usec(void);
114
+int now_realtime_timeval(struct timeval *tv);
115
+time_t now_realtime_sec(void);
116
+usec_t now_realtime_usec(void);
117
118
-extern int now_monotonic_timeval(struct timeval *tv);
119
-extern time_t now_monotonic_sec(void);
120
-extern usec_t now_monotonic_usec(void);
121
-extern int now_monotonic_high_precision_timeval(struct timeval *tv);
122
-extern time_t now_monotonic_high_precision_sec(void);
123
-extern usec_t now_monotonic_high_precision_usec(void);
118
+int now_monotonic_timeval(struct timeval *tv);
119
+time_t now_monotonic_sec(void);
120
+usec_t now_monotonic_usec(void);
121
+int now_monotonic_high_precision_timeval(struct timeval *tv);
122
+time_t now_monotonic_high_precision_sec(void);
123
+usec_t now_monotonic_high_precision_usec(void);
124
125
-extern int now_boottime_timeval(struct timeval *tv);
126
-extern time_t now_boottime_sec(void);
127
-extern usec_t now_boottime_usec(void);
125
+int now_boottime_timeval(struct timeval *tv);
126
+time_t now_boottime_sec(void);
127
+usec_t now_boottime_usec(void);
128
129
-extern usec_t timeval_usec(struct timeval *tv);
130
-extern msec_t timeval_msec(struct timeval *tv);
129
+usec_t timeval_usec(struct timeval *tv);
130
+msec_t timeval_msec(struct timeval *tv);
131
132
-extern usec_t dt_usec(struct timeval *now, struct timeval *old);
133
-extern susec_t dt_usec_signed(struct timeval *now, struct timeval *old);
132
+usec_t dt_usec(struct timeval *now, struct timeval *old);
133
+susec_t dt_usec_signed(struct timeval *now, struct timeval *old);
134
135
-extern void heartbeat_init(heartbeat_t *hb);
135
+void heartbeat_init(heartbeat_t *hb);
136
137
/* Sleeps until next multiple of tick using monotonic clock.
138
* Returns elapsed time in microseconds since previous heartbeat
139
*/
140
-extern usec_t heartbeat_next(heartbeat_t *hb, usec_t tick);
140
+usec_t heartbeat_next(heartbeat_t *hb, usec_t tick);
141
142
-extern void heartbeat_statistics(usec_t *min_ptr, usec_t *max_ptr, usec_t *average_ptr, size_t *count_ptr);
142
+void heartbeat_statistics(usec_t *min_ptr, usec_t *max_ptr, usec_t *average_ptr, size_t *count_ptr);
143
144
-extern void sleep_usec(usec_t usec);
144
+void sleep_usec(usec_t usec);
145
146
-extern void clocks_init(void);
146
+void clocks_init(void);
147
148
// lower level functions - avoid using directly
149
-extern time_t now_sec(clockid_t clk_id);
150
-extern usec_t now_usec(clockid_t clk_id);
151
-extern int now_timeval(clockid_t clk_id, struct timeval *tv);
149
+time_t now_sec(clockid_t clk_id);
150
+usec_t now_usec(clockid_t clk_id);
151
+int now_timeval(clockid_t clk_id, struct timeval *tv);
152
153
-extern collected_number uptime_msec(char *filename);
153
+collected_number uptime_msec(char *filename);
154
155
extern usec_t clock_monotonic_resolution;
156
extern usec_t clock_realtime_resolution;
157
158
-extern void sleep_to_absolute_time(usec_t usec);
158
+void sleep_to_absolute_time(usec_t usec);
159
160
#endif /* NETDATA_CLOCKS_H */
libnetdata/config/appconfig.h
+27
-27
@@ -163,41 +163,41 @@ struct config {
163
#define CONFIG_BOOLEAN_AUTO 2 // enabled if it has useful info when enabled
164
#endif
165
166
-extern int appconfig_load(struct config *root, char *filename, int overwrite_used, const char *section_name);
167
-extern void config_section_wrlock(struct section *co);
168
-extern void config_section_unlock(struct section *co);
166
+int appconfig_load(struct config *root, char *filename, int overwrite_used, const char *section_name);
167
+void config_section_wrlock(struct section *co);
168
+void config_section_unlock(struct section *co);
169
170
-extern char *appconfig_get_by_section(struct section *co, const char *name, const char *default_value);
171
-extern char *appconfig_get(struct config *root, const char *section, const char *name, const char *default_value);
172
-extern long long appconfig_get_number(struct config *root, const char *section, const char *name, long long value);
173
-extern NETDATA_DOUBLE appconfig_get_float(struct config *root, const char *section, const char *name, NETDATA_DOUBLE value);
174
-extern int appconfig_get_boolean_by_section(struct section *co, const char *name, int value);
175
-extern int appconfig_get_boolean(struct config *root, const char *section, const char *name, int value);
176
-extern int appconfig_get_boolean_ondemand(struct config *root, const char *section, const char *name, int value);
177
-extern int appconfig_get_duration(struct config *root, const char *section, const char *name, const char *value);
170
+char *appconfig_get_by_section(struct section *co, const char *name, const char *default_value);
171
+char *appconfig_get(struct config *root, const char *section, const char *name, const char *default_value);
172
+long long appconfig_get_number(struct config *root, const char *section, const char *name, long long value);
173
+NETDATA_DOUBLE appconfig_get_float(struct config *root, const char *section, const char *name, NETDATA_DOUBLE value);
174
+int appconfig_get_boolean_by_section(struct section *co, const char *name, int value);
175
+int appconfig_get_boolean(struct config *root, const char *section, const char *name, int value);
176
+int appconfig_get_boolean_ondemand(struct config *root, const char *section, const char *name, int value);
177
+int appconfig_get_duration(struct config *root, const char *section, const char *name, const char *value);
178
179
-extern const char *appconfig_set(struct config *root, const char *section, const char *name, const char *value);
180
-extern const char *appconfig_set_default(struct config *root, const char *section, const char *name, const char *value);
181
-extern long long appconfig_set_number(struct config *root, const char *section, const char *name, long long value);
182
-extern NETDATA_DOUBLE appconfig_set_float(struct config *root, const char *section, const char *name, NETDATA_DOUBLE value);
183
-extern int appconfig_set_boolean(struct config *root, const char *section, const char *name, int value);
179
+const char *appconfig_set(struct config *root, const char *section, const char *name, const char *value);
180
+const char *appconfig_set_default(struct config *root, const char *section, const char *name, const char *value);
181
+long long appconfig_set_number(struct config *root, const char *section, const char *name, long long value);
182
+NETDATA_DOUBLE appconfig_set_float(struct config *root, const char *section, const char *name, NETDATA_DOUBLE value);
183
+int appconfig_set_boolean(struct config *root, const char *section, const char *name, int value);
184
185
-extern int appconfig_exists(struct config *root, const char *section, const char *name);
186
-extern int appconfig_move(struct config *root, const char *section_old, const char *name_old, const char *section_new, const char *name_new);
185
+int appconfig_exists(struct config *root, const char *section, const char *name);
186
+int appconfig_move(struct config *root, const char *section_old, const char *name_old, const char *section_new, const char *name_new);
187
188
-extern void appconfig_generate(struct config *root, BUFFER *wb, int only_changed);
188
+void appconfig_generate(struct config *root, BUFFER *wb, int only_changed);
189
190
-extern int appconfig_section_compare(void *a, void *b);
190
+int appconfig_section_compare(void *a, void *b);
191
192
-extern void appconfig_section_destroy_non_loaded(struct config *root, const char *section);
193
-extern void appconfig_section_option_destroy_non_loaded(struct config *root, const char *section, const char *name);
192
+void appconfig_section_destroy_non_loaded(struct config *root, const char *section);
193
+void appconfig_section_option_destroy_non_loaded(struct config *root, const char *section, const char *name);
194
195
-extern int config_parse_duration(const char* string, int* result);
195
+int config_parse_duration(const char* string, int* result);
196
197
-extern struct section *appconfig_get_section(struct config *root, const char *name);
197
+struct section *appconfig_get_section(struct config *root, const char *name);
198
199
-extern void appconfig_wrlock(struct config *root);
200
-extern void appconfig_unlock(struct config *root);
199
+void appconfig_wrlock(struct config *root);
200
+void appconfig_unlock(struct config *root);
201
202
struct connector_instance {
203
char instance_name[CONFIG_MAX_NAME + 1];
@@ -212,6 +212,6 @@ typedef struct _connector_instance {
212
struct _connector_instance *next; // Next instance
213
} _CONNECTOR_INSTANCE;
214
215
-extern _CONNECTOR_INSTANCE *add_connector_instance(struct section *connector, struct section *instance);
215
+_CONNECTOR_INSTANCE *add_connector_instance(struct section *connector, struct section *instance);
216
217
#endif /* NETDATA_CONFIG_H */
libnetdata/dictionary/dictionary.h
+36
-36
@@ -108,51 +108,51 @@ struct dictionary_stats {
108
#ifdef NETDATA_INTERNAL_CHECKS
109
#define dictionary_create(options) dictionary_create_advanced_with_trace(options, NULL, __FUNCTION__, __LINE__, __FILE__)
110
#define dictionary_create_advanced(options, stats) dictionary_create_advanced_with_trace(options, stats, __FUNCTION__, __LINE__, __FILE__)
111
-extern DICTIONARY *dictionary_create_advanced_with_trace(DICT_OPTIONS options, struct dictionary_stats *stats, const char *function, size_t line, const char *file);
111
+DICTIONARY *dictionary_create_advanced_with_trace(DICT_OPTIONS options, struct dictionary_stats *stats, const char *function, size_t line, const char *file);
112
#else
113
#define dictionary_create(options) dictionary_create_advanced(options, NULL);
114
-extern DICTIONARY *dictionary_create_advanced(DICT_OPTIONS options, struct dictionary_stats *stats);
114
+DICTIONARY *dictionary_create_advanced(DICT_OPTIONS options, struct dictionary_stats *stats);
115
#endif
116
117
// Create a view on a dictionary
118
#ifdef NETDATA_INTERNAL_CHECKS
119
#define dictionary_create_view(master) dictionary_create_view_with_trace(master, __FUNCTION__, __LINE__, __FILE__)
120
-extern DICTIONARY *dictionary_create_view_with_trace(DICTIONARY *master, const char *function, size_t line, const char *file);
120
+DICTIONARY *dictionary_create_view_with_trace(DICTIONARY *master, const char *function, size_t line, const char *file);
121
#else
122
-extern DICTIONARY *dictionary_create_view(DICTIONARY *master);
122
+DICTIONARY *dictionary_create_view(DICTIONARY *master);
123
#endif
124
125
// an insert callback to be called just after an item is added to the dictionary
126
// this callback is called while the dictionary is write locked!
127
-extern void dictionary_register_insert_callback(DICTIONARY *dict, void (*ins_callback)(const DICTIONARY_ITEM *item, void *value, void *data), void *data);
127
+void dictionary_register_insert_callback(DICTIONARY *dict, void (*ins_callback)(const DICTIONARY_ITEM *item, void *value, void *data), void *data);
128
129
// a delete callback to be called just before an item is deleted forever
130
// this callback is called while the dictionary is write locked!
131
-extern void dictionary_register_delete_callback(DICTIONARY *dict, void (*del_callback)(const DICTIONARY_ITEM *item, void *value, void *data), void *data);
131
+void dictionary_register_delete_callback(DICTIONARY *dict, void (*del_callback)(const DICTIONARY_ITEM *item, void *value, void *data), void *data);
132
133
// a merge callback to be called when DICT_OPTION_DONT_OVERWRITE_VALUE
134
// and an item is already found in the dictionary - the dictionary does nothing else in this case
135
// the old_value will remain in the dictionary - the new_value is ignored
136
// The callback should return true if the value has been updated (it increases the dictionary version).
137
-extern void dictionary_register_conflict_callback(DICTIONARY *dict, bool (*conflict_callback)(const DICTIONARY_ITEM *item, void *old_value, void *new_value, void *data), void *data);
137
+void dictionary_register_conflict_callback(DICTIONARY *dict, bool (*conflict_callback)(const DICTIONARY_ITEM *item, void *old_value, void *new_value, void *data), void *data);
138
139
// a reaction callback to be called after every item insertion or conflict
140
// after the constructors have finished and the items are fully available for use
141
// and the dictionary is not write locked anymore
142
-extern void dictionary_register_react_callback(DICTIONARY *dict, void (*react_callback)(const DICTIONARY_ITEM *item, void *value, void *data), void *data);
142
+void dictionary_register_react_callback(DICTIONARY *dict, void (*react_callback)(const DICTIONARY_ITEM *item, void *value, void *data), void *data);
143
144
// Destroy a dictionary
145
// Returns the number of bytes freed
146
// The returned value will not include name/key sizes
147
// Registered delete callbacks will be run for each item in the dictionary.
148
-extern size_t dictionary_destroy(DICTIONARY *dict);
148
+size_t dictionary_destroy(DICTIONARY *dict);
149
150
// Empties a dictionary
151
// Referenced items will survive, but are not offered anymore.
152
// Registered delete callbacks will be run for each item in the dictionary.
153
-extern void dictionary_flush(DICTIONARY *dict);
153
+void dictionary_flush(DICTIONARY *dict);
154
155
-extern void dictionary_version_increment(DICTIONARY *dict);
155
+void dictionary_version_increment(DICTIONARY *dict);
156
157
// ----------------------------------------------------------------------------
158
// Set an item in the dictionary
@@ -171,26 +171,26 @@ extern void dictionary_version_increment(DICTIONARY *dict);
171
// Passing NULL as value, the dictionary will callocz() the newly allocated value, otherwise it will copy it.
172
// Passing 0 as value_len, the dictionary will set the value to NULL (no allocations for value will be made).
173
#define dictionary_set(dict, name, value, value_len) dictionary_set_advanced(dict, name, -1, value, value_len, NULL)
174
-extern void *dictionary_set_advanced(DICTIONARY *dict, const char *name, ssize_t name_len, void *value, size_t value_len, void *constructor_data);
174
+void *dictionary_set_advanced(DICTIONARY *dict, const char *name, ssize_t name_len, void *value, size_t value_len, void *constructor_data);
175
176
#define dictionary_set_and_acquire_item(dict, name, value, value_len) dictionary_set_and_acquire_item_advanced(dict, name, -1, value, value_len, NULL)
177
-extern DICT_ITEM_CONST DICTIONARY_ITEM *dictionary_set_and_acquire_item_advanced(DICTIONARY *dict, const char *name, ssize_t name_len, void *value, size_t value_len, void *constructor_data);
177
+DICT_ITEM_CONST DICTIONARY_ITEM *dictionary_set_and_acquire_item_advanced(DICTIONARY *dict, const char *name, ssize_t name_len, void *value, size_t value_len, void *constructor_data);
178
179
// set an item in a dictionary view
180
#define dictionary_view_set_and_acquire_item(dict, name, master_item) dictionary_view_set_and_acquire_item_advanced(dict, name, -1, master_item)
181
-extern DICT_ITEM_CONST DICTIONARY_ITEM *dictionary_view_set_and_acquire_item_advanced(DICTIONARY *dict, const char *name, ssize_t name_len, DICTIONARY_ITEM *master_item);
181
+DICT_ITEM_CONST DICTIONARY_ITEM *dictionary_view_set_and_acquire_item_advanced(DICTIONARY *dict, const char *name, ssize_t name_len, DICTIONARY_ITEM *master_item);
182
#define dictionary_view_set(dict, name, master_item) dictionary_view_set_advanced(dict, name, -1, master_item)
183
-extern void *dictionary_view_set_advanced(DICTIONARY *dict, const char *name, ssize_t name_len, DICT_ITEM_CONST DICTIONARY_ITEM *master_item);
183
+void *dictionary_view_set_advanced(DICTIONARY *dict, const char *name, ssize_t name_len, DICT_ITEM_CONST DICTIONARY_ITEM *master_item);
184
185
// ----------------------------------------------------------------------------
186
// Get an item from the dictionary
187
// If it returns NULL, the item is not found
188
189
#define dictionary_get(dict, name) dictionary_get_advanced(dict, name, -1)
190
-extern void *dictionary_get_advanced(DICTIONARY *dict, const char *name, ssize_t name_len);
190
+void *dictionary_get_advanced(DICTIONARY *dict, const char *name, ssize_t name_len);
191
192
#define dictionary_get_and_acquire_item(dict, name) dictionary_get_and_acquire_item_advanced(dict, name, -1)
193
-extern DICT_ITEM_CONST DICTIONARY_ITEM *dictionary_get_and_acquire_item_advanced(DICTIONARY *dict, const char *name, ssize_t name_len);
193
+DICT_ITEM_CONST DICTIONARY_ITEM *dictionary_get_and_acquire_item_advanced(DICTIONARY *dict, const char *name, ssize_t name_len);
194
195
196
// ----------------------------------------------------------------------------
@@ -199,19 +199,19 @@ extern DICT_ITEM_CONST DICTIONARY_ITEM *dictionary_get_and_acquire_item_advanced
199
// returns false if the item was not found in the index
200
201
#define dictionary_del(dict, name) dictionary_del_advanced(dict, name, -1)
202
-extern bool dictionary_del_advanced(DICTIONARY *dict, const char *name, ssize_t name_len);
202
+bool dictionary_del_advanced(DICTIONARY *dict, const char *name, ssize_t name_len);
203
204
// ----------------------------------------------------------------------------
205
// reference counters management
206
207
-extern void dictionary_acquired_item_release(DICTIONARY *dict, DICT_ITEM_CONST DICTIONARY_ITEM *item);
207
+void dictionary_acquired_item_release(DICTIONARY *dict, DICT_ITEM_CONST DICTIONARY_ITEM *item);
208
209
-extern DICT_ITEM_CONST DICTIONARY_ITEM *dictionary_acquired_item_dup(DICTIONARY *dict, DICT_ITEM_CONST DICTIONARY_ITEM *item);
209
+DICT_ITEM_CONST DICTIONARY_ITEM *dictionary_acquired_item_dup(DICTIONARY *dict, DICT_ITEM_CONST DICTIONARY_ITEM *item);
210
211
-extern const char *dictionary_acquired_item_name(DICT_ITEM_CONST DICTIONARY_ITEM *item);
212
-extern void *dictionary_acquired_item_value(DICT_ITEM_CONST DICTIONARY_ITEM *item);
211
+const char *dictionary_acquired_item_name(DICT_ITEM_CONST DICTIONARY_ITEM *item);
212
+void *dictionary_acquired_item_value(DICT_ITEM_CONST DICTIONARY_ITEM *item);
213
214
-extern size_t dictionary_acquired_item_references(DICT_ITEM_CONST DICTIONARY_ITEM *item);
214
+size_t dictionary_acquired_item_references(DICT_ITEM_CONST DICTIONARY_ITEM *item);
215
216
// ----------------------------------------------------------------------------
217
// Traverse (walk through) the items of the dictionary.
@@ -228,7 +228,7 @@ extern size_t dictionary_acquired_item_references(DICT_ITEM_CONST DICTIONARY_ITE
228
//
229
#define dictionary_walkthrough_read(dict, callback, data) dictionary_walkthrough_rw(dict, 'r', callback, data)
230
#define dictionary_walkthrough_write(dict, callback, data) dictionary_walkthrough_rw(dict, 'w', callback, data)
231
-extern int dictionary_walkthrough_rw(DICTIONARY *dict, char rw, int (*callback)(const DICTIONARY_ITEM *item, void *value, void *data), void *data);
231
+int dictionary_walkthrough_rw(DICTIONARY *dict, char rw, int (*callback)(const DICTIONARY_ITEM *item, void *value, void *data), void *data);
232
233
#define dictionary_sorted_walkthrough_read(dict, callback, data) dictionary_sorted_walkthrough_rw(dict, 'r', callback, data)
234
#define dictionary_sorted_walkthrough_write(dict, callback, data) dictionary_sorted_walkthrough_rw(dict, 'w', callback, data)
@@ -253,8 +253,8 @@ int dictionary_sorted_walkthrough_rw(DICTIONARY *dict, char rw, int (*callback)(
253
#define DICTIONARY_LOCK_WRITE 'w'
254
#define DICTIONARY_LOCK_REENTRANT 'z'
255
256
-extern void dictionary_write_lock(DICTIONARY *dict);
257
-extern void dictionary_write_unlock(DICTIONARY *dict);
256
+void dictionary_write_lock(DICTIONARY *dict);
257
+void dictionary_write_unlock(DICTIONARY *dict);
258
259
typedef DICTFE_CONST struct dictionary_foreach {
260
DICTIONARY *dict; // the dictionary upon we work
@@ -290,31 +290,31 @@ typedef DICTFE_CONST struct dictionary_foreach {
290
dictionary_foreach_done(&value ## _dfe); \
291
} while(0)
292
293
-extern void *dictionary_foreach_start_rw(DICTFE *dfe, DICTIONARY *dict, char rw);
294
-extern void *dictionary_foreach_next(DICTFE *dfe);
295
-extern void dictionary_foreach_done(DICTFE *dfe);
293
+void *dictionary_foreach_start_rw(DICTFE *dfe, DICTIONARY *dict, char rw);
294
+void *dictionary_foreach_next(DICTFE *dfe);
295
+void dictionary_foreach_done(DICTFE *dfe);
296
297
// ----------------------------------------------------------------------------
298
// Get statistics about the dictionary
299
300
-extern size_t dictionary_version(DICTIONARY *dict);
301
-extern size_t dictionary_entries(DICTIONARY *dict);
302
-extern size_t dictionary_referenced_items(DICTIONARY *dict);
303
-extern long int dictionary_stats_for_registry(DICTIONARY *dict);
300
+size_t dictionary_version(DICTIONARY *dict);
301
+size_t dictionary_entries(DICTIONARY *dict);
302
+size_t dictionary_referenced_items(DICTIONARY *dict);
303
+long int dictionary_stats_for_registry(DICTIONARY *dict);
304
305
// for all cases that the caller does not provide a stats structure, this is where they are accumulated.
306
extern struct dictionary_stats dictionary_stats_category_other;
307
308
-extern int dictionary_unittest(size_t entries);
308
+int dictionary_unittest(size_t entries);
309
310
// ----------------------------------------------------------------------------
311
// THREAD CACHE
312
313
-extern void *thread_cache_entry_get_or_set(void *key,
313
+void *thread_cache_entry_get_or_set(void *key,
314
ssize_t key_length,
315
void *value,
316
void *(*transform_the_value_before_insert)(void *key, size_t key_length, void *value));
317
318
-extern void thread_cache_destroy(void);
318
+void thread_cache_destroy(void);
319
320
#endif /* NETDATA_DICTIONARY_H */
libnetdata/ebpf/ebpf.h
+28
-28
@@ -270,25 +270,25 @@ typedef struct ebpf_module {
270
struct bpf_object *objects;
271
} ebpf_module_t;
272
273
-extern int ebpf_get_kernel_version();
274
-extern int get_redhat_release();
275
-extern int has_condition_to_run(int version);
276
-extern char *ebpf_kernel_suffix(int version, int isrh);
277
-extern struct bpf_link **ebpf_load_program(char *plugins_dir, ebpf_module_t *em, int kver, int is_rhf,
273
+int ebpf_get_kernel_version();
274
+int get_redhat_release();
275
+int has_condition_to_run(int version);
276
+char *ebpf_kernel_suffix(int version, int isrh);
277
+struct bpf_link **ebpf_load_program(char *plugins_dir, ebpf_module_t *em, int kver, int is_rhf,
278
struct bpf_object **obj);
279
280
-extern void ebpf_mount_config_name(char *filename, size_t length, char *path, const char *config);
281
-extern int ebpf_load_config(struct config *config, char *filename);
282
-extern void ebpf_update_module(ebpf_module_t *em, struct btf *btf_file);
283
-extern void ebpf_update_names(ebpf_specify_name_t *opt, ebpf_module_t *em);
284
-extern void ebpf_adjust_apps_cgroup(ebpf_module_t *em, netdata_ebpf_program_loaded_t mode);
285
-extern char *ebpf_find_symbol(char *search);
286
-extern void ebpf_load_addresses(ebpf_addresses_t *fa, int fd);
287
-extern void ebpf_fill_algorithms(int *algorithms, size_t length, int algorithm);
288
-extern char **ebpf_fill_histogram_dimension(size_t maximum);
289
-extern void ebpf_update_stats(ebpf_plugin_stats_t *report, ebpf_module_t *em);
290
-extern void ebpf_update_controller(int fd, ebpf_module_t *em);
291
-extern void ebpf_update_map_size(struct bpf_map *map, ebpf_local_maps_t *lmap, ebpf_module_t *em, const char *map_name);
280
+void ebpf_mount_config_name(char *filename, size_t length, char *path, const char *config);
281
+int ebpf_load_config(struct config *config, char *filename);
282
+void ebpf_update_module(ebpf_module_t *em, struct btf *btf_file);
283
+void ebpf_update_names(ebpf_specify_name_t *opt, ebpf_module_t *em);
284
+void ebpf_adjust_apps_cgroup(ebpf_module_t *em, netdata_ebpf_program_loaded_t mode);
285
+char *ebpf_find_symbol(char *search);
286
+void ebpf_load_addresses(ebpf_addresses_t *fa, int fd);
287
+void ebpf_fill_algorithms(int *algorithms, size_t length, int algorithm);
288
+char **ebpf_fill_histogram_dimension(size_t maximum);
289
+void ebpf_update_stats(ebpf_plugin_stats_t *report, ebpf_module_t *em);
290
+void ebpf_update_controller(int fd, ebpf_module_t *em);
291
+void ebpf_update_map_size(struct bpf_map *map, ebpf_local_maps_t *lmap, ebpf_module_t *em, const char *map_name);
292
293
// Histogram
294
#define NETDATA_EBPF_HIST_MAX_BINS 24UL
@@ -339,13 +339,13 @@ typedef struct ebpf_sync_syscalls {
339
#endif
340
} ebpf_sync_syscalls_t;
341
342
-extern void ebpf_histogram_dimension_cleanup(char **ptr, size_t length);
342
+void ebpf_histogram_dimension_cleanup(char **ptr, size_t length);
343
344
// Tracepoint helpers
345
// For more information related to tracepoints read https://www.kernel.org/doc/html/latest/trace/tracepoints.html
346
-extern int ebpf_is_tracepoint_enabled(char *subsys, char *eventname);
347
-extern int ebpf_enable_tracing_values(char *subsys, char *eventname);
348
-extern int ebpf_disable_tracing_values(char *subsys, char *eventname);
346
+int ebpf_is_tracepoint_enabled(char *subsys, char *eventname);
347
+int ebpf_enable_tracing_values(char *subsys, char *eventname);
348
+int ebpf_disable_tracing_values(char *subsys, char *eventname);
349
350
// BTF Section
351
#define EBPF_DEFAULT_BTF_FILE "vmlinux"
@@ -355,14 +355,14 @@ extern int ebpf_disable_tracing_values(char *subsys, char *eventname);
355
// BTF helpers
356
#define NETDATA_EBPF_MAX_SYSCALL_LENGTH 255
357
358
-extern netdata_ebpf_load_mode_t epbf_convert_string_to_load_mode(char *str);
359
-extern netdata_ebpf_program_loaded_t ebpf_convert_core_type(char *str, netdata_run_mode_t lmode);
360
-extern void ebpf_select_host_prefix(char *output, size_t length, char *syscall, int kver);
358
+netdata_ebpf_load_mode_t epbf_convert_string_to_load_mode(char *str);
359
+netdata_ebpf_program_loaded_t ebpf_convert_core_type(char *str, netdata_run_mode_t lmode);
360
+void ebpf_select_host_prefix(char *output, size_t length, char *syscall, int kver);
361
#ifdef LIBBPF_MAJOR_VERSION
362
-extern void ebpf_adjust_thread_load(ebpf_module_t *mod, struct btf *file);
363
-extern struct btf *ebpf_parse_btf_file(const char *filename);
364
-extern struct btf *ebpf_load_btf_file(char *path, char *filename);
365
-extern int ebpf_is_function_inside_btf(struct btf *file, char *function);
362
+void ebpf_adjust_thread_load(ebpf_module_t *mod, struct btf *file);
363
+struct btf *ebpf_parse_btf_file(const char *filename);
364
+struct btf *ebpf_load_btf_file(char *path, char *filename);
365
+int ebpf_is_function_inside_btf(struct btf *file, char *function);
366
#endif
367
368
#endif /* NETDATA_EBPF_H */
libnetdata/eval/eval.h
+5
-5
@@ -69,19 +69,19 @@ typedef struct eval_expression {
69
// parse the given string as an expression and return:
70
// a pointer to an expression if it parsed OK
71
// NULL in which case the pointer to error has the error code
72
-extern EVAL_EXPRESSION *expression_parse(const char *string, const char **failed_at, int *error);
72
+EVAL_EXPRESSION *expression_parse(const char *string, const char **failed_at, int *error);
73
74
// free all resources allocated for an expression
75
-extern void expression_free(EVAL_EXPRESSION *expression);
75
+void expression_free(EVAL_EXPRESSION *expression);
76
77
// convert an error code to a message
78
-extern const char *expression_strerror(int error);
78
+const char *expression_strerror(int error);
79
80
// evaluate an expression and return
81
// 1 = OK, the result is in: expression->result
82
// 2 = FAILED, the error message is in: buffer_tostring(expression->error_msg)
83
-extern int expression_evaluate(EVAL_EXPRESSION *expression);
83
+int expression_evaluate(EVAL_EXPRESSION *expression);
84
85
-extern int health_variable_lookup(STRING *variable, struct rrdcalc *rc, NETDATA_DOUBLE *result);
85
+int health_variable_lookup(STRING *variable, struct rrdcalc *rc, NETDATA_DOUBLE *result);
86
87
#endif //NETDATA_EVAL_H
libnetdata/health/health.h
+5
-5
@@ -46,10 +46,10 @@ typedef struct silencers {
46
47
extern SILENCERS *silencers;
48
49
-extern SILENCER *create_silencer(void);
50
-extern int health_silencers_json_read_callback(JSON_ENTRY *e);
51
-extern void health_silencers_add(SILENCER *silencer);
52
-extern SILENCER * health_silencers_addparam(SILENCER *silencer, char *key, char *value);
53
-extern int health_initialize_global_silencers();
49
+SILENCER *create_silencer(void);
50
+int health_silencers_json_read_callback(JSON_ENTRY *e);
51
+void health_silencers_add(SILENCER *silencer);
52
+SILENCER * health_silencers_addparam(SILENCER *silencer, char *key, char *value);
53
+int health_initialize_global_silencers();
54
55
#endif
libnetdata/libnetdata.h
+41
-41
@@ -284,16 +284,16 @@ extern "C" {
284
// ---------------------------------------------------------------------------------------------
285
286
287
-extern void netdata_fix_chart_id(char *s);
288
-extern void netdata_fix_chart_name(char *s);
287
+void netdata_fix_chart_id(char *s);
288
+void netdata_fix_chart_name(char *s);
289
290
-extern void strreverse(char* begin, char* end);
291
-extern char *mystrsep(char **ptr, char *s);
292
-extern char *trim(char *s); // remove leading and trailing spaces; may return NULL
293
-extern char *trim_all(char *buffer); // like trim(), but also remove duplicate spaces inside the string; may return NULL
290
+void strreverse(char* begin, char* end);
291
+char *mystrsep(char **ptr, char *s);
292
+char *trim(char *s); // remove leading and trailing spaces; may return NULL
293
+char *trim_all(char *buffer); // like trim(), but also remove duplicate spaces inside the string; may return NULL
294
295
-extern int vsnprintfz(char *dst, size_t n, const char *fmt, va_list args);
296
-extern int snprintfz(char *dst, size_t n, const char *fmt, ...) PRINTFLIKE(3, 4);
295
+int vsnprintfz(char *dst, size_t n, const char *fmt, va_list args);
296
+int snprintfz(char *dst, size_t n, const char *fmt, ...) PRINTFLIKE(3, 4);
297
298
// memory allocation functions that handle failures
299
#ifdef NETDATA_LOG_ALLOCATIONS
@@ -305,47 +305,47 @@ extern __thread size_t log_thread_memory_allocations;
305
#define freez(ptr) freez_int(__FILE__, __FUNCTION__, __LINE__, ptr)
306
#define log_allocations() log_allocations_int(__FILE__, __FUNCTION__, __LINE__)
307
308
-extern char *strdupz_int(const char *file, const char *function, const unsigned long line, const char *s);
309
-extern void *callocz_int(const char *file, const char *function, const unsigned long line, size_t nmemb, size_t size);
310
-extern void *mallocz_int(const char *file, const char *function, const unsigned long line, size_t size);
311
-extern void *reallocz_int(const char *file, const char *function, const unsigned long line, void *ptr, size_t size);
312
-extern void freez_int(const char *file, const char *function, const unsigned long line, void *ptr);
313
-extern void log_allocations_int(const char *file, const char *function, const unsigned long line);
308
+char *strdupz_int(const char *file, const char *function, const unsigned long line, const char *s);
309
+void *callocz_int(const char *file, const char *function, const unsigned long line, size_t nmemb, size_t size);
310
+void *mallocz_int(const char *file, const char *function, const unsigned long line, size_t size);
311
+void *reallocz_int(const char *file, const char *function, const unsigned long line, void *ptr, size_t size);
312
+void freez_int(const char *file, const char *function, const unsigned long line, void *ptr);
313
+void log_allocations_int(const char *file, const char *function, const unsigned long line);
314
315
#else // NETDATA_LOG_ALLOCATIONS
316
-extern char *strdupz(const char *s) MALLOCLIKE NEVERNULL;
317
-extern void *callocz(size_t nmemb, size_t size) MALLOCLIKE NEVERNULL;
318
-extern void *mallocz(size_t size) MALLOCLIKE NEVERNULL;
319
-extern void *reallocz(void *ptr, size_t size) MALLOCLIKE NEVERNULL;
320
-extern void freez(void *ptr);
316
+char *strdupz(const char *s) MALLOCLIKE NEVERNULL;
317
+void *callocz(size_t nmemb, size_t size) MALLOCLIKE NEVERNULL;
318
+void *mallocz(size_t size) MALLOCLIKE NEVERNULL;
319
+void *reallocz(void *ptr, size_t size) MALLOCLIKE NEVERNULL;
320
+void freez(void *ptr);
321
#endif // NETDATA_LOG_ALLOCATIONS
322
323
-extern void json_escape_string(char *dst, const char *src, size_t size);
324
-extern void json_fix_string(char *s);
323
+void json_escape_string(char *dst, const char *src, size_t size);
324
+void json_fix_string(char *s);
325
326
-extern void *netdata_mmap(const char *filename, size_t size, int flags, int ksm);
327
-extern int memory_file_save(const char *filename, void *mem, size_t size);
326
+void *netdata_mmap(const char *filename, size_t size, int flags, int ksm);
327
+int memory_file_save(const char *filename, void *mem, size_t size);
328
329
-extern int fd_is_valid(int fd);
329
+int fd_is_valid(int fd);
330
331
extern struct rlimit rlimit_nofile;
332
333
extern int enable_ksm;
334
335
-extern char *fgets_trim_len(char *buf, size_t buf_size, FILE *fp, size_t *len);
335
+char *fgets_trim_len(char *buf, size_t buf_size, FILE *fp, size_t *len);
336
337
-extern int verify_netdata_host_prefix();
337
+int verify_netdata_host_prefix();
338
339
-extern int recursively_delete_dir(const char *path, const char *reason);
339
+int recursively_delete_dir(const char *path, const char *reason);
340
341
extern volatile sig_atomic_t netdata_exit;
342
343
extern const char *program_version;
344
345
-extern char *strdupz_path_subpath(const char *path, const char *subpath);
346
-extern int path_is_dir(const char *path, const char *subpath);
347
-extern int path_is_file(const char *path, const char *subpath);
348
-extern void recursive_config_double_dir_load(
345
+char *strdupz_path_subpath(const char *path, const char *subpath);
346
+int path_is_dir(const char *path, const char *subpath);
347
+int path_is_file(const char *path, const char *subpath);
348
+void recursive_config_double_dir_load(
349
const char *user_path
350
, const char *stock_path
351
, const char *subpath
@@ -353,8 +353,8 @@ extern void recursive_config_double_dir_load(
353
, void *data
354
, size_t depth
355
);
356
-extern char *read_by_filename(char *filename, long *file_size);
357
-extern char *find_and_replace(const char *src, const char *find, const char *replace, const char *where);
356
+char *read_by_filename(char *filename, long *file_size);
357
+char *find_and_replace(const char *src, const char *find, const char *replace, const char *where);
358
359
/* fix for alpine linux */
360
#ifndef RUSAGE_THREAD
@@ -385,20 +385,20 @@ typedef struct bitmap256 {
385
uint64_t data[4];
386
} BITMAP256;
387
388
-extern bool bitmap256_get_bit(BITMAP256 *ptr, uint8_t idx);
389
-extern void bitmap256_set_bit(BITMAP256 *ptr, uint8_t idx, bool value);
388
+bool bitmap256_get_bit(BITMAP256 *ptr, uint8_t idx);
389
+void bitmap256_set_bit(BITMAP256 *ptr, uint8_t idx, bool value);
390
391
#define COMPRESSION_MAX_MSG_SIZE 0x4000
392
#define PLUGINSD_LINE_MAX (COMPRESSION_MAX_MSG_SIZE - 1024)
393
-extern int config_isspace(char c);
394
-extern int pluginsd_space(char c);
393
+int config_isspace(char c);
394
+int pluginsd_space(char c);
395
int quoted_strings_splitter(char *str, char **words, int max_words, int (*custom_isspace)(char), char *recover_input, char **recover_location, int max_recover);
396
-extern int pluginsd_split_words(char *str, char **words, int max_words, char *recover_string, char **recover_location, int max_recover);
396
+int pluginsd_split_words(char *str, char **words, int max_words, char *recover_string, char **recover_location, int max_recover);
397
398
-extern bool run_command_and_copy_output_to_stdout(const char *command, int max_line_length);
398
+bool run_command_and_copy_output_to_stdout(const char *command, int max_line_length);
399
400
-extern void netdata_cleanup_and_exit(int ret) NORETURN;
401
-extern void send_statistics(const char *action, const char *action_result, const char *action_data);
400
+void netdata_cleanup_and_exit(int ret) NORETURN;
401
+void send_statistics(const char *action, const char *action_result, const char *action_data);
402
extern char *netdata_configured_host_prefix;
403
#include "os.h"
404
#include "storage_number/storage_number.h"
libnetdata/locks/locks.h
+29
-29
@@ -51,38 +51,38 @@ typedef struct netdata_rwlock_t {
51
52
#endif // NETDATA_TRACE_RWLOCKS
53
54
-extern int __netdata_mutex_init(netdata_mutex_t *mutex);
55
-extern int __netdata_mutex_destroy(netdata_mutex_t *mutex);
56
-extern int __netdata_mutex_lock(netdata_mutex_t *mutex);
57
-extern int __netdata_mutex_trylock(netdata_mutex_t *mutex);
58
-extern int __netdata_mutex_unlock(netdata_mutex_t *mutex);
59
-
60
-extern int __netdata_rwlock_destroy(netdata_rwlock_t *rwlock);
61
-extern int __netdata_rwlock_init(netdata_rwlock_t *rwlock);
62
-extern int __netdata_rwlock_rdlock(netdata_rwlock_t *rwlock);
63
-extern int __netdata_rwlock_wrlock(netdata_rwlock_t *rwlock);
64
-extern int __netdata_rwlock_unlock(netdata_rwlock_t *rwlock);
65
-extern int __netdata_rwlock_tryrdlock(netdata_rwlock_t *rwlock);
66
-extern int __netdata_rwlock_trywrlock(netdata_rwlock_t *rwlock);
67
-
68
-extern void netdata_thread_disable_cancelability(void);
69
-extern void netdata_thread_enable_cancelability(void);
54
+int __netdata_mutex_init(netdata_mutex_t *mutex);
55
+int __netdata_mutex_destroy(netdata_mutex_t *mutex);
56
+int __netdata_mutex_lock(netdata_mutex_t *mutex);
57
+int __netdata_mutex_trylock(netdata_mutex_t *mutex);
58
+int __netdata_mutex_unlock(netdata_mutex_t *mutex);
59
+
60
+int __netdata_rwlock_destroy(netdata_rwlock_t *rwlock);
61
+int __netdata_rwlock_init(netdata_rwlock_t *rwlock);
62
+int __netdata_rwlock_rdlock(netdata_rwlock_t *rwlock);
63
+int __netdata_rwlock_wrlock(netdata_rwlock_t *rwlock);
64
+int __netdata_rwlock_unlock(netdata_rwlock_t *rwlock);
65
+int __netdata_rwlock_tryrdlock(netdata_rwlock_t *rwlock);
66
+int __netdata_rwlock_trywrlock(netdata_rwlock_t *rwlock);
67
+
68
+void netdata_thread_disable_cancelability(void);
69
+void netdata_thread_enable_cancelability(void);
70
71
#ifdef NETDATA_TRACE_RWLOCKS
72
73
-extern int netdata_mutex_init_debug( const char *file, const char *function, const unsigned long line, netdata_mutex_t *mutex);
74
-extern int netdata_mutex_destroy_debug( const char *file, const char *function, const unsigned long line, netdata_mutex_t *mutex);
75
-extern int netdata_mutex_lock_debug( const char *file, const char *function, const unsigned long line, netdata_mutex_t *mutex);
76
-extern int netdata_mutex_trylock_debug( const char *file, const char *function, const unsigned long line, netdata_mutex_t *mutex);
77
-extern int netdata_mutex_unlock_debug( const char *file, const char *function, const unsigned long line, netdata_mutex_t *mutex);
78
-
79
-extern int netdata_rwlock_destroy_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
80
-extern int netdata_rwlock_init_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
81
-extern int netdata_rwlock_rdlock_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
82
-extern int netdata_rwlock_wrlock_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
83
-extern int netdata_rwlock_unlock_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
84
-extern int netdata_rwlock_tryrdlock_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
85
-extern int netdata_rwlock_trywrlock_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
73
+int netdata_mutex_init_debug( const char *file, const char *function, const unsigned long line, netdata_mutex_t *mutex);
74
+int netdata_mutex_destroy_debug( const char *file, const char *function, const unsigned long line, netdata_mutex_t *mutex);
75
+int netdata_mutex_lock_debug( const char *file, const char *function, const unsigned long line, netdata_mutex_t *mutex);
76
+int netdata_mutex_trylock_debug( const char *file, const char *function, const unsigned long line, netdata_mutex_t *mutex);
77
+int netdata_mutex_unlock_debug( const char *file, const char *function, const unsigned long line, netdata_mutex_t *mutex);
78
+
79
+int netdata_rwlock_destroy_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
80
+int netdata_rwlock_init_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
81
+int netdata_rwlock_rdlock_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
82
+int netdata_rwlock_wrlock_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
83
+int netdata_rwlock_unlock_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
84
+int netdata_rwlock_tryrdlock_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
85
+int netdata_rwlock_trywrlock_debug( const char *file, const char *function, const unsigned long line, netdata_rwlock_t *rwlock);
86
87
#define netdata_mutex_init(mutex) netdata_mutex_init_debug(__FILE__, __FUNCTION__, __LINE__, mutex)
88
#define netdata_mutex_destroy(mutex) netdata_mutex_init_debug(__FILE__, __FUNCTION__, __LINE__, mutex)
libnetdata/log/log.h
+10
-10
@@ -74,10 +74,10 @@ extern int output_log_syslog;
74
75
extern time_t error_log_throttle_period;
76
extern unsigned long error_log_errors_per_period, error_log_errors_per_period_backup;
77
-extern int error_log_limit(int reset);
77
+int error_log_limit(int reset);
78
79
-extern void open_all_log_files();
80
-extern void reopen_all_log_files();
79
+void open_all_log_files();
80
+void reopen_all_log_files();
81
82
static inline void debug_dummy(void) {}
83
@@ -98,15 +98,15 @@ void error_log_limit_unlimited(void);
98
#define fatal(args...) fatal_int(__FILE__, __FUNCTION__, __LINE__, ##args)
99
#define fatal_assert(expr) ((expr) ? (void)(0) : fatal_int(__FILE__, __FUNCTION__, __LINE__, "Assertion `%s' failed", #expr))
100
101
-extern void send_statistics(const char *action, const char *action_result, const char *action_data);
102
-extern void debug_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... ) PRINTFLIKE(4, 5);
103
-extern void info_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... ) PRINTFLIKE(4, 5);
104
-extern void error_int( const char *prefix, const char *file, const char *function, const unsigned long line, const char *fmt, ... ) PRINTFLIKE(5, 6);
105
-extern void fatal_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... ) NORETURN PRINTFLIKE(4, 5);
106
-extern void log_access( const char *fmt, ... ) PRINTFLIKE(1, 2);
101
+void send_statistics(const char *action, const char *action_result, const char *action_data);
102
+void debug_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... ) PRINTFLIKE(4, 5);
103
+void info_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... ) PRINTFLIKE(4, 5);
104
+void error_int( const char *prefix, const char *file, const char *function, const unsigned long line, const char *fmt, ... ) PRINTFLIKE(5, 6);
105
+void fatal_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... ) NORETURN PRINTFLIKE(4, 5);
106
+void log_access( const char *fmt, ... ) PRINTFLIKE(1, 2);
107
108
#ifdef ENABLE_ACLK
109
-extern void log_aclk_message_bin( const char *data, const size_t data_len, int tx, const char *mqtt_topic, const char *message_name);
109
+void log_aclk_message_bin( const char *data, const size_t data_len, int tx, const char *mqtt_topic, const char *message_name);
110
#endif
111
112
# ifdef __cplusplus
libnetdata/onewayalloc/onewayalloc.h
+8
-8
@@ -5,15 +5,15 @@
5
6
typedef void ONEWAYALLOC;
7
8
-extern ONEWAYALLOC *onewayalloc_create(size_t size_hint);
9
-extern void onewayalloc_destroy(ONEWAYALLOC *owa);
8
+ONEWAYALLOC *onewayalloc_create(size_t size_hint);
9
+void onewayalloc_destroy(ONEWAYALLOC *owa);
10
11
-extern void *onewayalloc_mallocz(ONEWAYALLOC *owa, size_t size);
12
-extern void *onewayalloc_callocz(ONEWAYALLOC *owa, size_t nmemb, size_t size);
13
-extern char *onewayalloc_strdupz(ONEWAYALLOC *owa, const char *s);
14
-extern void *onewayalloc_memdupz(ONEWAYALLOC *owa, const void *src, size_t size);
15
-extern void onewayalloc_freez(ONEWAYALLOC *owa, const void *ptr);
11
+void *onewayalloc_mallocz(ONEWAYALLOC *owa, size_t size);
12
+void *onewayalloc_callocz(ONEWAYALLOC *owa, size_t nmemb, size_t size);
13
+char *onewayalloc_strdupz(ONEWAYALLOC *owa, const char *s);
14
+void *onewayalloc_memdupz(ONEWAYALLOC *owa, const void *src, size_t size);
15
+void onewayalloc_freez(ONEWAYALLOC *owa, const void *ptr);
16
17
-extern void *onewayalloc_doublesize(ONEWAYALLOC *owa, const void *src, size_t oldsize);
17
+void *onewayalloc_doublesize(ONEWAYALLOC *owa, const void *src, size_t oldsize);
18
19
#endif // ONEWAYALLOC_H
libnetdata/os.h
+8
-8
@@ -13,21 +13,21 @@
13
#include <sys/sysctl.h>
14
15
#define GETSYSCTL_BY_NAME(name, var) getsysctl_by_name(name, &(var), sizeof(var))
16
-extern int getsysctl_by_name(const char *name, void *ptr, size_t len);
16
+int getsysctl_by_name(const char *name, void *ptr, size_t len);
17
18
#define GETSYSCTL_MIB(name, mib) getsysctl_mib(name, mib, sizeof(mib)/sizeof(int))
19
20
-extern int getsysctl_mib(const char *name, int *mib, size_t len);
20
+int getsysctl_mib(const char *name, int *mib, size_t len);
21
22
#define GETSYSCTL_SIMPLE(name, mib, var) getsysctl_simple(name, mib, sizeof(mib)/sizeof(int), &(var), sizeof(var))
23
#define GETSYSCTL_WSIZE(name, mib, var, size) getsysctl_simple(name, mib, sizeof(mib)/sizeof(int), var, size)
24
25
-extern int getsysctl_simple(const char *name, int *mib, size_t miblen, void *ptr, size_t len);
25
+int getsysctl_simple(const char *name, int *mib, size_t miblen, void *ptr, size_t len);
26
27
#define GETSYSCTL_SIZE(name, mib, size) getsysctl(name, mib, sizeof(mib)/sizeof(int), NULL, &(size))
28
#define GETSYSCTL(name, mib, var, size) getsysctl(name, mib, sizeof(mib)/sizeof(int), &(var), &(size))
29
30
-extern int getsysctl(const char *name, int *mib, size_t miblen, void *ptr, size_t *len);
30
+int getsysctl(const char *name, int *mib, size_t miblen, void *ptr, size_t *len);
31
32
#endif
33
@@ -39,7 +39,7 @@ extern int getsysctl(const char *name, int *mib, size_t miblen, void *ptr, size_
39
#include <sys/sysctl.h>
40
41
#define GETSYSCTL_BY_NAME(name, var) getsysctl_by_name(name, &(var), sizeof(var))
42
-extern int getsysctl_by_name(const char *name, void *ptr, size_t len);
42
+int getsysctl_by_name(const char *name, void *ptr, size_t len);
43
44
#endif
45
@@ -49,13 +49,13 @@ extern int getsysctl_by_name(const char *name, void *ptr, size_t len);
49
extern const char *os_type;
50
51
extern int processors;
52
-extern long get_system_cpus(void);
52
+long get_system_cpus(void);
53
54
extern pid_t pid_max;
55
-extern pid_t get_system_pid_max(void);
55
+pid_t get_system_pid_max(void);
56
57
extern unsigned int system_hz;
58
-extern void get_system_HZ(void);
58
+void get_system_HZ(void);
59
60
#include <sys/timex.h>
61
#if defined(__FreeBSD__) || defined(__APPLE__)
libnetdata/popen/popen.h
+11
-11
@@ -22,19 +22,19 @@
22
#define netdata_popen_raw_default_flags(pidptr, env, fpp_child_input, fpp_child_output, command, args...) netdata_popene_variadic_internal_dont_use_directly(pidptr, env, POPEN_FLAGS_DEFAULT, fpp_child_input, fpp_child_output, command, command, ##args, NULL)
23
#define netdata_popen_raw(pidptr, env, flags, fpp_child_input, fpp_child_output, command, args...) netdata_popene_variadic_internal_dont_use_directly(pidptr, env, flags, fpp_child_input, fpp_child_output, command, command, ##args, NULL)
24
25
-extern FILE *netdata_popen(const char *command, volatile pid_t *pidptr, FILE **fp_child_input);
26
-extern FILE *netdata_popene(const char *command, volatile pid_t *pidptr, char **env, FILE **fp_child_input);
27
-extern int netdata_popene_variadic_internal_dont_use_directly(volatile pid_t *pidptr, char **env, uint8_t flags, FILE **fpp_child_input, FILE **fpp_child_output, const char *command, ...);
28
-extern int netdata_pclose(FILE *fp_child_input, FILE *fp_child_output, pid_t pid);
25
+FILE *netdata_popen(const char *command, volatile pid_t *pidptr, FILE **fp_child_input);
26
+FILE *netdata_popene(const char *command, volatile pid_t *pidptr, char **env, FILE **fp_child_input);
27
+int netdata_popene_variadic_internal_dont_use_directly(volatile pid_t *pidptr, char **env, uint8_t flags, FILE **fpp_child_input, FILE **fpp_child_output, const char *command, ...);
28
+int netdata_pclose(FILE *fp_child_input, FILE *fp_child_output, pid_t pid);
29
30
-extern int netdata_spawn(const char *command, volatile pid_t *pidptr);
31
-extern int netdata_spawn_waitpid(pid_t pid);
30
+int netdata_spawn(const char *command, volatile pid_t *pidptr);
31
+int netdata_spawn_waitpid(pid_t pid);
32
33
-extern void netdata_popen_tracking_init(void);
34
-extern void netdata_popen_tracking_cleanup(void);
35
-extern int netdata_popen_tracking_pid_shoud_be_reaped(pid_t pid);
33
+void netdata_popen_tracking_init(void);
34
+void netdata_popen_tracking_cleanup(void);
35
+int netdata_popen_tracking_pid_shoud_be_reaped(pid_t pid);
36
37
-extern void signals_unblock(void);
38
-extern void signals_reset(void);
37
+void signals_unblock(void);
38
+void signals_reset(void);
39
40
#endif /* NETDATA_POPEN_H */
libnetdata/procfile/procfile.h
+8
-8
@@ -60,25 +60,25 @@ typedef struct {
60
} procfile;
61
62
// close the proc file and free all related memory
63
-extern void procfile_close(procfile *ff);
63
+void procfile_close(procfile *ff);
64
65
// (re)read and parse the proc file
66
-extern procfile *procfile_readall(procfile *ff);
66
+procfile *procfile_readall(procfile *ff);
67
68
// open a /proc or /sys file
69
-extern procfile *procfile_open(const char *filename, const char *separators, uint32_t flags);
69
+procfile *procfile_open(const char *filename, const char *separators, uint32_t flags);
70
71
// re-open a file
72
// if separators == NULL, the last separators are used
73
-extern procfile *procfile_reopen(procfile *ff, const char *filename, const char *separators, uint32_t flags);
73
+procfile *procfile_reopen(procfile *ff, const char *filename, const char *separators, uint32_t flags);
74
75
// example walk-through a procfile parsed file
76
-extern void procfile_print(procfile *ff);
76
+void procfile_print(procfile *ff);
77
78
-extern void procfile_set_quotes(procfile *ff, const char *quotes);
79
-extern void procfile_set_open_close(procfile *ff, const char *open, const char *close);
78
+void procfile_set_quotes(procfile *ff, const char *quotes);
79
+void procfile_set_open_close(procfile *ff, const char *open, const char *close);
80
81
-extern char *procfile_filename(procfile *ff);
81
+char *procfile_filename(procfile *ff);
82
83
// ----------------------------------------------------------------------------
84
libnetdata/simple_pattern/simple_pattern.h
+6
-6
@@ -18,21 +18,21 @@ typedef void SIMPLE_PATTERN;
18
// create a simple_pattern from the string given
19
// default_mode is used in cases where EXACT matches, without an asterisk,
20
// should be considered PREFIX matches.
21
-extern SIMPLE_PATTERN *simple_pattern_create(const char *list, const char *separators, SIMPLE_PREFIX_MODE default_mode);
21
+SIMPLE_PATTERN *simple_pattern_create(const char *list, const char *separators, SIMPLE_PREFIX_MODE default_mode);
22
23
// test if string str is matched from the pattern and fill 'wildcarded' with the parts matched by '*'
24
-extern int simple_pattern_matches_extract(SIMPLE_PATTERN *list, const char *str, char *wildcarded, size_t wildcarded_size);
24
+int simple_pattern_matches_extract(SIMPLE_PATTERN *list, const char *str, char *wildcarded, size_t wildcarded_size);
25
26
// test if string str is matched from the pattern
27
#define simple_pattern_matches(list, str) simple_pattern_matches_extract(list, str, NULL, 0)
28
29
// free a simple_pattern that was created with simple_pattern_create()
30
// list can be NULL, in which case, this does nothing.
31
-extern void simple_pattern_free(SIMPLE_PATTERN *list);
31
+void simple_pattern_free(SIMPLE_PATTERN *list);
32
33
-extern void simple_pattern_dump(uint64_t debug_type, SIMPLE_PATTERN *p) ;
34
-extern int simple_pattern_is_potential_name(SIMPLE_PATTERN *p) ;
35
-extern char *simple_pattern_iterate(SIMPLE_PATTERN **p);
33
+void simple_pattern_dump(uint64_t debug_type, SIMPLE_PATTERN *p) ;
34
+int simple_pattern_is_potential_name(SIMPLE_PATTERN *p) ;
35
+char *simple_pattern_iterate(SIMPLE_PATTERN **p);
36
37
//Auxiliary function to create a pattern
38
char *simple_pattern_trim_around_equal(char *src);
libnetdata/socket/security.h
+1
-1
@@ -50,7 +50,7 @@ extern const char *netdata_ssl_security_cert;
50
extern const char *tls_version;
51
extern const char *tls_ciphers;
52
extern int netdata_ssl_validate_server;
53
-extern int ssl_security_location_for_context(SSL_CTX *ctx,char *file,char *path);
53
+int ssl_security_location_for_context(SSL_CTX *ctx,char *file,char *path);
54
55
void security_openssl_library();
56
void security_clean_openssl();
libnetdata/socket/socket.h
+28
-28
@@ -52,40 +52,40 @@ typedef struct listen_sockets {
52
WEB_CLIENT_ACL fds_acl_flags[MAX_LISTEN_FDS]; // the acl to apply to the open sockets (dashboard, badges, streaming, netdata.conf, management)
53
} LISTEN_SOCKETS;
54
55
-extern char *strdup_client_description(int family, const char *protocol, const char *ip, uint16_t port);
55
+char *strdup_client_description(int family, const char *protocol, const char *ip, uint16_t port);
56
57
-extern int listen_sockets_setup(LISTEN_SOCKETS *sockets);
58
-extern void listen_sockets_close(LISTEN_SOCKETS *sockets);
57
+int listen_sockets_setup(LISTEN_SOCKETS *sockets);
58
+void listen_sockets_close(LISTEN_SOCKETS *sockets);
59
60
-extern void foreach_entry_in_connection_string(const char *destination, bool (*callback)(char *entry, void *data), void *data);
61
-extern int connect_to_this_ip46(int protocol, int socktype, const char *host, uint32_t scope_id, const char *service, struct timeval *timeout);
62
-extern int connect_to_this(const char *definition, int default_port, struct timeval *timeout);
63
-extern int connect_to_one_of(const char *destination, int default_port, struct timeval *timeout, size_t *reconnects_counter, char *connected_to, size_t connected_to_size);
64
-extern int connect_to_one_of_urls(const char *destination, int default_port, struct timeval *timeout, size_t *reconnects_counter, char *connected_to, size_t connected_to_size);
60
+void foreach_entry_in_connection_string(const char *destination, bool (*callback)(char *entry, void *data), void *data);
61
+int connect_to_this_ip46(int protocol, int socktype, const char *host, uint32_t scope_id, const char *service, struct timeval *timeout);
62
+int connect_to_this(const char *definition, int default_port, struct timeval *timeout);
63
+int connect_to_one_of(const char *destination, int default_port, struct timeval *timeout, size_t *reconnects_counter, char *connected_to, size_t connected_to_size);
64
+int connect_to_one_of_urls(const char *destination, int default_port, struct timeval *timeout, size_t *reconnects_counter, char *connected_to, size_t connected_to_size);
65
66
67
#ifdef ENABLE_HTTPS
68
-extern ssize_t recv_timeout(struct netdata_ssl *ssl,int sockfd, void *buf, size_t len, int flags, int timeout);
69
-extern ssize_t send_timeout(struct netdata_ssl *ssl,int sockfd, void *buf, size_t len, int flags, int timeout);
68
+ssize_t recv_timeout(struct netdata_ssl *ssl,int sockfd, void *buf, size_t len, int flags, int timeout);
69
+ssize_t send_timeout(struct netdata_ssl *ssl,int sockfd, void *buf, size_t len, int flags, int timeout);
70
#else
71
-extern ssize_t recv_timeout(int sockfd, void *buf, size_t len, int flags, int timeout);
72
-extern ssize_t send_timeout(int sockfd, void *buf, size_t len, int flags, int timeout);
71
+ssize_t recv_timeout(int sockfd, void *buf, size_t len, int flags, int timeout);
72
+ssize_t send_timeout(int sockfd, void *buf, size_t len, int flags, int timeout);
73
#endif
74
75
-extern int sock_setnonblock(int fd);
76
-extern int sock_delnonblock(int fd);
77
-extern int sock_setreuse(int fd, int reuse);
78
-extern int sock_setreuse_port(int fd, int reuse);
79
-extern int sock_enlarge_in(int fd);
80
-extern int sock_enlarge_out(int fd);
75
+int sock_setnonblock(int fd);
76
+int sock_delnonblock(int fd);
77
+int sock_setreuse(int fd, int reuse);
78
+int sock_setreuse_port(int fd, int reuse);
79
+int sock_enlarge_in(int fd);
80
+int sock_enlarge_out(int fd);
81
82
-extern int connection_allowed(int fd, char *client_ip, char *client_host, size_t hostsize,
82
+int connection_allowed(int fd, char *client_ip, char *client_host, size_t hostsize,
83
SIMPLE_PATTERN *access_list, const char *patname, int allow_dns);
84
-extern int accept_socket(int fd, int flags, char *client_ip, size_t ipsize, char *client_port, size_t portsize,
84
+int accept_socket(int fd, int flags, char *client_ip, size_t ipsize, char *client_port, size_t portsize,
85
char *client_host, size_t hostsize, SIMPLE_PATTERN *access_list, int allow_dns);
86
87
#ifndef HAVE_ACCEPT4
88
-extern int accept4(int sock, struct sockaddr *addr, socklen_t *addrlen, int flags);
88
+int accept4(int sock, struct sockaddr *addr, socklen_t *addrlen, int flags);
89
90
#ifndef SOCK_NONBLOCK
91
#define SOCK_NONBLOCK 00004000
@@ -173,12 +173,12 @@ struct poll {
173
174
#define pollinfo_from_slot(p, slot) (&((p)->inf[(slot)]))
175
176
-extern int poll_default_snd_callback(POLLINFO *pi, short int *events);
177
-extern int poll_default_rcv_callback(POLLINFO *pi, short int *events);
178
-extern void poll_default_del_callback(POLLINFO *pi);
179
-extern void *poll_default_add_callback(POLLINFO *pi, short int *events, void *data);
176
+int poll_default_snd_callback(POLLINFO *pi, short int *events);
177
+int poll_default_rcv_callback(POLLINFO *pi, short int *events);
178
+void poll_default_del_callback(POLLINFO *pi);
179
+void *poll_default_add_callback(POLLINFO *pi, short int *events, void *data);
180
181
-extern POLLINFO *poll_add_fd(POLLJOB *p
181
+POLLINFO *poll_add_fd(POLLJOB *p
182
, int fd
183
, int socktype
184
, WEB_CLIENT_ACL port_acl
@@ -192,9 +192,9 @@ extern POLLINFO *poll_add_fd(POLLJOB *p
192
, int (*snd_callback)(POLLINFO *pi, short int *events)
193
, void *data
194
);
195
-extern void poll_close_fd(POLLINFO *pi);
195
+void poll_close_fd(POLLINFO *pi);
196
197
-extern void poll_events(LISTEN_SOCKETS *sockets
197
+void poll_events(LISTEN_SOCKETS *sockets
198
, void *(*add_callback)(POLLINFO *pi, short int *events, void *data)
199
, void (*del_callback)(POLLINFO *pi)
200
, int (*rcv_callback)(POLLINFO *pi, short int *events)
libnetdata/statistical/statistical.h
+15
-15
@@ -5,30 +5,30 @@
5
6
#include "../libnetdata.h"
7
8
-extern void log_series_to_stderr(NETDATA_DOUBLE *series, size_t entries, NETDATA_DOUBLE result, const char *msg);
8
+void log_series_to_stderr(NETDATA_DOUBLE *series, size_t entries, NETDATA_DOUBLE result, const char *msg);
9
10
-extern NETDATA_DOUBLE average(const NETDATA_DOUBLE *series, size_t entries);
11
-extern NETDATA_DOUBLE moving_average(const NETDATA_DOUBLE *series, size_t entries, size_t period);
12
-extern NETDATA_DOUBLE median(const NETDATA_DOUBLE *series, size_t entries);
13
-extern NETDATA_DOUBLE moving_median(const NETDATA_DOUBLE *series, size_t entries, size_t period);
14
-extern NETDATA_DOUBLE running_median_estimate(const NETDATA_DOUBLE *series, size_t entries);
15
-extern NETDATA_DOUBLE standard_deviation(const NETDATA_DOUBLE *series, size_t entries);
16
-extern NETDATA_DOUBLE single_exponential_smoothing(const NETDATA_DOUBLE *series, size_t entries, NETDATA_DOUBLE alpha);
10
+NETDATA_DOUBLE average(const NETDATA_DOUBLE *series, size_t entries);
11
+NETDATA_DOUBLE moving_average(const NETDATA_DOUBLE *series, size_t entries, size_t period);
12
+NETDATA_DOUBLE median(const NETDATA_DOUBLE *series, size_t entries);
13
+NETDATA_DOUBLE moving_median(const NETDATA_DOUBLE *series, size_t entries, size_t period);
14
+NETDATA_DOUBLE running_median_estimate(const NETDATA_DOUBLE *series, size_t entries);
15
+NETDATA_DOUBLE standard_deviation(const NETDATA_DOUBLE *series, size_t entries);
16
+NETDATA_DOUBLE single_exponential_smoothing(const NETDATA_DOUBLE *series, size_t entries, NETDATA_DOUBLE alpha);
17
extern NETDATA_DOUBLE
18
single_exponential_smoothing_reverse(const NETDATA_DOUBLE *series, size_t entries, NETDATA_DOUBLE alpha);
19
-extern NETDATA_DOUBLE double_exponential_smoothing(const NETDATA_DOUBLE *series, size_t entries,
19
+NETDATA_DOUBLE double_exponential_smoothing(const NETDATA_DOUBLE *series, size_t entries,
20
NETDATA_DOUBLE alpha,
21
NETDATA_DOUBLE beta,
22
NETDATA_DOUBLE *forecast);
23
-extern NETDATA_DOUBLE holtwinters(const NETDATA_DOUBLE *series, size_t entries,
23
+NETDATA_DOUBLE holtwinters(const NETDATA_DOUBLE *series, size_t entries,
24
NETDATA_DOUBLE alpha,
25
NETDATA_DOUBLE beta,
26
NETDATA_DOUBLE gamma,
27
NETDATA_DOUBLE *forecast);
28
-extern NETDATA_DOUBLE sum_and_count(const NETDATA_DOUBLE *series, size_t entries, size_t *count);
29
-extern NETDATA_DOUBLE sum(const NETDATA_DOUBLE *series, size_t entries);
30
-extern NETDATA_DOUBLE median_on_sorted_series(const NETDATA_DOUBLE *series, size_t entries);
31
-extern NETDATA_DOUBLE *copy_series(const NETDATA_DOUBLE *series, size_t entries);
32
-extern void sort_series(NETDATA_DOUBLE *series, size_t entries);
28
+NETDATA_DOUBLE sum_and_count(const NETDATA_DOUBLE *series, size_t entries, size_t *count);
29
+NETDATA_DOUBLE sum(const NETDATA_DOUBLE *series, size_t entries);
30
+NETDATA_DOUBLE median_on_sorted_series(const NETDATA_DOUBLE *series, size_t entries);
31
+NETDATA_DOUBLE *copy_series(const NETDATA_DOUBLE *series, size_t entries);
32
+void sort_series(NETDATA_DOUBLE *series, size_t entries);
33
34
#endif //NETDATA_STATISTICAL_H
libnetdata/string/string.h
+8
-8
@@ -8,14 +8,14 @@
8
// STRING implementation
9
10
typedef struct netdata_string STRING;
11
-extern STRING *string_strdupz(const char *str);
12
-extern STRING *string_dup(STRING *string);
13
-extern void string_freez(STRING *string);
14
-extern size_t string_strlen(STRING *string);
15
-extern const char *string2str(STRING *string) NEVERNULL;
11
+STRING *string_strdupz(const char *str);
12
+STRING *string_dup(STRING *string);
13
+void string_freez(STRING *string);
14
+size_t string_strlen(STRING *string);
15
+const char *string2str(STRING *string) NEVERNULL;
16
17
// keep common prefix/suffix and replace everything else with [x]
18
-extern STRING *string_2way_merge(STRING *a, STRING *b);
18
+STRING *string_2way_merge(STRING *a, STRING *b);
19
20
static inline int string_cmp(STRING *s1, STRING *s2) {
21
// STRINGs are deduplicated, so the same strings have the same pointer
@@ -23,8 +23,8 @@ static inline int string_cmp(STRING *s1, STRING *s2) {
23
return (s1 == s2)?0:strcmp(string2str(s1), string2str(s2));
24
}
25
26
-extern void string_statistics(size_t *inserts, size_t *deletes, size_t *searches, size_t *entries, size_t *references, size_t *memory, size_t *duplications, size_t *releases);
26
+void string_statistics(size_t *inserts, size_t *deletes, size_t *searches, size_t *entries, size_t *references, size_t *memory, size_t *duplications, size_t *releases);
27
28
-extern int string_unittest(size_t entries);
28
+int string_unittest(size_t entries);
29
30
#endif
libnetdata/threads/threads.h
+12
-12
@@ -5,7 +5,7 @@
5
6
#include "../libnetdata.h"
7
8
-extern pid_t gettid(void);
8
+pid_t gettid(void);
9
10
typedef enum {
11
NETDATA_THREAD_OPTION_DEFAULT = 0 << 0,
@@ -21,27 +21,27 @@ typedef enum {
21
typedef pthread_t netdata_thread_t;
22
23
#define NETDATA_THREAD_TAG_MAX 100
24
-extern const char *netdata_thread_tag(void);
25
-extern int netdata_thread_tag_exists(void);
24
+const char *netdata_thread_tag(void);
25
+int netdata_thread_tag_exists(void);
26
27
-extern size_t netdata_threads_init(void);
28
-extern void netdata_threads_init_after_fork(size_t stacksize);
27
+size_t netdata_threads_init(void);
28
+void netdata_threads_init_after_fork(size_t stacksize);
29
30
-extern int netdata_thread_create(netdata_thread_t *thread, const char *tag, NETDATA_THREAD_OPTIONS options, void *(*start_routine) (void *), void *arg);
30
+int netdata_thread_create(netdata_thread_t *thread, const char *tag, NETDATA_THREAD_OPTIONS options, void *(*start_routine) (void *), void *arg);
31
32
#ifdef NETDATA_INTERNAL_CHECKS
33
#define netdata_thread_cancel(thread) netdata_thread_cancel_with_trace(thread, __LINE__, __FILE__, __FUNCTION__)
34
-extern int netdata_thread_cancel_with_trace(netdata_thread_t thread, int line, const char *file, const char *function);
34
+int netdata_thread_cancel_with_trace(netdata_thread_t thread, int line, const char *file, const char *function);
35
#else
36
-extern int netdata_thread_cancel(netdata_thread_t thread);
36
+int netdata_thread_cancel(netdata_thread_t thread);
37
#endif
38
39
-extern int netdata_thread_join(netdata_thread_t thread, void **retval);
40
-extern int netdata_thread_detach(pthread_t thread);
39
+int netdata_thread_join(netdata_thread_t thread, void **retval);
40
+int netdata_thread_detach(pthread_t thread);
41
42
#define NETDATA_THREAD_NAME_MAX 15
43
-extern void uv_thread_set_name_np(uv_thread_t ut, const char* name);
44
-extern void os_thread_get_current_name_np(char threadname[NETDATA_THREAD_NAME_MAX + 1]);
43
+void uv_thread_set_name_np(uv_thread_t ut, const char* name);
44
+void os_thread_get_current_name_np(char threadname[NETDATA_THREAD_NAME_MAX + 1]);
45
46
#define netdata_thread_self pthread_self
47
#define netdata_thread_testcancel pthread_testcancel
libnetdata/url/url.h
+9
-9
@@ -10,26 +10,26 @@
10
// code from: http://www.geekhideout.com/urlcode.shtml
11
12
/* Converts a hex character to its integer value */
13
-extern char from_hex(char ch);
13
+char from_hex(char ch);
14
15
/* Converts an integer value to its hex character*/
16
-extern char to_hex(char code);
16
+char to_hex(char code);
17
18
/* Returns a url-encoded version of str */
19
/* IMPORTANT: be sure to free() the returned string after use */
20
-extern char *url_encode(char *str);
20
+char *url_encode(char *str);
21
22
/* Returns a url-decoded version of str */
23
/* IMPORTANT: be sure to free() the returned string after use */
24
-extern char *url_decode(char *str);
24
+char *url_decode(char *str);
25
26
-extern char *url_decode_r(char *to, char *url, size_t size);
26
+char *url_decode_r(char *to, char *url, size_t size);
27
28
#define WEB_FIELDS_MAX 400
29
-extern int url_map_query_string(char **out, char *url);
30
-extern int url_parse_query_string(char *output, size_t max, char **map, int total);
29
+int url_map_query_string(char **out, char *url);
30
+int url_parse_query_string(char *output, size_t max, char **map, int total);
31
32
-extern int url_is_request_complete(char *begin,char *end,size_t length);
33
-extern char *url_find_protocol(char *s);
32
+int url_is_request_complete(char *begin,char *end,size_t length);
33
+char *url_find_protocol(char *s);
34
35
#endif /* NETDATA_URL_H */
libnetdata/worker_utilization/worker_utilization.h
+8
-8
@@ -14,18 +14,18 @@ typedef enum {
14
WORKER_METRIC_INCREMENTAL = 3,
15
} WORKER_METRIC_TYPE;
16
17
-extern void worker_register(const char *workname);
18
-extern void worker_register_job_name(size_t job_id, const char *name);
19
-extern void worker_register_job_custom_metric(size_t job_id, const char *name, const char *units, WORKER_METRIC_TYPE type);
20
-extern void worker_unregister(void);
17
+void worker_register(const char *workname);
18
+void worker_register_job_name(size_t job_id, const char *name);
19
+void worker_register_job_custom_metric(size_t job_id, const char *name, const char *units, WORKER_METRIC_TYPE type);
20
+void worker_unregister(void);
21
22
-extern void worker_is_idle(void);
23
-extern void worker_is_busy(size_t job_id);
24
-extern void worker_set_metric(size_t job_id, NETDATA_DOUBLE value);
22
+void worker_is_idle(void);
23
+void worker_is_busy(size_t job_id);
24
+void worker_set_metric(size_t job_id, NETDATA_DOUBLE value);
25
26
// statistics interface
27
28
-extern void workers_foreach(const char *workname, void (*callback)(
28
+void workers_foreach(const char *workname, void (*callback)(
29
void *data
30
, pid_t pid
31
, const char *thread_tag
ml/ml.h
+1
-1
@@ -12,7 +12,7 @@ extern "C" {
12
13
// This is a DBEngine function redeclared here so that we can free
14
// the anomaly rate dimension, whenever its backing dimension is freed.
15
-extern void rrddim_free(RRDSET *st, RRDDIM *rd);
15
+void rrddim_free(RRDSET *st, RRDDIM *rd);
16
17
typedef void* ml_host_t;
18
typedef void* ml_dimension_t;
parser/parser.h
+18
-18
@@ -105,7 +105,7 @@ typedef struct parser {
105
106
} PARSER;
107
108
-extern int find_first_keyword(const char *str, char *keyword, int max_size, int (*custom_isspace)(char));
108
+int find_first_keyword(const char *str, char *keyword, int max_size, int (*custom_isspace)(char));
109
110
PARSER *parser_init(RRDHOST *host, void *user, void *input, void *output, PARSER_INPUT_TYPE flags);
111
int parser_add_keyword(PARSER *working_parser, char *keyword, keyword_function func);
@@ -115,22 +115,22 @@ int parser_push(PARSER *working_parser, char *line);
115
void parser_destroy(PARSER *working_parser);
116
int parser_recover_input(PARSER *working_parser);
117
118
-extern size_t pluginsd_process(RRDHOST *host, struct plugind *cd, FILE *fp_plugin_input, FILE *fp_plugin_output, int trust_durations);
119
-
120
-extern PARSER_RC pluginsd_set(char **words, void *user, PLUGINSD_ACTION *plugins_action);
121
-extern PARSER_RC pluginsd_begin(char **words, void *user, PLUGINSD_ACTION *plugins_action);
122
-extern PARSER_RC pluginsd_end(char **words, void *user, PLUGINSD_ACTION *plugins_action);
123
-extern PARSER_RC pluginsd_chart(char **words, void *user, PLUGINSD_ACTION *plugins_action);
124
-extern PARSER_RC pluginsd_dimension(char **words, void *user, PLUGINSD_ACTION *plugins_action);
125
-extern PARSER_RC pluginsd_variable(char **words, void *user, PLUGINSD_ACTION *plugins_action);
126
-extern PARSER_RC pluginsd_flush(char **words, void *user, PLUGINSD_ACTION *plugins_action);
127
-extern PARSER_RC pluginsd_disable(char **words, void *user, PLUGINSD_ACTION *plugins_action);
128
-extern PARSER_RC pluginsd_label(char **words, void *user, PLUGINSD_ACTION *plugins_action);
129
-extern PARSER_RC pluginsd_overwrite(char **words, void *user, PLUGINSD_ACTION *plugins_action);
130
-extern PARSER_RC pluginsd_guid(char **words, void *user, PLUGINSD_ACTION *plugins_action);
131
-extern PARSER_RC pluginsd_context(char **words, void *user, PLUGINSD_ACTION *plugins_action);
132
-extern PARSER_RC pluginsd_tombstone(char **words, void *user, PLUGINSD_ACTION *plugins_action);
133
-extern PARSER_RC pluginsd_clabel_commit(char **words, void *user, PLUGINSD_ACTION *plugins_action);
134
-extern PARSER_RC pluginsd_clabel(char **words, void *user, PLUGINSD_ACTION *plugins_action);
118
+size_t pluginsd_process(RRDHOST *host, struct plugind *cd, FILE *fp_plugin_input, FILE *fp_plugin_output, int trust_durations);
119
+
120
+PARSER_RC pluginsd_set(char **words, void *user, PLUGINSD_ACTION *plugins_action);
121
+PARSER_RC pluginsd_begin(char **words, void *user, PLUGINSD_ACTION *plugins_action);
122
+PARSER_RC pluginsd_end(char **words, void *user, PLUGINSD_ACTION *plugins_action);
123
+PARSER_RC pluginsd_chart(char **words, void *user, PLUGINSD_ACTION *plugins_action);
124
+PARSER_RC pluginsd_dimension(char **words, void *user, PLUGINSD_ACTION *plugins_action);
125
+PARSER_RC pluginsd_variable(char **words, void *user, PLUGINSD_ACTION *plugins_action);
126
+PARSER_RC pluginsd_flush(char **words, void *user, PLUGINSD_ACTION *plugins_action);
127
+PARSER_RC pluginsd_disable(char **words, void *user, PLUGINSD_ACTION *plugins_action);
128
+PARSER_RC pluginsd_label(char **words, void *user, PLUGINSD_ACTION *plugins_action);
129
+PARSER_RC pluginsd_overwrite(char **words, void *user, PLUGINSD_ACTION *plugins_action);
130
+PARSER_RC pluginsd_guid(char **words, void *user, PLUGINSD_ACTION *plugins_action);
131
+PARSER_RC pluginsd_context(char **words, void *user, PLUGINSD_ACTION *plugins_action);
132
+PARSER_RC pluginsd_tombstone(char **words, void *user, PLUGINSD_ACTION *plugins_action);
133
+PARSER_RC pluginsd_clabel_commit(char **words, void *user, PLUGINSD_ACTION *plugins_action);
134
+PARSER_RC pluginsd_clabel(char **words, void *user, PLUGINSD_ACTION *plugins_action);
135
136
#endif
registry/registry.h
+13
-13
@@ -55,29 +55,29 @@
55
56
// initialize the registry
57
// should only happen when netdata starts
58
-extern int registry_init(void);
58
+int registry_init(void);
59
60
// free all data held by the registry
61
// should only happen when netdata exits
62
-extern void registry_free(void);
62
+void registry_free(void);
63
64
// HTTP requests handled by the registry
65
-extern int registry_request_access_json(RRDHOST *host, struct web_client *w, char *person_guid, char *machine_guid, char *url, char *name, time_t when);
66
-extern int registry_request_delete_json(RRDHOST *host, struct web_client *w, char *person_guid, char *machine_guid, char *url, char *delete_url, time_t when);
67
-extern int registry_request_search_json(RRDHOST *host, struct web_client *w, char *person_guid, char *machine_guid, char *url, char *request_machine, time_t when);
68
-extern int registry_request_switch_json(RRDHOST *host, struct web_client *w, char *person_guid, char *machine_guid, char *url, char *new_person_guid, time_t when);
69
-extern int registry_request_hello_json(RRDHOST *host, struct web_client *w);
65
+int registry_request_access_json(RRDHOST *host, struct web_client *w, char *person_guid, char *machine_guid, char *url, char *name, time_t when);
66
+int registry_request_delete_json(RRDHOST *host, struct web_client *w, char *person_guid, char *machine_guid, char *url, char *delete_url, time_t when);
67
+int registry_request_search_json(RRDHOST *host, struct web_client *w, char *person_guid, char *machine_guid, char *url, char *request_machine, time_t when);
68
+int registry_request_switch_json(RRDHOST *host, struct web_client *w, char *person_guid, char *machine_guid, char *url, char *new_person_guid, time_t when);
69
+int registry_request_hello_json(RRDHOST *host, struct web_client *w);
70
71
// update the registry config
72
-extern void registry_update_cloud_base_url();
72
+void registry_update_cloud_base_url();
73
74
// update the registry monitoring charts
75
-extern void registry_statistics(void);
75
+void registry_statistics(void);
76
77
-extern char *registry_get_this_machine_guid(void);
78
-extern char *registry_get_mgmt_api_key(void);
79
-extern char *registry_get_this_machine_hostname(void);
77
+char *registry_get_this_machine_guid(void);
78
+char *registry_get_mgmt_api_key(void);
79
+char *registry_get_this_machine_hostname(void);
80
81
-extern int regenerate_guid(const char *guid, char *result);
81
+int regenerate_guid(const char *guid, char *result);
82
83
#endif /* NETDATA_REGISTRY_H */
registry/registry_internals.h
+11
-11
@@ -71,20 +71,20 @@ struct registry {
71
extern struct registry registry;
72
73
// REGISTRY LOW-LEVEL REQUESTS (in registry-internals.c)
74
-extern REGISTRY_PERSON *registry_request_access(char *person_guid, char *machine_guid, char *url, char *name, time_t when);
75
-extern REGISTRY_PERSON *registry_request_delete(char *person_guid, char *machine_guid, char *url, char *delete_url, time_t when);
76
-extern REGISTRY_MACHINE *registry_request_machine(char *person_guid, char *machine_guid, char *url, char *request_machine, time_t when);
74
+REGISTRY_PERSON *registry_request_access(char *person_guid, char *machine_guid, char *url, char *name, time_t when);
75
+REGISTRY_PERSON *registry_request_delete(char *person_guid, char *machine_guid, char *url, char *delete_url, time_t when);
76
+REGISTRY_MACHINE *registry_request_machine(char *person_guid, char *machine_guid, char *url, char *request_machine, time_t when);
77
78
// REGISTRY LOG (in registry_log.c)
79
-extern void registry_log(char action, REGISTRY_PERSON *p, REGISTRY_MACHINE *m, REGISTRY_URL *u, char *name);
80
-extern int registry_log_open(void);
81
-extern void registry_log_close(void);
82
-extern void registry_log_recreate(void);
83
-extern ssize_t registry_log_load(void);
79
+void registry_log(char action, REGISTRY_PERSON *p, REGISTRY_MACHINE *m, REGISTRY_URL *u, char *name);
80
+int registry_log_open(void);
81
+void registry_log_close(void);
82
+void registry_log_recreate(void);
83
+ssize_t registry_log_load(void);
84
85
// REGISTRY DB (in registry_db.c)
86
-extern int registry_db_save(void);
87
-extern size_t registry_db_load(void);
88
-extern int registry_db_should_be_saved(void);
86
+int registry_db_save(void);
87
+size_t registry_db_load(void);
88
+int registry_db_should_be_saved(void);
89
90
#endif //NETDATA_REGISTRY_INTERNALS_H_H
registry/registry_machine.h
+5
-5
@@ -34,10 +34,10 @@ struct registry_machine {
34
};
35
typedef struct registry_machine REGISTRY_MACHINE;
36
37
-extern REGISTRY_MACHINE *registry_machine_find(const char *machine_guid);
38
-extern REGISTRY_MACHINE_URL *registry_machine_url_allocate(REGISTRY_MACHINE *m, REGISTRY_URL *u, time_t when);
39
-extern REGISTRY_MACHINE *registry_machine_allocate(const char *machine_guid, time_t when);
40
-extern REGISTRY_MACHINE *registry_machine_get(const char *machine_guid, time_t when);
41
-extern REGISTRY_MACHINE_URL *registry_machine_link_to_url(REGISTRY_MACHINE *m, REGISTRY_URL *u, time_t when);
37
+REGISTRY_MACHINE *registry_machine_find(const char *machine_guid);
38
+REGISTRY_MACHINE_URL *registry_machine_url_allocate(REGISTRY_MACHINE *m, REGISTRY_URL *u, time_t when);
39
+REGISTRY_MACHINE *registry_machine_allocate(const char *machine_guid, time_t when);
40
+REGISTRY_MACHINE *registry_machine_get(const char *machine_guid, time_t when);
41
+REGISTRY_MACHINE_URL *registry_machine_link_to_url(REGISTRY_MACHINE *m, REGISTRY_URL *u, time_t when);
42
43
#endif //NETDATA_REGISTRY_MACHINE_H
registry/registry_person.h
+10
-10
@@ -42,20 +42,20 @@ struct registry_person {
42
typedef struct registry_person REGISTRY_PERSON;
43
44
// PERSON_URL
45
-extern REGISTRY_PERSON_URL *registry_person_url_index_find(REGISTRY_PERSON *p, const char *url);
46
-extern REGISTRY_PERSON_URL *registry_person_url_index_add(REGISTRY_PERSON *p, REGISTRY_PERSON_URL *pu) NEVERNULL WARNUNUSED;
47
-extern REGISTRY_PERSON_URL *registry_person_url_index_del(REGISTRY_PERSON *p, REGISTRY_PERSON_URL *pu) WARNUNUSED;
45
+REGISTRY_PERSON_URL *registry_person_url_index_find(REGISTRY_PERSON *p, const char *url);
46
+REGISTRY_PERSON_URL *registry_person_url_index_add(REGISTRY_PERSON *p, REGISTRY_PERSON_URL *pu) NEVERNULL WARNUNUSED;
47
+REGISTRY_PERSON_URL *registry_person_url_index_del(REGISTRY_PERSON *p, REGISTRY_PERSON_URL *pu) WARNUNUSED;
48
49
-extern REGISTRY_PERSON_URL *registry_person_url_allocate(REGISTRY_PERSON *p, REGISTRY_MACHINE *m, REGISTRY_URL *u, char *name, size_t namelen, time_t when);
50
-extern REGISTRY_PERSON_URL *registry_person_url_reallocate(REGISTRY_PERSON *p, REGISTRY_MACHINE *m, REGISTRY_URL *u, char *name, size_t namelen, time_t when, REGISTRY_PERSON_URL *pu);
49
+REGISTRY_PERSON_URL *registry_person_url_allocate(REGISTRY_PERSON *p, REGISTRY_MACHINE *m, REGISTRY_URL *u, char *name, size_t namelen, time_t when);
50
+REGISTRY_PERSON_URL *registry_person_url_reallocate(REGISTRY_PERSON *p, REGISTRY_MACHINE *m, REGISTRY_URL *u, char *name, size_t namelen, time_t when, REGISTRY_PERSON_URL *pu);
51
52
// PERSON
53
-extern REGISTRY_PERSON *registry_person_find(const char *person_guid);
54
-extern REGISTRY_PERSON *registry_person_allocate(const char *person_guid, time_t when);
55
-extern REGISTRY_PERSON *registry_person_get(const char *person_guid, time_t when);
53
+REGISTRY_PERSON *registry_person_find(const char *person_guid);
54
+REGISTRY_PERSON *registry_person_allocate(const char *person_guid, time_t when);
55
+REGISTRY_PERSON *registry_person_get(const char *person_guid, time_t when);
56
57
// LINKING PERSON -> PERSON_URL
58
-extern REGISTRY_PERSON_URL *registry_person_link_to_url(REGISTRY_PERSON *p, REGISTRY_MACHINE *m, REGISTRY_URL *u, char *name, size_t namelen, time_t when);
59
-extern void registry_person_unlink_from_url(REGISTRY_PERSON *p, REGISTRY_PERSON_URL *pu);
58
+REGISTRY_PERSON_URL *registry_person_link_to_url(REGISTRY_PERSON *p, REGISTRY_MACHINE *m, REGISTRY_URL *u, char *name, size_t namelen, time_t when);
59
+void registry_person_unlink_from_url(REGISTRY_PERSON *p, REGISTRY_PERSON_URL *pu);
60
61
#endif //NETDATA_REGISTRY_PERSON_H
registry/registry_url.h
+6
-6
@@ -23,13 +23,13 @@ struct registry_url {
23
typedef struct registry_url REGISTRY_URL;
24
25
// REGISTRY_URL INDEX
26
-extern int registry_url_compare(void *a, void *b);
27
-extern REGISTRY_URL *registry_url_index_del(REGISTRY_URL *u) WARNUNUSED;
28
-extern REGISTRY_URL *registry_url_index_add(REGISTRY_URL *u) NEVERNULL WARNUNUSED;
26
+int registry_url_compare(void *a, void *b);
27
+REGISTRY_URL *registry_url_index_del(REGISTRY_URL *u) WARNUNUSED;
28
+REGISTRY_URL *registry_url_index_add(REGISTRY_URL *u) NEVERNULL WARNUNUSED;
29
30
// REGISTRY_URL MANAGEMENT
31
-extern REGISTRY_URL *registry_url_get(const char *url, size_t urllen) NEVERNULL;
32
-extern void registry_url_link(REGISTRY_URL *u);
33
-extern void registry_url_unlink(REGISTRY_URL *u);
31
+REGISTRY_URL *registry_url_get(const char *url, size_t urllen) NEVERNULL;
32
+void registry_url_link(REGISTRY_URL *u);
33
+void registry_url_unlink(REGISTRY_URL *u);
34
35
#endif //NETDATA_REGISTRY_URL_H
streaming/rrdpush.h
+23
-23
@@ -220,28 +220,28 @@ extern char *default_rrdpush_api_key;
220
extern char *default_rrdpush_send_charts_matching;
221
extern unsigned int remote_clock_resync_iterations;
222
223
-extern void rrdpush_destinations_init(RRDHOST *host);
224
-extern void rrdpush_destinations_free(RRDHOST *host);
223
+void rrdpush_destinations_init(RRDHOST *host);
224
+void rrdpush_destinations_free(RRDHOST *host);
225
226
-extern void sender_init(RRDHOST *parent);
226
+void sender_init(RRDHOST *parent);
227
BUFFER *sender_start(struct sender_state *s);
228
void sender_commit(struct sender_state *s, BUFFER *wb);
229
void sender_cancel(struct sender_state *s);
230
-extern int rrdpush_init();
231
-extern int configured_as_parent();
232
-extern void rrdset_done_push(RRDSET *st);
233
-extern bool rrdset_push_chart_definition_now(RRDSET *st);
234
-extern bool rrdpush_incremental_transmission_of_chart_definitions(RRDHOST *host, DICTFE *dictfe, bool restart, bool stop);
235
-extern void *rrdpush_sender_thread(void *ptr);
236
-extern void rrdpush_send_host_labels(RRDHOST *host);
237
-extern void rrdpush_claimed_id(RRDHOST *host);
238
-
239
-extern int rrdpush_receiver_thread_spawn(struct web_client *w, char *url);
240
-extern void rrdpush_sender_thread_stop(RRDHOST *host);
241
-
242
-extern void rrdpush_sender_send_this_host_variable_now(RRDHOST *host, const RRDVAR_ACQUIRED *rva);
243
-extern void log_stream_connection(const char *client_ip, const char *client_port, const char *api_key, const char *machine_guid, const char *host, const char *msg);
244
-extern int connect_to_one_of_destinations(
230
+int rrdpush_init();
231
+int configured_as_parent();
232
+void rrdset_done_push(RRDSET *st);
233
+bool rrdset_push_chart_definition_now(RRDSET *st);
234
+bool rrdpush_incremental_transmission_of_chart_definitions(RRDHOST *host, DICTFE *dictfe, bool restart, bool stop);
235
+void *rrdpush_sender_thread(void *ptr);
236
+void rrdpush_send_host_labels(RRDHOST *host);
237
+void rrdpush_claimed_id(RRDHOST *host);
238
+
239
+int rrdpush_receiver_thread_spawn(struct web_client *w, char *url);
240
+void rrdpush_sender_thread_stop(RRDHOST *host);
241
+
242
+void rrdpush_sender_send_this_host_variable_now(RRDHOST *host, const RRDVAR_ACQUIRED *rva);
243
+void log_stream_connection(const char *client_ip, const char *client_port, const char *api_key, const char *machine_guid, const char *host, const char *msg);
244
+int connect_to_one_of_destinations(
245
RRDHOST *host,
246
int default_port,
247
struct timeval *timeout,
@@ -250,7 +250,7 @@ extern int connect_to_one_of_destinations(
250
size_t connected_to_size,
251
struct rrdpush_destinations **destination);
252
253
-extern void rrdpush_signal_sender_to_wake_up(struct sender_state *s);
253
+void rrdpush_signal_sender_to_wake_up(struct sender_state *s);
254
255
#ifdef ENABLE_COMPRESSION
256
struct compressor_state *create_compressor();
@@ -258,9 +258,9 @@ struct decompressor_state *create_decompressor();
258
size_t is_compressed_data(const char *data, size_t data_size);
259
#endif
260
261
-extern void log_receiver_capabilities(struct receiver_state *rpt);
262
-extern void log_sender_capabilities(struct sender_state *s);
263
-extern STREAM_CAPABILITIES convert_stream_version_to_capabilities(int32_t version);
264
-extern int32_t stream_capabilities_to_vn(uint32_t caps);
261
+void log_receiver_capabilities(struct receiver_state *rpt);
262
+void log_sender_capabilities(struct sender_state *s);
263
+STREAM_CAPABILITIES convert_stream_version_to_capabilities(int32_t version);
264
+int32_t stream_capabilities_to_vn(uint32_t caps);
265
266
#endif //NETDATA_RRDPUSH_H
web/api/badges/web_buffer_svg.h
+3
-3
@@ -6,12 +6,12 @@
6
#include "libnetdata/libnetdata.h"
7
#include "web/server/web_client.h"
8
9
-extern void buffer_svg(BUFFER *wb, const char *label,
9
+void buffer_svg(BUFFER *wb, const char *label,
10
NETDATA_DOUBLE value, const char *units, const char *label_color, const char *value_color, int precision, int scale, uint32_t options, int fixed_width_lbl, int fixed_width_val, const char* text_color_lbl, const char* text_color_val);
11
-extern char *format_value_and_unit(char *value_string, size_t value_string_len,
11
+char *format_value_and_unit(char *value_string, size_t value_string_len,
12
NETDATA_DOUBLE value, const char *units, int precision);
13
14
-extern int web_client_api_request_v1_badge(struct rrdhost *host, struct web_client *w, char *url);
14
+int web_client_api_request_v1_badge(struct rrdhost *host, struct web_client *w, char *url);
15
16
#include "web/api/web_api_v1.h"
17
web/api/exporters/allmetrics.h
+1
-1
@@ -7,6 +7,6 @@
7
#include "shell/allmetrics_shell.h"
8
#include "web/server/web_client.h"
9
10
-extern int web_client_api_request_v1_allmetrics(RRDHOST *host, struct web_client *w, char *url);
10
+int web_client_api_request_v1_allmetrics(RRDHOST *host, struct web_client *w, char *url);
11
12
#endif //NETDATA_API_ALLMETRICS_H
web/api/exporters/shell/allmetrics_shell.h
+2
-2
@@ -15,7 +15,7 @@
15
#define ALLMETRICS_JSON 3
16
#define ALLMETRICS_PROMETHEUS_ALL_HOSTS 4
17
18
-extern void rrd_stats_api_v1_charts_allmetrics_json(RRDHOST *host, const char *filter_string, BUFFER *wb);
19
-extern void rrd_stats_api_v1_charts_allmetrics_shell(RRDHOST *host, const char *filter_string, BUFFER *wb);
18
+void rrd_stats_api_v1_charts_allmetrics_json(RRDHOST *host, const char *filter_string, BUFFER *wb);
19
+void rrd_stats_api_v1_charts_allmetrics_shell(RRDHOST *host, const char *filter_string, BUFFER *wb);
20
21
#endif //NETDATA_API_ALLMETRICS_SHELL_H
web/api/formatters/charts2json.h
+3
-3
@@ -5,8 +5,8 @@
5
6
#include "rrd2json.h"
7
8
-extern void charts2json(RRDHOST *host, BUFFER *wb, int skip_volatile, int show_archived);
9
-extern void chartcollectors2json(RRDHOST *host, BUFFER *wb);
10
-extern const char* get_release_channel();
8
+void charts2json(RRDHOST *host, BUFFER *wb, int skip_volatile, int show_archived);
9
+void chartcollectors2json(RRDHOST *host, BUFFER *wb);
10
+const char* get_release_channel();
11
12
#endif //NETDATA_API_FORMATTER_CHARTS2JSON_H
web/api/formatters/csv/csv.h
+1
-1
@@ -5,7 +5,7 @@
5
6
#include "web/api/queries/rrdr.h"
7
8
-extern void rrdr2csv(RRDR *r, BUFFER *wb, uint32_t format, RRDR_OPTIONS options, const char *startline, const char *separator, const char *endline, const char *betweenlines, RRDDIM *temp_rd);
8
+void rrdr2csv(RRDR *r, BUFFER *wb, uint32_t format, RRDR_OPTIONS options, const char *startline, const char *separator, const char *endline, const char *betweenlines, RRDDIM *temp_rd);
9
10
#include "../rrd2json.h"
11
web/api/formatters/json/json.h
+1
-1
@@ -5,6 +5,6 @@
5
6
#include "../rrd2json.h"
7
8
-extern void rrdr2json(RRDR *r, BUFFER *wb, RRDR_OPTIONS options, int datatable, struct context_param *context_param_list);
8
+void rrdr2json(RRDR *r, BUFFER *wb, RRDR_OPTIONS options, int datatable, struct context_param *context_param_list);
9
10
#endif //NETDATA_API_FORMATTER_JSON_H
web/api/formatters/json_wrapper.h
+3
-3
@@ -7,9 +7,9 @@
7
#include "web/api/queries/query.h"
8
9
10
-extern void rrdr_json_wrapper_begin(RRDR *r, BUFFER *wb, uint32_t format, RRDR_OPTIONS options, int string_value,
10
+void rrdr_json_wrapper_begin(RRDR *r, BUFFER *wb, uint32_t format, RRDR_OPTIONS options, int string_value,
11
RRDR_GROUPING group_method, QUERY_PARAMS *query_params);
12
-extern void rrdr_json_wrapper_anomaly_rates(RRDR *r, BUFFER *wb, uint32_t format, uint32_t options, int string_value);
13
-extern void rrdr_json_wrapper_end(RRDR *r, BUFFER *wb, uint32_t format, uint32_t options, int string_value);
12
+void rrdr_json_wrapper_anomaly_rates(RRDR *r, BUFFER *wb, uint32_t format, uint32_t options, int string_value);
13
+void rrdr_json_wrapper_end(RRDR *r, BUFFER *wb, uint32_t format, uint32_t options, int string_value);
14
15
#endif //NETDATA_API_FORMATTER_JSON_WRAPPER_H
web/api/formatters/rrd2json.h
+7
-7
@@ -61,10 +61,10 @@ typedef struct query_params {
61
#define DATASOURCE_FORMAT_CSV_JSON_ARRAY "csvjsonarray"
62
#define DATASOURCE_FORMAT_CSV_MARKDOWN "markdown"
63
64
-extern void rrd_stats_api_v1_chart(RRDSET *st, BUFFER *wb);
65
-extern void rrdr_buffer_print_format(BUFFER *wb, uint32_t format);
64
+void rrd_stats_api_v1_chart(RRDSET *st, BUFFER *wb);
65
+void rrdr_buffer_print_format(BUFFER *wb, uint32_t format);
66
67
-extern int rrdset2anything_api_v1(
67
+int rrdset2anything_api_v1(
68
ONEWAYALLOC *owa
69
, RRDSET *st
70
, QUERY_PARAMS *query_params
@@ -81,7 +81,7 @@ extern int rrdset2anything_api_v1(
81
, int tier
82
);
83
84
-extern int rrdset2value_api_v1(
84
+int rrdset2value_api_v1(
85
RRDSET *st
86
, BUFFER *wb
87
, NETDATA_DOUBLE *n
@@ -104,8 +104,8 @@ extern int rrdset2value_api_v1(
104
, int tier
105
);
106
107
-extern void build_context_param_list(ONEWAYALLOC *owa, struct context_param **param_list, RRDSET *st);
108
-extern void rebuild_context_param_list(ONEWAYALLOC *owa, struct context_param *context_param_list, time_t after_requested);
109
-extern void free_context_param_list(ONEWAYALLOC *owa, struct context_param **param_list);
107
+void build_context_param_list(ONEWAYALLOC *owa, struct context_param **param_list, RRDSET *st);
108
+void rebuild_context_param_list(ONEWAYALLOC *owa, struct context_param *context_param_list, time_t after_requested);
109
+void free_context_param_list(ONEWAYALLOC *owa, struct context_param **param_list);
110
111
#endif /* NETDATA_RRD2JSON_H */
web/api/formatters/rrdset2json.h
+1
-1
@@ -5,6 +5,6 @@
5
6
#include "rrd2json.h"
7
8
-extern void rrdset2json(RRDSET *st, BUFFER *wb, size_t *dimensions_count, size_t *memory_used, int skip_volatile);
8
+void rrdset2json(RRDSET *st, BUFFER *wb, size_t *dimensions_count, size_t *memory_used, int skip_volatile);
9
10
#endif //NETDATA_API_FORMATTER_RRDSET2JSON_H
web/api/formatters/ssv/ssv.h
+1
-1
@@ -5,6 +5,6 @@
5
6
#include "../rrd2json.h"
7
8
-extern void rrdr2ssv(RRDR *r, BUFFER *wb, RRDR_OPTIONS options, const char *prefix, const char *separator, const char *suffix, RRDDIM *temp_rd);
8
+void rrdr2ssv(RRDR *r, BUFFER *wb, RRDR_OPTIONS options, const char *prefix, const char *separator, const char *suffix, RRDDIM *temp_rd);
9
10
#endif //NETDATA_API_FORMATTER_SSV_H
web/api/formatters/value/value.h
+1
-1
@@ -5,6 +5,6 @@
5
6
#include "../rrd2json.h"
7
8
-extern NETDATA_DOUBLE rrdr2value(RRDR *r, long i, RRDR_OPTIONS options, int *all_values_are_null, NETDATA_DOUBLE *anomaly_rate, RRDDIM *temp_rd);
8
+NETDATA_DOUBLE rrdr2value(RRDR *r, long i, RRDR_OPTIONS options, int *all_values_are_null, NETDATA_DOUBLE *anomaly_rate, RRDDIM *temp_rd);
9
10
#endif //NETDATA_API_FORMATTER_VALUE_H
web/api/health/health_cmdapi.h
+1
-1
@@ -24,7 +24,7 @@
24
#define HEALTH_CMDAPI_MSG_STYPEWARNING "WARNING: Added alarm selector to silence/disable alarms without a SILENCE or DISABLE command.\n"
25
#define HEALTH_CMDAPI_MSG_NOSELECTORWARNING "WARNING: SILENCE or DISABLE command is ineffective without defining any alarm selectors.\n"
26
27
-extern int web_client_api_request_v1_mgmt_health(RRDHOST *host, struct web_client *w, char *url);
27
+int web_client_api_request_v1_mgmt_health(RRDHOST *host, struct web_client *w, char *url);
28
29
#include "web/api/web_api_v1.h"
30
web/api/queries/average/average.h
+5
-5
@@ -6,10 +6,10 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_create_average(RRDR *r, const char *options __maybe_unused);
10
-extern void grouping_reset_average(RRDR *r);
11
-extern void grouping_free_average(RRDR *r);
12
-extern void grouping_add_average(RRDR *r, NETDATA_DOUBLE value);
13
-extern NETDATA_DOUBLE grouping_flush_average(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
9
+void grouping_create_average(RRDR *r, const char *options __maybe_unused);
10
+void grouping_reset_average(RRDR *r);
11
+void grouping_free_average(RRDR *r);
12
+void grouping_add_average(RRDR *r, NETDATA_DOUBLE value);
13
+NETDATA_DOUBLE grouping_flush_average(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
14
15
#endif //NETDATA_API_QUERY_AVERAGE_H
web/api/queries/countif/countif.h
+5
-5
@@ -6,10 +6,10 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_create_countif(RRDR *r, const char *options __maybe_unused);
10
-extern void grouping_reset_countif(RRDR *r);
11
-extern void grouping_free_countif(RRDR *r);
12
-extern void grouping_add_countif(RRDR *r, NETDATA_DOUBLE value);
13
-extern NETDATA_DOUBLE grouping_flush_countif(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
9
+void grouping_create_countif(RRDR *r, const char *options __maybe_unused);
10
+void grouping_reset_countif(RRDR *r);
11
+void grouping_free_countif(RRDR *r);
12
+void grouping_add_countif(RRDR *r, NETDATA_DOUBLE value);
13
+NETDATA_DOUBLE grouping_flush_countif(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
14
15
#endif //NETDATA_API_QUERY_COUNTIF_H
web/api/queries/des/des.h
+6
-6
@@ -6,12 +6,12 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_init_des(void);
9
+void grouping_init_des(void);
10
11
-extern void grouping_create_des(RRDR *r, const char *options __maybe_unused);
12
-extern void grouping_reset_des(RRDR *r);
13
-extern void grouping_free_des(RRDR *r);
14
-extern void grouping_add_des(RRDR *r, NETDATA_DOUBLE value);
15
-extern NETDATA_DOUBLE grouping_flush_des(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
11
+void grouping_create_des(RRDR *r, const char *options __maybe_unused);
12
+void grouping_reset_des(RRDR *r);
13
+void grouping_free_des(RRDR *r);
14
+void grouping_add_des(RRDR *r, NETDATA_DOUBLE value);
15
+NETDATA_DOUBLE grouping_flush_des(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
16
17
#endif //NETDATA_API_QUERIES_DES_H
web/api/queries/incremental_sum/incremental_sum.h
+5
-5
@@ -6,10 +6,10 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_create_incremental_sum(RRDR *r, const char *options __maybe_unused);
10
-extern void grouping_reset_incremental_sum(RRDR *r);
11
-extern void grouping_free_incremental_sum(RRDR *r);
12
-extern void grouping_add_incremental_sum(RRDR *r, NETDATA_DOUBLE value);
13
-extern NETDATA_DOUBLE grouping_flush_incremental_sum(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
9
+void grouping_create_incremental_sum(RRDR *r, const char *options __maybe_unused);
10
+void grouping_reset_incremental_sum(RRDR *r);
11
+void grouping_free_incremental_sum(RRDR *r);
12
+void grouping_add_incremental_sum(RRDR *r, NETDATA_DOUBLE value);
13
+NETDATA_DOUBLE grouping_flush_incremental_sum(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
14
15
#endif //NETDATA_API_QUERY_INCREMENTAL_SUM_H
web/api/queries/max/max.h
+5
-5
@@ -6,10 +6,10 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_create_max(RRDR *r, const char *options __maybe_unused);
10
-extern void grouping_reset_max(RRDR *r);
11
-extern void grouping_free_max(RRDR *r);
12
-extern void grouping_add_max(RRDR *r, NETDATA_DOUBLE value);
13
-extern NETDATA_DOUBLE grouping_flush_max(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
9
+void grouping_create_max(RRDR *r, const char *options __maybe_unused);
10
+void grouping_reset_max(RRDR *r);
11
+void grouping_free_max(RRDR *r);
12
+void grouping_add_max(RRDR *r, NETDATA_DOUBLE value);
13
+NETDATA_DOUBLE grouping_flush_max(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
14
15
#endif //NETDATA_API_QUERY_MAX_H
web/api/queries/median/median.h
+13
-13
@@ -6,18 +6,18 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_create_median(RRDR *r, const char *options);
10
-extern void grouping_create_trimmed_median1(RRDR *r, const char *options);
11
-extern void grouping_create_trimmed_median2(RRDR *r, const char *options);
12
-extern void grouping_create_trimmed_median3(RRDR *r, const char *options);
13
-extern void grouping_create_trimmed_median5(RRDR *r, const char *options);
14
-extern void grouping_create_trimmed_median10(RRDR *r, const char *options);
15
-extern void grouping_create_trimmed_median15(RRDR *r, const char *options);
16
-extern void grouping_create_trimmed_median20(RRDR *r, const char *options);
17
-extern void grouping_create_trimmed_median25(RRDR *r, const char *options);
18
-extern void grouping_reset_median(RRDR *r);
19
-extern void grouping_free_median(RRDR *r);
20
-extern void grouping_add_median(RRDR *r, NETDATA_DOUBLE value);
21
-extern NETDATA_DOUBLE grouping_flush_median(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
9
+void grouping_create_median(RRDR *r, const char *options);
10
+void grouping_create_trimmed_median1(RRDR *r, const char *options);
11
+void grouping_create_trimmed_median2(RRDR *r, const char *options);
12
+void grouping_create_trimmed_median3(RRDR *r, const char *options);
13
+void grouping_create_trimmed_median5(RRDR *r, const char *options);
14
+void grouping_create_trimmed_median10(RRDR *r, const char *options);
15
+void grouping_create_trimmed_median15(RRDR *r, const char *options);
16
+void grouping_create_trimmed_median20(RRDR *r, const char *options);
17
+void grouping_create_trimmed_median25(RRDR *r, const char *options);
18
+void grouping_reset_median(RRDR *r);
19
+void grouping_free_median(RRDR *r);
20
+void grouping_add_median(RRDR *r, NETDATA_DOUBLE value);
21
+NETDATA_DOUBLE grouping_flush_median(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
22
23
#endif //NETDATA_API_QUERIES_MEDIAN_H
web/api/queries/min/min.h
+5
-5
@@ -6,10 +6,10 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_create_min(RRDR *r, const char *options __maybe_unused);
10
-extern void grouping_reset_min(RRDR *r);
11
-extern void grouping_free_min(RRDR *r);
12
-extern void grouping_add_min(RRDR *r, NETDATA_DOUBLE value);
13
-extern NETDATA_DOUBLE grouping_flush_min(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
9
+void grouping_create_min(RRDR *r, const char *options __maybe_unused);
10
+void grouping_reset_min(RRDR *r);
11
+void grouping_free_min(RRDR *r);
12
+void grouping_add_min(RRDR *r, NETDATA_DOUBLE value);
13
+NETDATA_DOUBLE grouping_flush_min(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
14
15
#endif //NETDATA_API_QUERY_MIN_H
web/api/queries/percentile/percentile.h
+13
-13
@@ -6,18 +6,18 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_create_percentile25(RRDR *r, const char *options);
10
-extern void grouping_create_percentile50(RRDR *r, const char *options);
11
-extern void grouping_create_percentile75(RRDR *r, const char *options);
12
-extern void grouping_create_percentile80(RRDR *r, const char *options);
13
-extern void grouping_create_percentile90(RRDR *r, const char *options);
14
-extern void grouping_create_percentile95(RRDR *r, const char *options);
15
-extern void grouping_create_percentile97(RRDR *r, const char *options);
16
-extern void grouping_create_percentile98(RRDR *r, const char *options);
17
-extern void grouping_create_percentile99(RRDR *r, const char *options );
18
-extern void grouping_reset_percentile(RRDR *r);
19
-extern void grouping_free_percentile(RRDR *r);
20
-extern void grouping_add_percentile(RRDR *r, NETDATA_DOUBLE value);
21
-extern NETDATA_DOUBLE grouping_flush_percentile(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
9
+void grouping_create_percentile25(RRDR *r, const char *options);
10
+void grouping_create_percentile50(RRDR *r, const char *options);
11
+void grouping_create_percentile75(RRDR *r, const char *options);
12
+void grouping_create_percentile80(RRDR *r, const char *options);
13
+void grouping_create_percentile90(RRDR *r, const char *options);
14
+void grouping_create_percentile95(RRDR *r, const char *options);
15
+void grouping_create_percentile97(RRDR *r, const char *options);
16
+void grouping_create_percentile98(RRDR *r, const char *options);
17
+void grouping_create_percentile99(RRDR *r, const char *options );
18
+void grouping_reset_percentile(RRDR *r);
19
+void grouping_free_percentile(RRDR *r);
20
+void grouping_add_percentile(RRDR *r, NETDATA_DOUBLE value);
21
+NETDATA_DOUBLE grouping_flush_percentile(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
22
23
#endif //NETDATA_API_QUERIES_PERCENTILE_H
web/api/queries/query.h
+4
-4
@@ -47,10 +47,10 @@ typedef enum rrdr_grouping {
47
RRDR_GROUPING_COUNTIF,
48
} RRDR_GROUPING;
49
50
-extern const char *group_method2string(RRDR_GROUPING group);
51
-extern void web_client_api_v1_init_grouping(void);
52
-extern RRDR_GROUPING web_client_api_request_v1_data_group(const char *name, RRDR_GROUPING def);
53
-extern const char *web_client_api_request_v1_data_group_to_string(RRDR_GROUPING group);
50
+const char *group_method2string(RRDR_GROUPING group);
51
+void web_client_api_v1_init_grouping(void);
52
+RRDR_GROUPING web_client_api_request_v1_data_group(const char *name, RRDR_GROUPING def);
53
+const char *web_client_api_request_v1_data_group_to_string(RRDR_GROUPING group);
54
55
#ifdef __cplusplus
56
}
web/api/queries/rrdr.h
+5
-5
@@ -128,20 +128,20 @@ typedef struct rrdresult {
128
#define rrdr_rows(r) ((r)->rows)
129
130
#include "database/rrd.h"
131
-extern void rrdr_free(ONEWAYALLOC *owa, RRDR *r);
132
-extern RRDR *rrdr_create(ONEWAYALLOC *owa, struct rrdset *st, long n, struct context_param *context_param_list);
133
-extern RRDR *rrdr_create_for_x_dimensions(ONEWAYALLOC *owa, int dimensions, long points);
131
+void rrdr_free(ONEWAYALLOC *owa, RRDR *r);
132
+RRDR *rrdr_create(ONEWAYALLOC *owa, struct rrdset *st, long n, struct context_param *context_param_list);
133
+RRDR *rrdr_create_for_x_dimensions(ONEWAYALLOC *owa, int dimensions, long points);
134
135
#include "../web_api_v1.h"
136
#include "web/api/queries/query.h"
137
138
-extern RRDR *rrd2rrdr(
138
+RRDR *rrd2rrdr(
139
ONEWAYALLOC *owa,
140
RRDSET *st, long points_wanted, long long after_wanted, long long before_wanted,
141
RRDR_GROUPING group_method, long resampling_time_requested, RRDR_OPTIONS options, const char *dimensions,
142
struct context_param *context_param_list, const char *group_options, int timeout, int tier);
143
144
-extern int rrdr_relative_window_to_absolute(long long *after, long long *before);
144
+int rrdr_relative_window_to_absolute(long long *after, long long *before);
145
146
#ifdef __cplusplus
147
}
web/api/queries/ses/ses.h
+6
-6
@@ -6,12 +6,12 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_init_ses(void);
9
+void grouping_init_ses(void);
10
11
-extern void grouping_create_ses(RRDR *r, const char *options __maybe_unused);
12
-extern void grouping_reset_ses(RRDR *r);
13
-extern void grouping_free_ses(RRDR *r);
14
-extern void grouping_add_ses(RRDR *r, NETDATA_DOUBLE value);
15
-extern NETDATA_DOUBLE grouping_flush_ses(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
11
+void grouping_create_ses(RRDR *r, const char *options __maybe_unused);
12
+void grouping_reset_ses(RRDR *r);
13
+void grouping_free_ses(RRDR *r);
14
+void grouping_add_ses(RRDR *r, NETDATA_DOUBLE value);
15
+NETDATA_DOUBLE grouping_flush_ses(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
16
17
#endif //NETDATA_API_QUERIES_SES_H
web/api/queries/stddev/stddev.h
+8
-8
@@ -6,13 +6,13 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_create_stddev(RRDR *r, const char *options __maybe_unused);
10
-extern void grouping_reset_stddev(RRDR *r);
11
-extern void grouping_free_stddev(RRDR *r);
12
-extern void grouping_add_stddev(RRDR *r, NETDATA_DOUBLE value);
13
-extern NETDATA_DOUBLE grouping_flush_stddev(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
14
-extern NETDATA_DOUBLE grouping_flush_coefficient_of_variation(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
15
-// extern NETDATA_DOUBLE grouping_flush_mean(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
16
-// extern NETDATA_DOUBLE grouping_flush_variance(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
9
+void grouping_create_stddev(RRDR *r, const char *options __maybe_unused);
10
+void grouping_reset_stddev(RRDR *r);
11
+void grouping_free_stddev(RRDR *r);
12
+void grouping_add_stddev(RRDR *r, NETDATA_DOUBLE value);
13
+NETDATA_DOUBLE grouping_flush_stddev(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
14
+NETDATA_DOUBLE grouping_flush_coefficient_of_variation(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
15
+// NETDATA_DOUBLE grouping_flush_mean(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
16
+// NETDATA_DOUBLE grouping_flush_variance(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
17
18
#endif //NETDATA_API_QUERIES_STDDEV_H
web/api/queries/sum/sum.h
+5
-5
@@ -6,10 +6,10 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_create_sum(RRDR *r, const char *options __maybe_unused);
10
-extern void grouping_reset_sum(RRDR *r);
11
-extern void grouping_free_sum(RRDR *r);
12
-extern void grouping_add_sum(RRDR *r, NETDATA_DOUBLE value);
13
-extern NETDATA_DOUBLE grouping_flush_sum(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
9
+void grouping_create_sum(RRDR *r, const char *options __maybe_unused);
10
+void grouping_reset_sum(RRDR *r);
11
+void grouping_free_sum(RRDR *r);
12
+void grouping_add_sum(RRDR *r, NETDATA_DOUBLE value);
13
+NETDATA_DOUBLE grouping_flush_sum(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
14
15
#endif //NETDATA_API_QUERY_SUM_H
web/api/queries/trimmed_mean/trimmed_mean.h
+12
-12
@@ -6,17 +6,17 @@
6
#include "../query.h"
7
#include "../rrdr.h"
8
9
-extern void grouping_create_trimmed_mean1(RRDR *r, const char *options);
10
-extern void grouping_create_trimmed_mean2(RRDR *r, const char *options);
11
-extern void grouping_create_trimmed_mean3(RRDR *r, const char *options);
12
-extern void grouping_create_trimmed_mean5(RRDR *r, const char *options);
13
-extern void grouping_create_trimmed_mean10(RRDR *r, const char *options);
14
-extern void grouping_create_trimmed_mean15(RRDR *r, const char *options);
15
-extern void grouping_create_trimmed_mean20(RRDR *r, const char *options);
16
-extern void grouping_create_trimmed_mean25(RRDR *r, const char *options);
17
-extern void grouping_reset_trimmed_mean(RRDR *r);
18
-extern void grouping_free_trimmed_mean(RRDR *r);
19
-extern void grouping_add_trimmed_mean(RRDR *r, NETDATA_DOUBLE value);
20
-extern NETDATA_DOUBLE grouping_flush_trimmed_mean(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
9
+void grouping_create_trimmed_mean1(RRDR *r, const char *options);
10
+void grouping_create_trimmed_mean2(RRDR *r, const char *options);
11
+void grouping_create_trimmed_mean3(RRDR *r, const char *options);
12
+void grouping_create_trimmed_mean5(RRDR *r, const char *options);
13
+void grouping_create_trimmed_mean10(RRDR *r, const char *options);
14
+void grouping_create_trimmed_mean15(RRDR *r, const char *options);
15
+void grouping_create_trimmed_mean20(RRDR *r, const char *options);
16
+void grouping_create_trimmed_mean25(RRDR *r, const char *options);
17
+void grouping_reset_trimmed_mean(RRDR *r);
18
+void grouping_free_trimmed_mean(RRDR *r);
19
+void grouping_add_trimmed_mean(RRDR *r, NETDATA_DOUBLE value);
20
+NETDATA_DOUBLE grouping_flush_trimmed_mean(RRDR *r, RRDR_VALUE_FLAGS *rrdr_value_options_ptr);
21
22
#endif //NETDATA_API_QUERIES_TRIMMED_MEAN_H
web/api/queries/weights.h
+4
-4
@@ -20,14 +20,14 @@ extern int enable_metric_correlations;
20
extern int metric_correlations_version;
21
extern WEIGHTS_METHOD default_metric_correlations_method;
22
23
-extern int web_api_v1_weights (RRDHOST *host, BUFFER *wb, WEIGHTS_METHOD method, WEIGHTS_FORMAT format,
23
+int web_api_v1_weights (RRDHOST *host, BUFFER *wb, WEIGHTS_METHOD method, WEIGHTS_FORMAT format,
24
RRDR_GROUPING group, const char *group_options,
25
long long baseline_after, long long baseline_before,
26
long long after, long long before,
27
long long points, RRDR_OPTIONS options, SIMPLE_PATTERN *contexts, int tier, int timeout);
28
29
-extern WEIGHTS_METHOD weights_string_to_method(const char *method);
30
-extern const char *weights_method_to_string(WEIGHTS_METHOD method);
31
-extern int mc_unittest(void);
29
+WEIGHTS_METHOD weights_string_to_method(const char *method);
30
+const char *weights_method_to_string(WEIGHTS_METHOD method);
31
+int mc_unittest(void);
32
33
#endif //NETDATA_API_WEIGHTS_H
web/api/web_api_v1.h
+24
-24
@@ -10,30 +10,30 @@
10
#include "web/api/queries/weights.h"
11
12
#define MAX_CHART_LABELS_FILTER (32)
13
-extern RRDR_OPTIONS web_client_api_request_v1_data_options(char *o);
14
-extern void web_client_api_request_v1_data_options_to_string(BUFFER *wb, RRDR_OPTIONS options);
15
-
16
-extern uint32_t web_client_api_request_v1_data_format(char *name);
17
-extern uint32_t web_client_api_request_v1_data_google_format(char *name);
18
-
19
-extern int web_client_api_request_v1_alarms(RRDHOST *host, struct web_client *w, char *url);
20
-extern int web_client_api_request_v1_alarms_values(RRDHOST *host, struct web_client *w, char *url);
21
-extern int web_client_api_request_v1_alarm_log(RRDHOST *host, struct web_client *w, char *url);
22
-extern int web_client_api_request_single_chart(RRDHOST *host, struct web_client *w, char *url, void callback(RRDSET *st, BUFFER *buf));
23
-extern int web_client_api_request_v1_alarm_variables(RRDHOST *host, struct web_client *w, char *url);
24
-extern int web_client_api_request_v1_alarm_count(RRDHOST *host, struct web_client *w, char *url);
25
-extern int web_client_api_request_v1_charts(RRDHOST *host, struct web_client *w, char *url);
26
-extern int web_client_api_request_v1_archivedcharts(RRDHOST *host, struct web_client *w, char *url);
27
-extern int web_client_api_request_v1_chart(RRDHOST *host, struct web_client *w, char *url);
28
-extern int web_client_api_request_v1_data(RRDHOST *host, struct web_client *w, char *url);
29
-extern int web_client_api_request_v1_registry(RRDHOST *host, struct web_client *w, char *url);
30
-extern int web_client_api_request_v1_info(RRDHOST *host, struct web_client *w, char *url);
31
-extern int web_client_api_request_v1(RRDHOST *host, struct web_client *w, char *url);
32
-extern int web_client_api_request_v1_info_fill_buffer(RRDHOST *host, BUFFER *wb);
33
-extern void host_labels2json(RRDHOST *host, BUFFER *wb, size_t indentation);
34
-
35
-extern void web_client_api_v1_init(void);
36
-extern void web_client_api_v1_management_init(void);
13
+RRDR_OPTIONS web_client_api_request_v1_data_options(char *o);
14
+void web_client_api_request_v1_data_options_to_string(BUFFER *wb, RRDR_OPTIONS options);
15
+
16
+uint32_t web_client_api_request_v1_data_format(char *name);
17
+uint32_t web_client_api_request_v1_data_google_format(char *name);
18
+
19
+int web_client_api_request_v1_alarms(RRDHOST *host, struct web_client *w, char *url);
20
+int web_client_api_request_v1_alarms_values(RRDHOST *host, struct web_client *w, char *url);
21
+int web_client_api_request_v1_alarm_log(RRDHOST *host, struct web_client *w, char *url);
22
+int web_client_api_request_single_chart(RRDHOST *host, struct web_client *w, char *url, void callback(RRDSET *st, BUFFER *buf));
23
+int web_client_api_request_v1_alarm_variables(RRDHOST *host, struct web_client *w, char *url);
24
+int web_client_api_request_v1_alarm_count(RRDHOST *host, struct web_client *w, char *url);
25
+int web_client_api_request_v1_charts(RRDHOST *host, struct web_client *w, char *url);
26
+int web_client_api_request_v1_archivedcharts(RRDHOST *host, struct web_client *w, char *url);
27
+int web_client_api_request_v1_chart(RRDHOST *host, struct web_client *w, char *url);
28
+int web_client_api_request_v1_data(RRDHOST *host, struct web_client *w, char *url);
29
+int web_client_api_request_v1_registry(RRDHOST *host, struct web_client *w, char *url);
30
+int web_client_api_request_v1_info(RRDHOST *host, struct web_client *w, char *url);
31
+int web_client_api_request_v1(RRDHOST *host, struct web_client *w, char *url);
32
+int web_client_api_request_v1_info_fill_buffer(RRDHOST *host, BUFFER *wb);
33
+void host_labels2json(RRDHOST *host, BUFFER *wb, size_t indentation);
34
+
35
+void web_client_api_v1_init(void);
36
+void web_client_api_v1_management_init(void);
37
38
extern char *api_secret;
39
web/server/static/static-threaded.h
+1
-1
@@ -5,6 +5,6 @@
5
6
#include "web/server/web_server.h"
7
8
-extern void *socket_listen_main_static_threaded(void *ptr);
8
+void *socket_listen_main_static_threaded(void *ptr);
9
10
#endif //NETDATA_WEB_SERVER_STATIC_THREADED_H
web/server/web_client.h
+10
-10
@@ -190,21 +190,21 @@ struct web_client {
190
#endif
191
};
192
193
-extern int web_client_permission_denied(struct web_client *w);
193
+int web_client_permission_denied(struct web_client *w);
194
195
-extern ssize_t web_client_send(struct web_client *w);
196
-extern ssize_t web_client_receive(struct web_client *w);
197
-extern ssize_t web_client_read_file(struct web_client *w);
195
+ssize_t web_client_send(struct web_client *w);
196
+ssize_t web_client_receive(struct web_client *w);
197
+ssize_t web_client_read_file(struct web_client *w);
198
199
-extern void web_client_process_request(struct web_client *w);
200
-extern void web_client_request_done(struct web_client *w);
199
+void web_client_process_request(struct web_client *w);
200
+void web_client_request_done(struct web_client *w);
201
202
-extern void buffer_data_options2string(BUFFER *wb, uint32_t options);
202
+void buffer_data_options2string(BUFFER *wb, uint32_t options);
203
204
-extern int mysendfile(struct web_client *w, char *filename);
204
+int mysendfile(struct web_client *w, char *filename);
205
206
-extern void web_client_build_http_header(struct web_client *w);
207
-extern char *strip_control_characters(char *url);
206
+void web_client_build_http_header(struct web_client *w);
207
+char *strip_control_characters(char *url);
208
209
#include "daemon/common.h"
210
web/server/web_client_cache.h
+4
-4
@@ -21,10 +21,10 @@ struct clients_cache {
21
22
extern __thread struct clients_cache web_clients_cache;
23
24
-extern void web_client_release(struct web_client *w);
25
-extern struct web_client *web_client_get_from_cache_or_allocate();
26
-extern void web_client_cache_destroy(void);
27
-extern void web_client_cache_verify(int force);
24
+void web_client_release(struct web_client *w);
25
+struct web_client *web_client_get_from_cache_or_allocate();
26
+void web_client_cache_destroy(void);
27
+void web_client_cache_verify(int force);
28
29
#include "web_server.h"
30
web/server/web_server.h
+7
-7
@@ -36,10 +36,10 @@ extern int web_allow_mgmt_dns;
36
37
extern WEB_SERVER_MODE web_server_mode;
38
39
-extern WEB_SERVER_MODE web_server_mode_id(const char *mode);
40
-extern const char *web_server_mode_name(WEB_SERVER_MODE id);
39
+WEB_SERVER_MODE web_server_mode_id(const char *mode);
40
+const char *web_server_mode_name(WEB_SERVER_MODE id);
41
42
-extern void api_listen_sockets_setup(void);
42
+void api_listen_sockets_setup(void);
43
44
#define DEFAULT_TIMEOUT_TO_RECEIVE_FIRST_WEB_REQUEST 60
45
#define DEFAULT_DISCONNECT_IDLE_WEB_CLIENTS_AFTER_SECONDS 60
@@ -49,10 +49,10 @@ extern long web_client_streaming_rate_t;
49
50
#ifdef WEB_SERVER_INTERNALS
51
extern LISTEN_SOCKETS api_sockets;
52
-extern void web_client_update_acl_matches(struct web_client *w);
53
-extern void web_server_log_connection(struct web_client *w, const char *msg);
54
-extern void web_client_initialize_connection(struct web_client *w);
55
-extern struct web_client *web_client_create_on_listenfd(int listener);
52
+void web_client_update_acl_matches(struct web_client *w);
53
+void web_server_log_connection(struct web_client *w, const char *msg);
54
+void web_client_initialize_connection(struct web_client *w);
55
+struct web_client *web_client_create_on_listenfd(int listener);
56
57
#include "web_client_cache.h"
58
#endif // WEB_SERVER_INTERNALS