aboutsummaryrefslogtreecommitdiffstats
path: root/util/riscos.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/riscos.c')
-rw-r--r--util/riscos.c130
1 files changed, 0 insertions, 130 deletions
diff --git a/util/riscos.c b/util/riscos.c
index 835730d79..2b4e92bd5 100644
--- a/util/riscos.c
+++ b/util/riscos.c
@@ -70,18 +70,6 @@ is_read_only(const char *filename)
return 0;
}
-static void
-set_filetype(const char *filename, const int type)
-{
- _kernel_swi_regs r;
-
- r.r[0] = 18;
- r.r[1] = (int) filename;
- r.r[2] = type;
-
- if (_kernel_swi(OS_File, &r, &r))
- log_fatal("Can't set filetype for file %s!\nIs the file on a read-only file system?\n", filename);
-}
/* exported RISC OS functions */
@@ -126,124 +114,6 @@ riscos_kill(pid_t pid, int sig)
return __set_errno(ESRCH);
}
-FILE *
-riscos_fopen(const char *filename, const char *mode)
-{
- FILE *fp;
- _kernel_swi_regs r;
- _kernel_oserror *e;
- int filetype;
-
- r.r[0] = 17;
- r.r[1] = (int) filename;
- if (e =_kernel_swi(OS_File, &r, &r))
- log_fatal("Can't retrieve object information for %s!\n", filename);
- if (r.r[0] == 2) {
- errno = EISDIR;
- return NULL;
- }
- if (r.r[0] == 3) {
- /* setting file to to non-image file, after fopening, restore */
- filetype = (r.r[2] >> 8) & 0xfff;
- set_filetype(filename, 0xfff);
- fp = fopen(filename, mode);
- set_filetype(filename, filetype);
- }
- else {
- fp = fopen(filename, mode);
- }
- return fp;
-}
-
-int
-riscos_open(const char *filename, int oflag, ...)
-{
- va_list ap;
- _kernel_swi_regs r;
- _kernel_oserror *e;
- int fd, mode, filetype;
-
- r.r[0] = 17;
- r.r[1] = (int) filename;
- if (e =_kernel_swi(OS_File, &r, &r))
- log_fatal("Can't retrieve object information for %s!\n", filename);
- if (r.r[0] == 2) {
- errno = EISDIR;
- return NULL;
- }
-
- va_start(ap, oflag);
- mode = va_arg(ap, int);
- va_end(ap);
-
- if (r.r[0] == 3) {
- /* setting file to to non-image file, after opening, restore */
- filetype = (r.r[2] >> 8) & 0xfff;
- set_filetype(filename, 0xfff);
- if (!mode)
- fd = open(filename, oflag);
- else
- fd = open(filename, oflag, mode);
- set_filetype(filename, filetype);
- }
- else {
- if (!mode)
- fd = open(filename, oflag);
- else
- fd = open(filename, oflag, mode);
- }
- return fd;
-}
-
-int
-riscos_fstat(int fildes, struct stat *buf)
-{
- _kernel_swi_regs r;
- _kernel_oserror *e;
- char *filename;
- int rc, filetype;
- int handle = (int) __u->fd[fildes].handle;
-
- r.r[0] = 7;
- r.r[1] = handle;
- r.r[2] = 0;
- r.r[5] = 0;
- if (e = _kernel_swi(OS_Args, &r, &r))
- log_fatal("Can't convert from file handle to name!\n");
-
- filename = m_alloc(1 - r.r[5]);
-
- r.r[0] = 7;
- r.r[1] = handle;
- r.r[2] = (int) filename;
- r.r[5] = 1-r.r[5];
- if (e = _kernel_swi(OS_Args, &r, &r))
- log_fatal("Can't convert from file handle to name!\n");
-
- r.r[0] = 17;
- r.r[1] = (int) filename;
- if (e =_kernel_swi(OS_File, &r, &r))
- log_fatal("Can't retrieve object information for %s!\n", filename);
- if (r.r[0] == 2) {
- errno = EISDIR;
- return NULL;
- }
- if (r.r[0] == 3) {
- /* setting file to to non-image file, after fstating, restore */
- filetype = (r.r[2] >> 8) & 0xfff;
- set_filetype(filename, 0xfff);
- rc = fstat(fildes, buf);
- set_filetype(filename, filetype);
- }
- else {
- rc = fstat(fildes, buf);
- }
-
- m_free(filename);
-
- return rc;
-}
-
int
riscos_access(const char *path, int amode)
{