Lines Matching defs:lo
49 * @lo: pointer to target
54 efi_status_t efi_deserialize_load_option(struct efi_load_option *lo, u8 *data,
62 lo->attributes = get_unaligned_le32(data);
67 lo->file_path_length = get_unaligned_le16(data);
71 lo->label = (u16 *)data;
72 len = u16_strnlen(lo->label, *size / sizeof(u16) - 1);
73 if (lo->label[len])
81 len = lo->file_path_length;
84 lo->file_path = (struct efi_device_path *)data;
85 if (efi_dp_check_length(lo->file_path, len) < 0)
90 lo->optional_data = data;
101 * @lo: load option
104 unsigned long efi_serialize_load_option(struct efi_load_option *lo, u8 **data)
110 label_len = u16_strsize(lo->label);
113 size = sizeof(lo->attributes);
114 size += sizeof(lo->file_path_length);
116 size += lo->file_path_length;
117 if (lo->optional_data)
118 size += (utf8_utf16_strlen((const char *)lo->optional_data)
126 memcpy(p, &lo->attributes, sizeof(lo->attributes));
127 p += sizeof(lo->attributes);
129 memcpy(p, &lo->file_path_length, sizeof(lo->file_path_length));
130 p += sizeof(lo->file_path_length);
132 memcpy(p, lo->label, label_len);
135 memcpy(p, lo->file_path, lo->file_path_length);
136 p += lo->file_path_length;
138 if (lo->optional_data) {
139 utf8_utf16_strcpy((u16 **)&p, (const char *)lo->optional_data);