Barrelfish
Functions
cpiobin.c File Reference

CPIO archive reader routines for newc/crc/bin variants. More...

Functions

int cpio_visit (const uint8_t *cpio_base, size_t cpio_bytes, cpio_visitor_t cpio_visit_fn, cpio_generic_header_t *g, void *arg)
 
int cpio_get_file_by_name (const uint8_t *cpio_base, size_t cpio_bytes, const char *name, const uint8_t **file_base, size_t *file_bytes)
 
int cpio_get_file_by_ordinal (const uint8_t *cpio_base, size_t cpio_bytes, uint32_t ordinal, const char **file_name, const uint8_t **file_base, size_t *file_bytes)
 
size_t cpio_archive_bytes (const uint8_t *cpio_base, size_t cpio_bytes)
 
int cpio_archive_valid (const uint8_t *cpio_base, size_t cpio_bytes)
 

Detailed Description

CPIO archive reader routines for newc/crc/bin variants.

Function Documentation

size_t cpio_archive_bytes ( const uint8_t *  cpio_base,
size_t  cpio_bytes 
)

Determine size of CPIO bin format image.

Parameters
cpio_basebase of CPIO memory image.
cpio_bytessize of CPIO memory image in bytes.
Returns
number of bytes in image, zero if image is invalid.
int cpio_archive_valid ( const uint8_t *  cpio_base,
size_t  cpio_bytes 
)

Check validity of CPIO bin format image.

Parameters
cpio_basebase of CPIO memory image.
cpio_bytessize of CPIO memory image in bytes.
Returns
non-zero if image is valid.
int cpio_get_file_by_name ( const uint8_t *  cpio_base,
size_t  cpio_bytes,
const char *  name,
const uint8_t **  file_base,
size_t *  file_bytes 
)

Find file with specified in CPIO binary image.

Parameters
cpio_basebase of CPIO memory image.
cpio_bytessize of CPIO memory image in bytes.
namefile name to locate.
file_basepointer to receive file start address.
file_bytespointer to receive file size in bytes.
Returns
non-zero if file is found.
int cpio_get_file_by_ordinal ( const uint8_t *  cpio_base,
size_t  cpio_bytes,
uint32_t  ordinal,
const char **  file_name,
const uint8_t **  file_base,
size_t *  file_bytes 
)

Find file with specified in CPIO binary image.

Parameters
cpio_basebase of CPIO memory image.
cpio_bytessize of CPIO memory image in bytes.
ordinalordinal'th file to find.
file_namepointer to receive file name.
file_basepointer to receive file start address.
file_bytespointer to receive file size in bytes.
Returns
non-zero if file is found.
int cpio_visit ( const uint8_t *  cpio_base,
size_t  cpio_bytes,
cpio_visitor_t  cpio_visit_fn,
cpio_generic_header_t *  g,
void *  arg 
)

Apply visitor function to each header in CPIO memory image.

Parameters
cpio_basebase of CPIO memory image.
cpio_bytessize of CPIO memory image in bytes.
cpio_visit_fnvisitor function.
arguser supplied argument to visitor function.
Returns
number of CPIO headers visited.