summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/vms
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_6/vms')
-rw-r--r--ruby_1_8_6/vms/config.h102
-rw-r--r--ruby_1_8_6/vms/vms.h10
-rw-r--r--ruby_1_8_6/vms/vmsruby_private.c52
-rw-r--r--ruby_1_8_6/vms/vmsruby_private.h7
4 files changed, 171 insertions, 0 deletions
diff --git a/ruby_1_8_6/vms/config.h b/ruby_1_8_6/vms/config.h
new file mode 100644
index 0000000000..82d499ae2d
--- /dev/null
+++ b/ruby_1_8_6/vms/config.h
@@ -0,0 +1,102 @@
+/* config.h for OpenVMS */
+
+#ifndef VMS_RUBY_STREAM
+#define VMS_RUBY_STREAM "018"
+#endif
+
+/* #define HAVE_PROTOTYPES 1 */
+#define HAVE_STDARG_PROTOTYPES 1
+/* #define HAVE_ATTR_NORETURN 1 */
+/* #define inline __inline */
+#define HAVE_DIRENT_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_LIMITS_H 1
+
+#define HAVE_SYS_FILE_H 1
+#define HAVE_FCNTL_H 1
+/* #define HAVE_PWD_H 1 */
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_TIMES_H 1
+/* #define HAVE_SYS_PARAM_H 1 */
+#define HAVE_SYS_WAIT_H 1
+#define HAVE_STRING_H 1
+#define HAVE_UTIME_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_PID_T 1
+#define HAVE_GID_T 1
+#define HAVE_UID_T 1
+/* #define HAVE_ST_BLKSIZE 1 */
+#define HAVE_ST_RDEV 1
+/* #define GETGROUPS_T gid_t */
+#define GETGROUPS_T int
+#define RETSIGTYPE void
+/* #define HAVE_ALLOCA 1 */
+/* #define vfork fork */
+#define HAVE_FMOD 1
+#define HAVE_RANDOM 1
+#define HAVE_WAITPID 1
+#define HAVE_GETCWD 1
+#define HAVE_TRUNCATE 1
+/* #define HAVE_CHSIZE 1 */
+#define HAVE_TIMES 1
+/* #define HAVE_UTIMES 1 */
+#define HAVE_FCNTL 1
+/* #define HAVE_SETITIMER 1 */
+/* #define HAVE_GETGROUPS 1 */
+#define HAVE_SIGPROCMASK 1
+#define HAVE_GETLOGIN 1
+#define HAVE_TELLDIR 1
+#define HAVE_SEEKDIR 1
+
+#define RSHIFT(x,y) ((x)>>y)
+#define DEFAULT_KCODE KCODE_EUC
+#define DLEXT ".exe"
+/* #define DLEXT2 "" */
+
+#define HAVE_STRERROR 1
+
+#if defined(__vax)
+#define RUBY_PLATFORM "vax-vms" /* OpenVMS VAX */
+#elif defined(__alpha)
+#define RUBY_PLATFORM "alpha-vms" /* OpenVMS Alpha */
+#elif defined(__ia64)
+#define RUBY_PLATFORM "ia64-vms" /* OpenVMS Industry Standard 64 */
+#else
+#define RUBY_PLATFORM "unknown-vms" /* unknown processor */
+#endif
+
+#define RUBY_SITE_LIB2 "/RUBY_LIBROOT/site_ruby/" RUBY_PLATFORM
+#define RUBY_SITE_ARCHLIB "/RUBY_LIBROOT/site_ruby/" VMS_RUBY_STREAM "/" RUBY_PLATFORM
+#define RUBY_SITE_LIB "/RUBY_LIBROOT/site_ruby"
+#define RUBY_LIB "/RUBY_LIBROOT/" VMS_RUBY_STREAM
+#define RUBY_ARCHLIB "/RUBY_LIBROOT/" VMS_RUBY_STREAM "/" RUBY_PLATFORM
+
+#define SIZEOF_INT 4
+#define SIZEOF_SHORT 2
+#define SIZEOF_LONG 4
+#define SIZEOF_VOIDP 4
+#define SIZEOF_FLOAT 4
+#define SIZEOF_DOUBLE 8
+
+#define HAVE_MKDIR 1 /* Dango */
+#define HAVE_SINH 1 /* Dango */
+#define HAVE_COSH 1 /* Dango */
+#define HAVE_TANH 1 /* Dango */
+
+/* function flags for socket ---------------------- */
+
+#define HAVE_GETHOSTNAME 1
+#define HAVE_SENDMSG 1
+#define HAVE_RECVMSG 1
+#define HAVE_GETNAMEINFO 1
+#define HAVE_INET_NTOP 1
+#define HAVE_INET_NTOA 1
+#define HAVE_INET_PTON 1
+#define HAVE_INET_ATON 1
+#define HAVE_GETSERVBYPORT 1
+#define HAVE_UNAME 1
+/*
+#define HAVE_GETHOSTBYNAME2 1
+#define HAVE_GETADDRINFO 1
+*/
diff --git a/ruby_1_8_6/vms/vms.h b/ruby_1_8_6/vms/vms.h
new file mode 100644
index 0000000000..fc57cc8675
--- /dev/null
+++ b/ruby_1_8_6/vms/vms.h
@@ -0,0 +1,10 @@
+#ifndef VMSRUBY_VMS_H_INCLUDED
+#define VMSRUBY_VMS_H_INCLUDED
+
+extern int isinf(double);
+extern int isnan(double);
+extern int flock(int fd, int oper);
+
+extern int vsnprintf();
+
+#endif
diff --git a/ruby_1_8_6/vms/vmsruby_private.c b/ruby_1_8_6/vms/vmsruby_private.c
new file mode 100644
index 0000000000..c1cbfcebec
--- /dev/null
+++ b/ruby_1_8_6/vms/vmsruby_private.c
@@ -0,0 +1,52 @@
+#include "vmsruby_private.h"
+#include <stdio.h>
+#include <stdlib.h>
+
+void _vmsruby_init(void)
+{
+ _vmsruby_set_switch("DECC$WLS", "TRUE");
+}
+
+
+#include <starlet.h>
+#include <string.h>
+#include <descrip.h>
+#include <lnmdef.h>
+
+struct item_list_3 {
+ short buflen;
+ short itmcod;
+ void *bufadr;
+ void *retlen;
+};
+
+long _vmsruby_set_switch(char *name, char *value)
+{
+ long status;
+ struct item_list_3 itemlist[20];
+ int i;
+
+ i = 0;
+ itemlist[i].itmcod = LNM$_STRING;
+ itemlist[i].buflen = strlen(value);
+ itemlist[i].bufadr = value;
+ itemlist[i].retlen = NULL;
+ i++;
+ itemlist[i].itmcod = 0;
+ itemlist[i].buflen = 0;
+
+ $DESCRIPTOR(TABLE_d, "LNM$PROCESS");
+ $DESCRIPTOR(lognam_d, "");
+
+ lognam_d.dsc$a_pointer = name;
+ lognam_d.dsc$w_length = strlen(name);
+
+ status = sys$crelnm (
+ 0,
+ &TABLE_d,
+ &lognam_d,
+ 0, /* usermode */
+ itemlist);
+
+ return status;
+}
diff --git a/ruby_1_8_6/vms/vmsruby_private.h b/ruby_1_8_6/vms/vmsruby_private.h
new file mode 100644
index 0000000000..24703dc7fc
--- /dev/null
+++ b/ruby_1_8_6/vms/vmsruby_private.h
@@ -0,0 +1,7 @@
+#ifndef VMSRUBY_H_INCLUDED
+#define VMSRUBY_H_INCLUDED
+
+void _vmsruby_init(void);
+long _vmsruby_set_switch(char *, char *);
+
+#endif /* VMSRUBY_H_INCLUDED */