|
@@ -1767,6 +1767,34 @@ static int format_hex_hyphen_setting ( const void *raw, size_t raw_len,
|
1767
|
1767
|
return format_hex_setting ( raw, raw_len, buf, len, "-" );
|
1768
|
1768
|
}
|
1769
|
1769
|
|
|
1770
|
+
|
|
1771
|
+ * Parse hex string setting value (using no delimiter)
|
|
1772
|
+ *
|
|
1773
|
+ * @v value Formatted setting value
|
|
1774
|
+ * @v buf Buffer to contain raw value
|
|
1775
|
+ * @v len Length of buffer
|
|
1776
|
+ * @v size Integer size, in bytes
|
|
1777
|
+ * @ret len Length of raw value, or negative error
|
|
1778
|
+ */
|
|
1779
|
+static int parse_hex_raw_setting ( const char *value, void *buf,
|
|
1780
|
+ size_t len ) {
|
|
1781
|
+ return hex_decode ( value, 0, buf, len );
|
|
1782
|
+}
|
|
1783
|
+
|
|
1784
|
+
|
|
1785
|
+ * Format hex string setting value (using no delimiter)
|
|
1786
|
+ *
|
|
1787
|
+ * @v raw Raw setting value
|
|
1788
|
+ * @v raw_len Length of raw setting value
|
|
1789
|
+ * @v buf Buffer to contain formatted value
|
|
1790
|
+ * @v len Length of buffer
|
|
1791
|
+ * @ret len Length of formatted value, or negative error
|
|
1792
|
+ */
|
|
1793
|
+static int format_hex_raw_setting ( const void *raw, size_t raw_len,
|
|
1794
|
+ char *buf, size_t len ) {
|
|
1795
|
+ return format_hex_setting ( raw, raw_len, buf, len, "" );
|
|
1796
|
+}
|
|
1797
|
+
|
1770
|
1798
|
|
1771
|
1799
|
struct setting_type setting_type_hex __setting_type = {
|
1772
|
1800
|
.name = "hex",
|
|
@@ -1781,6 +1809,13 @@ struct setting_type setting_type_hexhyp __setting_type = {
|
1781
|
1809
|
.format = format_hex_hyphen_setting,
|
1782
|
1810
|
};
|
1783
|
1811
|
|
|
1812
|
+
|
|
1813
|
+struct setting_type setting_type_hexraw __setting_type = {
|
|
1814
|
+ .name = "hexraw",
|
|
1815
|
+ .parse = parse_hex_raw_setting,
|
|
1816
|
+ .format = format_hex_raw_setting,
|
|
1817
|
+};
|
|
1818
|
+
|
1784
|
1819
|
|
1785
|
1820
|
* Parse UUID setting value
|
1786
|
1821
|
*
|