static int readMap(const char *fileName, keyMap *map) { int status = 0; fileStream theStream; memset(&theStream, 0, sizeof(fileStream)); status = fileStreamOpen(fileName, OPENMODE_READ, &theStream); if (status < 0) { error(_("Couldn't open file %s"), fileName); return (status); } status = fileStreamRead(&theStream, sizeof(keyMap), (char *) map); fileStreamClose(&theStream); if (status < 0) { error(_("Couldn't read file %s"), fileName); return (status); } // Check the magic number if (strncmp(map->magic, KEYMAP_MAGIC, sizeof(KEYMAP_MAGIC))) return (status = ERR_BADDATA); return (status = 0); }
static int ChibiOSBFSRead(GFILE *f, void *buf, int size) { return fileStreamRead(((FileStream *)f->obj), (uint8_t *)buf, size); }