RISCOS files by dschwertberger
diff --git a/RISCOS/Python/dynload_riscos.c b/RISCOS/Python/dynload_riscos.c
new file mode 100644
index 0000000..3c4b1d7
--- /dev/null
+++ b/RISCOS/Python/dynload_riscos.c
@@ -0,0 +1,63 @@
+/***********************************************************
+Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
+The Netherlands.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Stichting Mathematisch
+Centrum or CWI or Corporation for National Research Initiatives or
+CNRI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+While CWI is the initial source for this software, a modified version
+is made available by the Corporation for National Research Initiatives
+(CNRI) at the Internet address ftp://ftp.python.org.
+
+STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
+CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+/* This module provides the necessary stubs for when dynamic loading is
+   not present. */
+
+#include "Python.h"
+#include "importdl.h"
+
+#include "dlk.h"
+
+
+const struct filedescr _PyImport_DynLoadFiletab[] = {
+	{"/pyd", "rb", C_EXTENSION},
+	{0, 0}
+};
+
+void dynload_init_dummy()
+{
+}
+
+dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname,
+				    char *pathname, FILE *fp)
+{
+	int err;
+	char errstr[256];
+
+	err = dlk_load(pathname);
+	if (err)
+	{
+	  sprintf(errstr, "dlk failure %d", err);
+	  PyErr_SetString(PyExc_ImportError, errstr);
+	}
+	return dynload_init_dummy;
+}
diff --git a/RISCOS/Python/getcwd_riscos.c b/RISCOS/Python/getcwd_riscos.c
new file mode 100644
index 0000000..0239e6e
--- /dev/null
+++ b/RISCOS/Python/getcwd_riscos.c
@@ -0,0 +1,5 @@
+char *getcwd(char *buf, int size)
+{
+  buf[0] = '\0';
+  return buf;
+}
diff --git a/RISCOS/Python/getmtime_riscos.c b/RISCOS/Python/getmtime_riscos.c
new file mode 100644
index 0000000..cbd1669
--- /dev/null
+++ b/RISCOS/Python/getmtime_riscos.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+
+#define __swi
+#include "osfile.h"
+
+long PyOS_GetLastModificationTime(char *path, FILE *fp)
+{
+  int obj;
+  bits load, exec, ftype;
+
+  if (xosfile_read_stamped_no_path(path, &obj, &load, &exec, 0, 0, &ftype)) return -1;
+  if (obj != osfile_IS_FILE) return -1;
+  if (ftype == osfile_TYPE_UNTYPED) return -1;
+
+  load &= 0xFF;
+  load -= 51;
+  if (exec < 1855548004U) load--;
+  exec -= 1855548004U;
+  return exec/100+42949672*load+(95*load)/100;
+}