api — Library API¶
This module describes the punchboot-tools library API
Source code: include/pb-tools/api.h, lib/api.c, lib/api_authentication.c, lib/api_board.c, lib/api_boot.c, lib/api_device.c, lib/api_misc.c, lib/api_partition.c, lib/api_slc.c, lib/api_stream.c
Defines
-
PB_PART_FLAG_BOOTABLE¶
-
PB_PART_FLAG_OTP¶
-
PB_PART_FLAG_WRITABLE¶
-
PB_PART_FLAG_ERASE_BEFORE_WRITE¶
Typedefs
-
typedef int (*pb_init_t)(struct pb_context *ctx)¶
-
typedef int (*pb_free_t)(struct pb_context *ctx)¶
-
typedef int (*pb_write_t)(struct pb_context *ctx, const void *bfr, size_t sz)¶
-
typedef int (*pb_read_t)(struct pb_context *ctx, void *bfr, size_t sz)¶
-
typedef int (*pb_list_devices_t)(struct pb_context *ctx)¶
-
typedef int (*pb_connect_t)(struct pb_context *ctx)¶
-
typedef int (*pb_disconnect_t)(struct pb_context *ctx)¶
-
typedef int (*pb_debug_t)(struct pb_context *ctx, int level, const char *fmt, ...)¶
Functions
-
int pb_api_create_context(struct pb_context **ctx, pb_debug_t debug)¶
-
int pb_api_free_context(struct pb_context *ctx)¶
-
int pb_api_device_reset(struct pb_context *ctx)¶
-
int pb_api_device_read_identifier(struct pb_context *ctx, uint8_t *device_uuid, size_t device_uuid_size, char *board_id, size_t board_id_size)¶
-
int pb_api_authenticate_password(struct pb_context *ctx, uint8_t *data, size_t size)¶
-
int pb_api_authenticate_key(struct pb_context *ctx, uint32_t key_id, uint8_t *data, size_t size)¶
-
int pb_api_slc_read(struct pb_context *ctx, uint8_t *slc, uint8_t *active_keys, uint8_t *revoked_keys)¶
-
int pb_api_slc_set_configuration(struct pb_context *ctx)¶
-
int pb_api_slc_set_configuration_lock(struct pb_context *ctx)¶
-
int pb_api_slc_set_end_of_life(struct pb_context *ctx)¶
-
int pb_api_slc_revoke_key(struct pb_context *ctx, uint32_t key_id)¶
-
int pb_api_device_read_caps(struct pb_context *ctx, struct pb_device_capabilities *caps)¶
-
int pb_api_auth_set_otp_password(struct pb_context *ctx, const char *password, size_t size)¶
-
int pb_api_bootloader_version(struct pb_context *ctx, char *version, size_t size)¶
-
int pb_api_partition_read_table(struct pb_context *ctx, struct pb_partition_table_entry *out, int *entries)¶
-
int pb_api_partition_install_table(struct pb_context *ctx, const uint8_t *uu, uint8_t variant)¶
-
int pb_api_partition_verify(struct pb_context *ctx, uint8_t *uuid, uint8_t *sha256, uint32_t size, bool bpak)¶
-
int pb_api_partition_read_bpak(struct pb_context *ctx, uint8_t *uuid, struct bpak_header *header)¶
-
int pb_api_partition_erase(struct pb_context *ctx, uint8_t *uuid)¶
-
int pb_api_partition_resize(struct pb_context *ctx, uint8_t *uuid, size_t blocks)¶
-
int pb_api_stream_init(struct pb_context *ctx, uint8_t *uuid)¶
-
int pb_api_stream_prepare_buffer(struct pb_context *ctx, uint8_t buffer_id, void *data, uint32_t size)¶
-
int pb_api_stream_write_buffer(struct pb_context *ctx, uint8_t buffer_id, uint64_t offset, uint32_t size)¶
-
int pb_api_stream_read_buffer(struct pb_context *ctx, uint8_t buffer_id, uint64_t offset, uint32_t size, void *data)¶
-
int pb_api_stream_finalize(struct pb_context *ctx)¶
-
int pb_api_boot_part(struct pb_context *ctx, uint8_t *uuid, bool verbose)¶
-
int pb_api_boot_ram(struct pb_context *ctx, const void *bpak_image, uint8_t *uuid, bool verbose)¶
-
int pb_api_boot_activate(struct pb_context *ctx, uint8_t *uuid)¶
-
int pb_api_board_command(struct pb_context *ctx, uint32_t board_command_id, const void *request, size_t request_size, void *response, size_t response_size)¶
-
int pb_api_board_status(struct pb_context *ctx, char *status, size_t size)¶
-
int pb_api_boot_status(struct pb_context *ctx, uint8_t *uuid, char *status_message, size_t len)¶
-
struct pb_context¶
Public Members
-
bool connected¶
-
pb_write_t write¶
-
pb_list_devices_t list¶
-
pb_connect_t connect¶
-
pb_disconnect_t disconnect¶
-
void *transport¶
-
bool connected¶
-
struct pb_device_capabilities¶
-
struct pb_partition_table_entry¶