Lines Matching refs:cursor

118     cursor_t *cursor, spifs_t *spifs, int32_t direction, uint32_t page_id,  in cursor_init()  argument
127 cursor->page_id = page_id; in cursor_init()
128 cursor->direction = direction; in cursor_init()
129 cursor->entry_length = entry_length; in cursor_init()
130 cursor->data = spifs->page; in cursor_init()
131 cursor->spifs = spifs; in cursor_init()
137 static uint8_t *cursor_get(cursor_t *cursor) { in cursor_get() argument
139 spifs_t *spifs = cursor->spifs; in cursor_get()
142 DEBUG_ASSERT(cursor->data < page_end); in cursor_get()
145 return cursor->data; in cursor_get()
148 static status_t cursor_advance(cursor_t *cursor) { in cursor_advance() argument
149 spifs_t *spifs = cursor->spifs; in cursor_advance()
153 cursor->data += cursor->entry_length; in cursor_advance()
156 DEBUG_ASSERT(page_end >= cursor->data); in cursor_advance()
160 if (cursor->data == page_end) { in cursor_advance()
161 cursor->page_id += cursor->direction; in cursor_advance()
162 cursor->data = spifs->page; in cursor_advance()
164 return spifs_read_page(spifs, cursor->page_id); in cursor_advance()
268 uint8_t *cursor = spifs->page; in spifs_commit_toc() local
283 memcpy(cursor, (uint8_t *)&header, SPIFS_ENTRY_LENGTH); in spifs_commit_toc()
284 cursor += SPIFS_ENTRY_LENGTH; in spifs_commit_toc()
292 DEBUG_ASSERT(cursor <= page_end); in spifs_commit_toc()
294 if (cursor == page_end) { in spifs_commit_toc()
301 cursor = spifs->page; in spifs_commit_toc()
306 memcpy(cursor, (uint8_t *)&file->metadata, SPIFS_ENTRY_LENGTH); in spifs_commit_toc()
310 memcpy(cursor, (uint8_t *)&empty, SPIFS_ENTRY_LENGTH); in spifs_commit_toc()
313 cursor += SPIFS_ENTRY_LENGTH; in spifs_commit_toc()
321 DEBUG_ASSERT(cursor == expected_cursor_location); in spifs_commit_toc()
324 toc_footer_t *footer = (toc_footer_t *)cursor; in spifs_commit_toc()
401 cursor_t cursor; in get_toc_generation() local
402 if (cursor_init(&cursor, spifs, toc_pos, toc_page, SPIFS_ENTRY_LENGTH) != in get_toc_generation()
407 toc_header_t *header = (toc_header_t *)cursor_get(&cursor); in get_toc_generation()
426 if (cursor_advance(&cursor) != NO_ERROR) in get_toc_generation()
429 crc = crc32(crc, cursor_get(&cursor), SPIFS_ENTRY_LENGTH); in get_toc_generation()
432 if (cursor_advance(&cursor) != NO_ERROR) in get_toc_generation()
435 toc_footer_t *footer = (toc_footer_t *)cursor_get(&cursor); in get_toc_generation()
633 cursor_t cursor; in spifs_mount() local
634 status = cursor_init(&cursor, spifs, spifs->toc_position, toc_page_addr, in spifs_mount()
639 toc_header_t *header = (toc_header_t *)cursor_get(&cursor); in spifs_mount()
646 status = cursor_advance(&cursor); in spifs_mount()
650 toc_file_t *file_entry = (toc_file_t *)cursor_get(&cursor); in spifs_mount()