mirror of
https://github.com/ipxe/ipxe
synced 2025-12-26 17:42:47 +03:00
Add code for constructing single-file cpio archives on the fly
This commit is contained in:
51
src/include/gpxe/cpio.h
Normal file
51
src/include/gpxe/cpio.h
Normal file
@@ -0,0 +1,51 @@
|
||||
#ifndef _GPXE_CPIO_H
|
||||
#define _GPXE_CPIO_H
|
||||
|
||||
/** @file
|
||||
*
|
||||
* CPIO archives
|
||||
*
|
||||
*/
|
||||
|
||||
/** A CPIO archive header
|
||||
*
|
||||
* All field are hexadecimal ASCII numbers padded with '0' on the
|
||||
* left to the full width of the field.
|
||||
*/
|
||||
struct cpio_header {
|
||||
/** The string "070701" or "070702" */
|
||||
char c_magic[6];
|
||||
/** File inode number */
|
||||
char c_ino[8];
|
||||
/** File mode and permissions */
|
||||
char c_mode[8];
|
||||
/** File uid */
|
||||
char c_uid[8];
|
||||
/** File gid */
|
||||
char c_gid[8];
|
||||
/** Number of links */
|
||||
char c_nlink[8];
|
||||
/** Modification time */
|
||||
char c_mtime[8];
|
||||
/** Size of data field */
|
||||
char c_filesize[8];
|
||||
/** Major part of file device number */
|
||||
char c_maj[8];
|
||||
/** Minor part of file device number */
|
||||
char c_min[8];
|
||||
/** Major part of device node reference */
|
||||
char c_rmaj[8];
|
||||
/** Minor part of device node reference */
|
||||
char c_rmin[8];
|
||||
/** Length of filename, including final NUL */
|
||||
char c_namesize[8];
|
||||
/** Checksum of data field if c_magic is 070702, othersize zero */
|
||||
char c_chksum[8];
|
||||
} __attribute__ (( packed ));
|
||||
|
||||
/** CPIO magic */
|
||||
#define CPIO_MAGIC "070701"
|
||||
|
||||
extern void cpio_set_field ( char *field, unsigned long value );
|
||||
|
||||
#endif /* _GPXE_CPIO_H */
|
||||
Reference in New Issue
Block a user