You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ut...@apache.org on 2021/06/10 10:56:13 UTC
[mynewt-mcumgr] branch master updated: img_mgmt: Add interpretation
of "image" parameter
This is an automated email from the ASF dual-hosted git repository.
utzig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-mcumgr.git
The following commit(s) were added to refs/heads/master by this push:
new 6a10fa6 img_mgmt: Add interpretation of "image" parameter
6a10fa6 is described below
commit 6a10fa6c4b36a754fbf57688ad9adc32c1bef4ee
Author: Dominik Ermel <do...@nordicsemi.no>
AuthorDate: Wed Jun 9 13:56:07 2021 +0000
img_mgmt: Add interpretation of "image" parameter
The commit extends img_mgmt_upload_req with image member that will
be used to hold image number; it also adds code that picks the
image number from update frame.
Signed-off-by: Dominik Ermel <do...@nordicsemi.no>
---
cmd/img_mgmt/include/img_mgmt/img_mgmt.h | 1 +
cmd/img_mgmt/src/img_mgmt.c | 17 ++++++++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/cmd/img_mgmt/include/img_mgmt/img_mgmt.h b/cmd/img_mgmt/include/img_mgmt/img_mgmt.h
index 69f6f1b..0e4230b 100644
--- a/cmd/img_mgmt/include/img_mgmt/img_mgmt.h
+++ b/cmd/img_mgmt/include/img_mgmt/img_mgmt.h
@@ -74,6 +74,7 @@ extern struct img_mgmt_state g_img_mgmt_state;
/** Represents an individual upload request. */
struct img_mgmt_upload_req {
+ unsigned long long int image; /* 0 by default */
unsigned long long int off; /* -1 if unspecified */
unsigned long long int size; /* -1 if unspecified */
size_t data_len;
diff --git a/cmd/img_mgmt/src/img_mgmt.c b/cmd/img_mgmt/src/img_mgmt.c
index 9cb7b7d..f87f74b 100644
--- a/cmd/img_mgmt/src/img_mgmt.c
+++ b/cmd/img_mgmt/src/img_mgmt.c
@@ -394,42 +394,49 @@ img_mgmt_upload(struct mgmt_ctxt *ctxt)
.data_len = 0,
.data_sha_len = 0,
.upgrade = false,
+ .image = 0,
};
const struct cbor_attr_t off_attr[] = {
[0] = {
+ .attribute = "image",
+ .type = CborAttrUnsignedIntegerType,
+ .addr.uinteger = &req.image,
+ .nodefault = true
+ },
+ [1] = {
.attribute = "data",
.type = CborAttrByteStringType,
.addr.bytestring.data = req.img_data,
.addr.bytestring.len = &req.data_len,
.len = sizeof(req.img_data)
},
- [1] = {
+ [2] = {
.attribute = "len",
.type = CborAttrUnsignedIntegerType,
.addr.uinteger = &req.size,
.nodefault = true
},
- [2] = {
+ [3] = {
.attribute = "off",
.type = CborAttrUnsignedIntegerType,
.addr.uinteger = &req.off,
.nodefault = true
},
- [3] = {
+ [4] = {
.attribute = "sha",
.type = CborAttrByteStringType,
.addr.bytestring.data = req.data_sha,
.addr.bytestring.len = &req.data_sha_len,
.len = sizeof(req.data_sha)
},
- [4] = {
+ [5] = {
.attribute = "upgrade",
.type = CborAttrBooleanType,
.addr.boolean = &req.upgrade,
.dflt.boolean = false,
},
- [5] = { 0 },
+ [6] = { 0 },
};
int rc;
const char *errstr = NULL;