#include extern char *ssd_buf; extern int ssd_bufid; extern void load_ssd_page(int page); void ssd_read(char *buf, int size, int a) { int page, bytes; page = a / 4096; a %= 4096; bytes = (a + size > 4096) ? 4096 - a : size; if (ssd_bufid != page) load_ssd_page(page); memcpy(buf, ssd_buf+a, bytes); size -= bytes; buf += bytes; while (size > 0) { page++; load_ssd_page(page); bytes = (size > 4096) ? 4096 : size; memcpy(buf, ssd_buf, bytes); size -= bytes; buf += bytes; } }