aboutsummaryrefslogtreecommitdiff
path: root/commands/freebsd/_freebsd.sh
diff options
context:
space:
mode:
Diffstat (limited to 'commands/freebsd/_freebsd.sh')
-rw-r--r--commands/freebsd/_freebsd.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/commands/freebsd/_freebsd.sh b/commands/freebsd/_freebsd.sh
new file mode 100644
index 0000000..76871f7
--- /dev/null
+++ b/commands/freebsd/_freebsd.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+freebsd() {
+ if [ ! "$(os_get "id")" = "freebsd" ]; then exit 1; fi
+}
+
+freebsd_ensure() {
+ _os_type=os_get "id"
+ if [ ! "${_os_type}" = "freebsd" ]; then
+ _execution_error error=unsupported_operating_system expected_os_type="freebsd" os_type="${_os_type}"
+ fi
+}
+
+freebsd_ensure_kernel_module_loaded() {
+ _kmod="${1}"
+ if [ -z "${_kmod}" ]; then _execution_error function=freebsd_ensure_kernel_module_loaded error=missing_argument arg=kmod; fi
+ if ! kldstat -q -m "${_kmod}" > /dev/null 2>&1; then
+ _execution_error error=missing_dependency dependency=kernel_module kernel_module="${_kmod}"
+ fi
+}
+