## Header files
##
dnl sys/socket.h and sys/types.h are required by AC_FUNC_ACCEPT_ARGTYPES
-AC_CHECK_HEADERS([crypt.h dld.h endian.h fp_class.h getopt.h ieeefp.h netinet/tcp.h pwd.h sys/pstat.h sys/select.h sys/socket.h sys/types.h sys/un.h termios.h])
+AC_CHECK_HEADERS([crypt.h dld.h endian.h fp_class.h getopt.h ieeefp.h netinet/tcp.h pwd.h sys/ipc.h sys/pstat.h sys/select.h sys/socket.h sys/types.h sys/un.h termios.h])
AC_CHECK_HEADERS([readline/readline.h readline.h], [break])
AC_CHECK_HEADERS([readline/history.h history.h], [break])
--- /dev/null
+/*-------------------------------------------------------------------------
+ *
+ * dynloader.c
+ * Dynamic Loader for Postgres for BeOS
+ *
+ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ *
+ * IDENTIFICATION
+ * $Header: /cvsroot/pgsql/src/backend/port/dynloader/Attic/beos.c,v 1.1 2000/10/02 17:15:53 momjian Exp $
+ *
+ *-------------------------------------------------------------------------
+ */
+
+#include "postgres.h"
+#include <kernel/OS.h>
+#include <image.h>
+#include <errno.h>
+
+#include "dynloader.h"
+
+extern char pg_pathname[];
+
+void *
+beos_dlopen(const char *filename)
+{
+ image_id id = -1;
+
+ if ((id = load_add_on(filename)) < 0)
+ return NULL;
+
+ return (void *) id;
+}
+
+void
+beos_dlclose(void *handle)
+{
+ image_id id = (image_id) handle;
+ unload_add_on(id);
+ return;
+}
+
+void *
+beos_dlsym(void *handle, const char *name)
+{
+ image_id id = (image_id)handle;
+ void *addr;
+
+ if (get_image_symbol(id, name, B_SYMBOL_TYPE_ANY, &addr) != B_OK)
+ return NULL;
+
+ return addr;
+}
+
+char *
+beos_dlerror()
+{
+ return (char *)strerror(errno);
+}
--- /dev/null
+/*-------------------------------------------------------------------------
+ *
+ * port_protos.h
+ * port-specific prototypes for BeOS
+ *
+ *
+ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ * $Id: beos.h,v 1.1 2000/10/02 17:15:53 momjian Exp $
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef PORT_PROTOS_H
+#define PORT_PROTOS_H
+
+#include "postgres.h"
+
+#include "fmgr.h"
+#include "utils/dynamic_loader.h"
+
+char *beos_dlerror(void);
+void *beos_dlopen(const char *filename);
+void *beos_dlsym(void *handle, const char *name);
+void beos_dlclose(void *handle);
+
+#define pg_dlopen(f) beos_dlopen(f)
+#define pg_dlsym beos_dlsym
+#define pg_dlclose beos_dlclose
+#define pg_dlerror beos_dlerror
+
+
+#endif /* PORT_PROTOS_H */
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: c.h,v 1.82 2000/09/29 13:53:32 petere Exp $
+ * $Id: c.h,v 1.83 2000/10/02 17:15:55 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#include <errno.h>
#include <sys/fcntl.h> /* ensure O_BINARY is available */
#endif
+#ifdef __BEOS__
+#include <SupportDefs.h>
+#endif
/* ----------------------------------------------------------------
* Section 1: bool, true, false, TRUE, FALSE, NULL
* Boolean value, either true or false.
*
*/
+#ifndef __BEOS__
#ifndef __cplusplus
#ifndef bool
typedef char bool;
#ifndef false
#define false ((bool) 0)
#endif
+#endif /* __BEOS__ */
typedef bool *BoolPtr;
#ifndef TRUE
* used for numerical computations and the
* frontend/backend protocol.
*/
+#ifndef __BEOS__
typedef signed char int8; /* == 8 bits */
typedef signed short int16; /* == 16 bits */
typedef signed int int32; /* == 32 bits */
+#endif /* __BEOS__ */
/*
* uintN
* used for numerical computations and the
* frontend/backend protocol.
*/
+#ifndef __BEOS__
typedef unsigned char uint8; /* == 8 bits */
typedef unsigned short uint16; /* == 16 bits */
typedef unsigned int uint32; /* == 32 bits */
+#endif /* __BEOS__ */
/*
* floatN
typedef float float4;
typedef double float8;
+/* BeOS already has int64 defined, so skip these... */
+#ifndef BEOS
#ifdef HAVE_LONG_INT_64
/* Plain "long int" fits, use it */
typedef long int int64;
#define INT64_IS_BUSTED
#endif
#endif
+#else /* Add BeOS support */
+#include <SupportDefs.h>
+#endif /* BEOS */
/* ----------------------------------------------------------------
* Section 4: datum type + support macros
* or in config.h afterwards. Of course, if you edit config.h, then your
* changes will be overwritten the next time you run configure.
*
- * $Id: config.h.in,v 1.137 2000/09/29 22:00:45 momjian Exp $
+ * $Id: config.h.in,v 1.138 2000/10/02 17:15:55 momjian Exp $
*/
#ifndef CONFIG_H
/* Set to 1 if you have <readline/readline.h> */
#undef HAVE_READLINE_READLINE_H
+/* Define if you have <sys/ipc.h> */
+#undef HAVE_SYS_IPC_H
+
/* Set to 1 if you have <sys/select.h> */
#undef HAVE_SYS_SELECT_H
--- /dev/null
+#include <kernel/OS.h>
+#define USE_POSIX_TIME
+#define HAS_TEST_AND_SET
+
+typedef unsigned char slock_t;
+
+#define AF_UNIX 1
+#define IPPROTO_IP 0
+
+
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: ipc.h,v 1.38 2000/01/26 05:58:32 momjian Exp $
+ * $Id: ipc.h,v 1.39 2000/10/02 17:15:58 momjian Exp $
*
* NOTES
* This file is very architecture-specific. This stuff should actually
#define IPC_H
#include <sys/types.h>
+#ifdef HAVE_SYS_IPC_H
#include <sys/ipc.h> /* For IPC_PRIVATE */
+#endif
#include "config.h"
--- /dev/null
+MK_NO_LORDER=true
+ifdef ELF_SYSTEM
+LDFLAGS += -Wl,-E
+endif
+%.so: %.o
+ $(LD) -x -Bshareable -o $@ $<
--- /dev/null
+AROPT:crs
+SHARED_LIB:-fpic -DPIC
+CFLAGS:-O2 -DBEOS
+SRCH_INC:
+SRCH_LIB:
+USE_LOCALE:no
+DLSUFFIX:.so
+YFLAGS:-d
+YACC:bison -y