2 * Copyright (C) 1994, Index Data I/S
4 * Sebastian Hammer, Adam Dickmeiss
7 * Revision 1.8 1994-08-23 15:03:34 quinn
8 * *** empty log message ***
10 * Revision 1.7 1994/08/23 14:25:45 quinn
11 * Added O_CREAT because some geek wanted it. Sheesh.
13 * Revision 1.6 1994/08/23 14:21:38 quinn
16 * Revision 1.5 1994/08/18 08:10:08 quinn
19 * Revision 1.4 1994/08/17 14:27:32 quinn
22 * Revision 1.2 1994/08/17 14:09:32 quinn
23 * Compiles cleanly (still only dummy).
25 * Revision 1.1 1994/08/17 13:55:08 quinn
26 * New blocksystem. dummy only
32 #include <sys/types.h>
37 int bf_close (BFile bf)
44 BFile bf_open (const char *name, int block_size, int wflag)
46 BFile tmp = xmalloc(sizeof(BFile_struct));
48 if ((tmp->fd = open(name, wflag ? O_RDWR|O_CREAT : O_RDONLY, 0666)) < 0)
50 log(LOG_FATAL|LOG_ERRNO, "open %s", name);
53 tmp->block_size = block_size;
57 int bf_read (BFile bf, int no, int offset, int num, void *buf)
59 lseek(bf->fd, no * bf->block_size + offset, 0);
60 return(read(bf->fd, buf, num ? num : bf->block_size));
63 int bf_write (BFile bf, int no, int offset, int num, const void *buf)
65 lseek(bf->fd, no * bf->block_size + offset, 0);
66 return(write(bf->fd, buf, num ? num : bf->block_size));