Lines Matching refs:record
53 static void file_record(struct ihex_binrec *record);
133 struct ihex_binrec *record; in process_ihex() local
160 record = malloc((sizeof (*record) + len + 3) & ~3); in process_ihex()
161 if (!record) { in process_ihex()
165 memset(record, 0, (sizeof(*record) + len + 3) & ~3); in process_ihex()
166 record->len = len; in process_ihex()
169 if (i + 8 + (record->len * 2) > size) { in process_ihex()
175 record->addr = hex(data + i, &crc) << 8; i += 2; in process_ihex()
176 record->addr |= hex(data + i, &crc); i += 2; in process_ihex()
179 for (j = 0; j < record->len; j++, i += 2) in process_ihex()
180 record->data[j] = hex(data + i, &crc); in process_ihex()
194 if (!record->len) in process_ihex()
197 record->addr += offset; in process_ihex()
198 file_record(record); in process_ihex()
202 if (record->addr || record->len) { in process_ihex()
211 if (record->addr || record->len != 2) { in process_ihex()
219 offset = record->data[0] << 8 | record->data[1]; in process_ihex()
225 if (record->addr || record->len != 4) { in process_ihex()
231 memcpy(&data32, &record->data[0], sizeof(data32)); in process_ihex()
233 memcpy(&record->data[0], &data32, sizeof(data32)); in process_ihex()
238 file_record(record); in process_ihex()
251 static void file_record(struct ihex_binrec *record) in file_record() argument
255 while ((*p) && (!sort_records || (*p)->addr < record->addr)) in file_record()
258 record->next = *p; in file_record()
259 *p = record; in file_record()