20#define MODNAME "imgdrv"
25static int imgdrv_read(
iop_file_t *f,
void *buf,
int size);
26static int imgdrv_lseek(
iop_file_t *f,
int offset,
int whence);
42IOMAN_RETURN_VALUE_IMPL(0);
45 IOMAN_RETURN_VALUE(0),
46 IOMAN_RETURN_VALUE(0),
47 IOMAN_RETURN_VALUE(0),
48 IOMAN_RETURN_VALUE(0),
49 IOMAN_RETURN_VALUE(0),
51 IOMAN_RETURN_VALUE(0),
57void *img[MAX_IMAGES] = {(
void *)0xDEC1DEC1, 0};
58int img_size[MAX_IMAGES] = {0xDEC2DEC2, 0};
68int _start(
int argc,
char *argv[])
70 return (AddDrv(&img_device) < 0) ? MODULE_NO_RESIDENT_END : MODULE_RESIDENT_END;
73static int imgdrv_read(
iop_file_t *f,
void *buf,
int size)
80 img_ptr = (
const u32 *)img[f->
unit];
81 for (i = size; i > 0; i -= 4, img_ptr++, img_out++)
87static int imgdrv_lseek(
iop_file_t *f,
int offset,
int whence)
89 return (whence == SEEK_SET ? 0 : img_size[f->
unit]);