syscalls: Add load-linux-module.
* guix/build/syscalls.scm (load-linux-module): New procedure. Reimplemented from guile-linux-syscalls.patch. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
c5cd4fad09
commit
23e525e109
|
@ -578,6 +578,18 @@ constants from <sys/mount.h>."
|
||||||
(list cmd (strerror err))
|
(list cmd (strerror err))
|
||||||
(list err))))))
|
(list err))))))
|
||||||
|
|
||||||
|
(define-as-needed (load-linux-module data #:optional (options ""))
|
||||||
|
(let ((proc (syscall->procedure int "init_module"
|
||||||
|
(list '* unsigned-long '*))))
|
||||||
|
(let-values (((ret err)
|
||||||
|
(proc (bytevector->pointer data)
|
||||||
|
(bytevector-length data)
|
||||||
|
(string->pointer options))))
|
||||||
|
(unless (zero? ret)
|
||||||
|
(throw 'system-error "load-linux-module" "~A"
|
||||||
|
(list (strerror err))
|
||||||
|
(list err))))))
|
||||||
|
|
||||||
(define (kernel? pid)
|
(define (kernel? pid)
|
||||||
"Return #t if PID designates a \"kernel thread\" rather than a normal
|
"Return #t if PID designates a \"kernel thread\" rather than a normal
|
||||||
user-land process."
|
user-land process."
|
||||||
|
|
Loading…
Reference in New Issue