mirror of
git://git.gnupg.org/gnupg.git
synced 2024-11-04 20:38:50 +01:00
updated include file name
This commit is contained in:
parent
4dde9482c2
commit
60becb0597
@ -1,3 +1,7 @@
|
|||||||
|
2002-01-02 Stefan Bellon <sbellon@sbellon.de>
|
||||||
|
|
||||||
|
* rndriscos.c [__riscos__]: Updated include file name.
|
||||||
|
|
||||||
2001-12-21 Werner Koch <wk@gnupg.org>
|
2001-12-21 Werner Koch <wk@gnupg.org>
|
||||||
|
|
||||||
* Makefile.am (DISCLEANFILES): Add construct.c
|
* Makefile.am (DISCLEANFILES): Add construct.c
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <sys/swis.h>
|
#include <swis.h>
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "dynload.h"
|
#include "dynload.h"
|
||||||
|
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
|
2002-01-02 Stefan Bellon <sbellon@sbellon.de>
|
||||||
|
|
||||||
|
* iobuf.c [__riscos__]: Updated include file name.
|
||||||
|
|
||||||
|
* fileutil.c [__riscos__]: Ditto.
|
||||||
|
|
||||||
|
* ttyio.d [__riscos__]: Ditto.
|
||||||
|
|
||||||
|
* riscos.c [__riscos__]: Ditto. Added debugging code and
|
||||||
|
unified error messages.
|
||||||
|
|
||||||
2001-12-27 David Shaw <dshaw@jabberwocky.com>
|
2001-12-27 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
* errors.c (g10_errstr): Added G10ERR_KEYSERVER
|
* errors.c (g10_errstr): Added G10ERR_KEYSERVER
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#ifdef __riscos__
|
#ifdef __riscos__
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <sys/swis.h>
|
#include <swis.h>
|
||||||
#endif /* __riscos__ */
|
#endif /* __riscos__ */
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "memory.h"
|
#include "memory.h"
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#ifdef __riscos__
|
#ifdef __riscos__
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <sys/swis.h>
|
#include <swis.h>
|
||||||
#endif /* __riscos__ */
|
#endif /* __riscos__ */
|
||||||
|
|
||||||
#include "memory.h"
|
#include "memory.h"
|
||||||
|
132
util/riscos.c
132
util/riscos.c
@ -29,12 +29,12 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <sys/swis.h>
|
#include <swis.h>
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "memory.h"
|
#include "memory.h"
|
||||||
|
|
||||||
#define __UNIXLIB_INTERNALS
|
#define __UNIXLIB_INTERNALS
|
||||||
#include <sys/unix.h>
|
#include <unixlib/unix.h>
|
||||||
#undef __UNIXLIB_INTERNALS
|
#undef __UNIXLIB_INTERNALS
|
||||||
|
|
||||||
/* RISC OS file open descriptor control list */
|
/* RISC OS file open descriptor control list */
|
||||||
@ -47,7 +47,43 @@ static struct fds_item *fds_list = NULL;
|
|||||||
static int initialized = 0;
|
static int initialized = 0;
|
||||||
|
|
||||||
|
|
||||||
/* RISC OS functions */
|
/* local RISC OS functions */
|
||||||
|
|
||||||
|
static int
|
||||||
|
is_read_only(const char *filename)
|
||||||
|
{
|
||||||
|
_kernel_swi_regs r;
|
||||||
|
|
||||||
|
r.r[0] = 17;
|
||||||
|
r.r[1] = (int) filename;
|
||||||
|
|
||||||
|
if (_kernel_swi(OS_File, &r, &r))
|
||||||
|
log_fatal("Can't get file attributes for %s!\n", filename);
|
||||||
|
|
||||||
|
if (r.r[0] == 0)
|
||||||
|
log_fatal("Can't find file %s!\n", filename);
|
||||||
|
|
||||||
|
r.r[0] = 4;
|
||||||
|
if (_kernel_swi(OS_File, &r, &r))
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
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 */
|
||||||
|
|
||||||
pid_t
|
pid_t
|
||||||
riscos_getpid(void)
|
riscos_getpid(void)
|
||||||
@ -56,14 +92,14 @@ riscos_getpid(void)
|
|||||||
|
|
||||||
r.r[0] = 3;
|
r.r[0] = 3;
|
||||||
if (_kernel_swi(Wimp_ReadSysInfo, &r, &r))
|
if (_kernel_swi(Wimp_ReadSysInfo, &r, &r))
|
||||||
log_fatal("Wimp_ReadSysInfo failed: Couldn't get WimpState (R0=3)!\n");
|
log_fatal("Wimp_ReadSysInfo failed: Can't get WimpState (R0=3)!\n");
|
||||||
|
|
||||||
if (!r.r[0])
|
if (!r.r[0])
|
||||||
return (pid_t) 0;
|
return (pid_t) 0;
|
||||||
|
|
||||||
r.r[0] = 5;
|
r.r[0] = 5;
|
||||||
if (_kernel_swi(Wimp_ReadSysInfo, &r, &r))
|
if (_kernel_swi(Wimp_ReadSysInfo, &r, &r))
|
||||||
log_fatal("Wimp_ReadSysInfo failed: Couldn't get task handle (R0=5)!\n");
|
log_fatal("Wimp_ReadSysInfo failed: Can't get task handle (R0=5)!\n");
|
||||||
|
|
||||||
return (pid_t) r.r[0];
|
return (pid_t) r.r[0];
|
||||||
}
|
}
|
||||||
@ -101,7 +137,7 @@ riscos_fopen(const char *filename, const char *mode)
|
|||||||
r.r[0] = 17;
|
r.r[0] = 17;
|
||||||
r.r[1] = (int) filename;
|
r.r[1] = (int) filename;
|
||||||
if (e =_kernel_swi(OS_File, &r, &r))
|
if (e =_kernel_swi(OS_File, &r, &r))
|
||||||
log_fatal("Can't retrieve object information for %s\n", filename);
|
log_fatal("Can't retrieve object information for %s!\n", filename);
|
||||||
if (r.r[0] == 2) {
|
if (r.r[0] == 2) {
|
||||||
errno = EISDIR;
|
errno = EISDIR;
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -112,7 +148,8 @@ riscos_fopen(const char *filename, const char *mode)
|
|||||||
set_filetype(filename, 0xfff);
|
set_filetype(filename, 0xfff);
|
||||||
fp = fopen(filename, mode);
|
fp = fopen(filename, mode);
|
||||||
set_filetype(filename, filetype);
|
set_filetype(filename, filetype);
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
fp = fopen(filename, mode);
|
fp = fopen(filename, mode);
|
||||||
}
|
}
|
||||||
return fp;
|
return fp;
|
||||||
@ -129,7 +166,7 @@ riscos_open(const char *filename, int oflag, ...)
|
|||||||
r.r[0] = 17;
|
r.r[0] = 17;
|
||||||
r.r[1] = (int) filename;
|
r.r[1] = (int) filename;
|
||||||
if (e =_kernel_swi(OS_File, &r, &r))
|
if (e =_kernel_swi(OS_File, &r, &r))
|
||||||
log_fatal("Can't retrieve object information for %s\n", filename);
|
log_fatal("Can't retrieve object information for %s!\n", filename);
|
||||||
if (r.r[0] == 2) {
|
if (r.r[0] == 2) {
|
||||||
errno = EISDIR;
|
errno = EISDIR;
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -148,7 +185,8 @@ riscos_open(const char *filename, int oflag, ...)
|
|||||||
else
|
else
|
||||||
fd = open(filename, oflag, mode);
|
fd = open(filename, oflag, mode);
|
||||||
set_filetype(filename, filetype);
|
set_filetype(filename, filetype);
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
if (!mode)
|
if (!mode)
|
||||||
fd = open(filename, oflag);
|
fd = open(filename, oflag);
|
||||||
else
|
else
|
||||||
@ -171,7 +209,7 @@ riscos_fstat(int fildes, struct stat *buf)
|
|||||||
r.r[2] = 0;
|
r.r[2] = 0;
|
||||||
r.r[5] = 0;
|
r.r[5] = 0;
|
||||||
if (e = _kernel_swi(OS_Args, &r, &r))
|
if (e = _kernel_swi(OS_Args, &r, &r))
|
||||||
log_fatal("Can't convert from file handle to name\n");
|
log_fatal("Can't convert from file handle to name!\n");
|
||||||
|
|
||||||
filename = m_alloc(1 - r.r[5]);
|
filename = m_alloc(1 - r.r[5]);
|
||||||
|
|
||||||
@ -180,12 +218,12 @@ riscos_fstat(int fildes, struct stat *buf)
|
|||||||
r.r[2] = (int) filename;
|
r.r[2] = (int) filename;
|
||||||
r.r[5] = 1-r.r[5];
|
r.r[5] = 1-r.r[5];
|
||||||
if (e = _kernel_swi(OS_Args, &r, &r))
|
if (e = _kernel_swi(OS_Args, &r, &r))
|
||||||
log_fatal("Can't convert from file handle to name\n");
|
log_fatal("Can't convert from file handle to name!\n");
|
||||||
|
|
||||||
r.r[0] = 17;
|
r.r[0] = 17;
|
||||||
r.r[1] = (int) filename;
|
r.r[1] = (int) filename;
|
||||||
if (e =_kernel_swi(OS_File, &r, &r))
|
if (e =_kernel_swi(OS_File, &r, &r))
|
||||||
log_fatal("Can't retrieve object information for %s\n", filename);
|
log_fatal("Can't retrieve object information for %s!\n", filename);
|
||||||
if (r.r[0] == 2) {
|
if (r.r[0] == 2) {
|
||||||
errno = EISDIR;
|
errno = EISDIR;
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -196,7 +234,8 @@ riscos_fstat(int fildes, struct stat *buf)
|
|||||||
set_filetype(filename, 0xfff);
|
set_filetype(filename, 0xfff);
|
||||||
rc = fstat(fildes, buf);
|
rc = fstat(fildes, buf);
|
||||||
set_filetype(filename, filetype);
|
set_filetype(filename, filetype);
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
rc = fstat(fildes, buf);
|
rc = fstat(fildes, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,12 +244,21 @@ riscos_fstat(int fildes, struct stat *buf)
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
riscos_access(const char *path, int amode)
|
||||||
|
{
|
||||||
|
/* Do additional check, i.e. whether path is on write-protected floppy */
|
||||||
|
if ((amode & W_OK) && is_read_only(path))
|
||||||
|
return 1;
|
||||||
|
return access(path, amode);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
void
|
void
|
||||||
dump_fdlist(void)
|
dump_fdlist(void)
|
||||||
{
|
{
|
||||||
struct fds_item *iter = fds_list;
|
struct fds_item *iter = fds_list;
|
||||||
printf("list of open file descriptors:\n");
|
printf("List of open file descriptors:\n");
|
||||||
while (iter) {
|
while (iter) {
|
||||||
printf(" %i\n", iter->fd);
|
printf(" %i\n", iter->fd);
|
||||||
iter = iter->next;
|
iter = iter->next;
|
||||||
@ -228,7 +276,7 @@ fdopenfile(const char *filename, const int allow_write)
|
|||||||
else
|
else
|
||||||
fd = open(filename, O_RDONLY);
|
fd = open(filename, O_RDONLY);
|
||||||
if (fd == -1)
|
if (fd == -1)
|
||||||
log_error("can't open file %s: %i, %s\n", filename, errno, strerror(errno));
|
log_error("Can't open file %s: %i, %s!\n", filename, errno, strerror(errno));
|
||||||
|
|
||||||
if (!initialized) {
|
if (!initialized) {
|
||||||
atexit (close_fds);
|
atexit (close_fds);
|
||||||
@ -273,7 +321,8 @@ renamefile(const char *old, const char *new)
|
|||||||
return __set_errno(ENOENT);
|
return __set_errno(ENOENT);
|
||||||
if (e->errnum == 176)
|
if (e->errnum == 176)
|
||||||
return __set_errno(EEXIST);
|
return __set_errno(EEXIST);
|
||||||
printf("Error during renaming: %i, %s\n", e->errnum, e->errmess);
|
printf("Error during renaming: %i, %s!\n", e->errnum, e->errmess);
|
||||||
|
return __set_errno(EOPSYS);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -287,6 +336,8 @@ gstrans(const char *old)
|
|||||||
char *buf, *tmp;
|
char *buf, *tmp;
|
||||||
|
|
||||||
buf = (char *) m_alloc(size);
|
buf = (char *) m_alloc(size);
|
||||||
|
if (!buf)
|
||||||
|
log_fatal("Can't claim memory for OS_GSTrans buffer!\n");
|
||||||
do {
|
do {
|
||||||
r.r[0] = (int) old;
|
r.r[0] = (int) old;
|
||||||
r.r[1] = (int) buf;
|
r.r[1] = (int) buf;
|
||||||
@ -304,23 +355,54 @@ gstrans(const char *old)
|
|||||||
buf[r.r[2]] = '\0';
|
buf[r.r[2]] = '\0';
|
||||||
tmp = (char *) m_realloc(buf, r.r[2] + 1);
|
tmp = (char *) m_realloc(buf, r.r[2] + 1);
|
||||||
if (!tmp)
|
if (!tmp)
|
||||||
log_fatal("Couldn't realloc memory after OS_GSTrans!\n");
|
log_fatal("Can't realloc memory after OS_GSTrans!\n");
|
||||||
|
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
void
|
void
|
||||||
set_filetype(const char *filename, const int type)
|
list_openfiles(void)
|
||||||
{
|
{
|
||||||
_kernel_swi_regs r;
|
_kernel_swi_regs r;
|
||||||
|
char *name;
|
||||||
r.r[0] = 18;
|
int i;
|
||||||
r.r[1] = (int) filename;
|
|
||||||
r.r[2] = type;
|
|
||||||
|
|
||||||
if (_kernel_swi(OS_File, &r, &r))
|
for (i = 255; i >= 0; --i) {
|
||||||
log_fatal("Can't set filetype for %s\n", filename);
|
r.r[0] = 7;
|
||||||
}
|
r.r[1] = i;
|
||||||
|
r.r[2] = 0;
|
||||||
|
r.r[5] = 0;
|
||||||
|
if (_kernel_swi(OS_Args, &r, &r))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
name = (char *) m_alloc(1-r.r[5]);
|
||||||
|
if (!name)
|
||||||
|
log_fatal("Can't claim memory for OS_Args buffer!\n");
|
||||||
|
|
||||||
|
r.r[0] = 7;
|
||||||
|
r.r[1] = i;
|
||||||
|
r.r[2] = (int) name;
|
||||||
|
r.r[5] = 1-r.r[5];
|
||||||
|
if (_kernel_swi(OS_Args, &r, &r)) {
|
||||||
|
m_free(name);
|
||||||
|
log_fatal("Error when calling OS_Args(7)!\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
r.r[0] = 254;
|
||||||
|
r.r[1] = i;
|
||||||
|
if (_kernel_swi(OS_Args, &r, &r)) {
|
||||||
|
m_free(name);
|
||||||
|
log_fatal("Error when calling OS_Args(254)!\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("%3i: %s (%c%c)\n", i, name,
|
||||||
|
(r.r[0] & 0x40) ? 'R' : 0,
|
||||||
|
(r.r[0] & 0x80) ? 'W' : 0);
|
||||||
|
m_free(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
not_implemented(const char *feature)
|
not_implemented(const char *feature)
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
#ifdef __riscos__
|
#ifdef __riscos__
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <sys/swis.h>
|
#include <swis.h>
|
||||||
#undef HAVE_TCGETATTR
|
#undef HAVE_TCGETATTR
|
||||||
#endif /* __riscos__ */
|
#endif /* __riscos__ */
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user