mirror of
https://github.com/adtools/clib2.git
synced 2025-12-08 14:59:05 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 17019604d1 |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,5 +0,0 @@
|
||||
C99 math functions:
|
||||
|
||||
fma() and fmaf() should be implemented as a true "fused" multiply
|
||||
and add function rather than the sequential operation implied in the
|
||||
current implementation.
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga.lib_rev.c,v 1.3 2006-01-08 12:04:21 obarthel Exp $
|
||||
* $Id: amiga.lib_rev.c,v 1.1.1.1 2004-07-26 16:30:15 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 205
|
||||
#define DATE "21.8.2010"
|
||||
#define VERS "amiga.lib 1.205"
|
||||
#define VSTRING "amiga.lib 1.205 (21.8.2010)\r\n"
|
||||
#define VERSTAG "\0$VER: amiga.lib 1.205 (21.8.2010)"
|
||||
#define REVISION 175
|
||||
#define DATE "10.9.2004"
|
||||
#define VERS "amiga.lib 1.175"
|
||||
#define VSTRING "amiga.lib 1.175 (10.9.2004)\r\n"
|
||||
#define VERSTAG "\0$VER: amiga.lib 1.175 (10.9.2004)"
|
||||
|
||||
@ -1 +1 @@
|
||||
205
|
||||
175
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_acrypt.c,v 1.5 2006-09-25 15:12:47 obarthel Exp $
|
||||
* $Id: amiga_acrypt.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,14 +31,10 @@
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#define ACrypt __ACrypt
|
||||
|
||||
#include <exec/types.h>
|
||||
#include <string.h>
|
||||
#include <clib/alib_protos.h>
|
||||
|
||||
#undef ACrypt
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include "debug.h"
|
||||
@ -49,10 +45,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
UBYTE * ACrypt(UBYTE * buffer, const UBYTE * password, const UBYTE * user);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
UBYTE *
|
||||
ACrypt(UBYTE * buffer, const UBYTE * password, const UBYTE * user)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_addtof.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_addtof.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -57,7 +57,7 @@ typedef LONG (* CFUNC)(APTR arg);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
STATIC LONG INTERRUPT ASM
|
||||
static LONG INTERRUPT ASM
|
||||
call_routine(REG(a1,struct Isrvstr *i))
|
||||
{
|
||||
CFUNC p = (CFUNC)i->ccode;
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argarraydone.c,v 1.4 2006-09-25 14:05:31 obarthel Exp $
|
||||
* $Id: amiga_argarraydone.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -48,7 +48,7 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
extern const unsigned char **CXLIB_argarray;
|
||||
extern char **CXLIB_argarray;
|
||||
|
||||
extern struct DiskObject * CXLIB_disko;
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argarrayinit.c,v 1.7 2008-09-30 14:09:00 obarthel Exp $
|
||||
* $Id: amiga_argarrayinit.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -52,14 +52,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __amigaos4__
|
||||
#define MEMORY_TYPE MEMF_PRIVATE
|
||||
#else
|
||||
#define MEMORY_TYPE MEMF_ANY
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
const unsigned char ** CXLIB_argarray;
|
||||
|
||||
struct DiskObject * CXLIB_disko;
|
||||
@ -69,23 +61,23 @@ struct DiskObject * CXLIB_disko;
|
||||
STRPTR *
|
||||
ArgArrayInit(LONG argc, CONST_STRPTR * argv)
|
||||
{
|
||||
STRPTR * result = NULL;
|
||||
unsigned char ** result = NULL;
|
||||
|
||||
if(argc != 0) /* run from CLI */
|
||||
{
|
||||
LONG i;
|
||||
int i;
|
||||
|
||||
if(argc == 1)
|
||||
goto out; /* skip command name */
|
||||
|
||||
CXLIB_argarray = (const unsigned char **)AllocVec(sizeof(char *) * argc,MEMORY_TYPE|MEMF_CLEAR);
|
||||
CXLIB_argarray = (const unsigned char **)AllocVec(sizeof(char *) * argc,MEMF_ANY|MEMF_CLEAR);
|
||||
if(CXLIB_argarray == NULL)
|
||||
goto out;
|
||||
|
||||
for(i = 1 ; i < argc ; i++)
|
||||
CXLIB_argarray[i-1] = (unsigned char *)argv[i];
|
||||
CXLIB_argarray[i-1] = argv[i];
|
||||
|
||||
result = (STRPTR *)CXLIB_argarray;
|
||||
result = (unsigned char **)CXLIB_argarray;
|
||||
}
|
||||
else if (IconBase != NULL)
|
||||
{
|
||||
@ -98,7 +90,7 @@ ArgArrayInit(LONG argc, CONST_STRPTR * argv)
|
||||
if(CXLIB_disko == NULL)
|
||||
goto out;
|
||||
|
||||
result = (STRPTR *)CXLIB_disko->do_ToolTypes;
|
||||
result = (unsigned char **)CXLIB_disko->do_ToolTypes;
|
||||
}
|
||||
|
||||
out:
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argint.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_argint.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argstring.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_argstring.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_beginio.c,v 1.5 2006-09-25 15:12:47 obarthel Exp $
|
||||
* $Id: amiga_beginio.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -37,14 +37,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef __PPC__
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(__SASC)
|
||||
|
||||
VOID __begin_io(struct IORequest * ior);
|
||||
@ -72,6 +64,10 @@ VOID __begin_io(struct IORequest * ior);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
BeginIO(struct IORequest *ior)
|
||||
{
|
||||
@ -86,39 +82,3 @@ BeginIO(struct IORequest *ior)
|
||||
|
||||
LEAVE();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#else
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <proto/exec.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(BeginIO)
|
||||
#undef BeginIO
|
||||
#endif /* BeginIO */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID BeginIO(struct IORequest *ior);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
BeginIO(struct IORequest *ior)
|
||||
{
|
||||
ENTER();
|
||||
|
||||
assert( ior != NULL && ior->io_Device != NULL );
|
||||
|
||||
IExec->BeginIO(ior);
|
||||
|
||||
LEAVE();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* __PPC__ */
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_callhook.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_callhook.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
*
|
||||
* $Id: amiga_callhooka.asm,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_callhooka.asm,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_callhooka.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_callhooka.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_coercemethod.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_coercemethod.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createextio.c,v 1.5 2006-09-25 15:12:47 obarthel Exp $
|
||||
* $Id: amiga_createextio.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,16 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(CreateExtIO)
|
||||
#undef CreateExtIO
|
||||
#endif /* CreateExtIO */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct IORequest * CreateExtIO(CONST struct MsgPort * port, LONG io_size);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct IORequest *
|
||||
CreateExtIO(CONST struct MsgPort * port, LONG io_size)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createport.c,v 1.5 2006-09-25 15:12:47 obarthel Exp $
|
||||
* $Id: amiga_createport.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,16 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(CreatePort)
|
||||
#undef CreatePort
|
||||
#endif /* CreatePort */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct MsgPort * CreatePort(CONST_STRPTR name, LONG pri);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct MsgPort *
|
||||
CreatePort(CONST_STRPTR name, LONG pri)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createstdio.c,v 1.5 2006-09-25 15:12:47 obarthel Exp $
|
||||
* $Id: amiga_createstdio.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,16 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(CreateStdIO)
|
||||
#undef CreateStdIO
|
||||
#endif /* CreateStdIO */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct IOStdReq * CreateStdIO(CONST struct MsgPort * port);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct IOStdReq *
|
||||
CreateStdIO(CONST struct MsgPort * port)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createtask.c,v 1.6 2006-09-25 15:12:47 obarthel Exp $
|
||||
* $Id: amiga_createtask.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,6 +31,8 @@
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef __PPC__
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <exec/libraries.h>
|
||||
@ -46,21 +48,11 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_PROFILE_H
|
||||
#include "stdlib_profile.h"
|
||||
#endif /* _STDLIB_PROFILE_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include "macros.h"
|
||||
#include "debug.h"
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef __PPC__
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* Create a task with given name, priority, and stack size.
|
||||
* It will use the default exception and trap handlers for now.
|
||||
@ -199,48 +191,4 @@ CreateTask(CONST_STRPTR name,LONG pri,CONST APTR init_pc,ULONG stack_size)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#else
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(CreateTask)
|
||||
#undef CreateTask
|
||||
#endif /* CreateTask */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct Task * CreateTask(CONST_STRPTR name,LONG pri,CONST APTR init_pc,ULONG stack_size);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct Task *
|
||||
CreateTask(CONST_STRPTR name,LONG pri,CONST APTR init_pc,ULONG stack_size)
|
||||
{
|
||||
struct Task * result = NULL;
|
||||
|
||||
ENTER();
|
||||
|
||||
SHOWSTRING(name);
|
||||
SHOWVALUE(pri);
|
||||
SHOWPOINTER(init_pc);
|
||||
SHOWVALUE(stack_size);
|
||||
|
||||
assert( name != NULL && (-128 <= pri && pri <= 127) && init_pc != NULL && stack_size > 0 );
|
||||
|
||||
if(name == NULL || pri < -128 || pri > 127 || init_pc == NULL || stack_size == 0)
|
||||
{
|
||||
SHOWMSG("invalid parameters");
|
||||
goto out;
|
||||
}
|
||||
|
||||
result = IExec->CreateTask(name,pri,init_pc,stack_size,NULL);
|
||||
|
||||
out:
|
||||
|
||||
RETURN(result);
|
||||
return(result);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* __PPC__ */
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deleteextio.c,v 1.5 2006-09-25 15:12:47 obarthel Exp $
|
||||
* $Id: amiga_deleteextio.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,16 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(DeleteExtIO)
|
||||
#undef DeleteExtIO
|
||||
#endif /* DeleteExtIO */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID DeleteExtIO(struct IORequest * io);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
DeleteExtIO(struct IORequest * io)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deleteport.c,v 1.5 2006-09-25 15:12:47 obarthel Exp $
|
||||
* $Id: amiga_deleteport.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,16 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(DeletePort)
|
||||
#undef DeletePort
|
||||
#endif /* DeletePort */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID DeletePort(struct MsgPort * port);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
DeletePort(struct MsgPort * port)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deletestdio.c,v 1.5 2006-09-25 15:12:47 obarthel Exp $
|
||||
* $Id: amiga_deletestdio.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,16 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(DeleteStdIO)
|
||||
#undef DeleteStdIO
|
||||
#endif /* DeleteStdIO */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID DeleteStdIO(struct IOStdReq * io);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
DeleteStdIO(struct IOStdReq * io)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deletetask.c,v 1.5 2006-09-25 15:12:47 obarthel Exp $
|
||||
* $Id: amiga_deletetask.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -41,38 +41,8 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef __PPC__
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
DeleteTask(struct Task *tc)
|
||||
{
|
||||
RemTask(tc);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#else
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(DeleteTask)
|
||||
#undef DeleteTask
|
||||
#endif /* DeleteTask */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID DeleteTask(struct Task *tc);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
DeleteTask(struct Task *tc)
|
||||
{
|
||||
IExec->DeleteTask(tc);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* __PPC__ */
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_domethod.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_domethod.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_dosupermethod.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_dosupermethod.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_dotimer.c,v 1.8 2006-04-05 06:43:56 obarthel Exp $
|
||||
* $Id: amiga_dotimer.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,34 +44,11 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_PROFILE_H
|
||||
#include "stdlib_profile.h"
|
||||
#endif /* _STDLIB_PROFILE_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include "macros.h"
|
||||
#include "debug.h"
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* A quick workaround for the timeval/timerequest->TimeVal/TimeRequest
|
||||
change in the recent OS4 header files. */
|
||||
|
||||
#if defined(__NEW_TIMEVAL_DEFINITION_USED__)
|
||||
|
||||
#define timeval TimeVal
|
||||
#define tv_secs Seconds
|
||||
#define tv_micro Microseconds
|
||||
|
||||
#define timerequest TimeRequest
|
||||
#define tr_node Request
|
||||
#define tr_time Time
|
||||
|
||||
#endif /* __NEW_TIMEVAL_DEFINITION_USED__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
LONG
|
||||
DoTimer(struct timeval *tv,LONG unit,LONG command)
|
||||
{
|
||||
@ -81,38 +58,18 @@ DoTimer(struct timeval *tv,LONG unit,LONG command)
|
||||
|
||||
assert( tv != NULL );
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
mp = AllocVec(sizeof(*mp),MEMF_ANY|MEMF_PUBLIC|MEMF_CLEAR);
|
||||
if(mp == NULL)
|
||||
{
|
||||
mp = AllocSysObjectTags(ASOT_PORT,
|
||||
ASOPORT_Action, PA_SIGNAL,
|
||||
ASOPORT_AllocSig, FALSE,
|
||||
ASOPORT_Signal, SIGB_SINGLE,
|
||||
ASOPORT_Target, FindTask(NULL),
|
||||
TAG_DONE);
|
||||
|
||||
if(mp == NULL)
|
||||
{
|
||||
error = IOERR_OPENFAIL;
|
||||
goto out;
|
||||
}
|
||||
error = IOERR_OPENFAIL;
|
||||
goto out;
|
||||
}
|
||||
#else
|
||||
{
|
||||
mp = AllocVec(sizeof(*mp),MEMF_ANY|MEMF_PUBLIC|MEMF_CLEAR);
|
||||
if(mp == NULL)
|
||||
{
|
||||
error = IOERR_OPENFAIL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
mp->mp_Node.ln_Type = NT_MSGPORT;
|
||||
mp->mp_Flags = PA_SIGNAL;
|
||||
mp->mp_SigBit = SIGB_SINGLE;
|
||||
mp->mp_SigTask = FindTask(NULL);
|
||||
|
||||
NewList(&mp->mp_MsgList);
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
mp->mp_Node.ln_Type = NT_MSGPORT;
|
||||
mp->mp_Flags = PA_SIGNAL;
|
||||
mp->mp_SigBit = SIGB_SINGLE;
|
||||
mp->mp_SigTask = FindTask(NULL);
|
||||
NewList(&mp->mp_MsgList);
|
||||
|
||||
tr = (struct timerequest *)CreateIORequest(mp,sizeof(*tr));
|
||||
if(tr == NULL)
|
||||
@ -131,7 +88,7 @@ DoTimer(struct timeval *tv,LONG unit,LONG command)
|
||||
|
||||
PROFILE_OFF();
|
||||
|
||||
SetSignal(0,(1UL << mp->mp_SigBit));
|
||||
SetSignal(0,SIGF_SINGLE);
|
||||
|
||||
error = DoIO((struct IORequest *)tr);
|
||||
|
||||
@ -150,16 +107,7 @@ DoTimer(struct timeval *tv,LONG unit,LONG command)
|
||||
DeleteIORequest((struct IORequest *)tr);
|
||||
}
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
if(mp != NULL)
|
||||
FreeSysObject(ASOT_PORT,mp);
|
||||
}
|
||||
#else
|
||||
{
|
||||
FreeVec(mp);
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
FreeVec(mp);
|
||||
|
||||
return(error);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_fastrand.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_fastrand.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_freeievents.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_freeievents.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
*
|
||||
* $Id: amiga_hookentry.asm,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_hookentry.asm,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_hookentry.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_hookentry.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_hotkey.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_hotkey.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_invertstring.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_invertstring.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -49,7 +49,7 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
STATIC int
|
||||
static int
|
||||
do_escape(int cc)
|
||||
{
|
||||
int result;
|
||||
@ -91,7 +91,7 @@ do_escape(int cc)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
STATIC ULONG
|
||||
static ULONG
|
||||
do_angle(STRPTR * strp, struct InputEvent *ie)
|
||||
{
|
||||
ULONG result;
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_newlist.c,v 1.4 2006-09-25 15:12:47 obarthel Exp $
|
||||
* $Id: amiga_newlist.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -43,10 +43,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID NewList(struct List *lh);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
NewList(struct List *lh)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_rangerand.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_rangerand.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_remtof.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_remtof.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,742 +0,0 @@
|
||||
/*
|
||||
* $Id: amiga_rexxvars.c,v 1.19 2008-04-18 10:11:59 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/* We don't want to pull in <clib/alib_protos.h> */
|
||||
#define CLIB_ALIB_PROTOS_H
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_CONSTRUCTOR_H
|
||||
#include "stdlib_constructor.h"
|
||||
#endif /* _STDLIB_CONSTRUCTOR_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <rexx/rxslib.h>
|
||||
#include <rexx/errors.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* This is used by the stub function prototypes. The ARexx header files
|
||||
do not define it, though. */
|
||||
struct Environment;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#define __NOLIBBASE__
|
||||
#include <proto/rexxsyslib.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static struct Library * RexxSysBase;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
static struct RexxSysIFace * IRexxSys;
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
BOOL CheckRexxMsg(struct RexxMsg *message);
|
||||
LONG GetRexxVar(struct RexxMsg *message,STRPTR variable_name,STRPTR *buffer_pointer);
|
||||
LONG SetRexxVar(struct RexxMsg *message,STRPTR variable_name,STRPTR value,LONG length);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
CLIB_CONSTRUCTOR(rexxvars_init)
|
||||
{
|
||||
ENTER();
|
||||
|
||||
RexxSysBase = OpenLibrary(RXSNAME,0);
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
if(RexxSysBase != NULL)
|
||||
{
|
||||
IRexxSys = (struct RexxSysIFace *)GetInterface(RexxSysBase, "main", 1, 0);
|
||||
if(IRexxSys == NULL)
|
||||
{
|
||||
CloseLibrary(RexxSysBase);
|
||||
RexxSysBase = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
LEAVE();
|
||||
|
||||
CONSTRUCTOR_SUCCEED();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
CLIB_DESTRUCTOR(rexxvars_exit)
|
||||
{
|
||||
ENTER();
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
if(IRexxSys != NULL)
|
||||
DropInterface((struct Interface *)IRexxSys);
|
||||
|
||||
IRexxSys = NULL;
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
if(RexxSysBase != NULL)
|
||||
{
|
||||
CloseLibrary(RexxSysBase);
|
||||
RexxSysBase = NULL;
|
||||
}
|
||||
|
||||
LEAVE();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* This is modeled after the original assembly language code. Except for the
|
||||
fact that we compare the library base against a local, static variable
|
||||
rather then opening the library for each check. */
|
||||
BOOL
|
||||
CheckRexxMsg(struct RexxMsg *message)
|
||||
{
|
||||
BOOL result = FALSE;
|
||||
|
||||
if(RexxSysBase == NULL)
|
||||
goto out;
|
||||
|
||||
if(message->rm_LibBase != RexxSysBase)
|
||||
goto out;
|
||||
|
||||
if(message->rm_TaskBlock == NULL)
|
||||
goto out;
|
||||
|
||||
if(NOT IsRexxMsg(message))
|
||||
goto out;
|
||||
|
||||
result = TRUE;
|
||||
|
||||
out:
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <exec/emulation.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
STATIC VOID
|
||||
_FreeSpace(struct Environment * env,APTR mem,LONG size)
|
||||
{
|
||||
STATIC CONST UWORD code[] = { 0x4EAE,0xFF88,0x4E75 }; /* jsr -120(a6) ; rts */
|
||||
|
||||
EmulateTags(code,
|
||||
ET_RegisterA0,env,
|
||||
ET_RegisterA1,mem,
|
||||
ET_RegisterD0,size,
|
||||
ET_RegisterA6,RexxSysBase,
|
||||
TAG_END);
|
||||
}
|
||||
|
||||
STATIC APTR
|
||||
_GetSpace(struct Environment * env,LONG size)
|
||||
{
|
||||
STATIC CONST UWORD code[] = { 0x4EAE,0xFF8E,0x4E75 }; /* jsr -114(a6) ; rts */
|
||||
APTR result;
|
||||
|
||||
result = (APTR)EmulateTags(code,
|
||||
ET_RegisterA0,env,
|
||||
ET_RegisterD0,size,
|
||||
ET_RegisterA6,RexxSysBase,
|
||||
TAG_END);
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
STATIC LONG
|
||||
_IsSymbol(STRPTR name,LONG * symbol_length_ptr)
|
||||
{
|
||||
STATIC CONST UWORD code[] = { 0x4EAE,0xFF9A,0x2481,0x4E75 }; /* jsr -102(a6) ; move.l d1,(a2) ; rts */
|
||||
LONG result;
|
||||
|
||||
result = (LONG)EmulateTags(code,
|
||||
ET_RegisterA0,name,
|
||||
ET_RegisterA2,symbol_length_ptr,
|
||||
ET_RegisterA6,RexxSysBase,
|
||||
TAG_END);
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
STATIC VOID
|
||||
_CurrentEnv(struct RexxTask *task,struct Environment ** environment_ptr)
|
||||
{
|
||||
STATIC CONST UWORD code[] = { 0x4EAE,0xFF94,0x2488,0x4E75 }; /* jsr -108(a6) ; move.l a0,(a2) ; rts */
|
||||
|
||||
EmulateTags(code,
|
||||
ET_RegisterA0,task,
|
||||
ET_RegisterA2,environment_ptr,
|
||||
ET_RegisterA6,RexxSysBase,
|
||||
TAG_END);
|
||||
}
|
||||
|
||||
STATIC struct Node *
|
||||
_FetchValue(struct Environment * env,struct NexxStr * stem,struct NexxStr * compound,struct Node *symbol_table_node,LONG * is_literal_ptr,struct NexxStr ** value_ptr)
|
||||
{
|
||||
STATIC CONST UWORD code[] = { 0x4EAE,0xFFB8,0x2488,0x2681,0x4E75 }; /* jsr -72(a6) ; move.l a0,(a2) ; move.l d1,(a3) ; rts */
|
||||
struct Node * result;
|
||||
|
||||
result = (struct Node *)EmulateTags(code,
|
||||
ET_RegisterA0,env,
|
||||
ET_RegisterA1,stem,
|
||||
ET_RegisterD0,compound,
|
||||
ET_RegisterD1,symbol_table_node,
|
||||
ET_RegisterA2,is_literal_ptr,
|
||||
ET_RegisterA3,value_ptr,
|
||||
ET_RegisterA6,RexxSysBase,
|
||||
TAG_END);
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
STATIC struct Node *
|
||||
_EnterSymbol(struct Environment * env,struct NexxStr * stem,struct NexxStr * compound)
|
||||
{
|
||||
STATIC CONST UWORD code[] = { 0x4EAE,0xFFBE,0x4E75 }; /* jsr -66(a6) ; rts */
|
||||
struct Node * result;
|
||||
|
||||
result = (struct Node *)EmulateTags(code,
|
||||
ET_RegisterA0,env,
|
||||
ET_RegisterA1,stem,
|
||||
ET_RegisterD0,compound,
|
||||
ET_RegisterA6,RexxSysBase,
|
||||
TAG_END);
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
STATIC VOID
|
||||
_SetValue(struct Environment * env,struct NexxStr * value,struct Node * symbol_table_node)
|
||||
{
|
||||
STATIC CONST UWORD code[] = { 0x4EAE,0xFFAC,0x4E75 }; /* jsr -84(a6) ; rts */
|
||||
struct Node * result;
|
||||
|
||||
result = (struct Node *)EmulateTags(code,
|
||||
ET_RegisterA0,env,
|
||||
ET_RegisterA1,value,
|
||||
ET_RegisterD0,symbol_table_node,
|
||||
ET_RegisterA6,RexxSysBase,
|
||||
TAG_END);
|
||||
}
|
||||
|
||||
STATIC ULONG
|
||||
_StrcpyN(STRPTR destination,STRPTR source,LONG length)
|
||||
{
|
||||
STATIC CONST UWORD code[] = { 0x4EAE,0xFEF2,0x4E75 }; /* jsr -270(a6) ; rts */
|
||||
ULONG result;
|
||||
|
||||
result = (ULONG)EmulateTags(code,
|
||||
ET_RegisterA0,destination,
|
||||
ET_RegisterA1,source,
|
||||
ET_RegisterD0,length,
|
||||
ET_RegisterA6,RexxSysBase,
|
||||
TAG_END);
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#elif defined(__GNUC__) && !defined(__amigaos4__)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* A selection of lovingly hand-crafted 68k stub functions which call
|
||||
into rexxsyslib.library LVOs that still used to be documented back
|
||||
in 1987. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(SMALL_DATA)
|
||||
#define A4(x) "a4@(" #x ":W)"
|
||||
#elif defined(SMALL_DATA32)
|
||||
#define A4(x) "a4@(" #x ":L)"
|
||||
#else
|
||||
#define A4(x) #x
|
||||
#endif /* SMALL_DATA */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* struct Environment * a0,APTR block a1,LONG d0 */
|
||||
asm("
|
||||
|
||||
.text
|
||||
.even
|
||||
|
||||
.globl __FreeSpace
|
||||
|
||||
__FreeSpace:
|
||||
|
||||
moveal sp@(4),a0
|
||||
moveal sp@(8),a1
|
||||
movel sp@(12),d0
|
||||
|
||||
movel a6,sp@-
|
||||
moveal "A4(_RexxSysBase)",a6
|
||||
jsr a6@(-120)
|
||||
moveal sp@+,a6
|
||||
|
||||
rts
|
||||
|
||||
");
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* struct Environment * a0,LONG d0 : APTR d0 */
|
||||
asm("
|
||||
|
||||
.text
|
||||
.even
|
||||
|
||||
.globl __GetSpace
|
||||
|
||||
__GetSpace:
|
||||
|
||||
moveal sp@(4),a0
|
||||
movel sp@(8),d0
|
||||
|
||||
movel a6,sp@-
|
||||
moveal "A4(_RexxSysBase)",a6
|
||||
jsr a6@(-114)
|
||||
moveal sp@+,a6
|
||||
|
||||
rts
|
||||
|
||||
");
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* STRPTR a0 : LONG d0, LONG d1 */
|
||||
asm("
|
||||
|
||||
.text
|
||||
.even
|
||||
|
||||
.globl __IsSymbol
|
||||
|
||||
__IsSymbol:
|
||||
|
||||
moveal sp@(4),a0
|
||||
|
||||
movel a6,sp@-
|
||||
moveal "A4(_RexxSysBase)",a6
|
||||
jsr a6@(-102)
|
||||
moveal sp@+,a6
|
||||
|
||||
moveal sp@(8),a1
|
||||
movel d1,a1@
|
||||
|
||||
rts
|
||||
|
||||
");
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* struct RexxTask * a0 : struct Environment * a0 */
|
||||
asm("
|
||||
|
||||
.text
|
||||
.even
|
||||
|
||||
.globl __CurrentEnv
|
||||
|
||||
__CurrentEnv:
|
||||
|
||||
moveal sp@(4),a0
|
||||
|
||||
movel a6,sp@-
|
||||
moveal "A4(_RexxSysBase)",a6
|
||||
jsr a6@(-108)
|
||||
moveal sp@+,a6
|
||||
|
||||
moveal sp@(8),a1
|
||||
movel a0,a1@
|
||||
|
||||
rts
|
||||
|
||||
");
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* struct Environment * a0,struct NexxStr * a1,struct NexxStr * d0,struct Node * d1 : struct NexxStr * a0, LONG d1 */
|
||||
asm("
|
||||
|
||||
.text
|
||||
.even
|
||||
|
||||
.globl __FetchValue
|
||||
|
||||
__FetchValue:
|
||||
|
||||
moveal sp@(4),a0
|
||||
moveal sp@(8),a1
|
||||
movel sp@(12),d0
|
||||
movel sp@(16),d1
|
||||
|
||||
movel a6,sp@-
|
||||
moveal "A4(_RexxSysBase)",a6
|
||||
jsr a6@(-72)
|
||||
moveal sp@+,a6
|
||||
|
||||
moveal sp@(20),a1
|
||||
movel a0,a1@
|
||||
moveal sp@(24),a1
|
||||
movel d1,a1@
|
||||
|
||||
rts
|
||||
|
||||
");
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* struct Environment a0, struct NexxStr *a1, struct NexxStr * d0 : struct Node * d0 */
|
||||
asm("
|
||||
|
||||
.text
|
||||
.even
|
||||
|
||||
.globl __EnterSymbol
|
||||
|
||||
__EnterSymbol:
|
||||
|
||||
moveal sp@(4),a0
|
||||
moveal sp@(8),a1
|
||||
movel sp@(12),d0
|
||||
|
||||
movel a6,sp@-
|
||||
moveal "A4(_RexxSysBase)",a6
|
||||
jsr a6@(-66)
|
||||
moveal sp@+,a6
|
||||
|
||||
rts
|
||||
|
||||
");
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* struct Environment *a0, struct NexxStr *a1, struct Node * d0 */
|
||||
asm("
|
||||
|
||||
.text
|
||||
.even
|
||||
|
||||
.globl __SetValue
|
||||
|
||||
__SetValue:
|
||||
|
||||
moveal sp@(4),a0
|
||||
moveal sp@(8),a1
|
||||
movel sp@(12),d0
|
||||
|
||||
movel a6,sp@-
|
||||
moveal "A4(_RexxSysBase)",a6
|
||||
jsr a6@(-84)
|
||||
moveal sp@+,a6
|
||||
|
||||
rts
|
||||
|
||||
");
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* STRPTR a0,STRPTR a1,LONG d0 : ULONG d0 */
|
||||
asm("
|
||||
|
||||
.text
|
||||
.even
|
||||
|
||||
.globl __StrcpyN
|
||||
|
||||
__StrcpyN:
|
||||
|
||||
moveal sp@(4),a0
|
||||
moveal sp@(8),a1
|
||||
movel sp@(12),d0
|
||||
|
||||
movel a6,sp@-
|
||||
moveal "A4(_RexxSysBase)",a6
|
||||
jsr a6@(-270)
|
||||
moveal sp@+,a6
|
||||
|
||||
rts
|
||||
|
||||
");
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* Function prototypes for the 68k stubs. */
|
||||
extern VOID _FreeSpace(struct Environment * env,APTR mem,LONG size);
|
||||
extern APTR _GetSpace(struct Environment * env,LONG size);
|
||||
extern LONG _IsSymbol(STRPTR name,LONG * symbol_length_ptr);
|
||||
extern VOID _CurrentEnv(struct RexxTask *task,struct Environment ** environment_ptr);
|
||||
extern struct Node * _FetchValue(struct Environment * env,struct NexxStr * stem,struct NexxStr * compound,struct Node *symbol_table_node,LONG * is_literal_ptr,struct NexxStr ** value_ptr);
|
||||
extern struct Node * _EnterSymbol(struct Environment * env,struct NexxStr * stem,struct NexxStr * compound);
|
||||
extern VOID _SetValue(struct Environment * env,struct NexxStr * value,struct Node * symbol_table_node);
|
||||
extern ULONG _StrcpyN(STRPTR destination,STRPTR source,LONG length);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* __GNUC__ && !__amigaos4__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* Releases a string structure, if it's not owned at the time. */
|
||||
STATIC VOID
|
||||
FreeString(struct Environment * environment,struct NexxStr * ns)
|
||||
{
|
||||
/* Not currently owned? */
|
||||
if(!(ns->ns_Flags & NSF_KEEP))
|
||||
_FreeSpace(environment,ns,sizeof(*ns) + ns->ns_Length + 1);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* Allocates and initializes a string structure. */
|
||||
STATIC struct NexxStr *
|
||||
MakeString(struct Environment * environment,STRPTR value,LONG length)
|
||||
{
|
||||
struct NexxStr * result = NULL;
|
||||
struct NexxStr * ns;
|
||||
|
||||
/* Allocate memory for the NexxStr and the NUL-terminated string itself. */
|
||||
ns = _GetSpace(environment,sizeof(*ns) + length + 1);
|
||||
if(ns == NULL)
|
||||
goto out;
|
||||
|
||||
/* Fill in the NexxStr structure, copy the string and remember the hash value for it. */
|
||||
ns->ns_Ivalue = 0;
|
||||
ns->ns_Length = length;
|
||||
ns->ns_Flags = NSF_STRING;
|
||||
ns->ns_Hash = _StrcpyN((STRPTR)ns->ns_Buff,value,length);
|
||||
|
||||
/* Copying the string did not NUL-terminate it. */
|
||||
ns->ns_Buff[length] = '\0';
|
||||
|
||||
result = ns;
|
||||
|
||||
out:
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* Classifies a symbol and returns the stem and compound parts. */
|
||||
STATIC LONG
|
||||
TypeString(STRPTR variable_name,struct Environment * environment,struct NexxStr ** compound_ptr,struct NexxStr ** stem_ptr)
|
||||
{
|
||||
struct NexxStr * compound;
|
||||
struct NexxStr * stem = NULL;
|
||||
LONG error = ERR10_003; /* no memory available */
|
||||
LONG stem_length;
|
||||
LONG symbol_length;
|
||||
STRPTR dot;
|
||||
|
||||
(*compound_ptr) = NULL;
|
||||
(*stem_ptr) = NULL;
|
||||
|
||||
/* The 'compound' part is the entire variable name, including all dots and
|
||||
what's in between them. */
|
||||
compound = MakeString(environment,variable_name,strlen(variable_name));
|
||||
if(compound == NULL)
|
||||
goto out;
|
||||
|
||||
/* Find the first dot in the variable name. Everything in front of it
|
||||
and including the dot constitutes the 'stem' part. If there is no dot
|
||||
in the name, then the 'compound' and 'stem' parts are identical. */
|
||||
dot = memchr(compound->ns_Buff,'.',compound->ns_Length);
|
||||
if(dot != NULL)
|
||||
stem_length = ((char *)dot - (char *)compound->ns_Buff) + 1;
|
||||
else
|
||||
stem_length = compound->ns_Length;
|
||||
|
||||
/* Make a copy of the 'stem' part. */
|
||||
stem = MakeString(environment,variable_name,stem_length);
|
||||
if(stem == NULL)
|
||||
goto out;
|
||||
|
||||
/* Figure out if this is a symbol after all. */
|
||||
_IsSymbol((STRPTR)stem->ns_Buff,&symbol_length);
|
||||
|
||||
/* The entire name must match the stem part. */
|
||||
if(symbol_length != stem->ns_Length)
|
||||
{
|
||||
error = ERR10_040; /* invalid variable name */
|
||||
goto out;
|
||||
}
|
||||
|
||||
(*compound_ptr) = compound;
|
||||
(*stem_ptr) = stem;
|
||||
|
||||
error = 0;
|
||||
|
||||
out:
|
||||
|
||||
if(error != 0)
|
||||
{
|
||||
if(compound != NULL)
|
||||
FreeString(environment,compound);
|
||||
|
||||
if(stem != NULL)
|
||||
FreeString(environment,stem);
|
||||
}
|
||||
|
||||
return(error);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* Retrieves the value of a variable from the current storage environment. */
|
||||
LONG
|
||||
GetRexxVar(struct RexxMsg *context,STRPTR variable_name,STRPTR * return_value)
|
||||
{
|
||||
struct Environment * environment;
|
||||
struct NexxStr * ns;
|
||||
struct NexxStr * compound_string;
|
||||
struct NexxStr * stem_string;
|
||||
LONG is_literal;
|
||||
LONG error;
|
||||
|
||||
(*return_value) = NULL;
|
||||
|
||||
if(!CheckRexxMsg(context))
|
||||
{
|
||||
error = ERR10_010; /* invalid message packet */
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Find the current storage environment. */
|
||||
_CurrentEnv(context->rm_TaskBlock,&environment);
|
||||
|
||||
/* Create the stem and component parts. */
|
||||
error = TypeString(variable_name,environment,&compound_string,&stem_string);
|
||||
if(error != 0)
|
||||
goto out;
|
||||
|
||||
/* Look up the value. NOTE: _FetchValue() will free the two 'struct NexxStr *' provided. */
|
||||
_FetchValue(environment,stem_string,compound_string,NULL,&is_literal,&ns);
|
||||
|
||||
/* If this is not a literal, return a pointer to the string. */
|
||||
if(!is_literal)
|
||||
(*return_value) = (STRPTR)ns->ns_Buff;
|
||||
|
||||
error = 0;
|
||||
|
||||
out:
|
||||
|
||||
return(error);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* Assigns a value to a variable in the current storage environment. */
|
||||
LONG
|
||||
SetRexxVar(struct RexxMsg *context,STRPTR variable_name,STRPTR value,LONG length)
|
||||
{
|
||||
struct Environment * environment;
|
||||
struct NexxStr * compound_string;
|
||||
struct NexxStr * stem_string;
|
||||
struct Node * symbol_table_node;
|
||||
struct NexxStr *value_string;
|
||||
LONG error;
|
||||
|
||||
/* Make sure the value string is not too long */
|
||||
if(length > 65535)
|
||||
{
|
||||
error = ERR10_009; /* symbol or string too long */
|
||||
goto out;
|
||||
}
|
||||
|
||||
if(!CheckRexxMsg(context))
|
||||
{
|
||||
error = ERR10_010; /* invalid message packet */
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Find the current storage environment. */
|
||||
_CurrentEnv(context->rm_TaskBlock,&environment);
|
||||
|
||||
/* Create the stem and compound parts */
|
||||
error = TypeString(variable_name,environment,&compound_string,&stem_string);
|
||||
if(error != 0)
|
||||
goto out;
|
||||
|
||||
/* Locate or create the symbol node. NOTE: _EnterSymbol() will put the two 'struct NexxStr *' into
|
||||
the symbol table. It is not nececessary to free them. */
|
||||
symbol_table_node = _EnterSymbol(environment,stem_string,compound_string);
|
||||
if(symbol_table_node == NULL)
|
||||
{
|
||||
error = ERR10_003; /* no memory available */
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Create the value string. */
|
||||
value_string = MakeString(environment,value,length);
|
||||
if(value_string == NULL)
|
||||
{
|
||||
error = ERR10_003; /* no memory available */
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Install the value string. */
|
||||
_SetValue(environment,value_string,symbol_table_node);
|
||||
|
||||
error = 0;
|
||||
|
||||
out:
|
||||
|
||||
return(error);
|
||||
}
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_setsuperattrs.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_setsuperattrs.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_timedelay.c,v 1.4 2006-04-05 06:43:56 obarthel Exp $
|
||||
* $Id: amiga_timedelay.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -39,19 +39,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* A quick workaround for the timeval/timerequest->TimeVal/TimeRequest
|
||||
change in the recent OS4 header files. */
|
||||
|
||||
#if defined(__NEW_TIMEVAL_DEFINITION_USED__)
|
||||
|
||||
#define timeval TimeVal
|
||||
#define tv_secs Seconds
|
||||
#define tv_micro Microseconds
|
||||
|
||||
#endif /* __NEW_TIMEVAL_DEFINITION_USED__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
LONG
|
||||
TimeDelay(LONG unit,ULONG seconds,ULONG micros)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_waitbeam.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: amiga_waitbeam.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
; Simple release archive build script for Amiga systems.
|
||||
|
||||
; Set the name of the archive and the directory the
|
||||
; files go into
|
||||
set dir_name clib2-1.`type c.lib_rev.rev`
|
||||
|
||||
; Start with a clean slate
|
||||
delete all quiet ram:$dir_name
|
||||
|
||||
; Create the directory, copy all the libraries, header files
|
||||
; and release note files inside.
|
||||
makedir ram:$dir_name
|
||||
copy lib ram:${dir_name}/lib all clone quiet
|
||||
copy include ram:${dir_name}/include all clone quiet
|
||||
copy changes ram:$dir_name clone
|
||||
|
||||
; Delete the CVS data from the include directory
|
||||
delete ram:${dir_name}/include/CVS ram:${dir_name}/include/sys/CVS ram:${dir_name}/include/arpa/CVS ram:${dir_name}/include/netinet/CVS all quiet
|
||||
|
||||
; Finally, create an lha archive in RAM:
|
||||
pushcd ram:
|
||||
lha -r -x -a a ${dir_name}-gcc-68k.lha ${dir_name}
|
||||
popcd
|
||||
|
||||
; Move the archive back to this directory
|
||||
copy ram:${dir_name}-gcc-68k.lha "" clone
|
||||
|
||||
; Clean up...
|
||||
delete ram:$dir_name all quiet
|
||||
unset dir_name
|
||||
|
||||
@ -1,27 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Simple release archive build script for Unix systems.
|
||||
# I typically build the library with a cross compiler.
|
||||
|
||||
# Set the name of the archive and the directory the
|
||||
# files go into
|
||||
export dir_name=clib2-1.`cat c.lib_rev.rev`
|
||||
|
||||
# Start with a clean slate
|
||||
rm -rf $dir_name
|
||||
|
||||
# Create the directory, copy all the libraries, header files
|
||||
# and release note files inside.
|
||||
mkdir $dir_name
|
||||
cp -pR lib $dir_name
|
||||
cp -pR lib.threadsafe $dir_name
|
||||
cp -pR include $dir_name
|
||||
cp changes $dir_name
|
||||
|
||||
# Delete the CVS data from the include directory
|
||||
rm -rf ${dir_name}/include/CVS ${dir_name}/include/sys/CVS ${dir_name}/include/arpa/CVS ${dir_name}/include/netinet/CVS
|
||||
|
||||
# Finally, create an lha type 5 archive; the Amiga LhA port
|
||||
# can unpack it.
|
||||
lha ao5q ${dir_name}-gcc-os4.lha ${dir_name}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: c.lib_rev.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: c.lib_rev.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 205
|
||||
#define DATE "21.8.2010"
|
||||
#define VERS "c.lib 1.205"
|
||||
#define VSTRING "c.lib 1.205 (21.8.2010)\r\n"
|
||||
#define VERSTAG "\0$VER: c.lib 1.205 (21.8.2010)"
|
||||
#define REVISION 175
|
||||
#define DATE "10.9.2004"
|
||||
#define VERS "c.lib 1.175"
|
||||
#define VSTRING "c.lib 1.175 (10.9.2004)\r\n"
|
||||
#define VERSTAG "\0$VER: c.lib 1.175 (10.9.2004)"
|
||||
|
||||
@ -1 +1 @@
|
||||
205
|
||||
175
|
||||
|
||||
1469
library/changes
1469
library/changes
File diff suppressed because it is too large
Load Diff
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_cargf.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#include "complex_headers.h"
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(COMPLEX_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
float
|
||||
cargf(float complex z)
|
||||
{
|
||||
return(atan2(IMAG(z),REAL(z))); /* ZZZ this really needs to call ata2f(). */
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* COMPLEX_SUPPORT */
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_cargl.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#include "complex_headers.h"
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(COMPLEX_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
long double
|
||||
cargl(long double complex z)
|
||||
{
|
||||
return(atan2(IMAG(z),REAL(z))); /* ZZZ this really needs to call atan2l(). */
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* COMPLEX_SUPPORT */
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_cimag.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#include "complex_headers.h"
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(COMPLEX_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
double
|
||||
cimag(double complex z)
|
||||
{
|
||||
return(IMAG(z));
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* COMPLEX_SUPPORT */
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_cimagf.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#include "complex_headers.h"
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(COMPLEX_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
float
|
||||
cimagf(float complex z)
|
||||
{
|
||||
return(IMAG(z));
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* COMPLEX_SUPPORT */
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_cimagl.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#include "complex_headers.h"
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(COMPLEX_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
long double
|
||||
cimagl(long double complex z)
|
||||
{
|
||||
return(IMAG(z));
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* COMPLEX_SUPPORT */
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_conj.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#include "complex_headers.h"
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(COMPLEX_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
double complex
|
||||
conj(double complex z)
|
||||
{
|
||||
return(CONJ(z));
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* COMPLEX_SUPPORT */
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_conjf.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#include "complex_headers.h"
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(COMPLEX_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
float complex
|
||||
conjf(float complex z)
|
||||
{
|
||||
return(CONJ(z));
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* COMPLEX_SUPPORT */
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_conjl.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#include "complex_headers.h"
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(COMPLEX_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
long double complex
|
||||
conjl(long double complex z)
|
||||
{
|
||||
return(CONJ(z));
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* COMPLEX_SUPPORT */
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_creal.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#include "complex_headers.h"
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(COMPLEX_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
double
|
||||
creal(double complex z)
|
||||
{
|
||||
return(REAL(z));
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* COMPLEX_SUPPORT */
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_crealf.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#include "complex_headers.h"
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(COMPLEX_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
float
|
||||
crealf(float complex z)
|
||||
{
|
||||
return(REAL(z));
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* COMPLEX_SUPPORT */
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_creall.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#include "complex_headers.h"
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(COMPLEX_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
long double
|
||||
creall(long double complex z)
|
||||
{
|
||||
return(REAL(z));
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* COMPLEX_SUPPORT */
|
||||
@ -1,68 +0,0 @@
|
||||
/*
|
||||
* $Id: complex_headers.h,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_HEADERS_H
|
||||
#define _COMPLEX_HEADERS_H
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _MATH_FP_SUPPORT_H
|
||||
#include "math_fp_support.h"
|
||||
#endif /* _MATH_FP_SUPPORT_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(FLOATING_POINT_SUPPORT) && defined(__GNUC__) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#define COMPLEX_SUPPORT
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#define REAL(z) (__real__ (z))
|
||||
#define IMAG(z) (__imag__ (z))
|
||||
#define CONJ(z) (~(z))
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* FLOATING_POINT_SUPPORT && __GNUC__ && __STDC_VERSION__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* _COMPLEX_HEADERS_H */
|
||||
@ -1,3 +0,0 @@
|
||||
This directory contains contributions which have not yet been integrated
|
||||
with the clib2 library build but which should be in the CVS repository
|
||||
both for safekeeping and for you to look at and adapt.
|
||||
@ -1,183 +0,0 @@
|
||||
|
||||
#ifndef __BYTESWAP_H
|
||||
#define __BYTESWAP_H
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#define __CONST_FUNC __attribute__((const))
|
||||
#else
|
||||
#define __CONST_FUNC /* Nothing */
|
||||
#endif
|
||||
|
||||
/* Single value byteswap functions. */
|
||||
|
||||
extern __CONST_FUNC uint16_t bswap16(uint16_t);
|
||||
extern __CONST_FUNC uint32_t bswap24(uint32_t);
|
||||
extern __CONST_FUNC uint32_t bswap32(uint32_t);
|
||||
|
||||
#ifdef INT64_MIN
|
||||
extern __CONST_FUNC uint64_t bswap64(uint64_t);
|
||||
#endif
|
||||
|
||||
/* Block byteswap functions. The swab() function usually resides in unistd.h, so perhaps it should be moved there? */
|
||||
/* NOTE: Contrary to the standard swab(), this version returns the "to" pointer and the pointers are not restrict
|
||||
* qualified - so swapping buffer-contents in-place is supported.
|
||||
* Also, swab24(), swab32() and swab64() are non-standard functions.
|
||||
*/
|
||||
|
||||
extern void *swab(void *from,void *to,ssize_t nbytes);
|
||||
extern void *swab24(void *from,void *to,ssize_t nbytes); /* Same as swab(), but operates on 24-bit words instead. */
|
||||
extern void *swab32(void *from,void *to,ssize_t nbytes); /* Same as swab(), but operates on 32-bit words instead. */
|
||||
extern void *swab64(void *from,void *to,ssize_t nbytes); /* Same as swab(), but operates on 64-bit words instead. */
|
||||
|
||||
#define swab16(x) swab(x)
|
||||
|
||||
/*
|
||||
* Optimized inline-versions for the single-value functions follow.
|
||||
* Only GCC+PPC and GCC+m68k support for now.
|
||||
*/
|
||||
|
||||
#if defined(__GNUC__)
|
||||
|
||||
/* Select implementation. */
|
||||
|
||||
#define bswap16(x) (__builtin_constant_p(x))?__const_swap16(x):__swap16(x)
|
||||
#define bswap24(x) (__builtin_constant_p(x))?__const_swap24(x):__swap24(x)
|
||||
#define bswap32(x) (__builtin_constant_p(x))?__const_swap32(x):__swap32(x)
|
||||
#define bswap64(x) (__builtin_constant_p(x))?__const_swap64(x):__swap64(x)
|
||||
|
||||
/* Assembler implementations */
|
||||
|
||||
#if defined(__PPC__)
|
||||
|
||||
static __inline__ __CONST_FUNC uint16_t __swap16(uint16_t u16) {
|
||||
uint_fast16_t result;
|
||||
__asm__("\
|
||||
rlwinm %[result],%[u16],8,16,24\n\
|
||||
rlwimi %[result],%[u16],24,24,31\n\
|
||||
":[result]"=&r"(result):[u16]"r"(u16));
|
||||
return(result);
|
||||
}
|
||||
|
||||
static __inline__ __CONST_FUNC uint32_t __swap24(uint32_t u32) {
|
||||
uint_fast32_t result;
|
||||
__asm__("\
|
||||
rlwinm %[result],%[u32],16,8,31\n\
|
||||
rlwimi %[result],%[u32],0,16,24\n\
|
||||
":[result]"=&r"(result):[u32]"r"(u32));
|
||||
return(result);
|
||||
}
|
||||
|
||||
static __inline__ __CONST_FUNC uint32_t __swap32(uint32_t u32) {
|
||||
uint_fast32_t result;
|
||||
__asm__("\
|
||||
rlwinm %[result],%[u32],8,8,31\n\
|
||||
rlwimi %[result],%[u32],24,0,7\n\
|
||||
rlwimi %[result],%[u32],24,16,23\n\
|
||||
":[result]"=&r"(result):[u32]"r"(u32));
|
||||
return(result);
|
||||
}
|
||||
|
||||
/*
|
||||
* Note: __swap64() might perhaps be optimized a bit more by scheduling the
|
||||
* instructions to alternate register-use, but this instead means there
|
||||
* are two less registers free since "u64" and "result" may no longer overlap.
|
||||
* Decisions, decisions....
|
||||
*/
|
||||
|
||||
static __inline__ __CONST_FUNC uint64_t __swap64(uint64_t u64) {
|
||||
uint_fast64_t result;
|
||||
uint_fast32_t tmp;
|
||||
__asm__("\
|
||||
rlwinm %[tmp],%[u64],8,8,31\n\
|
||||
rlwimi %[tmp],%[u64],24,0,7\n\
|
||||
rlwimi %[tmp],%[u64],24,16,23\n\
|
||||
rlwinm %[result],%L[u64],8,8,31\n\
|
||||
rlwimi %[result],%L[u64],24,0,7\n\
|
||||
rlwimi %[result],%L[u64],24,16,23\n\
|
||||
or %L[result],%[tmp],%[tmp]\n\
|
||||
":[result]"=r"(result),[tmp]"=&r"(tmp):[u64]"r"(u64));
|
||||
return(result);
|
||||
}
|
||||
|
||||
#elif defined(__mc68020__)
|
||||
|
||||
static __inline__ __CONST_FUNC uint16_t __swap16(uint16_t u16) {
|
||||
__asm__("\
|
||||
rol.w #8,%[u16]\n\
|
||||
":[u16]"+d"(u16)::"cc");
|
||||
return(u16);
|
||||
}
|
||||
|
||||
static __inline__ __CONST_FUNC uint32_t __swap24(uint32_t u32) {
|
||||
__asm__("\
|
||||
rol.w #8,%[u32]\n\
|
||||
swap %[u32]\n\
|
||||
rol.w #8,%[u32]\n\
|
||||
ror.l #8,%[u32]\n\
|
||||
":[u32]"+d"(u32)::"cc");
|
||||
return(u32);
|
||||
}
|
||||
|
||||
static __inline__ __CONST_FUNC uint32_t __swap32(uint32_t u32) {
|
||||
__asm__("\
|
||||
rol.w #8,%[u32]\n\
|
||||
swap %[u32]\n\
|
||||
rol.w #8,%[u32]\n\
|
||||
":[u32]"+d"(u32)::"cc");
|
||||
return(u32);
|
||||
}
|
||||
|
||||
static __inline__ __CONST_FUNC uint64_t __swap64(uint64_t u64) {
|
||||
__asm__("\
|
||||
rol.w #8,%[u64]\n\
|
||||
rol.w #8,%L[u64]\n\
|
||||
swap %[u64]\n\
|
||||
swap %L[u64]\n\
|
||||
rol.w #8,%[u64]\n\
|
||||
rol.w #8,%L[u64]\n\
|
||||
exg %[u64],L%[u64]\n\
|
||||
":[u64]"+d"(u64)::"cc");
|
||||
return(u64);
|
||||
}
|
||||
|
||||
#else
|
||||
/* Unknown or undefined architecture. Perhaps compiling with "-strict -ansi", but should not use this header then anyway. */
|
||||
#undef bswap16
|
||||
#undef bswap24
|
||||
#undef bswap32
|
||||
#undef bswap64
|
||||
#define bswap16(x) (__builtin_constant_p(x))?__const_swap16(x):bswap16(x)
|
||||
#define bswap24(x) (__builtin_constant_p(x))?__const_swap24(x):bswap24(x)
|
||||
#define bswap32(x) (__builtin_constant_p(x))?__const_swap32(x):bswap32(x)
|
||||
#define bswap64(x) (__builtin_constant_p(x))?__const_swap64(x):bswap64(x)
|
||||
#endif
|
||||
|
||||
/* C implementations for constant values */
|
||||
|
||||
static __inline__ uint16_t __const_swap16(uint16_t u16) {
|
||||
return(u16>>8|u16<<8);
|
||||
}
|
||||
|
||||
static __inline__ uint32_t __const_swap24(uint32_t u32) {
|
||||
return(((u32&0xff)<<16)|((u32&0xff00))|((u32&0xff0000)>>16));
|
||||
}
|
||||
|
||||
static __inline__ uint32_t __const_swap32(uint32_t u32) {
|
||||
return(((u32&0xff)<<24)|((u32&0xff00)<<8)|((u32&0xff0000)>>8)|((u32&0xff000000)>>24));
|
||||
}
|
||||
|
||||
static __inline__ uint64_t __const_swap64(uint64_t u64) {
|
||||
return(((u64&0xffLL)<<56)|((u64&0xff00LL)<<40)|((u64&0xff0000LL)<<24)|((u64&0xff000000LL)<<8)|
|
||||
((u64&0xff00000000LL)>>8)|((u64&0xff0000000000LL)>>24)|((u64&0xff000000000000LL)>>40)|((u64&0xff00000000000000LL)>>56));
|
||||
}
|
||||
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
|
||||
#endif /* __BYTESWAP_H */
|
||||
|
||||
/* vi:set ts=3: */
|
||||
|
||||
@ -1,28 +0,0 @@
|
||||
|
||||
#if defined(__PPC__) && defined(__GNUC__)
|
||||
|
||||
asm("\
|
||||
.text\n\
|
||||
.align 2\n\
|
||||
.globl bswap16\n\
|
||||
.type bswap16, @function\n\
|
||||
bswap16:\n\
|
||||
# rlwinm %r4,%r3,8,16,24\n\
|
||||
# rlwimi %r4,%r3,24,24,31\n\
|
||||
# or %r3,%r4,%r4\n\
|
||||
rlwimi %r3,%r3,16,8,15\n\
|
||||
srwi %r3,%r3,8\n\
|
||||
blr\n\
|
||||
");
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
uint16_t bswap16(uint16_t u16)
|
||||
{
|
||||
return(u16>>8|u16<<8);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
|
||||
#if defined(__PPC__) && defined(__GNUC__)
|
||||
|
||||
asm(" .text\n\
|
||||
.align 2\n\
|
||||
.globl bswap24\n\
|
||||
.type bswap24, @function\n\
|
||||
bswap32:\n\
|
||||
rlwinm %r4,%r3,16,8,31\n\
|
||||
rlwimi %r4,%r3,0,16,24\n\
|
||||
or %r3,%r4,%r4\n\
|
||||
blr\n\
|
||||
");
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
uint32_t bswap24(uint32_t u32)
|
||||
{
|
||||
return(
|
||||
((u32&0xff)<<16)|
|
||||
((u32&0xff00))|
|
||||
((u32&0xff0000)>>16)
|
||||
);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
|
||||
#if defined(__PPC__) && defined(__GNUC__)
|
||||
|
||||
asm(" .text\n\
|
||||
.align 2\n\
|
||||
.globl bswap32\n\
|
||||
.type bswap32, @function\n\
|
||||
bswap32:\n\
|
||||
rlwinm %r4,%r3,8,8,31\n\
|
||||
rlwimi %r4,%r3,24,0,7\n\
|
||||
rlwimi %r4,%r3,24,16,23\n\
|
||||
or %r3,%r4,%r4\n\
|
||||
blr\n\
|
||||
");
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
uint32_t bswap32(uint32_t u32)
|
||||
{
|
||||
return(
|
||||
((u32&0xff)<<24)|
|
||||
((u32&0xff00)<<8)|
|
||||
((u32&0xff0000)>>8)|
|
||||
((u32&0xff000000)>>24)
|
||||
);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@ -1,48 +0,0 @@
|
||||
|
||||
#if defined(USE_64_BIT_INTS)
|
||||
|
||||
#if defined(__PPC__) && defined(__GNUC__)
|
||||
|
||||
asm(" .text\n\
|
||||
.align 2\n\
|
||||
.globl bswap64\n\
|
||||
.type bswap64, @function\n\
|
||||
bswap64:\n\
|
||||
rlwinm %r5,%r3,8,8,31\n\
|
||||
rlwimi %r5,%r3,24,0,7\n\
|
||||
rlwimi %r5,%r3,24,16,23\n\
|
||||
rlwinm %r3,%r4,8,8,31\n\
|
||||
rlwimi %r3,%r4,24,0,7\n\
|
||||
rlwimi %r3,%r4,24,16,23\n\
|
||||
or %r4,%r5,%r5\n\
|
||||
blr\n\
|
||||
");
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
uint64_t bswap64(uint64_t u64)
|
||||
{
|
||||
union {
|
||||
uint64_t ll;
|
||||
uint32_t l[2];
|
||||
} v={.ll=u64};
|
||||
uint32_t tmp;
|
||||
tmp=v.l[0];
|
||||
v.l[0]=((v.l[1]&0xff)<<24)|
|
||||
((v.l[1]&0xff00)<<8)|
|
||||
((v.l[1]&0xff0000)>>8)|
|
||||
((v.l[1]&0xff000000)>>24);
|
||||
v.l[1]=((tmp&0xff)<<24)|
|
||||
((tmp&0xff00)<<8)|
|
||||
((tmp&0xff0000)>>8)|
|
||||
((tmp&0xff000000)>>24);
|
||||
return(v.ll);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@ -1,70 +0,0 @@
|
||||
|
||||
#if defined(__GNUC__) && defined(__PPC__)
|
||||
|
||||
/* r3=from, r4=to, r5=len/count, r6=index, r7=load/store/temp */
|
||||
|
||||
asm("\
|
||||
.text\n\
|
||||
.align 2\n\
|
||||
.globl swab\n\
|
||||
.type swab,@function\n\
|
||||
swab:\n\
|
||||
dcbt 0,%r3\n\
|
||||
srawi. %r5,%r5,1\n\
|
||||
bc 4,gt,.exit\n\
|
||||
andi. %r7,%r3,3 # Check if we start on an address evenly divisible by 4.\n\
|
||||
li %r6,0\n\
|
||||
bc 4,gt,.preploop\n\
|
||||
lhbrx %r7,%r6,%r3 # Fix alignment if needed.\n\
|
||||
sthx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,2\n\
|
||||
subi %r5,%r5,1\n\
|
||||
.preploop:\n\
|
||||
andi. %r7,%r5,1 # Check if even or odd number of 16-bit words.\n\
|
||||
srawi %r5,%r5,1 # Number of 32-bit words to half-swap.\n\
|
||||
mtctr %r5\n\
|
||||
bc 12,gt,.oddloop # Jump to loop for odd number of 16-bit words.\n\
|
||||
.loop: # Loop is 'unrolled' by reading/writing 32-bit words.\n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
rotlwi %r7,%r7,16\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
bc 0,lt,.loop\n\
|
||||
.exit:\n\
|
||||
or %r3,%r4,%r4\n\
|
||||
blr\n\
|
||||
.oddloop:\n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
rotlwi %r7,%r7,16\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
bc 0,lt,.oddloop\n\
|
||||
sub %r6,%r6,2\n\
|
||||
lhbrx %r7,%r6,%r3 # Fix last 16-bit word.\n\
|
||||
sthx %r7,%r6,%r4\n\
|
||||
or %r3,%r4,%r4\n\
|
||||
blr\n\
|
||||
");
|
||||
|
||||
#else
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdint.h>
|
||||
|
||||
void *swab(void *from,void *to,ssize_t len)
|
||||
{
|
||||
int i;
|
||||
uint16_t u16,*u16in=from,*u16out=to;
|
||||
|
||||
for(i=0;i<(len>>1);i++) {
|
||||
u16=u16in[i];
|
||||
u16out[i]=u16>>8|u16<<8;
|
||||
}
|
||||
|
||||
return(u16out);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@ -1,91 +0,0 @@
|
||||
|
||||
#if defined(__GNUC__) && defined(__PPC__)
|
||||
|
||||
/* r3=from, r4=to, r5=len/remaining, r6/r7=index & r7=temp, r8/r9/r10=read/write temp */
|
||||
|
||||
asm("\
|
||||
.text\n\
|
||||
.align 2\n\
|
||||
.globl swab24\n\
|
||||
.type swab24,@function\n\
|
||||
swab24:\n\
|
||||
dcbt 0,%r3\n\
|
||||
li %r7,3\n\
|
||||
divwu %r5,%r5,%r7\n\
|
||||
andi. %r7,%r5,3\n\
|
||||
srawi. %r5,%r5,2\n\
|
||||
mtctr %r5\n\
|
||||
or %r5,%r7,%r7\n\
|
||||
li %r6,0\n\
|
||||
bc 4,gt,.postfix\n\
|
||||
.loop:\n\
|
||||
lwbrx %r8,%r6,%r3\n\
|
||||
addi %r7,%r6,4\n\
|
||||
lwzx %r9,%r7,%r3\n\
|
||||
addi %r7,%r6,8\n\
|
||||
lwbrx %r10,%r7,%r3\n\
|
||||
rotlwi %r8,%r8,8\n\
|
||||
or %r7,%r9,%r9\n\
|
||||
rlwimi %r9,%r8,16,8,15\n\
|
||||
rlwimi %r9,%r10,8,16,23\n\
|
||||
rlwimi %r8,%r7,16,24,31\n\
|
||||
rotrwi %r10,%r10,8\n\
|
||||
rlwimi %r10,%r7,16,0,7\n\
|
||||
stwx %r8,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
stwx %r9,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
stwx %r10,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
bc 0,lt,.loop\n\
|
||||
.postfix: # Fix any remaining 24-bit words (number of remaining words in r5).\n\
|
||||
or. %r5,%r5,%r5\n\
|
||||
bc 4,gt,.exit\n\
|
||||
mtctr %r5\n\
|
||||
add %r3,%r3,%r6\n\
|
||||
add %r6,%r4,%r6\n\
|
||||
subi %r3,%r3,1\n\
|
||||
.fixloop:\n\
|
||||
lbzu %r7,1(%r3)\n\
|
||||
lbzu %r8,1(%r3)\n\
|
||||
lbzu %r9,1(%r3)\n\
|
||||
stb %r7,2(%r6)\n\
|
||||
stb %r8,1(%r6)\n\
|
||||
stb %r9,0(%r6)\n\
|
||||
addi %r6,%r6,3\n\
|
||||
bc 0,lt,.fixloop\n\
|
||||
.exit:\n\
|
||||
or %r3,%r4,%r4\n\
|
||||
blr\n\
|
||||
");
|
||||
|
||||
#else
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/*
|
||||
* Ugh, this is really very, very ineffiecient.
|
||||
* (But simple, understandable and safe)
|
||||
*/
|
||||
|
||||
void *swab24(void *from,void *to,ssize_t len)
|
||||
{
|
||||
uint8_t *src=from,B0,B1,B2,*dst=to;
|
||||
int i;
|
||||
|
||||
for(i=0;i<len;i+=3) {
|
||||
B0=src[i];
|
||||
B1=src[i+1];
|
||||
B2=src[i+2];
|
||||
dst[i]=B2;
|
||||
dst[i+1]=B1;
|
||||
dst[i+2]=B0;
|
||||
}
|
||||
|
||||
return(to);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@ -1,112 +0,0 @@
|
||||
|
||||
#if defined(__GNUC__) && defined(__PPC__)
|
||||
|
||||
/* r3=from, r4=to, r5=len, r6=index, r7=load/store temp */
|
||||
|
||||
asm("\
|
||||
.text\n\
|
||||
.align 2\n\
|
||||
.globl swab32\n\
|
||||
.type swab32,@function\n\
|
||||
swab32:\n\
|
||||
srawi. %r5,%r5,2\n\
|
||||
li %r6,0\n\
|
||||
bc 4,gt,.exit\n\
|
||||
mtctr %r5\n\
|
||||
.loop:\n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
bc 0,lt,.loop\n\
|
||||
.exit:\n\
|
||||
or %r3,%r4,%r4\n\
|
||||
blr\n\
|
||||
");
|
||||
|
||||
/* r3=from, r4=to, r5=len/temp, r6=index, r7=load/store temp, r8=cache hint
|
||||
*
|
||||
* The unrolled, cache-hinting version appears to be about 4.5% faster, but
|
||||
* in this case I opted for the smaller implementation. swab64() appears to
|
||||
* gain more from cache-hinting - probably because of it using more registers
|
||||
* for intermediate storage.
|
||||
asm("\
|
||||
.text\n\
|
||||
.align 2\n\
|
||||
.globl swab32\n\
|
||||
.type swab32,@function\n\
|
||||
swab32:\n\
|
||||
dcbt 0,%r3\n\
|
||||
andi. %r8,%r5,31 # The number of bytes handled in '.pre'. Used for prefetch hint.\n\
|
||||
srawi %r5,%r5,2 # Convert bytes-># of 32-bit words\n\
|
||||
andi. %r7,%r5,7\n\
|
||||
li %r6,0\n\
|
||||
bc 4,gt,.preploop\n\
|
||||
mtctr %r7\n\
|
||||
.pre: # One 32-bit word at a time until we have (nLeft%8)==0 \n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
bc 0,lt,.pre\n\
|
||||
.preploop:\n\
|
||||
srawi. %r5,%r5,3 # Divide by 8 again to get number of loops.\n\
|
||||
addi %r8,%r8,32 # Start address for next loop (from r3).\n\
|
||||
bc 4,gt,.exit\n\
|
||||
mtctr %r5\n\
|
||||
.loop: # Loop unrolled 8 times = 32 bytes = 1 cache-line (except on the 970).\n\
|
||||
dcbt %r8,%r3 # Cache hint (prefetch) for the next loop\n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
lwbrx %r7,%r6,%r3\n\
|
||||
stwx %r7,%r6,%r4\n\
|
||||
addi %r6,%r6,4\n\
|
||||
addi %r8,%r8,32 # Update cache-hint offset\n\
|
||||
bc 0,lt,.loop\n\
|
||||
.exit:\n\
|
||||
or %r3,%r4,%r4\n\
|
||||
blr\n\
|
||||
");
|
||||
*/
|
||||
|
||||
#else
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdint.h>
|
||||
|
||||
void *swab32(void *from,void *to,ssize_t len)
|
||||
{
|
||||
int i;
|
||||
uint32_t *u32in=from,*u32out=to,tmp;
|
||||
|
||||
for(i=0;i<(len>>2);i++) {
|
||||
tmp=u32in[i];
|
||||
u32out[i]=((tmp&0xff)<<24)|
|
||||
((tmp&0xff00)<<8)|
|
||||
((tmp&0xff0000)>>8)|
|
||||
((tmp&0xff000000)>>24);
|
||||
}
|
||||
|
||||
return(to);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@ -1,101 +0,0 @@
|
||||
|
||||
#if defined(__GNUC__) && defined(__PPC__)
|
||||
|
||||
/* r3=from, r4=to, r5=len/temp, r6/r7=index, r8/r9=load/store temp, r10=cache hint */
|
||||
|
||||
/* This version is unrolled and uses cache-hinting. It appears to gain about 10%
|
||||
* over a non-unrolled, non-hinting version.
|
||||
*/
|
||||
|
||||
asm("\
|
||||
.text\n\
|
||||
.align 2\n\
|
||||
.globl swab64\n\
|
||||
.type swab64,@function\n\
|
||||
swab64:\n\
|
||||
dcbt 0,%r3\n\
|
||||
andi. %r10,%r5,31 # The number of bytes handled in '.pre'. Used for prefetch hint.\n\
|
||||
srawi %r5,%r5,3 # Convert bytes-># of 64-bit words\n\
|
||||
andi. %r7,%r5,3\n\
|
||||
li %r6,0\n\
|
||||
bc 4,gt,.preploop\n\
|
||||
mtctr %r7\n\
|
||||
.pre: # One 64-bit word at a time until we have (nLeft%4)==0 \n\
|
||||
lwbrx %r8,%r6,%r3\n\
|
||||
addi %r7,%r6,4\n\
|
||||
lwbrx %r9,%r7,%r3\n\
|
||||
stwx %r8,%r7,%r4\n\
|
||||
stwx %r9,%r6,%r4\n\
|
||||
addi %r6,%r6,8\n\
|
||||
bc 0,lt,.pre\n\
|
||||
.preploop:\n\
|
||||
srawi. %r5,%r5,2 # Divide by 4 again to get number of loops.\n\
|
||||
addi %r10,%r10,32 # Start address for next loop.\n\
|
||||
bc 4,gt,.exit\n\
|
||||
mtctr %r5\n\
|
||||
.loop: # Loop unrolled 4 times = 32 bytes = 1 cache-line (except on the 970).\n\
|
||||
dcbt %r10,%r3 # Cache hint (prefetch) for the next iteration\n\
|
||||
lwbrx %r8,%r6,%r3\n\
|
||||
addi %r7,%r6,4\n\
|
||||
lwbrx %r9,%r7,%r3\n\
|
||||
stwx %r8,%r7,%r4\n\
|
||||
stwx %r9,%r6,%r4\n\
|
||||
addi %r6,%r6,8\n\
|
||||
lwbrx %r8,%r6,%r3\n\
|
||||
addi %r7,%r6,4\n\
|
||||
lwbrx %r9,%r7,%r3\n\
|
||||
stwx %r8,%r7,%r4\n\
|
||||
stwx %r9,%r6,%r4\n\
|
||||
addi %r6,%r6,8\n\
|
||||
lwbrx %r8,%r6,%r3\n\
|
||||
addi %r7,%r6,4\n\
|
||||
lwbrx %r9,%r7,%r3\n\
|
||||
stwx %r8,%r7,%r4\n\
|
||||
stwx %r9,%r6,%r4\n\
|
||||
addi %r6,%r6,8\n\
|
||||
lwbrx %r8,%r6,%r3\n\
|
||||
addi %r7,%r6,4\n\
|
||||
lwbrx %r9,%r7,%r3\n\
|
||||
stwx %r8,%r7,%r4\n\
|
||||
stwx %r9,%r6,%r4\n\
|
||||
addi %r6,%r6,8\n\
|
||||
addi %r10,%r10,32 # Update cache-hint offset\n\
|
||||
bc 0,lt,.loop\n\
|
||||
.exit:\n\
|
||||
or %r3,%r4,%r4\n\
|
||||
blr\n\
|
||||
");
|
||||
|
||||
#else
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdint.h>
|
||||
|
||||
void *swab64(void *from,void *to,ssize_t len)
|
||||
{
|
||||
int i;
|
||||
struct {
|
||||
uint32_t u32[2];
|
||||
} *u64in=from,*u64out=to;
|
||||
uint32_t tmp1,tmp2;
|
||||
|
||||
for(i=0;i<(len>>3);i++) {
|
||||
tmp1=u64in[i].u32[0];
|
||||
tmp2=u64in[i].u32[1];
|
||||
u64out[i].u32[0]=((tmp2&0xff)<<24)|
|
||||
((tmp2&0xff00)<<8)|
|
||||
((tmp2&0xff0000)>>8)|
|
||||
((tmp2&0xff000000)>>24);
|
||||
u64out[i].u32[1]=((tmp1&0xff)<<24)|
|
||||
((tmp1&0xff00)<<8)|
|
||||
((tmp1&0xff0000)>>8)|
|
||||
((tmp1&0xff000000)>>24);
|
||||
}
|
||||
|
||||
return(to);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* vi:set ts=3: */
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
//
|
||||
// $Id: crt0.S,v 1.6 2005-10-11 09:28:29 obarthel Exp $
|
||||
// $Id: crt0.S,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
//
|
||||
// :ts=4
|
||||
//
|
||||
|
||||
.text
|
||||
|
||||
.globl main /* This enforces linkage against the main() function */
|
||||
.globl _main
|
||||
.globl _start
|
||||
|
||||
@ -19,10 +18,5 @@ _start:
|
||||
addi r13, r13, _SDA_BASE_@l
|
||||
#endif
|
||||
|
||||
#if defined(BASEREL_DATA)
|
||||
/* We also need to set up the data segment pointer */
|
||||
lis r2, _DATA_BASE_@ha
|
||||
addi r2, r2, _DATA_BASE_@l
|
||||
#endif
|
||||
|
||||
b _main
|
||||
|
||||
|
||||
@ -1,18 +1,21 @@
|
||||
/*
|
||||
* $Id: crtbegin.c,v 1.13 2010-08-21 11:37:03 obarthel Exp $
|
||||
* $Id: crtbegin.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Handles global constructors and destructors for the OS4 GCC build.
|
||||
* Handles global constructors and destructors.
|
||||
*/
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
#include <exec/types.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef EXEC_TYPES_H
|
||||
#include <exec/types.h>
|
||||
#endif /* EXEC_TYPES_H */
|
||||
#include <stdlib.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
@ -22,32 +25,108 @@
|
||||
* with a NULL pointer entry and is put at the end of the sections. This way, the init
|
||||
* code can find the global constructor/destructor pointers
|
||||
*/
|
||||
static void (*__CTOR_LIST__[1]) (void) __attribute__(( used, section(".ctors"), aligned(sizeof(void (*)(void))) ));
|
||||
static void (*__DTOR_LIST__[1]) (void) __attribute__(( used, section(".dtors"), aligned(sizeof(void (*)(void))) ));
|
||||
static void (*__CTOR_LIST__[1]) (void) __attribute__((section(".ctors"))) = { (void *)-1 };
|
||||
static void (*__DTOR_LIST__[1]) (void) __attribute__((section(".dtors"))) = { (void *)-1 };
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
void _init(void);
|
||||
void _fini(void);
|
||||
static void
|
||||
_do_ctors(void)
|
||||
{
|
||||
void (**pFuncPtr)(void);
|
||||
|
||||
/* Skip the first entry in the list (it's -1 anyway) */
|
||||
pFuncPtr = __CTOR_LIST__ + 1;
|
||||
|
||||
/* Call all constructors in forward order */
|
||||
while (*pFuncPtr != NULL)
|
||||
(**pFuncPtr++)();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static void
|
||||
_do_dtors(void)
|
||||
{
|
||||
ULONG i = (ULONG)__DTOR_LIST__[0];
|
||||
void (**pFuncPtr)(void);
|
||||
|
||||
if (i == ~0UL)
|
||||
{
|
||||
/* Find the end of the destructors list */
|
||||
i = 1;
|
||||
|
||||
while (__DTOR_LIST__[i] != NULL)
|
||||
i++;
|
||||
|
||||
/* We're at the NULL entry now. Go back by one */
|
||||
i--;
|
||||
}
|
||||
|
||||
/* Call all destructors in reverse order */
|
||||
pFuncPtr = __DTOR_LIST__ + i;
|
||||
while (i-- > 0)
|
||||
(**pFuncPtr--)();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#else
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
typedef void (*func_ptr)(void);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static void
|
||||
_do_ctors(void)
|
||||
{
|
||||
extern func_ptr __CTOR_LIST__[];
|
||||
ULONG nptrs = (ULONG)__CTOR_LIST__[0];
|
||||
ULONG i;
|
||||
|
||||
for(i = nptrs ; i > 0 ; i--)
|
||||
__CTOR_LIST__[i]();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static void
|
||||
_do_dtors(void)
|
||||
{
|
||||
extern func_ptr __DTOR_LIST__[];
|
||||
extern jmp_buf __exit_jmp_buf;
|
||||
ULONG nptrs = (ULONG)__DTOR_LIST__[0];
|
||||
static ULONG i;
|
||||
|
||||
/* If one of the destructors drops into
|
||||
* exit(), processing will continue with
|
||||
* the next following destructor.
|
||||
*/
|
||||
(void)setjmp(__exit_jmp_buf);
|
||||
|
||||
while(i++ < nptrs)
|
||||
__DTOR_LIST__[i]();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /*__amigaos4__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* FIXME: Do we need to put these in .init/.fini sections? */
|
||||
|
||||
//void _init(void) __attribute__((section(".init")));
|
||||
//void _fini(void) __attribute__((section(".fini")));
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
void
|
||||
_init(void)
|
||||
{
|
||||
extern void shared_obj_init(void);
|
||||
int num_ctors,i;
|
||||
int j;
|
||||
|
||||
/* The shared objects need to be set up before any local
|
||||
constructors are invoked. */
|
||||
shared_obj_init();
|
||||
|
||||
for(i = 1, num_ctors = 0 ; __CTOR_LIST__[i] != NULL ; i++)
|
||||
num_ctors++;
|
||||
|
||||
for(j = 0 ; j < num_ctors ; j++)
|
||||
__CTOR_LIST__[num_ctors - j]();
|
||||
_do_ctors();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
@ -55,21 +134,5 @@ _init(void)
|
||||
void
|
||||
_fini(void)
|
||||
{
|
||||
extern void shared_obj_exit(void);
|
||||
int num_dtors,i;
|
||||
static int j;
|
||||
|
||||
for(i = 1, num_dtors = 0 ; __DTOR_LIST__[i] != NULL ; i++)
|
||||
num_dtors++;
|
||||
|
||||
while(j++ < num_dtors)
|
||||
__DTOR_LIST__[j]();
|
||||
|
||||
/* The shared objects need to be cleaned up after all local
|
||||
destructors have been invoked. */
|
||||
shared_obj_exit();
|
||||
_do_dtors();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /*__amigaos4__ */
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: crtend.c,v 1.2 2005-03-09 21:07:25 obarthel Exp $
|
||||
* $Id: crtend.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@ -10,10 +10,9 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static void (*__CTOR_LIST__[1]) (void) __attribute__((used, section(".ctors"), aligned(sizeof(void (*)(void))) ));
|
||||
static void (*__DTOR_LIST__[1]) (void) __attribute__((used, section(".dtors"), aligned(sizeof(void (*)(void))) ));
|
||||
static volatile void (*__CTOR_LIST__[1]) (void) __attribute__((used,section(".ctors"))) = { (void *)0 };
|
||||
static volatile void (*__DTOR_LIST__[1]) (void) __attribute__((used,section(".dtors"))) = { (void *)0 };
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /*__amigaos4__ */
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_headers.h,v 1.6 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_headers.h,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -42,25 +42,18 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_LOCALEBASE_H
|
||||
#include "stdlib_localebase.h"
|
||||
#endif /* _STDLIB_LOCALEBASE_H */
|
||||
|
||||
#ifndef _STDLIB_UTILITYBASE_H
|
||||
#include "stdlib_utilitybase.h"
|
||||
#endif /* _STDLIB_UTILITYBASE_H */
|
||||
#ifndef _STDLIB_LOCALE_UTILITY_H
|
||||
#include "stdlib_locale_utility.h"
|
||||
#endif /* _STDLIB_LOCALE_UTILITY_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _MACROS_H
|
||||
#include "macros.h"
|
||||
#endif /* _MACROS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <locale.h>
|
||||
#include <assert.h>
|
||||
#include <limits.h>
|
||||
#include <ctype.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isalnum.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_isalnum.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -49,26 +49,16 @@ isalnum(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsAlNum(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
result = IsAlNum(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = isalpha(c) || isdigit(c);
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isalpha.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_isalpha.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,19 +47,11 @@ isalpha(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsAlpha(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
result = IsAlpha(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -67,7 +59,5 @@ isalpha(int c)
|
||||
('A' <= c && c <= 'Z'));
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isascii.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_isascii.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* $Id: ctype_isblank.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Neither the name of Olaf Barthel nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _CTYPE_HEADERS_H
|
||||
#include "ctype_headers.h"
|
||||
#endif /* _CTYPE_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#undef isblank
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
int
|
||||
isblank(int c)
|
||||
{
|
||||
int result;
|
||||
|
||||
result = (c == '\t' || c == ' ');
|
||||
|
||||
return(result);
|
||||
}
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_iscntrl.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_iscntrl.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,26 +47,16 @@ iscntrl(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsCntrl(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
result = IsCntrl(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = (('\0' <= c && c < ' ') || (c == 127));
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isdigit.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_isdigit.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,26 +47,16 @@ isdigit(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsDigit(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
result = IsDigit(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = ('0' <= c && c <= '9');
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isgraph.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_isgraph.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,26 +47,16 @@ isgraph(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsGraph(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
result = IsGraph(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = (' ' < c && c < 127);
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_islower.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_islower.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,26 +47,16 @@ islower(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsLower(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
result = IsLower(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = ('a' <= c && c <= 'z');
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isprint.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_isprint.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,26 +47,16 @@ isprint(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsPrint(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
result = IsPrint(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = (' ' <= c && c <= '~');
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_ispunct.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_ispunct.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,19 +47,11 @@ ispunct(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsPunct(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
result = IsPunct(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -69,7 +61,5 @@ ispunct(int c)
|
||||
('{' <= c && c <= '~'));
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isspace.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_isspace.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,19 +47,11 @@ isspace(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsSpace(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
result = IsSpace(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -71,7 +63,5 @@ isspace(int c)
|
||||
c == ' ');
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isupper.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_isupper.c,v 1.1.1.1 2004-07-26 16:30:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,26 +47,16 @@ isupper(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsUpper(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
result = IsUpper(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = ('A' <= c && c <= 'Z');
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isxdigit.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_isxdigit.c,v 1.1.1.1 2004-07-26 16:30:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,19 +47,11 @@ isxdigit(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsXDigit(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
result = IsXDigit(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -68,7 +60,5 @@ isxdigit(int c)
|
||||
('A' <= c && c <= 'F'));
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_table.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_table.c,v 1.1.1.1 2004-07-26 16:30:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -36,8 +36,22 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
const unsigned char __ctype_table[2 * 128] =
|
||||
/* The construction of this table is rather peculiar. The assumption is that
|
||||
the table index from which a flag value could be fetched is in the range
|
||||
-128..255 since the character to be tested could be a signed or unsigned
|
||||
8 bit value. The table access pointer (declared below) therefore points
|
||||
to the 128th byte of '__ctype_data[]'. */
|
||||
static const unsigned char __ctype_data[3 * 128] =
|
||||
{
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
|
||||
/* 0 */ __CTYPE_CONTROL,
|
||||
/* 1 */ __CTYPE_CONTROL,
|
||||
/* 2 */ __CTYPE_CONTROL,
|
||||
@ -176,3 +190,7 @@ const unsigned char __ctype_table[2 * 128] =
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
const unsigned char * const __ctype_table = &__ctype_data[128];
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_tolower.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_tolower.c,v 1.1.1.1 2004-07-26 16:30:25 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -43,26 +43,16 @@ tolower(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = ConvToLower(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = c;
|
||||
result = ConvToLower(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = ('A' <= c && c <= 'Z') ? (c + ('a' - 'A')) : c;
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_toupper.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: ctype_toupper.c,v 1.1.1.1 2004-07-26 16:30:25 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -43,26 +43,16 @@ toupper(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = ConvToUpper(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = c;
|
||||
result = ConvToUpper(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = ('a' <= c && c <= 'z') ? (c - ('a' - 'A')) : c;
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug.c,v 1.6 2006-09-25 14:51:15 obarthel Exp $
|
||||
* $Id: debug.c,v 1.1.1.1 2004-07-26 16:30:25 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -133,7 +133,7 @@ _POPDEBUGLEVEL(void)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
STATIC VOID
|
||||
static void
|
||||
_INDENT(void)
|
||||
{
|
||||
if(program_name_len > 0)
|
||||
@ -160,7 +160,7 @@ _SHOWVALUE(
|
||||
{
|
||||
if(__debug_level >= DEBUGLEVEL_Reports)
|
||||
{
|
||||
const char *fmt;
|
||||
char *fmt;
|
||||
|
||||
switch(size)
|
||||
{
|
||||
@ -207,7 +207,7 @@ _SHOWPOINTER(
|
||||
{
|
||||
if(__debug_level >= DEBUGLEVEL_Reports)
|
||||
{
|
||||
const char *fmt;
|
||||
char *fmt;
|
||||
|
||||
_INDENT();
|
||||
|
||||
@ -273,7 +273,7 @@ _DPRINTF(const char *fmt,...)
|
||||
va_list args;
|
||||
|
||||
va_start(args,fmt);
|
||||
KPutFmt(fmt,args);
|
||||
KPutFmt((char *)fmt,args);
|
||||
va_end(args);
|
||||
|
||||
KPrintF("\n");
|
||||
@ -288,7 +288,7 @@ _DLOG(const char *fmt,...)
|
||||
va_list args;
|
||||
|
||||
va_start(args,fmt);
|
||||
KPutFmt(fmt,args);
|
||||
KPutFmt((char *)fmt,args);
|
||||
va_end(args);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug.h,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: debug.h,v 1.1.1.1 2004-07-26 16:30:26 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -57,17 +57,9 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif /* _STDLIB_H */
|
||||
|
||||
#ifndef _DOS_H
|
||||
#include <dos.h>
|
||||
#endif /* _DOS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
extern void kprintf(const char *format,...);
|
||||
extern void abort(void);
|
||||
extern char * __program_name;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug.lib_rev.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: debug.lib_rev.c,v 1.1.1.1 2004-07-26 16:30:26 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 205
|
||||
#define DATE "21.8.2010"
|
||||
#define VERS "debug.lib 1.205"
|
||||
#define VSTRING "debug.lib 1.205 (21.8.2010)\r\n"
|
||||
#define VERSTAG "\0$VER: debug.lib 1.205 (21.8.2010)"
|
||||
#define REVISION 175
|
||||
#define DATE "10.9.2004"
|
||||
#define VERS "debug.lib 1.175"
|
||||
#define VSTRING "debug.lib 1.175 (10.9.2004)\r\n"
|
||||
#define VERSTAG "\0$VER: debug.lib 1.175 (10.9.2004)"
|
||||
|
||||
@ -1 +1 @@
|
||||
205
|
||||
175
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_cmpstrexec.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: debug_cmpstrexec.c,v 1.1.1.1 2004-07-26 16:30:26 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_headers.h,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: debug_headers.h,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -36,15 +36,14 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef EXEC_LIBRARIES_H
|
||||
#include <exec/libraries.h>
|
||||
#endif /* EXEC_LIBRARIES_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(__SASC)
|
||||
|
||||
#include <clib/exec_protos.h>
|
||||
/*#include <pragmas/exec_sysbase_pragmas.h>*/
|
||||
#include <pragmas/exec_pragmas.h>
|
||||
|
||||
LONG RawMayGetChar(VOID);
|
||||
@ -58,11 +57,7 @@ VOID RawPutChar(UBYTE c);
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
|
||||
#ifndef EXEC_EMULATION_H
|
||||
#include <exec/emulation.h>
|
||||
#endif /* EXEC_EMULATION_H */
|
||||
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
/****************************************************************************/
|
||||
@ -111,13 +106,11 @@ VOID RawPutChar(UBYTE c);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _MACROS_H
|
||||
#include "macros.h"
|
||||
#endif /* _MACROS_H */
|
||||
|
||||
#ifndef _DEBUG_H
|
||||
#include "debug.h"
|
||||
#endif /* _DEBUG_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include "macros.h"
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kcmpstr.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: debug_kcmpstr.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kdofmt.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: debug_kdofmt.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kgetc.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: debug_kgetc.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kgetch1.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
* $Id: debug_kgetch1.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user