summary refs log tree commit diff
path: root/db2/os/os_open.c
diff options
context:
space:
mode:
Diffstat (limited to 'db2/os/os_open.c')
-rw-r--r--db2/os/os_open.c152
1 files changed, 0 insertions, 152 deletions
diff --git a/db2/os/os_open.c b/db2/os/os_open.c
deleted file mode 100644
index c54fd7365d..0000000000
--- a/db2/os/os_open.c
+++ /dev/null
@@ -1,152 +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_open.c	10.33 (Sleepycat) 10/12/98";
-#endif /* not lint */
-
-#ifndef NO_SYSTEM_INCLUDES
-#include <sys/types.h>
-
-#include <errno.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <unistd.h>
-#endif
-
-#include "db_int.h"
-#include "os_jump.h"
-
-/*
- * __db_open --
- *	Open a file descriptor.
- *
- * PUBLIC: int __db_open __P((const char *, u_int32_t, u_int32_t, int, int *));
- */
-int
-__db_open(name, arg_flags, ok_flags, mode, fdp)
-	const char *name;
-	u_int32_t arg_flags, ok_flags;
-	int mode, *fdp;
-{
-#if !defined(_WIN32) && defined(HAVE_SIGFILLSET)
-	sigset_t set, oset;
-#endif
-	int flags, ret;
-
-	if (arg_flags & ~ok_flags)
-		return (EINVAL);
-
-	flags = 0;
-
-	/*
-	 * DB requires the semantic that two files opened at the same time
-	 * with O_CREAT and O_EXCL set will return failure in at least one.
-	 */
-	if (arg_flags & DB_CREATE)
-		flags |= O_CREAT;
-
-	if (arg_flags & DB_EXCL)
-		flags |= O_EXCL;
-
-	if (arg_flags & DB_RDONLY)
-		flags |= O_RDONLY;
-	else
-		flags |= O_RDWR;
-
-#if defined(_WIN32) || defined(WIN16)
-#ifdef _MSC_VER
-	if (arg_flags & DB_SEQUENTIAL)
-		flags |= _O_SEQUENTIAL;
-	else
-		flags |= _O_RANDOM;
-
-	if (arg_flags & DB_TEMPORARY)
-		flags |= _O_TEMPORARY;
-#endif
-	flags |= O_BINARY | O_NOINHERIT;
-#endif
-
-	if (arg_flags & DB_TRUNCATE)
-		flags |= O_TRUNC;
-
-#if !defined(_WIN32) && defined(HAVE_SIGFILLSET)
-	/*
-	 * We block every signal we can get our hands on so that the temporary
-	 * file isn't left around if we're interrupted at the wrong time.  Of
-	 * course, if we drop core in-between the calls we'll hang forever, but
-	 * that's probably okay.  ;-)
-	 */
-	if (arg_flags & DB_TEMPORARY) {
-		(void)sigfillset(&set);
-		(void)sigprocmask(SIG_BLOCK, &set, &oset);
-	}
-#endif
-
-	/* Open the file. */
-	if ((ret = __os_open(name, flags, mode, fdp)) != 0)
-		return (ret);
-
-#if !defined(_WIN32)
-	/* Delete any temporary file; done for Win32 by _O_TEMPORARY. */
-	if (arg_flags & DB_TEMPORARY) {
-		(void)__os_unlink(name);
-#if defined(HAVE_SIGFILLSET)
-		(void)sigprocmask(SIG_SETMASK, &oset, NULL);
-#endif
-	}
-#endif
-
-#if !defined(_WIN32) && !defined(WIN16) && !defined(VMS)
-	/*
-	 * Deny access to any child process.
-	 *	VMS: does not have fd inheritance.
-	 *	Win32: done by O_NOINHERIT.
-	 */
-	if (fcntl(*fdp, F_SETFD, 1) == -1) {
-		ret = errno;
-
-		(void)__os_close(*fdp);
-		return (ret);
-	}
-#endif
-	return (0);
-}
-
-/*
- * __os_open --
- *	Open a file.
- *
- * PUBLIC: int __os_open __P((const char *, int, int, int *));
- */
-int
-__os_open(name, flags, mode, fdp)
-	const char *name;
-	int flags, mode, *fdp;
-{
-	*fdp = __db_jump.j_open != NULL ?
-	    __db_jump.j_open(name, flags, mode) : open(name, flags, mode);
-	return (*fdp == -1 ? errno : 0);
-}
-
-/*
- * __os_close --
- *	Close a file descriptor.
- *
- * PUBLIC: int __os_close __P((int));
- */
-int
-__os_close(fd)
-	int fd;
-{
-	int ret;
-
-	ret = __db_jump.j_close != NULL ? __db_jump.j_close(fd) : close(fd);
-	return (ret == 0 ? 0 : errno);
-}