diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2022-02-28 14:23:56 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-28 14:23:56 +0000 |
| commit | dd9843aa2102ba2df42e04d86680e03a27fa45f8 (patch) | |
| tree | f48570df88dd42730bbd9f545eab89c352550aa8 /src/bug_report.cpp | |
| parent | 3c72cb67d3f031a71152aadc480f5838d1833228 (diff) | |
| parent | 04297bb68034196a212b040990bdeb4dc006c340 (diff) | |
Merge pull request #1557 from semarie/openbsd-support
initial OpenBSD support
Diffstat (limited to 'src/bug_report.cpp')
| -rw-r--r-- | src/bug_report.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/bug_report.cpp b/src/bug_report.cpp index 4dd251f24..02a2b1ba2 100644 --- a/src/bug_report.cpp +++ b/src/bug_report.cpp @@ -17,6 +17,11 @@ #include <sys/sysctl.h>
#endif
+#if defined(GB_SYSTEM_OPENBSD)
+ #include <sys/sysctl.h>
+ #include <sys/utsname.h>
+#endif
+
/*
NOTE(Jeroen): This prints the Windows product edition only, to be called from `print_platform_details`.
*/
@@ -242,6 +247,14 @@ void report_ram_info() { if (sysctl(sysctls, 2, &ram_amount, &val_size, NULL, 0) != -1) {
gb_printf("%lld MiB\n", ram_amount / gb_megabytes(1));
}
+ #elif defined(GB_SYSTEM_OPENBSD)
+ uint64_t ram_amount;
+ size_t val_size = sizeof(ram_amount);
+
+ int sysctls[] = { CTL_HW, HW_PHYSMEM64 };
+ if (sysctl(sysctls, 2, &ram_amount, &val_size, NULL, 0) != -1) {
+ gb_printf("%lld MiB\n", ram_amount / gb_megabytes(1));
+ }
#else
gb_printf("Unknown.\n");
#endif
@@ -643,6 +656,14 @@ void print_bug_report_help() { } else {
gb_printf("macOS: Unknown\n");
}
+ #elif defined(GB_SYSTEM_OPENBSD)
+ struct utsname un;
+
+ if (uname(&un) != -1) {
+ gb_printf("%s %s %s %s\n", un.sysname, un.release, un.version, un.machine);
+ } else {
+ gb_printf("OpenBSD: Unknown\n");
+ }
#else
gb_printf("Unknown\n");
@@ -657,4 +678,4 @@ void print_bug_report_help() { And RAM info.
*/
report_ram_info();
-}
\ No newline at end of file +}
|