Files
openbios/arch/sparc32/loadfs.c
Stefan Reinauer ad82fa58a6 blueswirl -14 sparc32 related
git-svn-id: svn://coreboot.org/openbios/openbios-devel@24 f158a5a8-5612-0410-a976-696ce0be7e32
2006-05-22 10:33:31 +00:00

56 lines
906 B
C

#include "openbios/config.h"
#include "openbios/kernel.h"
#include "libc/diskio.h"
#include "loadfs.h"
static int load_fd=-1;
int file_open(const char *filename)
{
load_fd=open_io(filename);
if(load_fd >= 0)
seek_io(load_fd, 0);
return load_fd>-1;
}
int lfile_read(void *buf, unsigned long len)
{
int ret = 0;
if (load_fd >= 0)
ret=read_io(load_fd, buf, len);
return ret;
}
int file_seek(unsigned long offset)
{
if (load_fd >= 0)
return seek_io(load_fd, offset);
else
return -1;
}
unsigned long file_size(void)
{
llong fpos, fsize;
if (load_fd < 0)
return 0;
/* save current position */
fpos=tell(load_fd);
/* go to end of file and get position */
seek_io(load_fd, -1);
fsize=tell(load_fd);
/* go back to old position */
seek_io(load_fd, 0);
seek_io(load_fd, fpos);
return fsize;
}