Cài đặt

Mô-đun này bao gồm tính năng trừu tượng của nền tảng cho bộ nhớ bất biến của các chế độ cài đặt.

Tóm tắt

Bảng liệt kê

anonymous enum{
  OT_SETTINGS_KEY_ACTIVE_DATASET = 0x0001,
  OT_SETTINGS_KEY_PENDING_DATASET = 0x0002,
  OT_SETTINGS_KEY_NETWORK_INFO = 0x0003,
  OT_SETTINGS_KEY_PARENT_INFO = 0x0004,
  OT_SETTINGS_KEY_CHILD_INFO = 0x0005,
  OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY = 0x0007,
  OT_SETTINGS_KEY_DAD_INFO = 0x0008,
  OT_SETTINGS_KEY_SRP_ECDSA_KEY = 0x000b,
  OT_SETTINGS_KEY_SRP_CLIENT_INFO = 0x000c,
  OT_SETTINGS_KEY_SRP_SERVER_INFO = 0x000d,
  OT_SETTINGS_KEY_BR_ULA_PREFIX = 0x000f,
  OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES = 0x0010,
  OT_SETTINGS_KEY_BORDER_AGENT_ID = 0x0011
}
enum
Xác định các khoá của chế độ cài đặt.

Hàm

otPlatSettingsAdd(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
Thêm giá trị vào chế độ cài đặt.
otPlatSettingsDeinit(otInstance *aInstance)
void
Thực hiện mọi thao tác huỷ khởi chạy cho hệ thống con của chế độ cài đặt, nếu cần.
otPlatSettingsDelete(otInstance *aInstance, uint16_t aKey, int aIndex)
Xoá một chế độ cài đặt khỏi cửa hàng cài đặt.
otPlatSettingsGet(otInstance *aInstance, uint16_t aKey, int aIndex, uint8_t *aValue, uint16_t *aValueLength)
Tìm nạp giá trị của một chế độ cài đặt.
otPlatSettingsInit(otInstance *aInstance, const uint16_t *aSensitiveKeys, uint16_t aSensitiveKeysLength)
void
Thực hiện mọi hoạt động khởi chạy cho hệ thống cài đặt con, nếu cần.
otPlatSettingsSet(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
Đặt hoặc thay thế giá trị của một chế độ cài đặt.
otPlatSettingsWipe(otInstance *aInstance)
void
Xoá mọi chế độ cài đặt khỏi cửa hàng cài đặt.

Bảng liệt kê

enum ẩn danh

 anonymous enum

Xác định các khoá của chế độ cài đặt.

Lưu ý: Khi thêm khoá cài đặt mới, nếu chế độ cài đặt tương ứng với khoá đó có chứa thông tin nhạy cảm về bảo mật, thì nhà phát triển PHẢI thêm khoá vào mảng aSensitiveKeys được truyền vào otPlatSettingsInit().

Thuộc tính
OT_SETTINGS_KEY_ACTIVE_DATASET

Tập dữ liệu về hoạt động đang hoạt động.

OT_SETTINGS_KEY_BORDER_AGENT_ID

Mã bộ định tuyến/tác nhân biên giới duy nhất.

OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES

Tiền tố liên kết địa phương ở Brazil.

OT_SETTINGS_KEY_BR_ULA_PREFIX

Tiền tố BR ULA.

OT_SETTINGS_KEY_CHILD_INFO

Thông tin về nhà xuất bản con.

OT_SETTINGS_KEY_DAD_INFO

Thông tin về Phát hiện địa chỉ trùng lặp (DAD).

OT_SETTINGS_KEY_NETWORK_INFO

Thông tin về mạng của luồng.

OT_SETTINGS_KEY_PARENT_INFO

Thông tin dành cho cha mẹ.

OT_SETTINGS_KEY_PENDING_DATASET

Tập dữ liệu về hoạt động đang chờ xử lý.

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

Khoá SLAAC để tạo IID mờ về ngữ nghĩa.

OT_SETTINGS_KEY_SRP_CLIENT_INFO

Thông tin máy khách SRP (địa chỉ máy chủ SRP đã chọn).

OT_SETTINGS_KEY_SRP_ECDSA_KEY

Cặp khoá công khai/riêng tư của khách hàng SRP ECDSA.

OT_SETTINGS_KEY_SRP_SERVER_INFO

Thông tin máy chủ SRP (cổng UDP).

Hàm

otPlatSettingsAdd

otError otPlatSettingsAdd(
  otInstance *aInstance,
  uint16_t aKey,
  const uint8_t *aValue,
  uint16_t aValueLength
)

Thêm giá trị vào chế độ cài đặt.

Thêm giá trị vào chế độ cài đặt do aKey xác định mà không thay thế bất kỳ giá trị hiện có nào.

Xin lưu ý rằng bạn không bắt buộc phải triển khai cơ bản để duy trì thứ tự của các mục liên kết với một khoá cụ thể. Giá trị gia tăng có thể được thêm vào cuối, đầu hoặc thậm chí ở đâu đó ở giữa. Thứ tự của mọi giá trị có sẵn cũng có thể thay đổi.

Việc gọi hàm này thành công có thể khiến các chế độ cài đặt không liên quan chứa nhiều giá trị bị sắp xếp lại thứ tự.

Ngăn xếp OpenThread đảm bảo sử dụng phương thức otPlatSettingsAdd() cho một aKey trước đây do otPlatSettingsAdd() quản lý (tức là chứa một hoặc nhiều mục) hoặc đã trống và/hoặc bị xoá hoàn toàn (không chứa giá trị).

Lớp nền tảng có thể dựa vào và sử dụng thông tin này để tối ưu hoá việc triển khai.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aKey
Khoá liên kết với chế độ cài đặt cần thay đổi.
[in] aValue
Con trỏ đến nơi sẽ đọc giá trị mới của chế độ cài đặt. KHÔNG ĐƯỢC là NULL nếu aValueLength khác 0.
[in] aValueLength
Độ dài của dữ liệu được aValue trỏ đến. Có thể bằng 0.
Giá trị trả về
OT_ERROR_NONE
Chế độ cài đặt đã cho đã được thêm hoặc lên lịch để thêm.
OT_ERROR_NOT_IMPLEMENTED
Chức năng này không được triển khai trên nền tảng này.
OT_ERROR_NO_BUFS
Không còn dung lượng để lưu trữ chế độ cài đặt đã cho.

otPlatSettingsDeinit

void otPlatSettingsDeinit(
  otInstance *aInstance
)

Thực hiện mọi thao tác huỷ khởi chạy cho hệ thống con của chế độ cài đặt, nếu cần.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.

otPlatSettingsDelete

otError otPlatSettingsDelete(
  otInstance *aInstance,
  uint16_t aKey,
  int aIndex
)

Xoá một chế độ cài đặt khỏi cửa hàng cài đặt.

Xoá một giá trị cụ thể khỏi chế độ cài đặt do aKey xác định khỏi kho cài đặt.

Xin lưu ý rằng bạn không bắt buộc phải triển khai cơ bản để duy trì thứ tự của các mục liên kết với một khoá cụ thể.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aKey
Khoá liên kết với chế độ cài đặt được yêu cầu.
[in] aIndex
Chỉ mục của giá trị cần xoá. Nếu đặt thành -1, tất cả giá trị của aKey này sẽ bị xoá.
Giá trị trả về
OT_ERROR_NONE
Khoá và chỉ mục đã cho đã được tìm thấy và xoá thành công.
OT_ERROR_NOT_FOUND
Không tìm thấy khoá hoặc chỉ mục đã cung cấp trong kho cài đặt.
OT_ERROR_NOT_IMPLEMENTED
Chức năng này không được triển khai trên nền tảng này.

otPlatSettingsGet

otError otPlatSettingsGet(
  otInstance *aInstance,
  uint16_t aKey,
  int aIndex,
  uint8_t *aValue,
  uint16_t *aValueLength
)

Tìm nạp giá trị của một chế độ cài đặt.

Tìm nạp giá trị của chế độ cài đặt do aKey xác định rồi ghi giá trị đó vào bộ nhớ do aValue trỏ đến. Sau đó, hàm này ghi độ dài vào số nguyên do aValueLength trỏ đến. Giá trị ban đầu của aValueLength là số byte tối đa được ghi vào aValue.

Bạn có thể dùng để kiểm tra sự tồn tại của một khoá mà không cần tìm nạp giá trị bằng cách đặt aValueaValueLength thành NULL. Bạn cũng có thể kiểm tra độ dài của cài đặt mà không cần tìm nạp bằng cách chỉ đặt aValue thành NULL.

Xin lưu ý rằng bạn không bắt buộc phải triển khai bộ nhớ cơ bản để duy trì thứ tự của các chế độ cài đặt có nhiều giá trị. Thứ tự của các giá trị đó CÓ THỂ thay đổi sau BẤT KỲ thao tác ghi nào vào cửa hàng.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aKey
Khoá liên kết với chế độ cài đặt được yêu cầu.
[in] aIndex
Chỉ mục của mục cụ thể cần lấy.
[out] aValue
Con trỏ đến vị trí sẽ ghi giá trị của chế độ cài đặt. Có thể được đặt thành NULL nếu chỉ kiểm thử sự hiện diện hoặc thời lượng của một chế độ cài đặt.
[in,out] aValueLength
Con trỏ đến độ dài của giá trị. Khi được gọi, con trỏ này phải trỏ đến một số nguyên có chứa kích thước giá trị tối đa có thể được ghi vào aValue. Khi trả về, độ dài thực tế của chế độ cài đặt sẽ được ghi. Giá trị này có thể được đặt thành NULL nếu kiểm tra sự có mặt.
Giá trị trả về
OT_ERROR_NONE
Đã tìm thấy và tìm nạp thành công chế độ cài đặt đã cho.
OT_ERROR_NOT_FOUND
Không tìm thấy chế độ cài đặt đã cung cấp trong cửa hàng cài đặt.
OT_ERROR_NOT_IMPLEMENTED
Chức năng này không được triển khai trên nền tảng này.

otPlatSettingsInit

void otPlatSettingsInit(
  otInstance *aInstance,
  const uint16_t *aSensitiveKeys,
  uint16_t aSensitiveKeysLength
)

Thực hiện mọi hoạt động khởi chạy cho hệ thống cài đặt con, nếu cần.

Đồng thời, thiết lập các khoá nhạy cảm nên được lưu trữ trong khu vực an toàn.

Lưu ý rằng không được giải phóng bộ nhớ do aSensitiveKeys trỏ đến trước khi aInstance bị huỷ.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aSensitiveKeys
Con trỏ đến một mảng có chứa danh sách các khoá nhạy cảm. Có thể chỉ có giá trị NULL nếu aSensitiveKeysLength bằng 0, tức là không có khoá nhạy cảm nào.
[in] aSensitiveKeysLength
Số mục trong mảng aSensitiveKeys.

otPlatSettingsSet

otError otPlatSettingsSet(
  otInstance *aInstance,
  uint16_t aKey,
  const uint8_t *aValue,
  uint16_t aValueLength
)

Đặt hoặc thay thế giá trị của một chế độ cài đặt.

Đặt hoặc thay thế giá trị của chế độ cài đặt do aKey xác định.

Việc gọi hàm này thành công có thể khiến các chế độ cài đặt không liên quan chứa nhiều giá trị bị sắp xếp lại thứ tự.

Ngăn xếp OpenThread đảm bảo sử dụng phương thức otPlatSettingsSet() cho aKey đã được thiết lập trước đó bằng otPlatSettingsSet() (tức là chứa một giá trị duy nhất) hoặc trống và/hoặc bị xoá hoàn toàn (không chứa giá trị).

Lớp nền tảng có thể dựa vào và sử dụng thông tin này để tối ưu hoá việc triển khai.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aKey
Khoá liên kết với chế độ cài đặt cần thay đổi.
[in] aValue
Con trỏ đến nơi sẽ đọc giá trị mới của chế độ cài đặt. KHÔNG ĐƯỢC là NULL nếu aValueLength khác 0.
[in] aValueLength
Độ dài của dữ liệu do aValue trỏ đến. Có thể bằng 0.
Giá trị trả về
OT_ERROR_NONE
Chế độ cài đặt đã cho đã bị thay đổi hoặc đã ra mắt theo giai đoạn.
OT_ERROR_NOT_IMPLEMENTED
Chức năng này không được triển khai trên nền tảng này.
OT_ERROR_NO_BUFS
Không còn dung lượng để lưu trữ chế độ cài đặt đã cho.

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

Xoá mọi chế độ cài đặt khỏi cửa hàng cài đặt.

Xoá tất cả chế độ cài đặt khỏi cửa hàng chế độ cài đặt, đặt lại nó về trạng thái ban đầu.

Thông tin chi tiết
Thông số
[in] aInstance
Cấu trúc thực thể OpenThread.

Tài nguyên

Các chủ đề tham khảo API OpenThread bắt nguồn từ mã nguồn, có trên GitHub. Để biết thêm thông tin hoặc để đóng góp cho tài liệu của chúng tôi, hãy tham khảo Tài nguyên.