Fix compilation errors for FreeBSD 12.0
Vladimir Kobal committed
Oct 12, 2017 at 16:04 UTC
527c1afc2bd8f558492572d5d3f63696390e02e1
2 files changed
+73
src/apps_plugin.c
+8
@@ -1572,14 +1572,22 @@ static inline int read_pid_file_descriptors(struct pid_stat *p, void *ptr) {
1572
break;
1573
default:
1574
/* print protocol number and socket address */
1575
+#if __FreeBSD_version < 1200031
1576
sprintf(fdsname, "socket: other: %d %s %s", fds->kf_sock_protocol, fds->kf_sa_local.__ss_pad1, fds->kf_sa_local.__ss_pad2);
1577
+#else
1578
+ sprintf(fdsname, "socket: other: %d %s %s", fds->kf_sock_protocol, fds->kf_un.kf_sock.kf_sa_local.__ss_pad1, fds->kf_un.kf_sock.kf_sa_local.__ss_pad2);
1579
+#endif
1580
}
1581
break;
1582
case KF_TYPE_PIPE:
1583
sprintf(fdsname, "pipe: %lu %lu", fds->kf_un.kf_pipe.kf_pipe_addr, fds->kf_un.kf_pipe.kf_pipe_peer);
1584
break;
1585
case KF_TYPE_PTS:
1586
+#if __FreeBSD_version < 1200031
1587
sprintf(fdsname, "other: pts: %u", fds->kf_un.kf_pts.kf_pts_dev);
1588
+#else
1589
+ sprintf(fdsname, "other: pts: %lu", fds->kf_un.kf_pts.kf_pts_dev);
1590
+#endif
1591
break;
1592
case KF_TYPE_SHM:
1593
sprintf(fdsname, "other: shm: %s size: %lu", fds->kf_path, fds->kf_un.kf_file.kf_file_size);
src/freebsd_sysctl.c
+65
@@ -27,6 +27,59 @@
27
28
int system_pagesize = PAGE_SIZE;
29
int number_of_cpus = 1;
30
+#if __FreeBSD_version >= 1200029
31
+struct __vmmeter {
32
+ uint64_t v_swtch;
33
+ uint64_t v_trap;
34
+ uint64_t v_syscall;
35
+ uint64_t v_intr;
36
+ uint64_t v_soft;
37
+ uint64_t v_vm_faults;
38
+ uint64_t v_io_faults;
39
+ uint64_t v_cow_faults;
40
+ uint64_t v_cow_optim;
41
+ uint64_t v_zfod;
42
+ uint64_t v_ozfod;
43
+ uint64_t v_swapin;
44
+ uint64_t v_swapout;
45
+ uint64_t v_swappgsin;
46
+ uint64_t v_swappgsout;
47
+ uint64_t v_vnodein;
48
+ uint64_t v_vnodeout;
49
+ uint64_t v_vnodepgsin;
50
+ uint64_t v_vnodepgsout;
51
+ uint64_t v_intrans;
52
+ uint64_t v_reactivated;
53
+ uint64_t v_pdwakeups;
54
+ uint64_t v_pdpages;
55
+ uint64_t v_pdshortfalls;
56
+ uint64_t v_dfree;
57
+ uint64_t v_pfree;
58
+ uint64_t v_tfree;
59
+ uint64_t v_forks;
60
+ uint64_t v_vforks;
61
+ uint64_t v_rforks;
62
+ uint64_t v_kthreads;
63
+ uint64_t v_forkpages;
64
+ uint64_t v_vforkpages;
65
+ uint64_t v_rforkpages;
66
+ uint64_t v_kthreadpages;
67
+ u_int v_page_size;
68
+ u_int v_page_count;
69
+ u_int v_free_reserved;
70
+ u_int v_free_target;
71
+ u_int v_free_min;
72
+ u_int v_free_count;
73
+ u_int v_wire_count;
74
+ u_int v_active_count;
75
+ u_int v_inactive_target;
76
+ u_int v_inactive_count;
77
+ u_int v_laundry_count;
78
+ u_int v_pageout_free_min;
79
+ u_int v_interrupt_free_min;
80
+ u_int v_free_severe;
81
+};
82
+#endif
83
84
// --------------------------------------------------------------------------------------------------------------------
85
// FreeBSD plugin initialization
@@ -856,7 +909,11 @@ int do_system_ram(int update_every, usec_t dt) {
909
(void)dt;
910
static int mib_active_count[4] = {0, 0, 0, 0}, mib_inactive_count[4] = {0, 0, 0, 0}, mib_wire_count[4] = {0, 0, 0, 0},
911
mib_cache_count[4] = {0, 0, 0, 0}, mib_vfs_bufspace[2] = {0, 0}, mib_free_count[4] = {0, 0, 0, 0};
912
+#if __FreeBSD_version < 1200029
913
struct vmmeter vmmeter_data;
914
+#else
915
+ struct __vmmeter vmmeter_data;
916
+#endif
917
int vfs_bufspace_count;
918
919
if (unlikely(GETSYSCTL_SIMPLE("vm.stats.vm.v_active_count", mib_active_count, vmmeter_data.v_active_count) ||
@@ -923,7 +980,11 @@ int do_system_ram(int update_every, usec_t dt) {
980
int do_vm_stats_sys_v_swappgs(int update_every, usec_t dt) {
981
(void)dt;
982
static int mib_swappgsin[4] = {0, 0, 0, 0}, mib_swappgsout[4] = {0, 0, 0, 0};
983
+#if __FreeBSD_version < 1200029
984
struct vmmeter vmmeter_data;
985
+#else
986
+ struct __vmmeter vmmeter_data;
987
+#endif
988
989
if (unlikely(GETSYSCTL_SIMPLE("vm.stats.vm.v_swappgsin", mib_swappgsin, vmmeter_data.v_swappgsin) ||
990
GETSYSCTL_SIMPLE("vm.stats.vm.v_swappgsout", mib_swappgsout, vmmeter_data.v_swappgsout))) {
@@ -970,7 +1031,11 @@ int do_vm_stats_sys_v_pgfaults(int update_every, usec_t dt) {
1031
(void)dt;
1032
static int mib_vm_faults[4] = {0, 0, 0, 0}, mib_io_faults[4] = {0, 0, 0, 0}, mib_cow_faults[4] = {0, 0, 0, 0},
1033
mib_cow_optim[4] = {0, 0, 0, 0}, mib_intrans[4] = {0, 0, 0, 0};
1034
+#if __FreeBSD_version < 1200029
1035
struct vmmeter vmmeter_data;
1036
+#else
1037
+ struct __vmmeter vmmeter_data;
1038
+#endif
1039
1040
if (unlikely(GETSYSCTL_SIMPLE("vm.stats.vm.v_vm_faults", mib_vm_faults, vmmeter_data.v_vm_faults) ||
1041
GETSYSCTL_SIMPLE("vm.stats.vm.v_io_faults", mib_io_faults, vmmeter_data.v_io_faults) ||