Tài liệu tham khảo về cấu trúc nvram_device
#include <
nvram.h
>
Trường dữ liệu |
|
struct hw_device_t | common |
nvram_result_t (* | get_total_size_in_bytes )(const struct nvram_device *device, uint64_t *total_size) |
nvram_result_t (* | get_available_size_in_bytes )(const struct nvram_device *device, uint64_t *available_size) |
nvram_result_t (* | get_max_space_size_in_bytes )(const struct nvram_device *device, uint64_t *max_space_size) |
nvram_result_t (* | get_max_spaces )(const struct nvram_device *device, uint32_t *num_spaces) |
nvram_result_t (* | get_space_list )(const struct nvram_device *device, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size) |
nvram_result_t (* | get_space_size )(const struct nvram_device *device, uint32_t index, uint64_t *size) |
nvram_result_t (* | get_space_controls )(const struct nvram_device *device, uint32_t index, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
nvram_result_t (* | is_space_locked )(const struct nvram_device *device, uint32_t index, int *write_lock_enabled, int *read_lock_enabled) |
nvram_result_t (* | create_space )(const struct nvram_device *device, uint32_t index, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t authorization_value_size) |
nvram_result_t (* | delete_space )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
nvram_result_t (* | disable_create )(const struct nvram_device *device) |
nvram_result_t (* | write_space )(const struct nvram_device *device, uint32_t index, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *authorization_value, uint32_t authorization_value_size) |
nvram_result_t (* | read_space )(const struct nvram_device *device, uint32_t index, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t authorization_value_size, uint8_t *buffer, uint64_t *bytes_read) |
nvram_result_t (* | enable_write_lock )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
nvram_result_t (* | enable_read_lock )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
Nội dung mô tả chi tiết
Tài liệu về trường
cấu trúc hw_device_t phổ biến |
Các phương thức phổ biến của nvram_device . này phải là thành viên đầu tiên của nvram_device vì người dùng cấu trúc này sẽ truyền một hw_device_t đến nvram_device con trỏ trong ngữ cảnh mà bạn biết rằng hw_device_t tham chiếu đến nvram_device .
nvram_result_t (* create_space)(const struct nvram_device *device, uint32_t index, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t authorization_value_size) |
Tạo một không gian mới có chỉ mục, kích thước, chế độ điều khiển và giá trị uỷ quyền đã cho.
device – Thực thể nvram_device . index – Chỉ mục cho không gian mới. Chỉ mục có thể là bất kỳ giá trị 32 bit nào nhưng không được chỉ định cho một không gian hiện có. size_in_bytes – Số byte cần phân bổ cho không gian. control_list – Một mảng các chế độ điều khiển để thực thi cho không gian. list_size – Số mục trong |control_list|. authorization_value – Nếu |control_list| chứa NV_CONTROL_READ_AUTHORIZATION và / hoặc NV_CONTROL_WRITE_AUTHORIZATION, thì tham số này sẽ cung cấp giá trị uỷ quyền cho các chính sách này (nếu bạn đặt cả hai chế độ điều khiển, thì giá trị này sẽ áp dụng cho cả hai). Nếu không, giá trị này sẽ bị bỏ qua và có thể là giá trị RỖNG. authorization_value_size – Số byte trong |authorization_value|.
nvram_result_t (* delete_space)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
Xoá không gian.
device – Phiên bản nvram_device . index – Chỉ mục không gian. authorization_value – Nếu không gian có chính sách NV_CONTROL_WRITE_AUTHORIZATION, thì thông số này sẽ cung cấp giá trị uỷ quyền. Nếu không, giá trị này sẽ bị bỏ qua và có thể là giá trị RỖNG. authorization_value_size – Số byte trong |authorization_value|.
nvram_result_t (* disable_create)(const struct nvram_device *device) |
Tắt mọi hoạt động tạo không gian khác cho đến lần đặt lại toàn bộ thiết bị tiếp theo (như trong quá trình đặt lại về trạng thái ban đầu, chứ không phải khởi động lại). Các lệnh gọi tiếp theo đến NV_CreateSpace sẽ trả về NV_RESULT_OPERATION_DISABLED.
device – Thực thể nvram_device .
nvram_result_t (* enable_read_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
Bật khoá đọc cho không gian nhất định theo chính sách của không gian đó. Nếu không đặt NV_CONTROL_BOOT_READ_LOCK cho không gian, thì hàm này sẽ không có hiệu lực và có thể trả về lỗi.
device – Phiên bản nvram_device . index – Chỉ mục không gian. authorization_value – Nếu không gian có chính sách NV_CONTROL_READ_AUTHORIZATION, thì tham số này sẽ cung cấp giá trị uỷ quyền. (Lưu ý rằng bạn không cần có quyền ghi để khoá quyền đọc. Khoá đọc luôn không ổn định.) Nếu không, giá trị này sẽ bị bỏ qua và có thể là giá trị RỖNG. authorization_value_size – Số byte trong |authorization_value|.
nvram_result_t (* enable_write_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
Bật khoá ghi cho không gian nhất định theo chính sách của không gian đó. Nếu không đặt NV_CONTROL_PERSISTENT_WRITE_LOCK hoặc NV_CONTROL_BOOT_WRITE_LOCK cho không gian, thì hàm này sẽ không có hiệu lực và có thể trả về lỗi.
device – Phiên bản nvram_device . index – Chỉ mục không gian. authorization_value – Nếu không gian có chính sách NV_CONTROL_WRITE_AUTHORIZATION, thì thông số này sẽ cung cấp giá trị uỷ quyền. Nếu không, giá trị này sẽ bị bỏ qua và có thể là giá trị RỖNG. authorization_value_size – Số byte trong |authorization_value|.
nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size) |
Xuất số byte chưa được phân bổ có sẵn trong NVRAM. Nếu không biết kích thước có sẵn, phương thức triển khai có thể cung cấp kích thước ước tính hoặc tổng kích thước.
device – Thực thể nvram_device . available_size – Nhận đầu ra. Không được là NULL.
nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *device, uint64_t *max_space_size) |
Xuất số byte tối đa có thể được phân bổ cho một không gian. Kích thước này sẽ luôn ít nhất là 32. Nếu không giới hạn kích thước tối đa, thì phương thức triển khai có thể cung cấp tổng kích thước.
device – Thực thể nvram_device . max_space_size – Nhận đầu ra. Không được là NULL.
nvram_result_t (* get_max_spaces)(const struct nvram_device *device, uint32_t *num_spaces) |
Xuất tổng số không gian tối đa có thể được phân bổ. Số lượng này luôn phải ít nhất là 8. Xuất NV_UNLIMITED_SPACES nếu hỗ trợ bất kỳ số lượng không gian nào (chỉ giới hạn ở số byte NVRAM có sẵn).
device – Thực thể nvram_device . num_spaces – Nhận đầu ra. Không được là NULL.
nvram_result_t (* get_space_controls)(const struct nvram_device *device, uint32_t index, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
Xuất danh sách các thành phần điều khiển liên kết với một không gian nhất định.
device – Phiên bản nvram_device . index – Chỉ mục không gian. max_list_size – Số mục trong mảng |control_list|. control_list – Nhận danh sách các chế độ điều khiển lên đến |max_list_size| đã cho. Có thể là NULL nếu |max_list_size| là 0. list_size – Nhận số mục được điền sẵn trong |control_list| hoặc số mục có sẵn nếu |control_list| là NULL.
nvram_result_t (* get_space_list)(const struct nvram_device *device, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size) |
Xuất danh sách các chỉ mục không gian đã tạo. Nếu |max_list_size| là 0, thì chỉ |list_size| được điền sẵn.
device – Thực thể nvram_device . max_list_size – Số mục trong mảng |space_index_list|. space_index_list – Nhận danh sách các không gian đã tạo lên đến |max_list_size| đã cho. Có thể là NULL nếu |max_list_size| là 0. list_size – Nhận số mục được điền sẵn trong |space_index_list| hoặc số mục có sẵn nếu |space_index_list| là NULL.
nvram_result_t (* get_space_size)(const struct nvram_device *device, uint32_t index, uint64_t *size) |
Xuất kích thước (tính bằng byte) của một không gian nhất định.
device – Thực thể nvram_device . index – Chỉ mục không gian. size – Nhận đầu ra. Không được là NULL.
nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *device, uint64_t *total_size) |
Xuất tổng số byte có sẵn trong NVRAM. Kích thước này luôn phải lớn hơn hoặc bằng 2048. Nếu không biết tổng kích thước, phương thức triển khai có thể cung cấp kích thước ước tính hoặc 2048.
device – Thực thể nvram_device . total_size – Nhận dữ liệu đầu ra. Không được là NULL.
nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t index, int *write_lock_enabled, int *read_lock_enabled) |
Xuất ra thông tin về việc khoá có được bật cho không gian đã cho hay không. Khi một khoá được bật, thao tác sẽ bị tắt và mọi nỗ lực thực hiện thao tác đó sẽ dẫn đến NV_RESULT_OPERATION_DISABLED.
device – Thực thể nvram_device . index – Chỉ mục không gian. write_lock_enabled – Sẽ được đặt thành giá trị khác 0 nếu các thao tác ghi hiện đang bị tắt. read_lock_enabled – Sẽ được đặt thành giá trị khác 0 nếu các thao tác đọc hiện đang bị tắt.
nvram_result_t (* read_space)(const struct nvram_device *device, uint32_t index, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t authorization_value_size, uint8_t *buffer, uint64_t *bytes_read) |
Đọc nội dung của một không gian. Nếu không gian chưa từng được ghi, tất cả các byte đọc được sẽ là 0x00.
device – Phiên bản nvram_device . index – Chỉ mục không gian. num_bytes_to_read – Số byte cần đọc; |buffer| phải đủ lớn để chứa số byte này. Nếu kích thước này lớn hơn kích thước của không gian, thì toàn bộ không gian sẽ được đọc. Nếu giá trị này nhỏ hơn kích thước của không gian, thì các byte đầu tiên trong không gian sẽ được đọc. authorization_value – Nếu không gian có chính sách NV_CONTROL_READ_AUTHORIZATION, thì tham số này sẽ cung cấp giá trị uỷ quyền. Nếu không, giá trị này sẽ bị bỏ qua và có thể là giá trị RỖNG. authorization_value_size – Số byte trong |authorization_value|. buffer – Nhận dữ liệu được đọc từ không gian. Phải có kích thước tối thiểu là |num_bytes_to_read| byte. bytes_read – Số byte đã đọc. Nếu NV_RESULT_SUCCESS được trả về, giá trị này sẽ được đặt thành giá trị nhỏ hơn giữa |num_bytes_to_read| hoặc kích thước của không gian.
nvram_result_t (* write_space)(const struct nvram_device *device, uint32_t index, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *authorization_value, uint32_t authorization_value_size) |
Ghi nội dung của một không gian. Nếu không gian được định cấu hình bằng NV_CONTROL_WRITE_EXTEND, thì dữ liệu đầu vào sẽ được dùng để mở rộng dữ liệu hiện tại.
device – Thực thể nvram_device . index – Chỉ mục không gian. buffer – Dữ liệu cần ghi. buffer_size – Số byte trong |buffer|. Nếu giá trị này nhỏ hơn kích thước của không gian, thì các byte còn lại sẽ được đặt thành 0x00. Nếu lớn hơn kích thước của không gian, hãy trả về NV_RESULT_INVALID_PARAMETER. authorization_value – Nếu không gian có chính sách NV_CONTROL_WRITE_AUTHORIZATION, thì tham số này sẽ cung cấp giá trị uỷ quyền. Nếu không, giá trị này sẽ bị bỏ qua và có thể là giá trị RỖNG. authorization_value_size – Số byte trong |authorization_value|.
Tài liệu cho cấu trúc này được tạo từ tệp sau:
- hardware/libhardware/include/hardware/ nvram.h