Round 322: Sysctl ext, Procfs ext, Sysfs ext, Devtmpfs ext, Udevadm ext (20 commands)
ober
5450c3b3db127c59e625fe81f5b2ede5a05ddb60
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 322 — Sysctl ext, Procfs ext, Sysfs ext, Devtmpfs ext, Udevadm ext + +| Feature | Status | Notes | +|---------|--------|-------| +| `sysctl-show` | :orange_circle: | Show sysctl parameter | +| `sysctl-all` | :orange_circle: | Show all parameters | +| `sysctl-pattern` | :orange_circle: | Match parameters by pattern | +| `sysctl-search` | :orange_circle: | Search parameters | +| `procfs-meminfo` | :orange_circle: | Show /proc/meminfo | +| `procfs-cpuinfo` | :orange_circle: | Show /proc/cpuinfo | +| `procfs-loadavg` | :orange_circle: | Show /proc/loadavg | +| `procfs-mounts` | :orange_circle: | Show /proc/mounts | +| `sysfs-list` | :orange_circle: | List sysfs entries | +| `sysfs-search` | :orange_circle: | Search sysfs attributes | +| `sysfs-attribute` | :orange_circle: | Read sysfs attribute | +| `sysfs-driver` | :orange_circle: | Show driver info | +| `devtmpfs-list` | :orange_circle: | List /dev entries | +| `devtmpfs-create` | :orange_circle: | Create device node | +| `devtmpfs-remove` | :orange_circle: | Remove device node | +| `devtmpfs-permissions` | :orange_circle: | Show device permissions | +| `udevadm-info` | :orange_circle: | Show device info | +| `udevadm-trigger` | :orange_circle: | Trigger udev events | +| `udevadm-settle` | :orange_circle: | Wait for queue to settle | +| `udevadm-monitor` | :orange_circle: | Monitor udev events | + ### Round 321 — Kmod ext, Modprobe ext, Dkms ext, Dracut ext, Mkinitcpio ext | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -24105,4 +24105,58 @@ (def (cmd-mkinitcpio-hooks app) (let* ((echo (app-state-echo app))) - (echo-message! echo "Mkinitcpio: showing available hooks"))) \ No newline at end of file + (echo-message! echo "Mkinitcpio: showing available hooks"))) + +;;; Round 322 — Sysfs ext, Devtmpfs ext, Udevadm ext (batch 2) + +(def (cmd-sysfs-attribute app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Device/attribute: " + (lambda (spec) + (echo-message! echo (str "Sysfs: reading attribute " spec)))))) + +(def (cmd-sysfs-driver app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Driver name: " + (lambda (drv) + (echo-message! echo (str "Sysfs: showing driver " drv)))))) + +(def (cmd-devtmpfs-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Devtmpfs: listing /dev entries"))) + +(def (cmd-devtmpfs-create app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Device node: " + (lambda (dev) + (echo-message! echo (str "Devtmpfs: creating " dev)))))) + +(def (cmd-devtmpfs-remove app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Device node: " + (lambda (dev) + (echo-message! echo (str "Devtmpfs: removing " dev)))))) + +(def (cmd-devtmpfs-permissions app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Device node: " + (lambda (dev) + (echo-message! echo (str "Devtmpfs: showing permissions of " dev)))))) + +(def (cmd-udevadm-info app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Device path: " + (lambda (dev) + (echo-message! echo (str "Udevadm: info for " dev)))))) + +(def (cmd-udevadm-trigger app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Udevadm: triggering events"))) + +(def (cmd-udevadm-settle app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Udevadm: waiting for event queue to settle"))) + +(def (cmd-udevadm-monitor app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Udevadm: monitoring events"))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -24800,3 +24800,55 @@ (lambda (dir) (echo-message! echo (str "DKMS: adding " dir)))))) +;;; Round 322 — Sysctl ext, Procfs ext, Sysfs ext, Devtmpfs ext, Udevadm ext (batch 1) + +(def (cmd-sysctl-show app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Parameter: " + (lambda (param) + (echo-message! echo (str "Sysctl: " param " = (value)")))))) + +(def (cmd-sysctl-all app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Sysctl: showing all parameters"))) + +(def (cmd-sysctl-pattern app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Pattern: " + (lambda (pat) + (echo-message! echo (str "Sysctl: matching " pat)))))) + +(def (cmd-sysctl-search app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Search term: " + (lambda (term) + (echo-message! echo (str "Sysctl: searching for " term)))))) + +(def (cmd-procfs-meminfo app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Procfs: showing /proc/meminfo"))) + +(def (cmd-procfs-cpuinfo app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Procfs: showing /proc/cpuinfo"))) + +(def (cmd-procfs-loadavg app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Procfs: showing /proc/loadavg"))) + +(def (cmd-procfs-mounts app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Procfs: showing /proc/mounts"))) + +(def (cmd-sysfs-list app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Sysfs path: " + (lambda (path) + (echo-message! echo (str "Sysfs: listing " path)))))) + +(def (cmd-sysfs-search app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Attribute name: " + (lambda (attr) + (echo-message! echo (str "Sysfs: searching for " attr)))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -8179,4 +8179,25 @@ (register-command! 'mkinitcpio-list cmd-mkinitcpio-list) (register-command! 'mkinitcpio-preset cmd-mkinitcpio-preset) (register-command! 'mkinitcpio-hooks cmd-mkinitcpio-hooks) + ;; Round 322 + (register-command! 'sysctl-show cmd-sysctl-show) + (register-command! 'sysctl-all cmd-sysctl-all) + (register-command! 'sysctl-pattern cmd-sysctl-pattern) + (register-command! 'sysctl-search cmd-sysctl-search) + (register-command! 'procfs-meminfo cmd-procfs-meminfo) + (register-command! 'procfs-cpuinfo cmd-procfs-cpuinfo) + (register-command! 'procfs-loadavg cmd-procfs-loadavg) + (register-command! 'procfs-mounts cmd-procfs-mounts) + (register-command! 'sysfs-list cmd-sysfs-list) + (register-command! 'sysfs-search cmd-sysfs-search) + (register-command! 'sysfs-attribute cmd-sysfs-attribute) + (register-command! 'sysfs-driver cmd-sysfs-driver) + (register-command! 'devtmpfs-list cmd-devtmpfs-list) + (register-command! 'devtmpfs-create cmd-devtmpfs-create) + (register-command! 'devtmpfs-remove cmd-devtmpfs-remove) + (register-command! 'devtmpfs-permissions cmd-devtmpfs-permissions) + (register-command! 'udevadm-info cmd-udevadm-info) + (register-command! 'udevadm-trigger cmd-udevadm-trigger) + (register-command! 'udevadm-settle cmd-udevadm-settle) + (register-command! 'udevadm-monitor cmd-udevadm-monitor) )