]> git.ozlabs.org Git - petitboot/commitdiff
lib/pb-protocol: Define new 'add-url' action
authorSamuel Mendoza-Jonas <sam.mj@au1.ibm.com>
Thu, 24 Jul 2014 05:05:37 +0000 (15:05 +1000)
committerJeremy Kerr <jk@ozlabs.org>
Mon, 28 Jul 2014 08:03:39 +0000 (16:03 +0800)
Signed-off-by: Samuel Mendoza-Jonas <sam.mj@au1.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
lib/pb-protocol/pb-protocol.c
lib/pb-protocol/pb-protocol.h

index c184719be85fad32eab5dc3fe7ec48de4411f1a8..866673dba1016dc64f3778dfe13f6973e28ae690 100644 (file)
@@ -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;
index d6f149c54e6789746491a70ae7e280af0b6134b8..f85052050aa08a59c7b9e0e35227b05ed2fd65eb 100644 (file)
@@ -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);