linux-initrd: Add special-file->cpio-header*.
* guix/cpio.scm (special-file->cpio-header*): New public procedure.
This commit is contained in:
parent
b1dfc64552
commit
8e7c98963f
@ -27,6 +27,7 @@
|
|||||||
make-cpio-header
|
make-cpio-header
|
||||||
file->cpio-header
|
file->cpio-header
|
||||||
file->cpio-header*
|
file->cpio-header*
|
||||||
|
special-file->cpio-header*
|
||||||
write-cpio-header
|
write-cpio-header
|
||||||
read-cpio-header
|
read-cpio-header
|
||||||
|
|
||||||
@ -190,6 +191,25 @@ produced in a deterministic fashion."
|
|||||||
#:size (stat:size st)
|
#:size (stat:size st)
|
||||||
#:name-size (string-length file-name))))
|
#:name-size (string-length file-name))))
|
||||||
|
|
||||||
|
(define* (special-file->cpio-header* file
|
||||||
|
device-type
|
||||||
|
device-major
|
||||||
|
device-minor
|
||||||
|
permission-bits
|
||||||
|
#:optional (file-name file))
|
||||||
|
"Create a character or block device header.
|
||||||
|
|
||||||
|
DEVICE-TYPE is either 'char-special or 'block-special.
|
||||||
|
|
||||||
|
The number of hard links is assumed to be 1."
|
||||||
|
(make-cpio-header #:mode (logior (match device-type
|
||||||
|
('block-special C_ISBLK)
|
||||||
|
('char-special C_ISCHR))
|
||||||
|
permission-bits)
|
||||||
|
#:nlink 1
|
||||||
|
#:rdev (device-number device-major device-minor)
|
||||||
|
#:name-size (string-length file-name)))
|
||||||
|
|
||||||
(define %trailer
|
(define %trailer
|
||||||
"TRAILER!!!")
|
"TRAILER!!!")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user