69 lines
1.8 KiB
C
69 lines
1.8 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause */
|
|
/*
|
|
* Copyright (c) 2019 The Fuchsia Authors
|
|
*
|
|
*/
|
|
|
|
#ifndef _ZIRCON_PARTITION_H_
|
|
#define _ZIRCON_PARTITION_H_
|
|
|
|
/**
|
|
* DOC: Zircon Partitions
|
|
*
|
|
* This header describes an interface for "zircon partitions".
|
|
* A zircon partition is an abstraction for interacting with
|
|
* the standard partitions required by zircon:
|
|
* Ex. zircon_a, zircon_b, zircon_r, misc, vbmeta_a, etc.
|
|
*
|
|
* These partitions may or may not exist in the GPT, but this
|
|
* interface will abstract the details of how to access them.
|
|
*/
|
|
|
|
#define ZIRCON_PARTITION_PREFIX "zircon"
|
|
|
|
/**
|
|
* zircon_get_partition_size() - Get partition size in bytes.
|
|
*
|
|
* @name: Zircon partition name
|
|
* @size: Address to write size in bytes to. Can be NULL.
|
|
*
|
|
* Return: 0 if OK, negative value on error.
|
|
*/
|
|
int zircon_get_partition_size(const char *name, uint64_t *size);
|
|
|
|
/**
|
|
* zircon_partition_write() - Write to zircon partition.
|
|
*
|
|
* @name: Zircon partition name
|
|
* @offset: Offset in bytes at which to write data.
|
|
* @data: Buffer of data to write
|
|
* @size: Number of bytes to write.
|
|
*
|
|
* Return: 0 if OK, negative value on error.
|
|
*/
|
|
int zircon_partition_write(const char *name, uint64_t offset,
|
|
const unsigned char *data, size_t size);
|
|
|
|
/**
|
|
* zircon_partition_read() - Read from zircon partition.
|
|
*
|
|
* @name: Zircon partition name
|
|
* @offset: Offset in bytes at which to read data.
|
|
* @data: Buffer to read into
|
|
* @size: Number of bytes to read.
|
|
*
|
|
* Return: 0 if OK, negative value on error.
|
|
*/
|
|
int zircon_partition_read(const char *name, uint64_t offset,
|
|
unsigned char *data, size_t size);
|
|
|
|
/**
|
|
* zircon_partition_erase() - Erase zircon partition.
|
|
*
|
|
* @name: Zircon partition name
|
|
*
|
|
* Return: 0 if OK, negative value on error.
|
|
*/
|
|
int zircon_partition_erase(const char *name);
|
|
#endif /* _ZIRCON_PARTITION_H_ */
|