summaryrefslogtreecommitdiff
path: root/lcmodule/source/cnh1605551_ldr_utilities/source/serialization.c
diff options
context:
space:
mode:
Diffstat (limited to 'lcmodule/source/cnh1605551_ldr_utilities/source/serialization.c')
-rw-r--r--lcmodule/source/cnh1605551_ldr_utilities/source/serialization.c188
1 files changed, 91 insertions, 97 deletions
diff --git a/lcmodule/source/cnh1605551_ldr_utilities/source/serialization.c b/lcmodule/source/cnh1605551_ldr_utilities/source/serialization.c
index 3b6377f..717f847 100644
--- a/lcmodule/source/cnh1605551_ldr_utilities/source/serialization.c
+++ b/lcmodule/source/cnh1605551_ldr_utilities/source/serialization.c
@@ -76,103 +76,6 @@ uint32 get_uint32_be(void **data_pp)
return ((d[0] << 8 | d[1]) << 8 | d[2]) << 8 | d[3];
}
-uint32 get_directory_entries_len(const DirEntry_t *source_p, uint32 DirectoryEntriesCount)
-{
- uint32 EntriesLen = 0;
- uint32 i = 0;
-
- if (DirectoryEntriesCount > 0) {
- for (i = 0; i < DirectoryEntriesCount; i++) {
- EntriesLen += get_uint32_string_le((void **)&source_p[i].Name_p);
- EntriesLen += sizeof(uint32) + sizeof(uint32) + sizeof(uint64);
- }
- }
-
- return EntriesLen;
-}
-
-void serialize_directory_entries(void **data_pp, const DirEntry_t *source_p, uint32 DirectoryEntriesCount)
-{
- uint32 NameLength = 0;
- uint32 i = 0;
-
- if (DirectoryEntriesCount > 0) {
- for (i = 0; i < DirectoryEntriesCount; i++) {
- NameLength = get_uint32_string_le((void **)&source_p[i].Name_p);
- memcpy(*data_pp, source_p[i].Name_p, NameLength);
- *(const uint8 **)data_pp += NameLength;
- memcpy(*data_pp, &source_p[i].Size, sizeof(uint64));
- *(const uint8 **)data_pp += sizeof(uint64);
- memcpy(*data_pp, &source_p[i].Mode, sizeof(uint32));
- *(const uint8 **)data_pp += sizeof(uint32);
- memcpy(*data_pp, &source_p[i].Time, sizeof(uint32));
- *(const uint8 **)data_pp += sizeof(uint32);
- }
- }
-}
-
-uint32 get_device_entries_len(const ListDevice_t *source_p, uint32 DeviceEntriesCount)
-{
- uint32 EntriesLen = 0;
- uint32 i = 0;
-
- if (DeviceEntriesCount > 0) {
- for (i = 0; i < DeviceEntriesCount; i++) {
- if (NULL != source_p[i].Path_p) {
- EntriesLen += get_uint32_string_le((void **)&source_p[i].Path_p);
- } else {
- EntriesLen += sizeof(uint32);
- }
-
- if (NULL != source_p[i].Type_p) {
- EntriesLen += get_uint32_string_le((void **)&source_p[i].Type_p);
- } else {
- EntriesLen += sizeof(uint32);
- }
-
- EntriesLen += sizeof(uint64) + sizeof(uint64) + sizeof(uint64);
- }
- }
-
- return EntriesLen;
-}
-
-void serialize_device_entries(void **data_pp, const ListDevice_t *source_p, uint32 DeviceEntriesCount)
-{
- uint32 PathLen = 0;
- uint32 TypeLen = 0;
- uint32 i = 0;
-
- if (DeviceEntriesCount > 0) {
- for (i = 0; i < DeviceEntriesCount; i++) {
- if (NULL != source_p[i].Path_p) {
- PathLen = get_uint32_string_le((void **)&source_p[i].Path_p);
- memcpy(*data_pp, source_p[i].Path_p, PathLen);
- *(const uint8 **)data_pp += PathLen;
- } else {
- memset(*data_pp, 0x00, sizeof(char *));
- *(const uint8 **)data_pp += sizeof(char *);
- }
-
- if (NULL != source_p[i].Type_p) {
- TypeLen = get_uint32_string_le((void **)&source_p[i].Type_p);
- memcpy(*data_pp, source_p[i].Type_p, TypeLen);
- *(const uint8 **)data_pp += TypeLen;
- } else {
- memset(*data_pp, 0x00, sizeof(char *));
- *(const uint8 **)data_pp += sizeof(char *);
- }
-
- memcpy(*data_pp, &source_p[i].BlockSize, sizeof(uint64));
- *(const uint8 **)data_pp += sizeof(uint64);
- memcpy(*data_pp, &source_p[i].Start, sizeof(uint64));
- *(const uint8 **)data_pp += sizeof(uint64);
- memcpy(*data_pp, &source_p[i].Length, sizeof(uint64));
- *(const uint8 **)data_pp += sizeof(uint64);
- }
- }
-}
-
void put_block(void **data_pp, const void *source_p, uint32 length)
{
if (length > 0) {
@@ -324,6 +227,97 @@ void insert_string(char **data_pp, const char *source_p, uint32 length)
memcpy(*data_pp + sizeof(uint32), source_p, length);
}
+#if defined(CFG_ENABLE_LOADER_SERIALIZATION)
+uint32 get_directory_entries_len(const DirEntry_t *source_p, uint32 DirectoryEntriesCount)
+{
+ uint32 EntriesLen = 0;
+ uint32 i = 0;
+
+ for (i = 0; i < DirectoryEntriesCount; i++) {
+ EntriesLen += get_uint32_string_le((void **)&source_p[i].Name_p);
+ EntriesLen += sizeof(uint32) + sizeof(uint32) + sizeof(uint64);
+ }
+
+ return EntriesLen;
+}
+
+void serialize_directory_entries(void **data_pp, const DirEntry_t *source_p, uint32 DirectoryEntriesCount)
+{
+ uint32 NameLength = 0;
+ uint32 i = 0;
+
+ for (i = 0; i < DirectoryEntriesCount; i++) {
+ NameLength = get_uint32_string_le((void **)&source_p[i].Name_p);
+ memcpy(*data_pp, source_p[i].Name_p, NameLength);
+ *(const uint8 **)data_pp += NameLength;
+ memcpy(*data_pp, &source_p[i].Size, sizeof(uint64));
+ *(const uint8 **)data_pp += sizeof(uint64);
+ memcpy(*data_pp, &source_p[i].Mode, sizeof(uint32));
+ *(const uint8 **)data_pp += sizeof(uint32);
+ memcpy(*data_pp, &source_p[i].Time, sizeof(uint32));
+ *(const uint8 **)data_pp += sizeof(uint32);
+ }
+}
+
+uint32 get_device_entries_len(const ListDevice_t *source_p, uint32 DeviceEntriesCount)
+{
+ uint32 EntriesLen = 0;
+ uint32 i = 0;
+
+ for (i = 0; i < DeviceEntriesCount; i++) {
+ if (NULL != source_p[i].Path_p) {
+ EntriesLen += get_uint32_string_le((void **)&source_p[i].Path_p);
+ } else {
+ EntriesLen += sizeof(uint32);
+ }
+
+ if (NULL != source_p[i].Type_p) {
+ EntriesLen += get_uint32_string_le((void **)&source_p[i].Type_p);
+ } else {
+ EntriesLen += sizeof(uint32);
+ }
+
+ EntriesLen += sizeof(uint64) + sizeof(uint64) + sizeof(uint64);
+ }
+
+ return EntriesLen;
+}
+
+void serialize_device_entries(void **data_pp, const ListDevice_t *source_p, uint32 DeviceEntriesCount)
+{
+ uint32 PathLen = 0;
+ uint32 TypeLen = 0;
+ uint32 i = 0;
+
+ for (i = 0; i < DeviceEntriesCount; i++) {
+ if (NULL != source_p[i].Path_p) {
+ PathLen = get_uint32_string_le((void **)&source_p[i].Path_p);
+ memcpy(*data_pp, source_p[i].Path_p, PathLen);
+ *(const uint8 **)data_pp += PathLen;
+ } else {
+ memset(*data_pp, 0x00, sizeof(char *));
+ *(const uint8 **)data_pp += sizeof(char *);
+ }
+
+ if (NULL != source_p[i].Type_p) {
+ TypeLen = get_uint32_string_le((void **)&source_p[i].Type_p);
+ memcpy(*data_pp, source_p[i].Type_p, TypeLen);
+ *(const uint8 **)data_pp += TypeLen;
+ } else {
+ memset(*data_pp, 0x00, sizeof(char *));
+ *(const uint8 **)data_pp += sizeof(char *);
+ }
+
+ memcpy(*data_pp, &source_p[i].BlockSize, sizeof(uint64));
+ *(const uint8 **)data_pp += sizeof(uint64);
+ memcpy(*data_pp, &source_p[i].Start, sizeof(uint64));
+ *(const uint8 **)data_pp += sizeof(uint64);
+ memcpy(*data_pp, &source_p[i].Length, sizeof(uint64));
+ *(const uint8 **)data_pp += sizeof(uint64);
+ }
+}
+#endif
+
/* @} */
/* @} */