aboutsummaryrefslogtreecommitdiff
path: root/db2/os/os_rw.c
diff options
context:
space:
mode:
Diffstat (limited to 'db2/os/os_rw.c')
-rw-r--r--db2/os/os_rw.c136
1 files changed, 0 insertions, 136 deletions
diff --git a/db2/os/os_rw.c b/db2/os/os_rw.c
deleted file mode 100644
index e0a8163..0000000
--- a/db2/os/os_rw.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1997, 1998
- * Sleepycat Software. All rights reserved.
- */
-
-#include "config.h"
-
-#ifndef lint
-static const char sccsid[] = "@(#)os_rw.c 10.11 (Sleepycat) 10/12/98";
-#endif /* not lint */
-
-#ifndef NO_SYSTEM_INCLUDES
-#include <sys/types.h>
-
-#include <errno.h>
-#include <unistd.h>
-#endif
-
-#include "db_int.h"
-#include "os_jump.h"
-
-/*
- * __os_io --
- * Do an I/O.
- *
- * PUBLIC: int __os_io __P((DB_IO *, int, ssize_t *));
- */
-int
-__os_io(db_iop, op, niop)
- DB_IO *db_iop;
- int op;
- ssize_t *niop;
-{
- int ret;
-
-#ifdef HAVE_PREAD
- switch (op) {
- case DB_IO_READ:
- if (__db_jump.j_read != NULL)
- goto slow;
- *niop = pread(db_iop->fd_io, db_iop->buf,
- db_iop->bytes, (off_t)db_iop->pgno * db_iop->pagesize);
- break;
- case DB_IO_WRITE:
- if (__db_jump.j_write != NULL)
- goto slow;
- *niop = pwrite(db_iop->fd_io, db_iop->buf,
- db_iop->bytes, (off_t)db_iop->pgno * db_iop->pagesize);
- break;
- }
- if (*niop == db_iop->bytes)
- return (0);
-slow:
-#endif
- if (db_iop->mutexp != NULL)
- (void)__db_mutex_lock(db_iop->mutexp, db_iop->fd_lock);
-
- if ((ret = __os_seek(db_iop->fd_io,
- db_iop->pagesize, db_iop->pgno, 0, 0, SEEK_SET)) != 0)
- goto err;
- switch (op) {
- case DB_IO_READ:
- ret =
- __os_read(db_iop->fd_io, db_iop->buf, db_iop->bytes, niop);
- break;
- case DB_IO_WRITE:
- ret =
- __os_write(db_iop->fd_io, db_iop->buf, db_iop->bytes, niop);
- break;
- }
-
-err: if (db_iop->mutexp != NULL)
- (void)__db_mutex_unlock(db_iop->mutexp, db_iop->fd_lock);
-
- return (ret);
-
-}
-
-/*
- * __os_read --
- * Read from a file handle.
- *
- * PUBLIC: int __os_read __P((int, void *, size_t, ssize_t *));
- */
-int
-__os_read(fd, addr, len, nrp)
- int fd;
- void *addr;
- size_t len;
- ssize_t *nrp;
-{
- size_t offset;
- ssize_t nr;
- u_int8_t *taddr;
-
- for (taddr = addr,
- offset = 0; offset < len; taddr += nr, offset += nr) {
- if ((nr = __db_jump.j_read != NULL ?
- __db_jump.j_read(fd, taddr, len - offset) :
- read(fd, taddr, len - offset)) < 0)
- return (errno);
- if (nr == 0)
- break;
- }
- *nrp = taddr - (u_int8_t *)addr;
- return (0);
-}
-
-/*
- * __os_write --
- * Write to a file handle.
- *
- * PUBLIC: int __os_write __P((int, void *, size_t, ssize_t *));
- */
-int
-__os_write(fd, addr, len, nwp)
- int fd;
- const void *addr;
- size_t len;
- ssize_t *nwp;
-{
- size_t offset;
- ssize_t nw;
- const u_int8_t *taddr;
-
- for (taddr = addr,
- offset = 0; offset < len; taddr += nw, offset += nw)
- if ((nw = __db_jump.j_write != NULL ?
- __db_jump.j_write(fd, taddr, len - offset) :
- write(fd, taddr, len - offset)) < 0)
- return (errno);
- *nwp = len;
- return (0);
-}