From e79f9f88f59ad3b8a9cf85a37b6c64095b2af0c3 Mon Sep 17 00:00:00 2001 From: Samuel Mendoza-Jonas Date: Thu, 24 Jul 2014 15:05:37 +1000 Subject: [PATCH] lib/pb-protocol: Define new 'add-url' action Signed-off-by: Samuel Mendoza-Jonas Signed-off-by: Jeremy Kerr --- lib/pb-protocol/pb-protocol.c | 18 ++++++++++++++++++ lib/pb-protocol/pb-protocol.h | 3 +++ 2 files changed, 21 insertions(+) diff --git a/lib/pb-protocol/pb-protocol.c b/lib/pb-protocol/pb-protocol.c index c184719..866673d 100644 --- a/lib/pb-protocol/pb-protocol.c +++ b/lib/pb-protocol/pb-protocol.c @@ -289,6 +289,12 @@ int pb_protocol_config_len(const struct config *config) return len; } +int pb_protocol_url_len(const char *url) +{ + /* url + length field */ + return 4 + optional_strlen(url); +} + int pb_protocol_serialise_device(const struct device *dev, char *buf, int buf_len) { @@ -490,6 +496,18 @@ int pb_protocol_serialise_config(const struct config *config, return 0; } +int pb_protocol_serialise_url(const char *url, char *buf, int buf_len) +{ + char *pos = buf; + + pos += pb_protocol_serialise_string(pos, url); + + assert(pos <=buf+buf_len); + (void)buf_len; + + return 0; +} + int pb_protocol_write_message(int fd, struct pb_protocol_message *message) { int total_len, rc; diff --git a/lib/pb-protocol/pb-protocol.h b/lib/pb-protocol/pb-protocol.h index d6f149c..f850520 100644 --- a/lib/pb-protocol/pb-protocol.h +++ b/lib/pb-protocol/pb-protocol.h @@ -22,6 +22,7 @@ enum pb_protocol_action { PB_PROTOCOL_ACTION_SYSTEM_INFO = 0x8, PB_PROTOCOL_ACTION_CONFIG = 0x9, PB_PROTOCOL_ACTION_REINIT = 0xa, + PB_PROTOCOL_ACTION_ADD_URL = 0xb, }; struct pb_protocol_message { @@ -38,6 +39,7 @@ int pb_protocol_boot_len(const struct boot_command *boot); int pb_protocol_boot_status_len(const struct boot_status *status); int pb_protocol_system_info_len(const struct system_info *sysinfo); int pb_protocol_config_len(const struct config *config); +int pb_protocol_url_len(const char *url); int pb_protocol_device_cmp(const struct device *a, const struct device *b); int pb_protocol_boot_option_cmp(const struct boot_option *a, @@ -59,6 +61,7 @@ int pb_protocol_serialise_system_info(const struct system_info *sysinfo, char *buf, int buf_len); int pb_protocol_serialise_config(const struct config *config, char *buf, int buf_len); +int pb_protocol_serialise_url(const char *url, char *buf, int buf_len); int pb_protocol_write_message(int fd, struct pb_protocol_message *message); -- 2.39.2