mirror of
https://github.com/adtools/clib2.git
synced 2025-12-08 14:59:05 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8b360d971 |
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# $Id: GNUmakefile.68k,v 1.96 2006-09-17 17:36:42 obarthel Exp $
|
||||
# $Id: GNUmakefile.68k,v 1.80 2006-01-29 09:16:59 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
@@ -106,7 +106,6 @@ WARNINGS = \
|
||||
INCLUDES = -Iinclude -I. -Inetinclude
|
||||
#OPTIONS = -fno-builtin -fno-common -DDEBUG
|
||||
OPTIONS = -fno-builtin -fno-common -DNDEBUG
|
||||
#OPTIONS = -fno-builtin -fno-common -DNDEBUG -D__THREAD_SAFE
|
||||
#OPTIONS = -fno-builtin -fno-common -D__MEM_DEBUG
|
||||
#OPTIONS = -fno-builtin -fno-common -DDEBUG -D__MEM_DEBUG -DNO_INLINE_STDARG
|
||||
OPTIMIZE = -O -fomit-frame-pointer -fstrength-reduce -finline-functions
|
||||
@@ -169,7 +168,6 @@ C_LIB = \
|
||||
signal_checkabort.o \
|
||||
signal_data.o \
|
||||
signal_kill.o \
|
||||
signal_mask.o \
|
||||
signal_raise.o \
|
||||
signal_sigaddset.o \
|
||||
signal_sigblock.o \
|
||||
@@ -388,7 +386,6 @@ C_LIB = \
|
||||
string_strcspn.o \
|
||||
string_strdup.o \
|
||||
string_strerror.o \
|
||||
string_strerror_r.o \
|
||||
string_strlcat.o \
|
||||
string_strlcpy.o \
|
||||
string_strlen.o \
|
||||
@@ -424,7 +421,6 @@ C_LIB = \
|
||||
time_weekday.o \
|
||||
uio_readv.o \
|
||||
uio_writev.o \
|
||||
ulimit_ulimit.o \
|
||||
unistd_access.o \
|
||||
unistd_chdir.o \
|
||||
unistd_chdir_exit.o \
|
||||
@@ -472,8 +468,6 @@ UNIX_LIB = \
|
||||
getopt_getopt_long.o \
|
||||
mount_convertinfo.o \
|
||||
mount_statfs.o \
|
||||
resource_getrlimit.o \
|
||||
resource_setrlimit.o \
|
||||
stat_chmod.o \
|
||||
stat_fstat.o \
|
||||
stat_lstat.o \
|
||||
@@ -496,8 +490,6 @@ UNIX_LIB = \
|
||||
stdlib_alloca_cleanup.o \
|
||||
stdlib_alloca_trap.o \
|
||||
stdlib_arg.o \
|
||||
stdlib_expand_wildcard.o \
|
||||
stdlib_expand_wildcard_check.o \
|
||||
stdlib_getmemstats.o \
|
||||
stdlib_main.o \
|
||||
stdlib_main_stub.o \
|
||||
@@ -508,7 +500,6 @@ UNIX_LIB = \
|
||||
stdlib_realloc.o \
|
||||
stdlib_resetmemstats.o \
|
||||
stdlib_system.o \
|
||||
systeminfo_sysinfo.o \
|
||||
termios_cfgetispeed.o \
|
||||
termios_cfgetospeed.o \
|
||||
termios_cfmakeraw.o \
|
||||
@@ -521,32 +512,16 @@ UNIX_LIB = \
|
||||
termios_tcgetattr.o \
|
||||
termios_tcsendbreak.o \
|
||||
termios_tcsetattr.o \
|
||||
timeb_ftime.o \
|
||||
uio_readv.o \
|
||||
uio_writev.o \
|
||||
unistd_access.o \
|
||||
unistd_chdir.o \
|
||||
unistd_chdir_exit.o \
|
||||
unistd_chown.o \
|
||||
unistd_common_pathconf.o \
|
||||
unistd_def_path.o \
|
||||
unistd_def_path_delimiter.o \
|
||||
unistd_environ.o \
|
||||
unistd_execl.o \
|
||||
unistd_execle.o \
|
||||
unistd_execlp.o \
|
||||
unistd_execv.o \
|
||||
unistd_execve.o \
|
||||
unistd_execve_env_exit.o \
|
||||
unistd_execve_env_init.o \
|
||||
unistd_execve_exit.o \
|
||||
unistd_execvp.o \
|
||||
unistd_fpathconf.o \
|
||||
unistd_getcwd.o \
|
||||
unistd_lchown.o \
|
||||
unistd_link.o \
|
||||
unistd_lockf.o \
|
||||
unistd_pathconf.o \
|
||||
unistd_readlink.o \
|
||||
unistd_realpath.o \
|
||||
unistd_restorepathname.o \
|
||||
@@ -624,16 +599,10 @@ MATH_LIB = \
|
||||
math_expm1f.o \
|
||||
math_fabs.o \
|
||||
math_fabsf.o \
|
||||
math_fdim.o \
|
||||
math_fdimf.o \
|
||||
math_floor.o \
|
||||
math_floorf.o \
|
||||
math_fma.o \
|
||||
math_fmaf.o \
|
||||
math_fmax.o \
|
||||
math_fmaxf.o \
|
||||
math_fmin.o \
|
||||
math_fminf.o \
|
||||
math_fmod.o \
|
||||
math_fmodf.o \
|
||||
math_fpclassify.o \
|
||||
@@ -803,9 +772,7 @@ NET_LIB = \
|
||||
socket_recv.o \
|
||||
socket_recvfrom.o \
|
||||
socket_recvmsg.o \
|
||||
socket_select_signal.o \
|
||||
socket_select.o \
|
||||
socket_wait_select.o \
|
||||
socket_send.o \
|
||||
socket_sendmsg.o \
|
||||
socket_sendto.o \
|
||||
@@ -817,7 +784,6 @@ NET_LIB = \
|
||||
socket_get_h_errno.o \
|
||||
socket_set_h_errno.o \
|
||||
stat_umask.o \
|
||||
systeminfo_sysinfo.o \
|
||||
usergroup_crypt.o \
|
||||
usergroup_data.o \
|
||||
usergroup_endgrent.o \
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 201
|
||||
#define DATE "21.9.2006"
|
||||
#define VERS "amiga.lib 1.201"
|
||||
#define VSTRING "amiga.lib 1.201 (21.9.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: amiga.lib 1.201 (21.9.2006)"
|
||||
#define REVISION 199
|
||||
#define DATE "6.3.2006"
|
||||
#define VERS "amiga.lib 1.199"
|
||||
#define VSTRING "amiga.lib 1.199 (6.3.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: amiga.lib 1.199 (6.3.2006)"
|
||||
|
||||
@@ -1 +1 @@
|
||||
201
|
||||
199
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: amiga_argarrayinit.c,v 1.6 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: amiga_argarrayinit.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -75,9 +75,9 @@ ArgArrayInit(LONG argc, CONST_STRPTR * argv)
|
||||
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)
|
||||
{
|
||||
@@ -90,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,5 +1,5 @@
|
||||
/*
|
||||
* $Id: amiga_dotimer.c,v 1.8 2006-04-05 06:43:56 obarthel Exp $
|
||||
* $Id: amiga_dotimer.c,v 1.7 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -55,23 +55,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
|
||||
|
||||
#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)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: amiga_rexxvars.c,v 1.8 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: amiga_rexxvars.c,v 1.7 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -154,7 +154,7 @@ CheckRexxMsg(struct RexxMsg *message)
|
||||
LONG
|
||||
GetRexxVar(struct RexxMsg *message,STRPTR variable_name,STRPTR *buffer_pointer)
|
||||
{
|
||||
static TEXT buffer[256];
|
||||
static UBYTE buffer[256];
|
||||
LONG result;
|
||||
|
||||
/* The following uses a function which was added to rexxsyslib.library V45.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: amiga_timedelay.c,v 1.4 2006-04-05 06:43:56 obarthel Exp $
|
||||
* $Id: amiga_timedelay.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -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,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 201
|
||||
#define DATE "21.9.2006"
|
||||
#define VERS "c.lib 1.201"
|
||||
#define VSTRING "c.lib 1.201 (21.9.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: c.lib 1.201 (21.9.2006)"
|
||||
#define REVISION 199
|
||||
#define DATE "6.3.2006"
|
||||
#define VERS "c.lib 1.199"
|
||||
#define VSTRING "c.lib 1.199 (6.3.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: c.lib 1.199 (6.3.2006)"
|
||||
|
||||
@@ -1 +1 @@
|
||||
201
|
||||
199
|
||||
|
||||
112
library/changes
112
library/changes
@@ -1,115 +1,3 @@
|
||||
c.lib 1.201 (21.9.2006)
|
||||
|
||||
- If defined, the local environment variable "DISABLE_COMMANDLINE_WILDCARD_EXPANSION"
|
||||
will disable expansion of wildcard patterns passed on the command line.
|
||||
Note that if the variable is not set then the global variable
|
||||
'__expand_wildcard_args' will provide the defaults for the switch that
|
||||
controls whether the wildcard expansion takes place. And after the
|
||||
environment variable has been checked, the '__expand_wildcard_args_check'
|
||||
function pointer can still be used to override the switch.
|
||||
|
||||
- fstat() now works with "NIL:" and "/dev/null", respectively. Not that
|
||||
it returns much useful information, though.
|
||||
|
||||
- The _PC_MAX_INPUT query for file handles now returns the default
|
||||
buffer size.
|
||||
|
||||
- Integrated the new OS4 build makefile collection, as contributed by
|
||||
Steven Solie. Thank you very much!
|
||||
|
||||
- Added the missing strerror_r() function.
|
||||
|
||||
- fpathconf() should work with the stdio streams, even in the thread-safe
|
||||
library version, again.
|
||||
|
||||
- Updated m68k specs file in /documentation to contain an own __CLIB2__
|
||||
define so that existing m68k compilers also have this define. In addition,
|
||||
the common "-noixemul" option can now also be specified but will do a NOP
|
||||
so that Makefiles sharing multiple runtime lib setups work without
|
||||
a warning.
|
||||
|
||||
- Added a new callback function which can be used in programs which want
|
||||
to avoid that the command line wildcard expansion takes place.
|
||||
|
||||
- __get_default_file() now dynamically fills in file handles for the
|
||||
stdin/stdout/stderr streams if it's part of the thread-safe library.
|
||||
|
||||
- fpathconf() now checks if the file descriptor is really referring to a file.
|
||||
|
||||
- The termios hook entry code could file descriptor's embedded file handle
|
||||
rather than what the thread safe library had dynamically bound to the
|
||||
stdin/stdout/stderr streams.
|
||||
|
||||
- execve() now finds commands in the current directory again, even if you
|
||||
omit the leading "./" path name.
|
||||
|
||||
- The execve() code that looks for the command/script file now begins by
|
||||
checking if the file name includes path separators. If it does not,
|
||||
then the search for the command begins with the resident command list;
|
||||
otherwise the local directories are checked. The new code also properly
|
||||
cleans up after itself (a FreeDeviceProc() was missing) and the "PROGDIR:"
|
||||
lock now always refers to the directory in which the command/script
|
||||
file is found.
|
||||
|
||||
- Added the missing fdim() and fdimf() functions to the build
|
||||
makefiles. The OS4 build makefile was missing lrint() and
|
||||
lrintf(). Ouch.
|
||||
|
||||
- Added the POSIX exec() family functions, based upon code contributed
|
||||
by Henning Nielsen Lund. Thank you very much!
|
||||
|
||||
- atoll() no longer sets 'errno' directly but now calls __set_errno()
|
||||
instead.
|
||||
|
||||
- Added pathconf(), fpathconf(), sysinfo(), ftime(), ulimit(), getrlimit()
|
||||
and setrlimit() as contributed by Peter Bengtsson. Thank you very much!
|
||||
|
||||
- Added the missing S_ISSOCKET() macro to <sys/stat.h>. Note that this
|
||||
is not actually a POSIX feature.
|
||||
|
||||
- Added fmin(), fminf(), fmax() and fmaxf() to the build makefiles.
|
||||
Somehow I must have forgotten about them :-(
|
||||
|
||||
- select() and waitselect() can now be called without any file descriptor
|
||||
sets to work with, as some software does which uses select() in place
|
||||
of sleep().
|
||||
|
||||
- The <sys/ioctl.h> header file now includes both <sys/select.h> and
|
||||
<sys/filio.h> for better compatibility with the TCP/IP stack header
|
||||
files.
|
||||
|
||||
- Added the global variable __expand_wildcard_args which can be used
|
||||
to disable wildcard pattern expansion of command line parameters when
|
||||
linked against "libunix.a". Note that this has no effect on the "regular"
|
||||
libc.a behaviour.
|
||||
|
||||
|
||||
c.lib 1.200 (17.4.2006)
|
||||
|
||||
- The default break signal mask (SIGBREAKF_CTRL_C) is no longer
|
||||
hard-coded. You can override it at link time with a different
|
||||
variable value for __break_signal_mask. This may have to be
|
||||
augmented by an API for changing the value.
|
||||
|
||||
- Added a waitselect() function which works very much like the
|
||||
bsdsocket.library/WaitSelect() function.
|
||||
|
||||
- Added <sys/time.h> include to <sys/socket.h> due to latest "TimeVal" change
|
||||
in the OS4 SDK. Otherwise "struct timeval" will not be defined at the time
|
||||
the <net/if.h> of the netincludes will be included by <proto/bsdsocket.h>.
|
||||
|
||||
- The strftime() hook function had the locale and character parameters
|
||||
switched, which made 'setlocale(LC_ALL,""); strftime(..);' unusable.
|
||||
Fixed.
|
||||
|
||||
- fchown() and chown() now accept owner and group ID values of -1, which
|
||||
indicate that the respective information should not be changed.
|
||||
|
||||
- The OS4 library build now includes the crtbegin.o and crtend.o object
|
||||
files in the libc.a library, which solves a problem with the thread-safe
|
||||
shared library support code.
|
||||
|
||||
|
||||
c.lib 1.199 (6.3.2006)
|
||||
|
||||
- In <stdio.h> MAXPATHLEN is now equivalent to PATH_MAX (from <limits.h>),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: crtbegin.c,v 1.11 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: crtbegin.c,v 1.10 2005-03-18 12:38:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -27,11 +27,6 @@ static void (*__DTOR_LIST__[1]) (void) __attribute__(( used, section(".dtors"),
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
void _init(void);
|
||||
void _fini(void);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
void
|
||||
_init(void)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: debug.c,v 1.5 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: debug.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 201
|
||||
#define DATE "21.9.2006"
|
||||
#define VERS "debug.lib 1.201"
|
||||
#define VSTRING "debug.lib 1.201 (21.9.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: debug.lib 1.201 (21.9.2006)"
|
||||
#define REVISION 199
|
||||
#define DATE "6.3.2006"
|
||||
#define VERS "debug.lib 1.199"
|
||||
#define VSTRING "debug.lib 1.199 (6.3.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: debug.lib 1.199 (6.3.2006)"
|
||||
|
||||
@@ -1 +1 @@
|
||||
201
|
||||
199
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: fcntl_get_default_file.c,v 1.6 2006-09-12 14:16:44 obarthel Exp $
|
||||
* $Id: fcntl_get_default_file.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -44,9 +44,8 @@
|
||||
int
|
||||
__get_default_file(int file_descriptor,long * file_ptr)
|
||||
{
|
||||
int result = ERROR;
|
||||
struct fd * fd;
|
||||
BPTR file;
|
||||
int result = ERROR;
|
||||
|
||||
assert( file_descriptor >= 0 && file_descriptor < __num_fd );
|
||||
assert( __fd[file_descriptor] != NULL );
|
||||
@@ -60,73 +59,11 @@ __get_default_file(int file_descriptor,long * file_ptr)
|
||||
goto out;
|
||||
}
|
||||
|
||||
__fd_unlock(fd);
|
||||
|
||||
#if defined(__THREAD_SAFE)
|
||||
{
|
||||
/* Check if this file should be dynamically bound to one of the
|
||||
three standard I/O streams. */
|
||||
if(FLAG_IS_SET(fd->fd_Flags,FDF_STDIO))
|
||||
{
|
||||
switch(fd->fd_DefaultFile)
|
||||
{
|
||||
case STDIN_FILENO:
|
||||
|
||||
file = Input();
|
||||
break;
|
||||
|
||||
case STDOUT_FILENO:
|
||||
|
||||
file = Output();
|
||||
break;
|
||||
|
||||
case STDERR_FILENO:
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
file = ErrorOutput();
|
||||
}
|
||||
#else
|
||||
{
|
||||
struct Process * this_process = (struct Process *)FindTask(NULL);
|
||||
|
||||
file = this_process->pr_CES;
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
/* The following is rather controversial; if the standard error stream
|
||||
is unavailable, we default to reuse the standard output stream. This
|
||||
is problematic if the standard output stream was redirected and should
|
||||
not be the same as the standard error output stream. */
|
||||
if(file == ZERO)
|
||||
file = Output();
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
file = ZERO;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
file = fd->fd_DefaultFile;
|
||||
}
|
||||
}
|
||||
#else
|
||||
{
|
||||
file = fd->fd_DefaultFile;
|
||||
}
|
||||
#endif /* __THREAD_SAFE */
|
||||
|
||||
(*file_ptr) = (long)file;
|
||||
(*file_ptr) = (long)fd->fd_DefaultFile;
|
||||
|
||||
result = 0;
|
||||
|
||||
out:
|
||||
|
||||
__fd_unlock(fd);
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: dos.h,v 1.26 2006-09-22 07:54:25 obarthel Exp $
|
||||
* $Id: dos.h,v 1.18 2006-01-08 12:06:14 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -123,19 +123,6 @@ extern void __check_abort(void);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* You can override the default break signal mask which is used by
|
||||
* __check_abort() and other functions. This must be done at link
|
||||
* time because the break signal checking is set up very early on
|
||||
* while the program startup code is preparing your code to be run.
|
||||
* In particular, this affects the socket I/O functionality which
|
||||
* configures the break signal only once. The default value of the
|
||||
* __break_signal_mask variable is SIGBREAKF_CTRL_C.
|
||||
*/
|
||||
extern ULONG __break_signal_mask;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* Call this function to set up the environment information for your
|
||||
* program to access its data. This is typically used in Task or Process
|
||||
@@ -470,91 +457,6 @@ extern BOOL __thread_safe_errno_h_errno;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* If you link against libunix.a then the default command line processing
|
||||
* function will attempt to expand every single wildcard parameter on the
|
||||
* command line into a series of file and directories names matching the
|
||||
* wildcards. The idea is to provide functionality which on Unix the
|
||||
* shell is responsible for. On AmigaDOS the shell commands need to perform
|
||||
* the expansion. However, if you are mixing AmigaDOS commands which expand
|
||||
* wildcard patterns with a shell that already does the job, you may run into
|
||||
* big trouble. To disable the expansion, declare the global variable named
|
||||
* "__expand_wildcard_args" in your code and have it set to FALSE. Because
|
||||
* the program startup code checks this variable early on, its value must
|
||||
* be available at that time, i.e. you cannot just set it differently in
|
||||
* your code lateron because by that time the startup code will have already
|
||||
* checked it.
|
||||
*
|
||||
* Note that the startup code will disable wildcard expansion if the local
|
||||
* shell environment variable "DISABLE_COMMANDLINE_WILDCARD_EXPANSION"
|
||||
* is set.
|
||||
*/
|
||||
extern BOOL __expand_wildcard_args;
|
||||
|
||||
/*
|
||||
* Similar to the boolean flag value __expand_wildcard_args described above,
|
||||
* a function can be called which may be used to enable/disable wildcard
|
||||
* expansion at runtime. The function is undefined by default, which means
|
||||
* that the __expand_wildcard_args value will take precedence. If you want
|
||||
* to override the effects of the __expand_wildcard_args variable, declare
|
||||
* your own check function and then assign it to the
|
||||
* __expand_wildcard_args_check pointer.
|
||||
*/
|
||||
extern BOOL (*__expand_wildcard_args_check)(void);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* Defaults for path delimiter (":") and the shell search path
|
||||
* ("/gcc/bin:/SDK/C:/SDK/Local/C:/C:.") as used by the execvp()
|
||||
* function.
|
||||
*/
|
||||
extern char * __default_path_delimiter;
|
||||
extern char * __default_path;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* 'environ' is the default environment variable table as used by the execl(),
|
||||
* execv() and execvp() functions. This needs to be initialized before you
|
||||
* can use it. The table has the following form:
|
||||
*
|
||||
* char ** environ =
|
||||
* {
|
||||
* "variable1=value",
|
||||
* "variable2=value",
|
||||
* NULL
|
||||
* };
|
||||
*
|
||||
* Note that if you initialize the 'environ' table you will also have to
|
||||
* provide for a function which prepares its contents in execve() for use
|
||||
* by the command to be executed. That function is called
|
||||
* __execve_environ_init(). Should program execution fail, you need to
|
||||
* clean up after what __execve_environ_init() set up. To do this, call
|
||||
* __execve_environ_exit(). There are stubs in clib2 for these functions
|
||||
* which essentially do nothing at all. You will have to implement these
|
||||
* yourself if you want to use them.
|
||||
*/
|
||||
extern char ** environ;
|
||||
|
||||
extern int __execve_environ_init(char * const envp[]);
|
||||
extern void __execve_environ_exit(char * const envp[]);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* The __execve_exit() function is called by execve() if the command
|
||||
* executed correctly and control should be returned to the shell. The
|
||||
* default behaviour is to eventually call exit(). You can, however,
|
||||
* replace __execve_exit() with a stub which does nothing at all. In
|
||||
* that case the execve() function will return control to the caller
|
||||
* instead.
|
||||
*/
|
||||
|
||||
extern void __execve_exit(int return_code);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: string.h,v 1.12 2006-09-17 17:36:42 obarthel Exp $
|
||||
* $Id: string.h,v 1.11 2006-01-08 12:06:14 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -106,7 +106,6 @@ extern void *memset(void *ptr, int val, size_t len);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
extern int strerror_r(int error,char * buffer,size_t buffer_size);
|
||||
extern char * index(const char *s, int c);
|
||||
extern char * rindex(const char *s, int c);
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: ioctl.h,v 1.5 2006-06-21 15:53:55 obarthel Exp $
|
||||
* $Id: ioctl.h,v 1.4 2006-01-08 12:06:14 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -47,16 +47,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _SYS_SELECT_H
|
||||
#include <sys/select.h>
|
||||
#endif /* _SYS_SELECT_H */
|
||||
|
||||
#ifndef _SYS_FILIO_H
|
||||
#include <sys/filio.h>
|
||||
#endif /* _SYS_FILIO_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
/*
|
||||
* $Id: resource.h,v 1.2 2006-07-28 14:02:32 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.
|
||||
*
|
||||
*****************************************************************************
|
||||
*
|
||||
* Documentation and source code for this library, and the most recent library
|
||||
* build are available from <http://sourceforge.net/projects/clib2>.
|
||||
*
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef _SYS_RESOURCE_H
|
||||
#define _SYS_RESOURCE_H
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _SYS_TYPES_H
|
||||
#include <sys/types.h> /* For the definition of rlim_t */
|
||||
#endif /* _SYS_TYPES_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#define RLIM_INFINITY 0xffffffffUL
|
||||
#define RLIM_SAVED_MAX (RLIM_INFINITY-1)
|
||||
#define RLIM_SAVED_CUR (RLIM_INFINITY-2)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#define RLIM_VMEM 1
|
||||
#define RLIM_AS RLIM_VMEM
|
||||
#define RLIM_CORE 2
|
||||
#define RLIM_CPU 3
|
||||
#define RLIM_DATA 4
|
||||
#define RLIM_FSIZE 5
|
||||
#define RLIM_NOFILE 6
|
||||
#define RLIM_OFILE RLIMIT_NOFILE
|
||||
#define RLIM_STACK 7
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct rlimit
|
||||
{
|
||||
rlim_t rlim_cur;
|
||||
rlim_t rlim_max;
|
||||
};
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
extern int getrlimit(int resource,struct rlimit *rlp);
|
||||
extern int setrlimit(int resource,const struct rlimit *rlp);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* _SYS_RESOURCE_H */
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: select.h,v 1.9 2006-04-10 15:08:11 obarthel Exp $
|
||||
* $Id: select.h,v 1.6 2006-01-08 12:06:14 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -108,22 +108,6 @@ typedef struct fd_set
|
||||
|
||||
extern int select(int nfds, fd_set *readfds,fd_set *writefds, fd_set *errorfds,struct timeval *timeout);
|
||||
|
||||
/* This is a special select() function which takes an extra Amiga signal
|
||||
bit mask pointer parameter. This function works like select(), but it will
|
||||
also return if any of the signals indicated by the 'signal_mask' parameter
|
||||
are set. When this function returns, the variable pointed to by the
|
||||
'signal_mask' parameter will have all the bits set which were set at the
|
||||
time the function was called and for which signals arrived while the
|
||||
function was still running. When this function returns, any signals
|
||||
received while it was running for which bits were set in the 'signal_mask'
|
||||
parameter value will be cleared with the exception of SIGBREAKF_CTRL_C.
|
||||
In brief, wait_select() works exactly like the bsdsocket.library/WaitSelect()
|
||||
function. */
|
||||
|
||||
#ifndef __NO_WAITSELECT
|
||||
extern int waitselect(int num_fds,fd_set *read_fds,fd_set *write_fds,fd_set *except_fds,struct timeval *timeout,unsigned long * signal_mask);
|
||||
#endif /* __NO_WAITSELECT */
|
||||
|
||||
#endif /* __NO_NET_API */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: socket.h,v 1.6 2006-04-04 21:59:13 damato Exp $
|
||||
* $Id: socket.h,v 1.5 2006-01-08 12:06:14 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -55,10 +55,6 @@
|
||||
#include <sys/uio.h>
|
||||
#endif /* _SYS_UIO_H_ */
|
||||
|
||||
#ifndef _SYS_TIME_H
|
||||
#include <sys/time.h>
|
||||
#endif /* _SYS_TIME_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stat.h,v 1.10 2006-07-28 13:19:12 obarthel Exp $
|
||||
* $Id: stat.h,v 1.9 2006-01-08 12:06:14 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -112,7 +112,6 @@ extern "C" {
|
||||
#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) /* symbolic link */
|
||||
#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) /* fifo */
|
||||
#define S_ISBLK(m) (0) /* block special */
|
||||
#define S_ISSOCK(m) (((m) & S_IFSOCK) == S_IFSOCK) /* socket */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
/*
|
||||
* $Id: systeminfo.h,v 1.1 2006-07-28 14:02:32 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.
|
||||
*
|
||||
*****************************************************************************
|
||||
*
|
||||
* Documentation and source code for this library, and the most recent library
|
||||
* build are available from <http://sourceforge.net/projects/clib2>.
|
||||
*
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef _SYS_SYSTEMINFO_H
|
||||
#define _SYS_SYSTEMINFO_H
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* Numbers are picked to be the same as for Solaris */
|
||||
|
||||
#define SI_SYSNAME 1
|
||||
#define SI_HOSTNAME 2
|
||||
#define SI_RELEASE 3
|
||||
#define SI_VERSION 4
|
||||
#define SI_MACHINE 5
|
||||
#define SI_ARCHITECTURE 6
|
||||
#define SI_HW_SERIAL 7
|
||||
#define SI_HW_PROVIDER 8
|
||||
|
||||
#define SI_SET_HOSTNAME 258
|
||||
|
||||
#define SI_PLATFORM 513
|
||||
#define SI_ISALIST 514
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
extern long sysinfo(int cmd,char *buf,long buflen);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* _SYS_SYSTEMINFO_H */
|
||||
@@ -1,82 +0,0 @@
|
||||
/*
|
||||
* $Id: timeb.h,v 1.3 2006-07-28 14:02:32 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.
|
||||
*
|
||||
*****************************************************************************
|
||||
*
|
||||
* Documentation and source code for this library, and the most recent library
|
||||
* build are available from <http://sourceforge.net/projects/clib2>.
|
||||
*
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef _SYS_TIMEB_H
|
||||
#define _SYS_TIMEB_H
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _TIME_H
|
||||
#include <time.h> /* For the definition of time_t */
|
||||
#endif /* _TIME_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct timeb
|
||||
{
|
||||
time_t time;
|
||||
unsigned short millitm;
|
||||
short timezone;
|
||||
short dstflag;
|
||||
};
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
extern int ftime(struct timeb *);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* _SYS_TIMEB_H */
|
||||
@@ -1,73 +0,0 @@
|
||||
/*
|
||||
* $Id: ulimit.h,v 1.2 2006-07-28 14:02:32 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.
|
||||
*
|
||||
*****************************************************************************
|
||||
*
|
||||
* Documentation and source code for this library, and the most recent library
|
||||
* build are available from <http://sourceforge.net/projects/clib2>.
|
||||
*
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef _ULIMIT_H
|
||||
#define _ULIMIT_H
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#define UL_GETFSIZE 1
|
||||
#define UL_SETFSIZE 2
|
||||
#define UL_GMEMLIM 3
|
||||
#define UL_GDESLIM 4
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
extern long ulimit(int cmd,long newlimit);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* _ULIMIT_H */
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: unistd.h,v 1.21 2006-08-02 06:49:47 obarthel Exp $
|
||||
* $Id: unistd.h,v 1.18 2006-01-29 09:17:00 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -122,12 +122,7 @@ extern int fdatasync(int file_descriptor);
|
||||
extern char *ttyname(int);
|
||||
extern int ttyname_r(int file_descriptor,char *name,size_t buflen);
|
||||
extern int ttyname_t(int,char *,size_t);
|
||||
extern int execl(const char *path,const char *arg0,...);
|
||||
extern int execle(const char *path,const char *arg0,...);
|
||||
extern int execlp(const char *path,const char *arg0,...);
|
||||
extern int execv(const char *path,char * const argv[]);
|
||||
extern int execve(const char *path,char *const argv[],char *const envp[]);
|
||||
extern int execvp(const char *command,char * const argv[]);
|
||||
|
||||
extern int profil(unsigned short *buffer, size_t bufSize, size_t offset, unsigned int scale);
|
||||
|
||||
/****************************************************************************/
|
||||
@@ -172,42 +167,6 @@ extern int setuid(uid_t uid);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is for use with pathconf()/fpathconf() */
|
||||
#define _PC_LINK_MAX 0
|
||||
#define _PC_MAX_CANON 1
|
||||
#define _PC_MAX_INPUT 2
|
||||
#define _PC_NAME_MAX 3
|
||||
#define _PC_PATH_MAX 4
|
||||
#define _PC_PIPE_BUF 5
|
||||
#define _PC_CHOWN_RESTRICTED 6
|
||||
#define _PC_NO_TRUNC 7
|
||||
#define _PC_VDISABLE 8
|
||||
#define _PC_SYNC_IO 9
|
||||
#define _PC_ASYNC_IO 10
|
||||
#define _PC_PRIO_IO 11
|
||||
#define _PC_SOCK_MAXBUF 12
|
||||
#define _PC_FILESIZEBITS 13
|
||||
#if 0
|
||||
#define _PC_REC_INCR_XFER_SIZE 14
|
||||
#define _PC_REC_MAX_XFER_SIZE 15
|
||||
#define _PC_REC_MIN_XFER_SIZE 16
|
||||
#define _PC_REC_XFER_ALIGN 17
|
||||
#define _PC_ALLOC_SIZE_MIN 18
|
||||
#endif
|
||||
#define _PC_SYMLINK_MAX 19
|
||||
#define _PC_XATTR_EXISTS 20
|
||||
#define _PC_XATTR_ENABLED 21
|
||||
|
||||
/* Amiga Specific */
|
||||
#define _PC_DOSTYPE 300
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
extern long pathconf(const char *path,int name);
|
||||
extern long fpathconf(int file_descriptor,int name);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
@@ -1,127 +0,0 @@
|
||||
#
|
||||
# $Id: libamiga.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
# -*- mode: makefile; -*-
|
||||
|
||||
##############################################################################
|
||||
|
||||
LIBS += \
|
||||
lib/libamiga.a \
|
||||
lib/soft-float/libamiga.a \
|
||||
lib/small-data/libamiga.a \
|
||||
lib/baserel/libamiga.a \
|
||||
lib.threadsafe/libamiga.a \
|
||||
lib.threadsafe/soft-float/libamiga.a \
|
||||
lib.threadsafe/small-data/libamiga.a \
|
||||
lib.threadsafe/baserel/libamiga.a
|
||||
|
||||
##############################################################################
|
||||
|
||||
AMIGA_LIB = \
|
||||
amiga.lib_rev.o \
|
||||
amiga_acrypt.o \
|
||||
amiga_addtof.o \
|
||||
amiga_argarraydone.o \
|
||||
amiga_argarrayinit.o \
|
||||
amiga_argint.o \
|
||||
amiga_argstring.o \
|
||||
amiga_beginio.o \
|
||||
amiga_callhooka.o \
|
||||
amiga_coercemethod.o \
|
||||
amiga_createextio.o \
|
||||
amiga_createport.o \
|
||||
amiga_createstdio.o \
|
||||
amiga_createtask.o \
|
||||
amiga_deleteextio.o \
|
||||
amiga_deleteport.o \
|
||||
amiga_deletestdio.o \
|
||||
amiga_deletetask.o \
|
||||
amiga_domethod.o \
|
||||
amiga_dosupermethod.o \
|
||||
amiga_dotimer.o \
|
||||
amiga_fastrand.o \
|
||||
amiga_freeievents.o \
|
||||
amiga_hotkey.o \
|
||||
amiga_invertstring.o \
|
||||
amiga_newlist.o \
|
||||
amiga_rangerand.o \
|
||||
amiga_remtof.o \
|
||||
amiga_rexxvars.o \
|
||||
amiga_setsuperattrs.o \
|
||||
amiga_timedelay.o \
|
||||
amiga_waitbeam.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Dependencies to rebuild if the library version changes
|
||||
|
||||
obj/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
||||
obj/soft-float/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
||||
obj/small-data/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
||||
obj/baserel/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
||||
obj.threadsafe/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
||||
obj.threadsafe/soft-float/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
||||
obj.threadsafe/small-data/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
||||
obj.threadsafe/baserel/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
||||
|
||||
##############################################################################
|
||||
|
||||
obj/libamiga/%.o : CFLAGS += $(LARGEDATA)
|
||||
obj/libamiga/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/soft-float/libamiga/%.o : CFLAGS += $(SOFTFLOAT)
|
||||
obj/soft-float/libamiga/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/small-data/libamiga/%.o : CFLAGS += $(SMALLDATA)
|
||||
obj/small-data/libamiga/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/baserel/libamiga/%.o : CFLAGS += $(BASEREL)
|
||||
obj/baserel/libamiga/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/libamiga/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA)
|
||||
obj.threadsafe/libamiga/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/soft-float/libamiga/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT)
|
||||
obj.threadsafe/soft-float/libamiga/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/small-data/libamiga/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA)
|
||||
obj.threadsafe/small-data/libamiga/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/baserel/libamiga/%.o : CFLAGS += $(THREADSAFE) $(BASEREL)
|
||||
obj.threadsafe/baserel/libamiga/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
##############################################################################
|
||||
|
||||
lib/libamiga.a : $(addprefix obj/libamiga/,$(AMIGA_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/soft-float/libamiga.a : $(addprefix obj/soft-float/libamiga/,$(AMIGA_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/small-data/libamiga.a : $(addprefix obj/small-data/libamiga/,$(AMIGA_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/baserel/libamiga.a : $(addprefix obj/baserel/libamiga/,$(AMIGA_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/libamiga.a : $(addprefix obj.threadsafe/libamiga/,$(AMIGA_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/soft-float/libamiga.a : $(addprefix obj.threadsafe/soft-float/libamiga/,$(AMIGA_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/small-data/libamiga.a : $(addprefix obj.threadsafe/small-data/libamiga/,$(AMIGA_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/baserel/libamiga.a : $(addprefix obj.threadsafe/baserel/libamiga/,$(AMIGA_LIB))
|
||||
@$(MAKELIB)
|
||||
436
library/libc.gmk
436
library/libc.gmk
@@ -1,436 +0,0 @@
|
||||
#
|
||||
# $Id: libc.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
# -*- mode: makefile; -*-
|
||||
|
||||
##############################################################################
|
||||
|
||||
LIBS += \
|
||||
lib/libc.a \
|
||||
lib/soft-float/libc.a \
|
||||
lib/small-data/libc.a \
|
||||
lib/baserel/libc.a \
|
||||
lib.threadsafe/libc.a \
|
||||
lib.threadsafe/soft-float/libc.a \
|
||||
lib.threadsafe/small-data/libc.a \
|
||||
lib.threadsafe/baserel/libc.a
|
||||
|
||||
##############################################################################
|
||||
|
||||
C_LIB := \
|
||||
c.lib_rev.o \
|
||||
crtbegin.o \
|
||||
ctype_isalnum.o \
|
||||
ctype_isalpha.o \
|
||||
ctype_isascii.o \
|
||||
ctype_isblank.o \
|
||||
ctype_iscntrl.o \
|
||||
ctype_isdigit.o \
|
||||
ctype_isgraph.o \
|
||||
ctype_islower.o \
|
||||
ctype_isprint.o \
|
||||
ctype_ispunct.o \
|
||||
ctype_isspace.o \
|
||||
ctype_isupper.o \
|
||||
ctype_isxdigit.o \
|
||||
ctype_table.o \
|
||||
ctype_tolower.o \
|
||||
ctype_toupper.o \
|
||||
dirent_closedir.o \
|
||||
dirent_opendir.o \
|
||||
dirent_readdir.o \
|
||||
dirent_rewinddir.o \
|
||||
errno_data.o \
|
||||
fcntl_close.o \
|
||||
fcntl_creat.o \
|
||||
fcntl_fcntl.o \
|
||||
fcntl_get_default_file.o \
|
||||
fcntl_lock.o \
|
||||
fcntl_lseek.o \
|
||||
fcntl_open.o \
|
||||
fcntl_read.o \
|
||||
fcntl_write.o \
|
||||
ftw_ftw.o \
|
||||
ftw_nftw.o \
|
||||
inttypes_imaxdiv.o \
|
||||
inttypes_imaxabs.o \
|
||||
inttypes_strtoimax.o \
|
||||
inttypes_strtoumax.o \
|
||||
libgen_basename.o \
|
||||
libgen_dirname.o \
|
||||
locale_init_exit.o \
|
||||
locale_localeconv.o \
|
||||
locale_open_locale.o \
|
||||
locale_setlocale.o \
|
||||
mount_convertinfo.o \
|
||||
mount_fstatfs.o \
|
||||
mount_statfs.o \
|
||||
profile_profil.o \
|
||||
signal_checkabort.o \
|
||||
signal_data.o \
|
||||
signal_kill.o \
|
||||
signal_mask.o \
|
||||
signal_raise.o \
|
||||
signal_sigaddset.o \
|
||||
signal_sigblock.o \
|
||||
signal_sigemptyset.o \
|
||||
signal_sigmask.o \
|
||||
signal_signal.o \
|
||||
signal_sigprocmask.o \
|
||||
signal_sigsetmask.o \
|
||||
stat_chmod.o \
|
||||
stat_convertfileinfo.o \
|
||||
stat_fchmod.o \
|
||||
stat_fstat.o \
|
||||
stat_lstat.o \
|
||||
stat_mkdir.o \
|
||||
stat_rmdir.o \
|
||||
stat_stat.o \
|
||||
stat_umask.o \
|
||||
stdio_asprintf.o \
|
||||
stdio_clearerr.o \
|
||||
stdio_dropiobreadbuffer.o \
|
||||
stdio_duplicate_fd.o \
|
||||
stdio_examine_fh.o \
|
||||
stdio_fclose.o \
|
||||
stdio_fdhookentry.o \
|
||||
stdio_feof.o \
|
||||
stdio_ferror.o \
|
||||
stdio_fflush.o \
|
||||
stdio_fgetc.o \
|
||||
stdio_fgetpos.o \
|
||||
stdio_fgets.o \
|
||||
stdio_filliobreadbuffer.o \
|
||||
stdio_findvacantfdentry.o \
|
||||
stdio_findvacantiobentry.o \
|
||||
stdio_flockfile.o \
|
||||
stdio_flush.o \
|
||||
stdio_flush_all_files.o \
|
||||
stdio_flushiobwritebuffer.o \
|
||||
stdio_fopen.o \
|
||||
stdio_fprintf.o \
|
||||
stdio_fputc.o \
|
||||
stdio_fputs.o \
|
||||
stdio_fread.o \
|
||||
stdio_freopen.o \
|
||||
stdio_fscanf.o \
|
||||
stdio_fseek.o \
|
||||
stdio_fseeko.o \
|
||||
stdio_fsetpos.o \
|
||||
stdio_ftell.o \
|
||||
stdio_ftello.o \
|
||||
stdio_ftrylockfile.o \
|
||||
stdio_funlockfile.o \
|
||||
stdio_fwrite.o \
|
||||
stdio_getc.o \
|
||||
stdio_getc_unlocked.o \
|
||||
stdio_getchar.o \
|
||||
stdio_getchar_unlocked.o \
|
||||
stdio_gets.o \
|
||||
stdio_get_file_descriptor.o \
|
||||
stdio_growfdtable.o \
|
||||
stdio_growiobtable.o \
|
||||
stdio_grow_file.o \
|
||||
stdio_initializefd.o \
|
||||
stdio_initializeiob.o \
|
||||
stdio_init_exit.o \
|
||||
stdio_file_init.o \
|
||||
stdio_iobhookentry.o \
|
||||
stdio_lock.o \
|
||||
stdio_locksemaphorename.o \
|
||||
stdio_nostdio.o \
|
||||
stdio_openiob.o \
|
||||
stdio_parent_of_fh.o \
|
||||
stdio_perror.o \
|
||||
stdio_popen.o \
|
||||
stdio_printf.o \
|
||||
stdio_putc.o \
|
||||
stdio_putc_unlocked.o \
|
||||
stdio_putchar.o \
|
||||
stdio_putchar_unlocked.o \
|
||||
stdio_puts.o \
|
||||
stdio_remove.o \
|
||||
stdio_remove_fd_alias.o \
|
||||
stdio_rename.o \
|
||||
stdio_rewind.o \
|
||||
stdio_scanf.o \
|
||||
stdio_setbuf.o \
|
||||
stdio_setvbuf.o \
|
||||
stdio_snprintf.o \
|
||||
stdio_sprintf.o \
|
||||
stdio_sscanf.o \
|
||||
stdio_sscanf_hook_entry.o \
|
||||
stdio_tmpfile.o \
|
||||
stdio_tmpnam.o \
|
||||
stdio_translateioerror.o \
|
||||
stdio_ungetc.o \
|
||||
stdio_unlockfile.o \
|
||||
stdio_vasprintf.o \
|
||||
stdio_vasprintf_hook_entry.o \
|
||||
stdio_vfprintf.o \
|
||||
stdio_vfscanf.o \
|
||||
stdio_vsscanf.o \
|
||||
stdio_vscanf.o \
|
||||
stdio_vprintf.o \
|
||||
stdio_vsnprintf.o \
|
||||
stdio_vsnprintf_hook_entry.o \
|
||||
stdio_vsprintf.o \
|
||||
stdio_vsprintf_hook_entry.o \
|
||||
stdlib_abort.o \
|
||||
stdlib_abs.o \
|
||||
stdlib_alloca.o \
|
||||
stdlib_alloca_cleanup.o \
|
||||
stdlib_alloca_trap.o \
|
||||
stdlib_assertion_failure.o \
|
||||
stdlib_atexit.o \
|
||||
stdlib_atoi.o \
|
||||
stdlib_atol.o \
|
||||
stdlib_atoll.o \
|
||||
stdlib_bsearch.o \
|
||||
stdlib_calloc.o \
|
||||
stdlib_checkdetach.o \
|
||||
stdlib_constructor.o \
|
||||
stdlib_constructor_begin.o \
|
||||
stdlib_default_pool_size.o \
|
||||
stdlib_default_puddle_size.o \
|
||||
stdlib_destructor.o \
|
||||
stdlib_detach.o \
|
||||
stdlib_disablerequesters.o \
|
||||
stdlib_div.o \
|
||||
stdlib_divsi3.o \
|
||||
stdlib_divsi4.o \
|
||||
stdlib_dosbase.o \
|
||||
stdlib_exit.o \
|
||||
stdlib_free.o \
|
||||
stdlib_getdefstacksize.o \
|
||||
stdlib_getenv.o \
|
||||
stdlib_getmemstats.o \
|
||||
stdlib_getsp.o \
|
||||
stdlib_get_errno.o \
|
||||
stdlib_isresident.o \
|
||||
stdlib_labs.o \
|
||||
stdlib_llabs.o \
|
||||
stdlib_ldiv.o \
|
||||
stdlib_lldiv.o \
|
||||
stdlib_lib_main.o \
|
||||
stdlib_lib_startup.o \
|
||||
stdlib_machine_test.o \
|
||||
stdlib_main.o \
|
||||
stdlib_main_stub.o \
|
||||
stdlib_malloc.o \
|
||||
stdlib_math.o \
|
||||
stdlib_mkdtemp.o \
|
||||
stdlib_mkstemp.o \
|
||||
stdlib_mktemp.o \
|
||||
stdlib_modsi3.o \
|
||||
stdlib_mulsi3.o \
|
||||
stdlib_never_free.o \
|
||||
stdlib_osliberror.o \
|
||||
stdlib_oslibversion.o \
|
||||
stdlib_priority.o \
|
||||
stdlib_process_name.o \
|
||||
stdlib_program_name.o \
|
||||
stdlib_putenv.o \
|
||||
stdlib_qsort.o \
|
||||
stdlib_rand.o \
|
||||
stdlib_rand_r.o \
|
||||
stdlib_realloc.o \
|
||||
stdlib_red_black.o \
|
||||
stdlib_resetmemstats.o \
|
||||
stdlib_semaphore.o \
|
||||
stdlib_setenv.o \
|
||||
stdlib_setjmp.o \
|
||||
stdlib_set_errno.o \
|
||||
stdlib_set_process_window.o \
|
||||
stdlib_shell_escape.o \
|
||||
stdlib_showerror.o \
|
||||
stdlib_srand.o \
|
||||
stdlib_stackargbytes.o \
|
||||
stdlib_stackcheck.o \
|
||||
stdlib_stackoverflow.o \
|
||||
stdlib_stacksafezone.o \
|
||||
stdlib_stacksize.o \
|
||||
stdlib_stack_usage.o \
|
||||
stdlib_arg.o \
|
||||
stdlib_stdio_window_spec.o \
|
||||
stdlib_strtol.o \
|
||||
stdlib_strtoll.o \
|
||||
stdlib_strtoul.o \
|
||||
stdlib_strtoull.o \
|
||||
stdlib_swapstack.o \
|
||||
stdlib_sysbase.o \
|
||||
stdlib_system.o \
|
||||
stdlib_termination_message.o \
|
||||
stdlib_threshold.o \
|
||||
stdlib_utilitybase.o \
|
||||
stdlib_udivsi3.o \
|
||||
stdlib_udivsi4.o \
|
||||
stdlib_umodsi3.o \
|
||||
stdlib_unsetenv.o \
|
||||
strings_ffs.o \
|
||||
strings_strcasecmp.o \
|
||||
strings_strncasecmp.o \
|
||||
string_bcmp.o \
|
||||
string_bcopy.o \
|
||||
string_bzero.o \
|
||||
string_index.o \
|
||||
string_memchr.o \
|
||||
string_memcmp.o \
|
||||
string_memcpy.o \
|
||||
string_memmove.o \
|
||||
string_memset.o \
|
||||
string_rindex.o \
|
||||
string_strcat.o \
|
||||
string_strchr.o \
|
||||
string_strcmp.o \
|
||||
string_strcoll.o \
|
||||
string_strcpy.o \
|
||||
string_strcspn.o \
|
||||
string_strdup.o \
|
||||
string_strerror.o \
|
||||
string_strerror_r.o \
|
||||
string_strlcat.o \
|
||||
string_strlcpy.o \
|
||||
string_strlen.o \
|
||||
string_strncat.o \
|
||||
string_strncmp.o \
|
||||
string_strncpy.o \
|
||||
string_strpbrk.o \
|
||||
string_strrchr.o \
|
||||
string_strspn.o \
|
||||
string_strstr.o \
|
||||
string_strtok.o \
|
||||
string_strtok_r.o \
|
||||
string_strxfrm.o \
|
||||
time_asctime.o \
|
||||
time_asctime_r.o \
|
||||
time_clock.o \
|
||||
time_converttime.o \
|
||||
time_convert_datestamp.o \
|
||||
time_convert_time.o \
|
||||
time_ctime.o \
|
||||
time_ctime_r.o \
|
||||
time_data.o \
|
||||
time_days_per_date.o \
|
||||
time_gettimeofday.o \
|
||||
time_gmtime.o \
|
||||
time_gmtime_r.o \
|
||||
time_localtime.o \
|
||||
time_localtime_r.o \
|
||||
time_mktime.o \
|
||||
time_numbertostring.o \
|
||||
time_strftime.o \
|
||||
time_time.o \
|
||||
time_weekday.o \
|
||||
uio_readv.o \
|
||||
uio_writev.o \
|
||||
ulimit_ulimit.o \
|
||||
unistd_access.o \
|
||||
unistd_chdir.o \
|
||||
unistd_chdir_exit.o \
|
||||
unistd_chown.o \
|
||||
unistd_currentpathname.o \
|
||||
unistd_dup.o \
|
||||
unistd_dup2.o \
|
||||
unistd_fchown.o \
|
||||
unistd_fdatasync.o \
|
||||
unistd_fdopen.o \
|
||||
unistd_fileno.o \
|
||||
unistd_fsync.o \
|
||||
unistd_ftruncate.o \
|
||||
unistd_getcwd.o \
|
||||
unistd_getopt.o \
|
||||
unistd_getpid.o \
|
||||
unistd_init_exit.o \
|
||||
unistd_isatty.o \
|
||||
unistd_lchown.o \
|
||||
unistd_link.o \
|
||||
unistd_lockf.o \
|
||||
unistd_readlink.o \
|
||||
unistd_realpath.o \
|
||||
unistd_sleep.o \
|
||||
unistd_symlink.o \
|
||||
unistd_sync_fd.o \
|
||||
unistd_timer.o \
|
||||
unistd_time_delay.o \
|
||||
unistd_truncate.o \
|
||||
unistd_unlink.o \
|
||||
unistd_usleep.o \
|
||||
utime_utime.o \
|
||||
utsname_uname.o \
|
||||
crtend.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Dependencies to rebuild if the library version changes
|
||||
|
||||
obj/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
||||
obj/soft-float/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
||||
obj/small-data/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
||||
obj/baserel/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
||||
obj.threadsafe/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
||||
obj.threadsafe/soft-float/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
||||
obj.threadsafe/small-data/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
||||
obj.threadsafe/baserel/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
||||
|
||||
##############################################################################
|
||||
|
||||
obj/libc/%.o : CFLAGS += $(LARGEDATA)
|
||||
obj/libc/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/soft-float/libc/%.o : CFLAGS += $(SOFTFLOAT)
|
||||
obj/soft-float/libc/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/small-data/libc/%.o : CFLAGS += $(SMALLDATA)
|
||||
obj/small-data/libc/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/baserel/libc/%.o : CFLAGS += $(BASEREL)
|
||||
obj/baserel/libc/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/libc/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA)
|
||||
obj.threadsafe/libc/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/soft-float/libc/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT)
|
||||
obj.threadsafe/soft-float/libc/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/small-data/libc/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA)
|
||||
obj.threadsafe/small-data/libc/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/baserel/libc/%.o : CFLAGS += $(THREADSAFE) $(BASEREL)
|
||||
obj.threadsafe/baserel/libc/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
##############################################################################
|
||||
|
||||
lib/libc.a : $(addprefix obj/libc/,$(C_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/soft-float/libc.a : $(addprefix obj/soft-float/libc/,$(C_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/small-data/libc.a : $(addprefix obj/small-data/libc/,$(C_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/baserel/libc.a : $(addprefix obj/baserel/libc/,$(C_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/libc.a : $(addprefix obj.threadsafe/libc/,$(C_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/soft-float/libc.a : $(addprefix obj.threadsafe/soft-float/libc/,$(C_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/small-data/libc.a : $(addprefix obj.threadsafe/small-data/libc/,$(C_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/baserel/libc.a : $(addprefix obj.threadsafe/baserel/libc/,$(C_LIB))
|
||||
@$(MAKELIB)
|
||||
@@ -1,125 +0,0 @@
|
||||
#
|
||||
# $Id: libdebug.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
# -*- mode: makefile; -*-
|
||||
|
||||
##############################################################################
|
||||
|
||||
LIBS += \
|
||||
lib/libdebug.a \
|
||||
lib/soft-float/libdebug.a \
|
||||
lib/small-data/libdebug.a \
|
||||
lib/baserel/libdebug.a \
|
||||
lib.threadsafe/libdebug.a \
|
||||
lib.threadsafe/soft-float/libdebug.a \
|
||||
lib.threadsafe/small-data/libdebug.a \
|
||||
lib.threadsafe/baserel/libdebug.a
|
||||
|
||||
##############################################################################
|
||||
|
||||
DEBUG_LIB = \
|
||||
debug.lib_rev.o \
|
||||
debug.o \
|
||||
debug_cmpstrexec.o \
|
||||
debug_kcmpstr.o \
|
||||
debug_kdofmt.o \
|
||||
debug_kgetc.o \
|
||||
debug_kgetch1.o \
|
||||
debug_kgetch2.o \
|
||||
debug_kgetchar1.o \
|
||||
debug_kgetchar2.o \
|
||||
debug_kgetnum1.o \
|
||||
debug_kgetnum2.o \
|
||||
debug_kmaygetch.o \
|
||||
debug_kmaygetchar.o \
|
||||
debug_kprintf1.o \
|
||||
debug_kprintf2.o \
|
||||
debug_kputc.o \
|
||||
debug_kputch1.o \
|
||||
debug_kputch2.o \
|
||||
debug_kputchar1.o \
|
||||
debug_kputchar2.o \
|
||||
debug_kputfmt.o \
|
||||
debug_kputs1.o \
|
||||
debug_kputs2.o \
|
||||
debug_kputstr1.o \
|
||||
debug_kputstr2.o \
|
||||
debug_kvprintf1.o \
|
||||
debug_kvprintf2.o \
|
||||
debug_level.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Dependencies to rebuild if the library version changes
|
||||
|
||||
obj/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
||||
obj/soft-float/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
||||
obj/small-data/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
||||
obj/baserel/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
||||
obj.threadsafe/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
||||
obj.threadsafe/soft-float/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
||||
obj.threadsafe/small-data/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
||||
obj.threadsafe/baserel/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
||||
|
||||
##############################################################################
|
||||
|
||||
|
||||
obj/libdebug/%.o : CFLAGS += $(LARGEDATA)
|
||||
obj/libdebug/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/soft-float/libdebug/%.o : CFLAGS += $(SOFTFLOAT)
|
||||
obj/soft-float/libdebug/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/small-data/libdebug/%.o : CFLAGS += $(SMALLDATA)
|
||||
obj/small-data/libdebug/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/baserel/libdebug/%.o : CFLAGS += $(BASEREL)
|
||||
obj/baserel/libdebug/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/libdebug/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA)
|
||||
obj.threadsafe/libdebug/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/soft-float/libdebug/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT)
|
||||
obj.threadsafe/soft-float/libdebug/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/small-data/libdebug/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA)
|
||||
obj.threadsafe/small-data/libdebug/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/baserel/libdebug/%.o : CFLAGS += $(THREADSAFE) $(BASEREL)
|
||||
obj.threadsafe/baserel/libdebug/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
##############################################################################
|
||||
|
||||
lib/libdebug.a : $(addprefix obj/libdebug/,$(DEBUG_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/soft-float/libdebug.a : $(addprefix obj/soft-float/libdebug/,$(DEBUG_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/small-data/libdebug.a : $(addprefix obj/small-data/libdebug/,$(DEBUG_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/baserel/libdebug.a : $(addprefix obj/baserel/libdebug/,$(DEBUG_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/libdebug.a : $(addprefix obj.threadsafe/libdebug/,$(DEBUG_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/soft-float/libdebug.a : $(addprefix obj.threadsafe/soft-float/libdebug/,$(DEBUG_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/small-data/libdebug.a : $(addprefix obj.threadsafe/small-data/libdebug/,$(DEBUG_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/baserel/libdebug.a : $(addprefix obj.threadsafe/baserel/libdebug/,$(DEBUG_LIB))
|
||||
@$(MAKELIB)
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: libgen_basename.c,v 1.5 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: libgen_basename.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -58,7 +58,7 @@ basename(char *path)
|
||||
|
||||
if(path == NULL || path[0] == '\0')
|
||||
{
|
||||
result = (char *)".";
|
||||
result = ".";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -86,7 +86,7 @@ basename(char *path)
|
||||
}
|
||||
else
|
||||
{
|
||||
result = (char *)"/";
|
||||
result = "/";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: libgen_dirname.c,v 1.5 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: libgen_dirname.c,v 1.4 2006-01-08 12:04:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -58,7 +58,7 @@ dirname(char *path)
|
||||
|
||||
if(path == NULL || path[0] == '\0')
|
||||
{
|
||||
result = (char *)".";
|
||||
result = ".";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -71,7 +71,7 @@ dirname(char *path)
|
||||
|
||||
if(len > 0)
|
||||
{
|
||||
result = (char *)".";
|
||||
result = ".";
|
||||
|
||||
for(i = len-1 ; i >= 0 ; i--)
|
||||
{
|
||||
@@ -87,7 +87,7 @@ dirname(char *path)
|
||||
}
|
||||
else
|
||||
{
|
||||
result = (char *)"/";
|
||||
result = "/";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
265
library/libm.gmk
265
library/libm.gmk
@@ -1,265 +0,0 @@
|
||||
#
|
||||
# $Id: libm.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
# -*- mode: makefile; -*-
|
||||
|
||||
##############################################################################
|
||||
|
||||
LIBS += \
|
||||
lib/libm.a \
|
||||
lib/soft-float/libm.a \
|
||||
lib/small-data/libm.a \
|
||||
lib/baserel/libm.a \
|
||||
lib.threadsafe/libm.a \
|
||||
lib.threadsafe/soft-float/libm.a \
|
||||
lib.threadsafe/small-data/libm.a \
|
||||
lib.threadsafe/baserel/libm.a
|
||||
|
||||
##############################################################################
|
||||
|
||||
MATH_LIB := \
|
||||
complex_carg.o \
|
||||
complex_cargf.o \
|
||||
complex_cargl.o \
|
||||
complex_cimag.o \
|
||||
complex_cimagf.o \
|
||||
complex_cimagl.o \
|
||||
complex_conj.o \
|
||||
complex_conjf.o \
|
||||
complex_conjl.o \
|
||||
complex_creal.o \
|
||||
complex_crealf.o \
|
||||
complex_creall.o \
|
||||
fenv_feclearexcept.o \
|
||||
fenv_fegetenv.o \
|
||||
fenv_fegetexceptflag.o \
|
||||
fenv_fegetround.o \
|
||||
fenv_feholdexcept.o \
|
||||
fenv_feraiseexcept.o \
|
||||
fenv_fesetenv.o \
|
||||
fenv_fesetexceptflag.o \
|
||||
fenv_fetestexcept.o \
|
||||
fenv_fetestround.o \
|
||||
fenv_feupdateenv.o \
|
||||
math_acos.o \
|
||||
math_acosf.o \
|
||||
math_acosh.o \
|
||||
math_acoshf.o \
|
||||
math_asin.o \
|
||||
math_asinf.o \
|
||||
math_asinh.o \
|
||||
math_asinhf.o \
|
||||
math_atan.o \
|
||||
math_atan2.o \
|
||||
math_atan2f.o \
|
||||
math_atanf.o \
|
||||
math_atanh.o \
|
||||
math_atanhf.o \
|
||||
math_cbrt.o \
|
||||
math_cbrtf.o \
|
||||
math_ceil.o \
|
||||
math_ceilf.o \
|
||||
math_copysign.o \
|
||||
math_copysignf.o \
|
||||
math_cos.o \
|
||||
math_cosf.o \
|
||||
math_cosh.o \
|
||||
math_coshf.o \
|
||||
math_erf.o \
|
||||
math_erfc.o \
|
||||
math_erfcf.o \
|
||||
math_erff.o \
|
||||
math_exp.o \
|
||||
math_exp2.o \
|
||||
math_exp2f.o \
|
||||
math_expf.o \
|
||||
math_expm1.o \
|
||||
math_expm1f.o \
|
||||
math_fabs.o \
|
||||
math_fabsf.o \
|
||||
math_fdim.o \
|
||||
math_fdimf.o \
|
||||
math_floor.o \
|
||||
math_floorf.o \
|
||||
math_fma.o \
|
||||
math_fmaf.o \
|
||||
math_fmax.o \
|
||||
math_fmaxf.o \
|
||||
math_fmin.o \
|
||||
math_fminf.o \
|
||||
math_fmod.o \
|
||||
math_fmodf.o \
|
||||
math_fpclassify.o \
|
||||
math_frexp.o \
|
||||
math_frexpf.o \
|
||||
math_huge_val.o \
|
||||
math_huge_valf.o \
|
||||
math_hypot.o \
|
||||
math_hypotf.o \
|
||||
math_ilogb.o \
|
||||
math_ilogbf.o \
|
||||
math_inf.o \
|
||||
math_inff.o \
|
||||
math_init_exit.o \
|
||||
math_isfinite.o \
|
||||
math_isunordered.o \
|
||||
math_kernel_cos.o \
|
||||
math_kernel_cosf.o \
|
||||
math_kernel_expm1.o \
|
||||
math_kernel_rem_pio2.o \
|
||||
math_kernel_scalbn.o \
|
||||
math_kernel_sin.o \
|
||||
math_kernel_sinf.o \
|
||||
math_kernel_tan.o \
|
||||
math_kernel_tanf.o \
|
||||
math_ldexp.o \
|
||||
math_ldexpf.o \
|
||||
math_lgamma.o \
|
||||
math_lgammaf.o \
|
||||
math_log.o \
|
||||
math_log10.o \
|
||||
math_log10f.o \
|
||||
math_log1p.o \
|
||||
math_log1pf.o \
|
||||
math_log2.o \
|
||||
math_log2f.o \
|
||||
math_logb.o \
|
||||
math_logbf.o \
|
||||
math_logf.o \
|
||||
math_lrint.o \
|
||||
math_lrintf.o \
|
||||
math_lround.o \
|
||||
math_lroundf.o \
|
||||
math_modf.o \
|
||||
math_modff.o \
|
||||
math_nan.o \
|
||||
math_nanf.o \
|
||||
math_nearbyint.o \
|
||||
math_nearbyintf.o \
|
||||
math_nextafter.o \
|
||||
math_nextafterf.o \
|
||||
math_pow.o \
|
||||
math_powf.o \
|
||||
math_remainder.o \
|
||||
math_remainderf.o \
|
||||
math_remquo.o \
|
||||
math_remquof.o \
|
||||
math_rem_pio2f.o \
|
||||
math_rint.o \
|
||||
math_rintf.o \
|
||||
math_round.o \
|
||||
math_roundf.o \
|
||||
math_scalbn.o \
|
||||
math_scalbnf.o \
|
||||
math_signbit.o \
|
||||
math_sin.o \
|
||||
math_sinf.o \
|
||||
math_sinh.o \
|
||||
math_sinhf.o \
|
||||
math_sqrt.o \
|
||||
math_sqrtf.o \
|
||||
math_tan.o \
|
||||
math_tanf.o \
|
||||
math_tanh.o \
|
||||
math_tanhf.o \
|
||||
math_tgamma.o \
|
||||
math_tgammaf.o \
|
||||
math_trunc.o \
|
||||
math_truncf.o \
|
||||
stdio_asprintf.o \
|
||||
stdio_flush.o \
|
||||
stdio_flush_all_files.o \
|
||||
stdio_fprintf.o \
|
||||
stdio_fscanf.o \
|
||||
stdio_printf.o \
|
||||
stdio_scanf.o \
|
||||
stdio_snprintf.o \
|
||||
stdio_sprintf.o \
|
||||
stdio_sscanf.o \
|
||||
stdio_vasprintf.o \
|
||||
stdio_vfprintf.o \
|
||||
stdio_vfscanf.o \
|
||||
stdio_vsscanf.o \
|
||||
stdio_vscanf.o \
|
||||
stdio_vprintf.o \
|
||||
stdio_vsnprintf.o \
|
||||
stdio_vsprintf.o \
|
||||
stdlib_atof.o \
|
||||
stdlib_strtod.o \
|
||||
stdlib_strtof.o \
|
||||
time_difftime.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Dependencies to rebuild if the library version changes
|
||||
|
||||
obj/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
||||
obj/soft-float/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
||||
obj/small-data/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
||||
obj/baserel/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
||||
obj.threadsafe/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
||||
obj.threadsafe/soft-float/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
||||
obj.threadsafe/small-data/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
||||
obj.threadsafe/baserel/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
||||
|
||||
##############################################################################
|
||||
|
||||
obj/libm/%.o : CFLAGS += $(LARGEDATA) -DPPC_FLOATING_POINT_SUPPORT
|
||||
obj/libm/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/soft-float/libm/%.o : CFLAGS += $(SOFTFLOAT)
|
||||
obj/soft-float/libm/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/small-data/libm/%.o : CFLAGS += $(SMALLDATA) -DPPC_FLOATING_POINT_SUPPORT
|
||||
obj/small-data/libm/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/baserel/libm/%.o : CFLAGS += $(BASEREL) -DPPC_FLOATING_POINT_SUPPORT
|
||||
obj/baserel/libm/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/libm/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA) -DPPC_FLOATING_POINT_SUPPORT
|
||||
obj.threadsafe/libm/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/soft-float/libm/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT)
|
||||
obj.threadsafe/soft-float/libm/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/small-data/libm/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA) -DPPC_FLOATING_POINT_SUPPORT
|
||||
obj.threadsafe/small-data/libm/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/baserel/libm/%.o : CFLAGS += $(THREADSAFE) $(BASEREL) -DPPC_FLOATING_POINT_SUPPORT
|
||||
obj.threadsafe/baserel/libm/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
##############################################################################
|
||||
|
||||
lib/libm.a : $(addprefix obj/libm/,$(MATH_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/soft-float/libm.a : $(addprefix obj/soft-float/libm/,$(MATH_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/small-data/libm.a : $(addprefix obj/small-data/libm/,$(MATH_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/baserel/libm.a : $(addprefix obj/baserel/libm/,$(MATH_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/libm.a : $(addprefix obj.threadsafe/libm/,$(MATH_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/soft-float/libm.a : $(addprefix obj.threadsafe/soft-float/libm/,$(MATH_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/small-data/libm.a : $(addprefix obj.threadsafe/small-data/libm/,$(MATH_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/baserel/libm.a : $(addprefix obj.threadsafe/baserel/libm/,$(MATH_LIB))
|
||||
@$(MAKELIB)
|
||||
@@ -1,174 +0,0 @@
|
||||
#
|
||||
# $Id: libnet.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
# -*- mode: makefile; -*-
|
||||
|
||||
##############################################################################
|
||||
|
||||
LIBS += \
|
||||
lib/libnet.a \
|
||||
lib/soft-float/libnet.a \
|
||||
lib/small-data/libnet.a \
|
||||
lib/baserel/libnet.a \
|
||||
lib.threadsafe/libnet.a \
|
||||
lib.threadsafe/soft-float/libnet.a \
|
||||
lib.threadsafe/small-data/libnet.a \
|
||||
lib.threadsafe/baserel/libnet.a
|
||||
|
||||
##############################################################################
|
||||
|
||||
NET_LIB := \
|
||||
net.lib_rev.o \
|
||||
socket_accept.o \
|
||||
socket_bind.o \
|
||||
socket_check_daemon.o \
|
||||
socket_connect.o \
|
||||
socket_gethostbyaddr.o \
|
||||
socket_gethostbyname.o \
|
||||
socket_gethostid.o \
|
||||
socket_gethostname.o \
|
||||
socket_getnetbyaddr.o \
|
||||
socket_getnetbyname.o \
|
||||
socket_getpeername.o \
|
||||
socket_getprotobyname.o \
|
||||
socket_getprotobynumber.o \
|
||||
socket_getservbyname.o \
|
||||
socket_getservbyport.o \
|
||||
socket_getsockname.o \
|
||||
socket_getsockopt.o \
|
||||
socket_get_descriptor.o \
|
||||
socket_inet_addr.o \
|
||||
socket_inet_aton.o \
|
||||
socket_inet_lnaof.o \
|
||||
socket_inet_makeaddr.o \
|
||||
socket_inet_netof.o \
|
||||
socket_inet_network.o \
|
||||
socket_inet_ntoa.o \
|
||||
socket_init_exit.o \
|
||||
socket_ioctl.o \
|
||||
socket_isdaemon.o \
|
||||
socket_listen.o \
|
||||
socket_obtain_daemon.o \
|
||||
socket_recv.o \
|
||||
socket_recvfrom.o \
|
||||
socket_recvmsg.o \
|
||||
socket_select_signal.o \
|
||||
socket_select.o \
|
||||
socket_wait_select.o \
|
||||
socket_send.o \
|
||||
socket_sendmsg.o \
|
||||
socket_sendto.o \
|
||||
socket_setsockopt.o \
|
||||
socket_shutdown.o \
|
||||
socket_socket.o \
|
||||
socket_hook_entry.o \
|
||||
socket_hstrerror.o \
|
||||
socket_get_h_errno.o \
|
||||
socket_set_h_errno.o \
|
||||
systeminfo_sysinfo.o \
|
||||
stat_umask.o \
|
||||
usergroup_crypt.o \
|
||||
usergroup_data.o \
|
||||
usergroup_endgrent.o \
|
||||
usergroup_endpwent.o \
|
||||
usergroup_getegid.o \
|
||||
usergroup_geteuid.o \
|
||||
usergroup_getgid.o \
|
||||
usergroup_getgrent.o \
|
||||
usergroup_getgrgid.o \
|
||||
usergroup_getgrnam.o \
|
||||
usergroup_getgroups.o \
|
||||
usergroup_getpass.o \
|
||||
usergroup_getpwent.o \
|
||||
usergroup_getpwnam.o \
|
||||
usergroup_getpwuid.o \
|
||||
usergroup_getuid.o \
|
||||
usergroup_initgroups.o \
|
||||
usergroup_init_exit.o \
|
||||
usergroup_rootmode.o \
|
||||
usergroup_setegid.o \
|
||||
usergroup_seteuid.o \
|
||||
usergroup_setgid.o \
|
||||
usergroup_setgrent.o \
|
||||
usergroup_setgroups.o \
|
||||
usergroup_setpwent.o \
|
||||
usergroup_setregid.o \
|
||||
usergroup_setreuid.o \
|
||||
usergroup_setsid.o \
|
||||
usergroup_setuid.o \
|
||||
utsname_uname.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Dependencies to rebuild if the library version changes
|
||||
|
||||
obj/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
||||
obj/soft-float/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
||||
obj/small-data/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
||||
obj/baserel/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
||||
obj.threadsafe/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
||||
obj.threadsafe/soft-float/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
||||
obj.threadsafe/small-data/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
||||
obj.threadsafe/baserel/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
||||
|
||||
##############################################################################
|
||||
|
||||
obj/libnet/%.o : CFLAGS += $(LARGEDATA) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
||||
obj/libnet/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/soft-float/libnet/%.o : CFLAGS += $(SOFTFLOAT) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
||||
obj/soft-float/libnet/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/small-data/libnet/%.o : CFLAGS += $(SMALLDATA) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
||||
obj/small-data/libnet/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/baserel/libnet/%.o : CFLAGS += $(BASEREL) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
||||
obj/baserel/libnet/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/libnet/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
||||
obj.threadsafe/libnet/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/soft-float/libnet/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
||||
obj.threadsafe/soft-float/libnet/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/small-data/libnet/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
||||
obj.threadsafe/small-data/libnet/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/baserel/libnet/%.o : CFLAGS += $(THREADSAFE) $(BASEREL) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
||||
obj.threadsafe/baserel/libnet/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
##############################################################################
|
||||
|
||||
lib/libnet.a : $(addprefix obj/libnet/,$(NET_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/soft-float/libnet.a : $(addprefix obj/soft-float/libnet/,$(NET_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/small-data/libnet.a : $(addprefix obj/small-data/libnet/,$(NET_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/baserel/libnet.a : $(addprefix obj/baserel/libnet/,$(NET_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/libnet.a : $(addprefix obj.threadsafe/libnet/,$(NET_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/soft-float/libnet.a : $(addprefix obj.threadsafe/soft-float/libnet/,$(NET_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/small-data/libnet.a : $(addprefix obj.threadsafe/small-data/libnet/,$(NET_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/baserel/libnet.a : $(addprefix obj.threadsafe/baserel/libnet/,$(NET_LIB))
|
||||
@$(MAKELIB)
|
||||
@@ -1,132 +0,0 @@
|
||||
#
|
||||
# $Id: libprofile.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
# -*- mode: makefile; -*-
|
||||
|
||||
##############################################################################
|
||||
|
||||
LIBS += \
|
||||
lib/libprofile.a \
|
||||
lib/soft-float/libprofile.a \
|
||||
lib/small-data/libprofile.a \
|
||||
lib/baserel/libprofile.a \
|
||||
lib.threadsafe/libprofile.a \
|
||||
lib.threadsafe/soft-float/libprofile.a \
|
||||
lib.threadsafe/small-data/libprofile.a \
|
||||
lib.threadsafe/baserel/libprofile.a
|
||||
|
||||
##############################################################################
|
||||
|
||||
PROFILE_LIB = \
|
||||
profile__mcount.o \
|
||||
profile_gmon.o \
|
||||
profile_mcount.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Dependencies to rebuild if the library version changes
|
||||
|
||||
obj/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
||||
obj/soft-float/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
||||
obj/small-data/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
||||
obj/baserel/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
||||
obj.threadsafe/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
||||
obj.threadsafe/soft-float/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
||||
obj.threadsafe/small-data/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
||||
obj.threadsafe/baserel/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
||||
|
||||
##############################################################################
|
||||
|
||||
obj/libprofile/%.o : AFLAGS += $(LARGEDATA)
|
||||
obj/libprofile/%.o : %.S
|
||||
@$(ASSEMBLE)
|
||||
|
||||
obj/soft-float/libprofile/%.o : AFLAGS += $(SOFTFLOAT)
|
||||
obj/soft-float/libprofile/%.o : %.S
|
||||
@$(ASSEMBLE)
|
||||
|
||||
obj/small-data/libprofile/%.o : AFLAGS += $(SMALLDATA)
|
||||
obj/small-data/libprofile/%.o : %.S
|
||||
@$(ASSEMBLE)
|
||||
|
||||
obj/baserel/libprofile/%.o : AFLAGS += $(BASEREL)
|
||||
obj/baserel/libprofile/%.o : %.S
|
||||
@$(ASSEMBLE)
|
||||
|
||||
obj.threadsafe/libprofile/%.o : AFLAGS += $(LARGEDATA)
|
||||
obj.threadsafe/libprofile/%.o : %.S
|
||||
@$(ASSEMBLE)
|
||||
|
||||
obj.threadsafe/soft-float/libprofile/%.o : AFLAGS += $(SOFTFLOAT)
|
||||
obj.threadsafe/soft-float/libprofile/%.o : %.S
|
||||
@$(ASSEMBLE)
|
||||
|
||||
obj.threadsafe/small-data/libprofile/%.o : AFLAGS += $(SMALLDATA)
|
||||
obj.threadsafe/small-data/libprofile/%.o : %.S
|
||||
@$(ASSEMBLE)
|
||||
|
||||
obj.threadsafe/baserel/libprofile/%.o : AFLAGS += $(BASEREL)
|
||||
obj.threadsafe/baserel/libprofile/%.o : %.S
|
||||
@$(ASSEMBLE)
|
||||
|
||||
##############################################################################
|
||||
|
||||
obj/libprofile/%.o : CFLAGS += $(LARGEDATA)
|
||||
obj/libprofile/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/soft-float/libprofile/%.o : CFLAGS += $(SOFTFLOAT)
|
||||
obj/soft-float/libprofile/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/small-data/libprofile/%.o : CFLAGS += $(SMALLDATA)
|
||||
obj/small-data/libprofile/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/baserel/libprofile/%.o : CFLAGS += $(BASEREL)
|
||||
obj/baserel/libprofile/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/libprofile/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA)
|
||||
obj.threadsafe/libprofile/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/soft-float/libprofile/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT)
|
||||
obj.threadsafe/soft-float/libprofile/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/small-data/libprofile/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA)
|
||||
obj.threadsafe/small-data/libprofile/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/baserel/libprofile/%.o : CFLAGS += $(THREADSAFE) $(BASEREL)
|
||||
obj.threadsafe/baserel/libprofile/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
##############################################################################
|
||||
|
||||
lib/libprofile.a : $(addprefix obj/libprofile/,$(PROFILE_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/soft-float/libprofile.a : $(addprefix obj/soft-float/libprofile/,$(PROFILE_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/small-data/libprofile.a : $(addprefix obj/small-data/libprofile/,$(PROFILE_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/baserel/libprofile.a : $(addprefix obj/baserel/libprofile/,$(PROFILE_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/libprofile.a : $(addprefix obj.threadsafe/libprofile/,$(PROFILE_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/soft-float/libprofile.a : $(addprefix obj.threadsafe/soft-float/libprofile/,$(PROFILE_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/small-data/libprofile.a : $(addprefix obj.threadsafe/small-data/libprofile/,$(PROFILE_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/baserel/libprofile.a : $(addprefix obj.threadsafe/baserel/libprofile/,$(PROFILE_LIB))
|
||||
@$(MAKELIB)
|
||||
@@ -1,200 +0,0 @@
|
||||
#
|
||||
# $Id: libunix.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
# -*- mode: makefile; -*-
|
||||
|
||||
##############################################################################
|
||||
|
||||
LIBS += \
|
||||
lib/libunix.a \
|
||||
lib/soft-float/libunix.a \
|
||||
lib/small-data/libunix.a \
|
||||
lib/baserel/libunix.a \
|
||||
lib.threadsafe/libunix.a \
|
||||
lib.threadsafe/soft-float/libunix.a \
|
||||
lib.threadsafe/small-data/libunix.a \
|
||||
lib.threadsafe/baserel/libunix.a
|
||||
|
||||
##############################################################################
|
||||
|
||||
UNIX_LIB := \
|
||||
unix.lib_rev.o \
|
||||
dirent_closedir.o \
|
||||
dirent_rewinddir.o \
|
||||
dirent_opendir.o \
|
||||
dirent_readdir.o \
|
||||
fcntl_creat.o \
|
||||
fcntl_fcntl.o \
|
||||
fcntl_open.o \
|
||||
fcntl_get_default_file.o \
|
||||
getopt_getopt_long.o \
|
||||
mount_convertinfo.o \
|
||||
mount_statfs.o \
|
||||
resource_getrlimit.o \
|
||||
resource_setrlimit.o \
|
||||
stat_chmod.o \
|
||||
stat_fstat.o \
|
||||
stat_lstat.o \
|
||||
stat_mkdir.o \
|
||||
stat_rmdir.o \
|
||||
stat_stat.o \
|
||||
stdio_ctermid.o \
|
||||
stdio_fdhookentry.o \
|
||||
stdio_fflush.o \
|
||||
stdio_fopen.o \
|
||||
stdio_file_init.o \
|
||||
stdio_init_exit.o \
|
||||
stdio_locksemaphorename.o \
|
||||
stdio_openiob.o \
|
||||
stdio_popen.o \
|
||||
stdio_record_locking.o \
|
||||
stdio_remove.o \
|
||||
stdio_rename.o \
|
||||
stdlib_alloca.o \
|
||||
stdlib_alloca_cleanup.o \
|
||||
stdlib_alloca_trap.o \
|
||||
stdlib_arg.o \
|
||||
stdlib_expand_wildcard.o \
|
||||
stdlib_expand_wildcard_check.o \
|
||||
stdlib_getmemstats.o \
|
||||
stdlib_main.o \
|
||||
stdlib_main_stub.o \
|
||||
stdlib_mkdtemp.o \
|
||||
stdlib_mkstemp.o \
|
||||
stdlib_mktemp.o \
|
||||
stdlib_malloc.o \
|
||||
stdlib_realloc.o \
|
||||
stdlib_resetmemstats.o \
|
||||
stdlib_system.o \
|
||||
systeminfo_sysinfo.o \
|
||||
termios_cfgetispeed.o \
|
||||
termios_cfgetospeed.o \
|
||||
termios_cfmakeraw.o \
|
||||
termios_cfsetispeed.o \
|
||||
termios_cfsetospeed.o \
|
||||
termios_console_fdhookentry.o \
|
||||
termios_openserial.o \
|
||||
termios_tcdrain.o \
|
||||
termios_tcflow.o \
|
||||
termios_tcflush.o \
|
||||
termios_tcgetattr.o \
|
||||
termios_tcsendbreak.o \
|
||||
termios_tcsetattr.o \
|
||||
timeb_ftime.o \
|
||||
uio_readv.o \
|
||||
uio_writev.o \
|
||||
unistd_access.o \
|
||||
unistd_chdir.o \
|
||||
unistd_chdir_exit.o \
|
||||
unistd_chown.o \
|
||||
unistd_common_pathconf.o \
|
||||
unistd_def_path.o \
|
||||
unistd_def_path_delimiter.o \
|
||||
unistd_environ.o \
|
||||
unistd_execl.o \
|
||||
unistd_execle.o \
|
||||
unistd_execlp.o \
|
||||
unistd_execv.o \
|
||||
unistd_execve.o \
|
||||
unistd_execve_env_exit.o \
|
||||
unistd_execve_env_init.o \
|
||||
unistd_execve_exit.o \
|
||||
unistd_execvp.o \
|
||||
unistd_fpathconf.o \
|
||||
unistd_getcwd.o \
|
||||
unistd_lchown.o \
|
||||
unistd_link.o \
|
||||
unistd_lockf.o \
|
||||
unistd_pathconf.o \
|
||||
unistd_readlink.o \
|
||||
unistd_realpath.o \
|
||||
unistd_restorepathname.o \
|
||||
unistd_setcurrentpath.o \
|
||||
unistd_strip_double_slash.o \
|
||||
unistd_symlink.o \
|
||||
unistd_translatea2u.o \
|
||||
unistd_translaterel.o \
|
||||
unistd_translateu2a.o \
|
||||
unistd_truncate.o \
|
||||
unistd_ttyname.o \
|
||||
unistd_ttyname_r.o \
|
||||
unistd_unix_path_semantics.o \
|
||||
unistd_unlink.o \
|
||||
unistd_wildcard_expand.o \
|
||||
utime_utime.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Dependencies to rebuild if the library version changes
|
||||
|
||||
obj/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
||||
obj/soft-float/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
||||
obj/small-data/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
||||
obj/baserel/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
||||
obj.threadsafe/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
||||
obj.threadsafe/soft-float/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
||||
obj.threadsafe/small-data/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
||||
obj.threadsafe/baserel/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
||||
|
||||
##############################################################################
|
||||
|
||||
|
||||
obj/libunix/%.o : CFLAGS += $(LARGEDATA) -DUNIX_PATH_SEMANTICS
|
||||
obj/libunix/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/soft-float/libunix/%.o : CFLAGS += $(SOFTFLOAT) -DUNIX_PATH_SEMANTICS
|
||||
obj/soft-float/libunix/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/small-data/libunix/%.o : CFLAGS += $(SMALLDATA) -DUNIX_PATH_SEMANTICS
|
||||
obj/small-data/libunix/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj/baserel/libunix/%.o : CFLAGS += $(BASEREL) -DUNIX_PATH_SEMANTICS
|
||||
obj/baserel/libunix/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/libunix/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA) -DUNIX_PATH_SEMANTICS
|
||||
obj.threadsafe/libunix/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/soft-float/libunix/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT) -DUNIX_PATH_SEMANTICS
|
||||
obj.threadsafe/soft-float/libunix/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/small-data/libunix/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA) -DUNIX_PATH_SEMANTICS
|
||||
obj.threadsafe/small-data/libunix/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
obj.threadsafe/baserel/libunix/%.o : CFLAGS += $(THREADSAFE) $(BASEREL) -DUNIX_PATH_SEMANTICS
|
||||
obj.threadsafe/baserel/libunix/%.o : %.c
|
||||
@$(COMPILE)
|
||||
|
||||
##############################################################################
|
||||
|
||||
lib/libunix.a : $(addprefix obj/libunix/,$(UNIX_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/soft-float/libunix.a : $(addprefix obj/soft-float/libunix/,$(UNIX_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/small-data/libunix.a : $(addprefix obj/small-data/libunix/,$(UNIX_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib/baserel/libunix.a : $(addprefix obj/baserel/libunix/,$(UNIX_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/libunix.a : $(addprefix obj.threadsafe/libunix/,$(UNIX_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/soft-float/libunix.a : $(addprefix obj.threadsafe/soft-float/libunix/,$(UNIX_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/small-data/libunix.a : $(addprefix obj.threadsafe/small-data/libunix/,$(UNIX_LIB))
|
||||
@$(MAKELIB)
|
||||
|
||||
lib.threadsafe/baserel/libunix.a : $(addprefix obj.threadsafe/baserel/libunix/,$(UNIX_LIB))
|
||||
@$(MAKELIB)
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: locale_localeconv.c,v 1.6 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: locale_localeconv.c,v 1.5 2006-01-08 12:04:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -56,16 +56,16 @@ localeconv(void)
|
||||
/* This makes up the current locale settings from the various
|
||||
* components in use.
|
||||
*/
|
||||
loc.decimal_point = (numeric_locale != NULL) ? ((char *)numeric_locale->loc_DecimalPoint) : (char *)".";
|
||||
loc.thousands_sep = (numeric_locale != NULL) ? ((char *)numeric_locale->loc_GroupSeparator) : (char *)"";
|
||||
loc.grouping = (numeric_locale != NULL) ? ((char *)numeric_locale->loc_Grouping) : (char *)"";
|
||||
loc.int_curr_symbol = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonIntCS) : (char *)"";
|
||||
loc.currency_symbol = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonCS) : (char *)"";
|
||||
loc.mon_decimal_point = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonDecimalPoint) : (char *)"";
|
||||
loc.mon_thousands_sep = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonGroupSeparator) : (char *)"";
|
||||
loc.mon_grouping = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonGrouping) : (char *)"";
|
||||
loc.positive_sign = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonPositiveSign) : (char *)"";
|
||||
loc.negative_sign = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonNegativeSign) : (char *)"";
|
||||
loc.decimal_point = (numeric_locale != NULL) ? ((char *)numeric_locale->loc_DecimalPoint) : ".";
|
||||
loc.thousands_sep = (numeric_locale != NULL) ? ((char *)numeric_locale->loc_GroupSeparator) : "";
|
||||
loc.grouping = (numeric_locale != NULL) ? ((char *)numeric_locale->loc_Grouping) : "";
|
||||
loc.int_curr_symbol = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonIntCS) : "";
|
||||
loc.currency_symbol = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonCS) : "";
|
||||
loc.mon_decimal_point = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonDecimalPoint) : "";
|
||||
loc.mon_thousands_sep = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonGroupSeparator) : "";
|
||||
loc.mon_grouping = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonGrouping) : "";
|
||||
loc.positive_sign = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonPositiveSign) : "";
|
||||
loc.negative_sign = (monetary_locale != NULL) ? ((char *)monetary_locale->loc_MonNegativeSign) : "";
|
||||
loc.int_frac_digits = (monetary_locale != NULL) ? monetary_locale->loc_MonIntFracDigits : CHAR_MAX;
|
||||
loc.frac_digits = (monetary_locale != NULL) ? monetary_locale->loc_MonFracDigits : CHAR_MAX;
|
||||
loc.p_cs_precedes = (monetary_locale != NULL) ? monetary_locale->loc_MonPositiveCSPos : CHAR_MAX;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 201
|
||||
#define DATE "21.9.2006"
|
||||
#define VERS "m.lib 1.201"
|
||||
#define VSTRING "m.lib 1.201 (21.9.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: m.lib 1.201 (21.9.2006)"
|
||||
#define REVISION 199
|
||||
#define DATE "6.3.2006"
|
||||
#define VERS "m.lib 1.199"
|
||||
#define VSTRING "m.lib 1.199 (6.3.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: m.lib 1.199 (6.3.2006)"
|
||||
|
||||
@@ -1 +1 @@
|
||||
201
|
||||
199
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 201
|
||||
#define DATE "21.9.2006"
|
||||
#define VERS "m881.lib 1.201"
|
||||
#define VSTRING "m881.lib 1.201 (21.9.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: m881.lib 1.201 (21.9.2006)"
|
||||
#define REVISION 199
|
||||
#define DATE "6.3.2006"
|
||||
#define VERS "m881.lib 1.199"
|
||||
#define VSTRING "m881.lib 1.199 (6.3.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: m881.lib 1.199 (6.3.2006)"
|
||||
|
||||
@@ -1 +1 @@
|
||||
201
|
||||
199
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: math_atan2.c,v 1.9 2006-09-22 07:54:24 obarthel Exp $
|
||||
* $Id: math_atan2.c,v 1.8 2006-01-08 12:04:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -225,7 +225,7 @@ __atan2(double y,double x)
|
||||
if( ((ix|((lx|-lx)>>31))>0x7ff00000) || ((iy|((ly|-ly)>>31))>0x7ff00000) ) /* x or y is NaN */
|
||||
return x+y;
|
||||
|
||||
if(((hx-0x3ff00000)|lx)==0)
|
||||
if((hx-0x3ff00000|lx)==0)
|
||||
return atan(y); /* x=1.0 */
|
||||
|
||||
m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: math_exp.c,v 1.8 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: math_exp.c,v 1.6 2006-01-08 12:04:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -158,8 +158,8 @@ P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
|
||||
INLINE STATIC double
|
||||
__exp(double x)
|
||||
{
|
||||
double y,hi=0,lo=0,c,t;
|
||||
int k=0,xsb;
|
||||
double y,hi,lo,c,t;
|
||||
int k,xsb;
|
||||
unsigned int hx;
|
||||
|
||||
GET_HIGH_WORD(hx,x);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: math_kernel_expm1.c,v 1.4 2006-09-22 07:54:24 obarthel Exp $
|
||||
* $Id: math_kernel_expm1.c,v 1.3 2006-01-08 12:04:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -67,7 +67,7 @@ Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
|
||||
|
||||
double __expm1(double x)
|
||||
{
|
||||
double y,hi,lo,c=0,t,e,hxs,hfx,r1;
|
||||
double y,hi,lo,c,t,e,hxs,hfx,r1;
|
||||
int k,xsb;
|
||||
unsigned int hx;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: math_sqrt.c,v 1.9 2006-09-22 07:54:24 obarthel Exp $
|
||||
* $Id: math_sqrt.c,v 1.8 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -143,7 +143,7 @@ INLINE STATIC double
|
||||
__sqrt(double x)
|
||||
{
|
||||
double z;
|
||||
unsigned int sign = (unsigned int)0x80000000;
|
||||
int sign = (int)0x80000000;
|
||||
unsigned int r,t1,s1,ix1,q1;
|
||||
int ix0,s0,q,m,t,i;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 201
|
||||
#define DATE "21.9.2006"
|
||||
#define VERS "net.lib 1.201"
|
||||
#define VSTRING "net.lib 1.201 (21.9.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: net.lib 1.201 (21.9.2006)"
|
||||
#define REVISION 199
|
||||
#define DATE "6.3.2006"
|
||||
#define VERS "net.lib 1.199"
|
||||
#define VSTRING "net.lib 1.199 (6.3.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: net.lib 1.199 (6.3.2006)"
|
||||
|
||||
@@ -1 +1 @@
|
||||
201
|
||||
199
|
||||
|
||||
@@ -1,131 +0,0 @@
|
||||
/*
|
||||
* $Id: resource_getrlimit.c,v 1.2 2006-07-28 14:37: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>
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include <sys/resource.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
int
|
||||
getrlimit(int resource,struct rlimit *rlp)
|
||||
{
|
||||
struct Task *self;
|
||||
int ret = -1;
|
||||
rlim_t l;
|
||||
|
||||
if(rlp == NULL)
|
||||
{
|
||||
__set_errno(EFAULT);
|
||||
goto out;
|
||||
}
|
||||
|
||||
switch(resource)
|
||||
{
|
||||
case RLIM_VMEM:
|
||||
|
||||
rlp->rlim_cur = RLIM_INFINITY;
|
||||
rlp->rlim_max = RLIM_INFINITY;
|
||||
break;
|
||||
|
||||
case RLIM_CORE: /* Coredumps are not supported. */
|
||||
|
||||
rlp->rlim_cur = 0;
|
||||
rlp->rlim_max = 0;
|
||||
break;
|
||||
|
||||
case RLIM_CPU:
|
||||
|
||||
rlp->rlim_cur = RLIM_INFINITY;
|
||||
rlp->rlim_max = RLIM_INFINITY;
|
||||
break;
|
||||
|
||||
case RLIM_DATA:
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
l = AvailMem(MEMF_TOTAL|MEMF_VIRTUAL);
|
||||
}
|
||||
#else
|
||||
{
|
||||
l = AvailMem(MEMF_TOTAL);
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
rlp->rlim_cur = l;
|
||||
rlp->rlim_max = l;
|
||||
break;
|
||||
|
||||
case RLIM_FSIZE:
|
||||
|
||||
rlp->rlim_cur = RLIM_INFINITY; /* Use RLIM_INFINITY in case we have a 64-bit fs. pathconf() can be more precise. */
|
||||
rlp->rlim_max = RLIM_INFINITY;
|
||||
break;
|
||||
|
||||
case RLIM_NOFILE:
|
||||
|
||||
rlp->rlim_cur = RLIM_INFINITY;
|
||||
rlp->rlim_max = RLIM_INFINITY;
|
||||
break;
|
||||
|
||||
case RLIM_STACK: /* Return current stacksize. */
|
||||
|
||||
self = FindTask(NULL);
|
||||
|
||||
l = (char *)self->tc_SPUpper - (char *)self->tc_SPLower;
|
||||
|
||||
rlp->rlim_cur = l;
|
||||
rlp->rlim_max = RLIM_INFINITY;
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
__set_errno(EINVAL);
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
||||
out:
|
||||
|
||||
return(ret);
|
||||
}
|
||||
@@ -1,83 +0,0 @@
|
||||
/*
|
||||
* $Id: resource_setrlimit.c,v 1.2 2006-07-28 14:37: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>
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include <sys/resource.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
int
|
||||
setrlimit(int resource,const struct rlimit *rlp)
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
if(rlp == NULL)
|
||||
{
|
||||
__set_errno(EFAULT);
|
||||
goto out;
|
||||
}
|
||||
|
||||
switch(resource)
|
||||
{
|
||||
case RLIM_VMEM:
|
||||
case RLIM_CORE:
|
||||
case RLIM_CPU:
|
||||
case RLIM_DATA:
|
||||
case RLIM_FSIZE:
|
||||
case RLIM_NOFILE:
|
||||
case RLIM_STACK: /* TODO: See if it might be possible to set the stacksize here. */
|
||||
|
||||
__set_errno(EPERM);
|
||||
goto out;
|
||||
|
||||
default:
|
||||
|
||||
__set_errno(EINVAL);
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
||||
out:
|
||||
|
||||
return(ret);
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: sas_profile.c,v 1.7 2006-04-05 06:43:56 obarthel Exp $
|
||||
* $Id: sas_profile.c,v 1.6 2005-04-24 08:46:37 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -52,19 +52,6 @@ extern struct Library * SysBase;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* A quick workaround for the timeval/timerequest->TimeVal/TimeRequest
|
||||
change in the recent OS4 header files. */
|
||||
|
||||
#if defined(__NEW_TIMEVAL_DEFINITION_USED__)
|
||||
|
||||
#define timerequest TimeRequest
|
||||
#define tr_node Request
|
||||
#define tr_time Time
|
||||
|
||||
#endif /* __NEW_TIMEVAL_DEFINITION_USED__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct SPROFMSG
|
||||
{
|
||||
struct Message message;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: signal_checkabort.c,v 1.4 2006-04-05 08:39:45 obarthel Exp $
|
||||
* $Id: signal_checkabort.c,v 1.3 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -44,6 +44,6 @@
|
||||
void
|
||||
__check_abort(void)
|
||||
{
|
||||
if(__check_abort_enabled && FLAG_IS_SET(SetSignal(0,__break_signal_mask),__break_signal_mask))
|
||||
if(__check_abort_enabled && FLAG_IS_SET(SetSignal(0,SIGBREAKF_CTRL_C),SIGBREAKF_CTRL_C))
|
||||
raise(SIGINT);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: signal_kill.c,v 1.8 2006-04-05 08:39:45 obarthel Exp $
|
||||
* $Id: signal_kill.c,v 1.7 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -80,7 +80,7 @@ kill(pid_t pid, int signal_number)
|
||||
SHOWMSG("found the process");
|
||||
|
||||
if(signal_number == SIGTERM || signal_number == SIGINT)
|
||||
Signal((struct Task *)pid,__break_signal_mask);
|
||||
Signal((struct Task *)pid,SIGBREAKF_CTRL_C);
|
||||
else
|
||||
SHOWMSG("but won't shut it down");
|
||||
}
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
/*
|
||||
* $Id: signal_mask.c,v 1.1 2006-04-05 08:39:45 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 _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
#ifndef _SIGNAL_HEADERS_H
|
||||
#include "signal_headers.h"
|
||||
#endif /* _SIGNAL_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
ULONG __break_signal_mask = SIGBREAKF_CTRL_C;
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# $Id: GNUmakefile.os4,v 1.5 2006-06-22 09:30:25 obarthel Exp $
|
||||
# $Id: GNUmakefile.os4,v 1.4 2006-01-08 12:06:14 obarthel Exp $
|
||||
#
|
||||
# :ts=4
|
||||
#
|
||||
@@ -40,8 +40,6 @@ CPU =
|
||||
OPTIONS = -DNDEBUG -mcrt=clib2-ts
|
||||
OPTIMIZE = -O
|
||||
DEBUG = -ggdb
|
||||
CRTBEGIN = /usr/local/amiga/ppc-amigaos/clib2/lib/crtbegin.o
|
||||
CRTEND = /usr/local/amiga/ppc-amigaos/clib2/lib/crtend.o
|
||||
|
||||
###############################################################################
|
||||
|
||||
@@ -54,7 +52,7 @@ OBJS = \
|
||||
|
||||
###############################################################################
|
||||
|
||||
LIBS = $(CRTBEGIN) -lc -lamiga $(CRTEND)
|
||||
LIBS = -lc -lamiga
|
||||
|
||||
###############################################################################
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: lib_user.c,v 1.7 2006-04-05 06:43:56 obarthel Exp $
|
||||
* $Id: lib_user.c,v 1.6 2006-01-08 12:06:14 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -100,7 +100,7 @@ UserLibOpen(struct UserData * ud)
|
||||
{
|
||||
BOOL result = FALSE;
|
||||
|
||||
/* For the thread safe build, invoke the clib2 shared library
|
||||
/* For the AmigaOS4 build, invoke the clib2 shared library
|
||||
initialization code. Note that this is not strictly
|
||||
necessary. In fact, you should not need this functionality
|
||||
if you stick to use Amiga operating system routines only
|
||||
@@ -109,15 +109,15 @@ UserLibOpen(struct UserData * ud)
|
||||
Use this feature only if you are porting code to the Amiga
|
||||
which cannot be easily converted to follow the AmigaOS
|
||||
API definitions only. */
|
||||
#if defined(__THREAD_SAFE)
|
||||
#if defined(__amigaos4__) && defined(__THREAD_SAFE)
|
||||
{
|
||||
/* Note that the clib2 library initialization is
|
||||
called exactly once, when the first client
|
||||
opens this library. */
|
||||
if(ud->ud_UseCount == 0 && !__lib_init(ud->ud_SysBase))
|
||||
if(ud->ud_UseCount == 0 && !__lib_init(SysBase))
|
||||
goto out;
|
||||
}
|
||||
#endif /* __THREAD_SAFE */
|
||||
#endif /* __amigaos4__ && __THREAD_SAFE */
|
||||
|
||||
/* Remember that one more customer is using this data structure. */
|
||||
ud->ud_UseCount++;
|
||||
@@ -140,7 +140,7 @@ UserLibClose(struct UserData * ud)
|
||||
/* Remember that one less customer is using this data structure. */
|
||||
ud->ud_UseCount--;
|
||||
|
||||
/* For the thread safe build, invoke the clib2 shared library
|
||||
/* For the AmigaOS4 build, invoke the clib2 shared library
|
||||
cleanup code. Note that this is not strictly
|
||||
necessary. In fact, you should not need this functionality
|
||||
if you stick to use Amiga operating system routines only
|
||||
@@ -149,7 +149,7 @@ UserLibClose(struct UserData * ud)
|
||||
Use this feature only if you are porting code to the Amiga
|
||||
which cannot be easily converted to follow the AmigaOS
|
||||
API definitions only. */
|
||||
#if defined(__THREAD_SAFE)
|
||||
#if defined(__amigaos4__) && defined(__THREAD_SAFE)
|
||||
{
|
||||
/* Note that the clib2 library cleanup code is
|
||||
called exactly once, when the last client
|
||||
@@ -157,7 +157,7 @@ UserLibClose(struct UserData * ud)
|
||||
if(ud->ud_UseCount == 0)
|
||||
__lib_exit();
|
||||
}
|
||||
#endif /* __THREAD_SAFE */
|
||||
#endif /* __amigaos4__ && __THREAD_SAFE */
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# $Id: smakefile,v 1.61 2006-04-05 08:39:45 obarthel Exp $
|
||||
# $Id: smakefile,v 1.59 2006-01-02 13:23:33 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
@@ -315,7 +315,6 @@ SIGNAL_OBJ = \
|
||||
signal_checkabort.o \
|
||||
signal_data.o \
|
||||
signal_kill.o \
|
||||
signal_mask.o \
|
||||
signal_raise.o \
|
||||
signal_sigaddset.o \
|
||||
signal_sigblock.o \
|
||||
@@ -359,9 +358,7 @@ SOCKET_OBJ = \
|
||||
socket_recv.o \
|
||||
socket_recvfrom.o \
|
||||
socket_recvmsg.o \
|
||||
socket_select_signal.o \
|
||||
socket_select.o \
|
||||
socket_wait_select.o \
|
||||
socket_send.o \
|
||||
socket_sendmsg.o \
|
||||
socket_sendto.o \
|
||||
@@ -804,7 +801,7 @@ dirent_opendir.o : dirent_opendir.c stdlib_memory.h
|
||||
|
||||
fcntl_open.o : fcntl_open.c stdlib_memory.h
|
||||
|
||||
socket_select_signal.o : socket_select_signal.c stdlib_memory.h
|
||||
socket_select.o : socket_select.c stdlib_memory.h
|
||||
|
||||
stdio_fclose.o : stdio_fclose.c stdlib_memory.h
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: socket_headers.h,v 1.14 2006-04-05 07:53:24 obarthel Exp $
|
||||
* $Id: socket_headers.h,v 1.13 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -127,7 +127,6 @@ extern int __socket_hook_entry(struct fd * fd,struct file_action_message * fam);
|
||||
extern int __get_h_errno(void);
|
||||
extern void __set_h_errno(int new_h_errno);
|
||||
extern BOOL __obtain_daemon_message(VOID);
|
||||
extern int __select(int num_fds,fd_set *read_fds,fd_set *write_fds,fd_set *except_fds,struct timeval *timeout,ULONG * signal_mask_ptr);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: socket_init_exit.c,v 1.26 2006-04-05 08:39:45 obarthel Exp $
|
||||
* $Id: socket_init_exit.c,v 1.25 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -224,7 +224,7 @@ SOCKET_CONSTRUCTOR(socket_init)
|
||||
tags[1].ti_Tag = SBTM_SETVAL(SBTC_BREAKMASK);
|
||||
|
||||
if(__check_abort_enabled)
|
||||
tags[1].ti_Data = __break_signal_mask;
|
||||
tags[1].ti_Data = SIGBREAKF_CTRL_C;
|
||||
else
|
||||
tags[1].ti_Data = 0;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: socket_ioctl.c,v 1.12 2006-09-21 09:24:20 obarthel Exp $
|
||||
* $Id: socket_ioctl.c,v 1.11 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -91,14 +91,14 @@ ioctl(int sockfd,int request, ... /* char *arg */)
|
||||
{
|
||||
int * option = (int *)param;
|
||||
|
||||
if(request == (int)FIONBIO)
|
||||
if(request == (unsigned int)FIONBIO)
|
||||
{
|
||||
if((*option) != 0)
|
||||
SET_FLAG(fd->fd_Flags,FDF_NON_BLOCKING);
|
||||
else
|
||||
CLEAR_FLAG(fd->fd_Flags,FDF_NON_BLOCKING);
|
||||
}
|
||||
else if (request == (int)FIOASYNC)
|
||||
else if (request == (unsigned int)FIOASYNC)
|
||||
{
|
||||
if((*option) != 0)
|
||||
SET_FLAG(fd->fd_Flags,FDF_ASYNC_IO);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,56 +0,0 @@
|
||||
/*
|
||||
* $Id: socket_wait_select.c,v 1.3 2006-04-10 15:08:10 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.
|
||||
*/
|
||||
|
||||
#if defined(SOCKET_SUPPORT)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _SOCKET_HEADERS_H
|
||||
#include "socket_headers.h"
|
||||
#endif /* _SOCKET_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
int
|
||||
waitselect(int num_fds,fd_set *read_fds,fd_set *write_fds,fd_set *except_fds,struct timeval *timeout,unsigned long * signal_mask)
|
||||
{
|
||||
int result;
|
||||
|
||||
result = __select(num_fds,read_fds,write_fds,except_fds,timeout,signal_mask);
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* SOCKET_SUPPORT */
|
||||
@@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 201
|
||||
#define DATE "21.9.2006"
|
||||
#define VERS "stack.lib 1.201"
|
||||
#define VSTRING "stack.lib 1.201 (21.9.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: stack.lib 1.201 (21.9.2006)"
|
||||
#define REVISION 199
|
||||
#define DATE "6.3.2006"
|
||||
#define VERS "stack.lib 1.199"
|
||||
#define VSTRING "stack.lib 1.199 (6.3.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: stack.lib 1.199 (6.3.2006)"
|
||||
|
||||
@@ -1 +1 @@
|
||||
201
|
||||
199
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stat_convertfileinfo.c,v 1.9 2006-09-20 19:46:57 obarthel Exp $
|
||||
* $Id: stat_convertfileinfo.c,v 1.8 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -81,7 +81,7 @@ __convert_file_info_to_stat(
|
||||
mode = S_IFIFO;
|
||||
else if (fib->fib_DirEntryType == ST_SOCKET)
|
||||
mode = S_IFSOCK;
|
||||
else if (fib->fib_DirEntryType == ST_CONSOLE || fib->fib_DirEntryType == ST_NIL)
|
||||
else if (fib->fib_DirEntryType == ST_CONSOLE)
|
||||
mode = S_IFCHR;
|
||||
else if (fib->fib_DirEntryType < 0)
|
||||
mode = S_IFREG;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stat_lstat.c,v 1.14 2006-09-21 09:24:20 obarthel Exp $
|
||||
* $Id: stat_lstat.c,v 1.13 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -271,7 +271,7 @@ lstat(const char * path_name, struct stat * st)
|
||||
time(&mtime);
|
||||
|
||||
st->st_mode = S_IFLNK | S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
|
||||
st->st_dev = (dev_t)DeviceProc((STRPTR)path_name);
|
||||
st->st_dev = (ULONG)DeviceProc((STRPTR)path_name);
|
||||
st->st_size = link_length;
|
||||
st->st_mtime = mtime;
|
||||
st->st_atime = mtime;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdio_fdhookentry.c,v 1.33 2006-09-20 19:46:57 obarthel Exp $
|
||||
* $Id: stdio_fdhookentry.c,v 1.32 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -581,18 +581,7 @@ __fd_hook_entry(
|
||||
|
||||
fh = BADDR(file);
|
||||
|
||||
/* Special treatment for "NIL:", for which we make
|
||||
some stuff up. */
|
||||
if(fh->fh_Type == NULL)
|
||||
{
|
||||
/* Make up some stuff for this stream. */
|
||||
memset(fam->fam_FileInfo,0,sizeof(*fam->fam_FileInfo));
|
||||
|
||||
DateStamp(&fam->fam_FileInfo->fib_Date);
|
||||
|
||||
fam->fam_FileInfo->fib_DirEntryType = ST_NIL;
|
||||
}
|
||||
else if (CANNOT __safe_examine_file_handle(file,fam->fam_FileInfo))
|
||||
if(CANNOT __safe_examine_file_handle(file,fam->fam_FileInfo))
|
||||
{
|
||||
LONG error;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdio_filliobreadbuffer.c,v 1.12 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: stdio_filliobreadbuffer.c,v 1.11 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -66,7 +66,7 @@ __fill_iob_read_buffer(struct iob * file)
|
||||
SHOWVALUE(file->iob_BufferSize);
|
||||
|
||||
fam.fam_Action = file_action_read;
|
||||
fam.fam_Data = (char *)file->iob_Buffer;
|
||||
fam.fam_Data = file->iob_Buffer;
|
||||
fam.fam_Size = file->iob_BufferSize;
|
||||
|
||||
assert( file->iob_Action != NULL );
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdio_flushiobwritebuffer.c,v 1.9 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: stdio_flushiobwritebuffer.c,v 1.8 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -70,7 +70,7 @@ __flush_iob_write_buffer(struct iob * file)
|
||||
SHOWMSG("calling the hook");
|
||||
|
||||
fam.fam_Action = file_action_write;
|
||||
fam.fam_Data = (char *)file->iob_Buffer;
|
||||
fam.fam_Data = file->iob_Buffer;
|
||||
fam.fam_Size = file->iob_BufferWriteBytes;
|
||||
|
||||
assert( file->iob_Action != NULL );
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdio_headers.h,v 1.26 2006-09-20 19:46:57 obarthel Exp $
|
||||
* $Id: stdio_headers.h,v 1.25 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -168,9 +168,6 @@ struct iob;
|
||||
/* The same for a console stream. */
|
||||
#define ST_CONSOLE (20050402)
|
||||
|
||||
/* And something for NIL: */
|
||||
#define ST_NIL (20060920)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* Operations that can be performed by the file action function. */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdio_initializeiob.c,v 1.6 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: stdio_initializeiob.c,v 1.5 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -54,7 +54,7 @@ __initialize_iob(
|
||||
memset(iob,0,sizeof(*iob));
|
||||
|
||||
iob->iob_CustomBuffer = custom_buffer;
|
||||
iob->iob_Buffer = (UBYTE *)buffer;
|
||||
iob->iob_Buffer = buffer;
|
||||
iob->iob_BufferSize = buffer_size;
|
||||
iob->iob_Descriptor = file_descriptor;
|
||||
iob->iob_SlotNumber = slot_number;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdio_locksemaphorename.c,v 1.5 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: stdio_locksemaphorename.c,v 1.4 2006-01-08 12:04:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -37,4 +37,4 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char * NOCOMMON __file_lock_semaphore_name = (char *)"Advisory File Locking";
|
||||
char * NOCOMMON __file_lock_semaphore_name = "Advisory File Locking";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdio_record_locking.c,v 1.16 2006-04-05 08:39:45 obarthel Exp $
|
||||
* $Id: stdio_record_locking.c,v 1.15 2006-01-08 12:04:25 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -1031,7 +1031,7 @@ __handle_record_locking(int cmd,struct flock * l,struct fd * fd,int * error_ptr)
|
||||
const int rand_max = RAND_MAX / 65536;
|
||||
int num_random_ticks;
|
||||
|
||||
if(__check_abort_enabled && (SetSignal(0,0) & __break_signal_mask) != 0)
|
||||
if(__check_abort_enabled && (SetSignal(0,0) & SIGBREAKF_CTRL_C) != 0)
|
||||
{
|
||||
SHOWMSG("lock polling loop stopped");
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdio_setvbuf.c,v 1.10 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: stdio_setvbuf.c,v 1.9 2006-01-08 12:04:25 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -154,7 +154,7 @@ setvbuf(FILE *stream,char *buf,int bufmode,size_t size)
|
||||
if(bufmode == IOBF_BUFFER_MODE_NONE)
|
||||
{
|
||||
/* Use the default buffer, which is one byte in size. */
|
||||
new_buffer = (char *)&file->iob_SingleByte;
|
||||
new_buffer = &file->iob_SingleByte;
|
||||
size = 1;
|
||||
}
|
||||
else
|
||||
@@ -162,7 +162,7 @@ setvbuf(FILE *stream,char *buf,int bufmode,size_t size)
|
||||
/* Replace the old buffer. */
|
||||
if(buf != NULL)
|
||||
{
|
||||
new_buffer = (char *)buf;
|
||||
new_buffer = (UBYTE *)buf;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -178,7 +178,7 @@ setvbuf(FILE *stream,char *buf,int bufmode,size_t size)
|
||||
assert( file->iob_BufferReadBytes == 0 );
|
||||
assert( file->iob_BufferWriteBytes == 0 );
|
||||
|
||||
file->iob_Buffer = (UBYTE *)new_buffer;
|
||||
file->iob_Buffer = new_buffer;
|
||||
file->iob_BufferSize = size;
|
||||
|
||||
file->iob_Flags &= ~IOBF_BUFFER_MODE;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdio_vfprintf.c,v 1.22 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: stdio_vfprintf.c,v 1.21 2006-01-08 12:04:25 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -1329,7 +1329,7 @@ vfprintf(FILE * stream,const char * format, va_list arg)
|
||||
#if defined(NDEBUG)
|
||||
{
|
||||
if(output_buffer == NULL)
|
||||
output_buffer = (char *)"";
|
||||
output_buffer = "";
|
||||
}
|
||||
#else
|
||||
{
|
||||
@@ -1504,13 +1504,13 @@ vfprintf(FILE * stream,const char * format, va_list arg)
|
||||
|
||||
/* Get ready to prefix a sign character, if required. */
|
||||
if(FLAG_IS_SET(format_flags,FORMATF_IsNegative))
|
||||
prefix = (char *)"-";
|
||||
prefix = "-";
|
||||
else if (FLAG_IS_SET(format_flags,FORMATF_ProduceSign))
|
||||
prefix = (char *)"+";
|
||||
prefix = "+";
|
||||
else if (FLAG_IS_SET(format_flags,FORMATF_ProduceSpace))
|
||||
prefix = (char *)" ";
|
||||
prefix = " ";
|
||||
else if (FLAG_IS_SET(format_flags,FORMATF_ZeroPrefix))
|
||||
prefix = (char *)"0";
|
||||
prefix = "0";
|
||||
else
|
||||
prefix = NULL;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdlib_arg.c,v 1.14 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: stdlib_arg.c,v 1.10 2006-01-08 12:04:25 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -121,32 +121,16 @@ ARG_CONSTRUCTOR(arg_init)
|
||||
/* Shell startup? */
|
||||
if(__WBenchMsg == NULL)
|
||||
{
|
||||
BOOL expand_wildcard_args;
|
||||
size_t number_of_arguments;
|
||||
unsigned char * arg_str;
|
||||
size_t arg_len;
|
||||
unsigned char * command_line;
|
||||
unsigned char * str;
|
||||
|
||||
/* Check if wildcard expansion of command line parameters
|
||||
should be enabled. Note that the callback function, if
|
||||
declared, takes precedence over the global variable. */
|
||||
#if defined(UNIX_PATH_SEMANTICS)
|
||||
{
|
||||
expand_wildcard_args = __expand_wildcard_args;
|
||||
|
||||
if(FindVar("DISABLE_COMMANDLINE_WILDCARD_EXPANSION",LV_VAR) != NULL)
|
||||
expand_wildcard_args = FALSE;
|
||||
|
||||
if(__expand_wildcard_args_check != NULL)
|
||||
expand_wildcard_args = (*__expand_wildcard_args_check)();
|
||||
}
|
||||
#endif /* UNIX_PATH_SEMANTICS */
|
||||
|
||||
/* Get the shell parameter string and find out
|
||||
how long it is, stripping a trailing line
|
||||
feed and blank spaces if necessary. */
|
||||
arg_str = (unsigned char *)GetArgStr();
|
||||
arg_str = GetArgStr();
|
||||
|
||||
while(is_space(*arg_str))
|
||||
arg_str++;
|
||||
@@ -250,16 +234,16 @@ ARG_CONSTRUCTOR(arg_init)
|
||||
#if defined(UNIX_PATH_SEMANTICS)
|
||||
{
|
||||
/* If necessary, indicate that this parameter was quoted. */
|
||||
if(expand_wildcard_args && __wildcard_quote_parameter(__argc) < 0)
|
||||
if(__wildcard_quote_parameter(__argc) < 0)
|
||||
goto out;
|
||||
}
|
||||
#endif /* UNIX_PATH_SEMANTICS */
|
||||
|
||||
str++;
|
||||
|
||||
__argv[__argc++] = (char *)str;
|
||||
__argv[__argc++] = str;
|
||||
|
||||
arg = (char *)str;
|
||||
arg = str;
|
||||
|
||||
/* Process the quoted string. */
|
||||
while((*str) != '\0' && NOT is_final_quote_character(str))
|
||||
@@ -314,7 +298,7 @@ ARG_CONSTRUCTOR(arg_init)
|
||||
}
|
||||
else
|
||||
{
|
||||
__argv[__argc++] = (char *)str;
|
||||
__argv[__argc++] = str;
|
||||
|
||||
while((*str) != '\0' && NOT is_space(*str))
|
||||
str++;
|
||||
@@ -335,7 +319,7 @@ ARG_CONSTRUCTOR(arg_init)
|
||||
{
|
||||
/* If necessary, expand wildcard patterns found in the command
|
||||
line string into file and directory names. */
|
||||
if(expand_wildcard_args && __wildcard_expand_init() < 0)
|
||||
if(__wildcard_expand_init() < 0)
|
||||
goto out;
|
||||
}
|
||||
#endif /* UNIX_PATH_SEMANTICS */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdlib_atoll.c,v 1.3 2006-08-02 08:00:27 obarthel Exp $
|
||||
* $Id: stdlib_atoll.c,v 1.2 2006-01-08 12:04:25 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -58,7 +58,7 @@ atoll(const char *str)
|
||||
{
|
||||
if(str == NULL)
|
||||
{
|
||||
__set_errno(EFAULT);
|
||||
errno = EFAULT;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
* $Id: stdlib_expand_wildcard.c,v 1.1 2006-05-04 08:01:47 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 _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
BOOL __expand_wildcard_args = TRUE;
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
* $Id: stdlib_expand_wildcard_check.c,v 1.1 2006-09-15 06:58: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>
|
||||
* 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 _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
BOOL (*__expand_wildcard_args_check)(void);
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdlib_main.c,v 1.32 2006-09-22 09:19:07 obarthel Exp $
|
||||
* $Id: stdlib_main.c,v 1.30 2006-01-08 12:04:25 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -347,7 +347,7 @@ _main(void)
|
||||
/* Try to open the libraries we need to proceed. */
|
||||
if(CANNOT open_libraries())
|
||||
{
|
||||
const char * error_message;
|
||||
char * error_message;
|
||||
|
||||
/* If available, use the error message provided by the client. */
|
||||
error_message = __minimum_os_lib_error;
|
||||
@@ -501,7 +501,7 @@ _main(void)
|
||||
tags[i]. ti_Tag = NP_StackSize;
|
||||
tags[i++]. ti_Data = stack_size;
|
||||
tags[i]. ti_Tag = NP_Name;
|
||||
tags[i++]. ti_Data = (ULONG)(__process_name != NULL ? __process_name : (char *)FilePart(program_name));
|
||||
tags[i++]. ti_Data = (ULONG)(__process_name != NULL ? __process_name : FilePart(program_name));
|
||||
tags[i]. ti_Tag = NP_CommandName;
|
||||
tags[i++]. ti_Data = (ULONG)FilePart(program_name);
|
||||
tags[i]. ti_Tag = NP_Cli;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdlib_setenv.c,v 1.11 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: stdlib_setenv.c,v 1.10 2006-01-08 12:04:26 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -220,7 +220,7 @@ setenv(const char *original_name, const char *original_value, int overwrite)
|
||||
}
|
||||
|
||||
if(value == NULL)
|
||||
value = (char *)"";
|
||||
value = "";
|
||||
|
||||
SHOWSTRING(name);
|
||||
SHOWSTRING(value);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: string_memcpy.c,v 1.8 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: string_memcpy.c,v 1.7 2006-01-08 12:04:26 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -312,8 +312,8 @@ __memcpy(unsigned char * to,unsigned char * from,size_t len)
|
||||
len -= sizeof(long);
|
||||
}
|
||||
|
||||
to = (unsigned char *)_to;
|
||||
from = (unsigned char *)_from;
|
||||
to = (char *)_to;
|
||||
from = (char *)_from;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: string_memmove.c,v 1.7 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: string_memmove.c,v 1.6 2006-01-08 12:04:26 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -447,8 +447,8 @@ __memmove(unsigned char * to,unsigned char * from,size_t len)
|
||||
len -= sizeof(long);
|
||||
}
|
||||
|
||||
to = (unsigned char *)_to;
|
||||
from = (unsigned char *)_from;
|
||||
to = (char *)_to;
|
||||
from = (char *)_from;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -549,8 +549,8 @@ __memmove(unsigned char * to,unsigned char * from,size_t len)
|
||||
len -= sizeof(long);
|
||||
}
|
||||
|
||||
to = (unsigned char *)_to;
|
||||
from = (unsigned char *)_from;
|
||||
to = (char *)_to;
|
||||
from = (char *)_from;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: string_memset.c,v 1.8 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: string_memset.c,v 1.7 2006-01-08 12:04:26 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -116,7 +116,7 @@ __memset(unsigned char * to,unsigned char value,size_t len)
|
||||
len -= sizeof(long);
|
||||
}
|
||||
|
||||
to = (unsigned char *)_to;
|
||||
to = (char *)_to;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: string_strerror.c,v 1.4 2006-09-17 17:36:42 obarthel Exp $
|
||||
* $Id: string_strerror.c,v 1.3 2006-01-08 12:04:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -37,27 +37,123 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static void
|
||||
number_to_string(int number,char * string,size_t string_size)
|
||||
static char * error_table[EILSEQ - EPERM + 1] =
|
||||
{
|
||||
"Operation not permitted",
|
||||
"No such file or directory",
|
||||
"No such process",
|
||||
"Interrupted system call",
|
||||
"Input/output error",
|
||||
"Device not configured",
|
||||
"Argument list too long",
|
||||
"Exec format error",
|
||||
"Bad file descriptor",
|
||||
"No child processes",
|
||||
"Resource deadlock avoided",
|
||||
"Cannot allocate memory",
|
||||
"Permission denied",
|
||||
"Bad address",
|
||||
"Block device required",
|
||||
"Device busy",
|
||||
"File exists",
|
||||
"Cross-device link",
|
||||
"Operation not supported by device",
|
||||
"Not a directory",
|
||||
"Is a directory",
|
||||
"Invalid argument",
|
||||
"Too many open files in system",
|
||||
"Too many open files",
|
||||
"Inappropriate ioctl for device",
|
||||
"Text file busy",
|
||||
"File too large",
|
||||
"No space left on device",
|
||||
"Illegal seek",
|
||||
"Read-only file system",
|
||||
"Too many links",
|
||||
"Broken pipe",
|
||||
"Numerical argument out of domain",
|
||||
"Result too large",
|
||||
"Resource temporarily unavailable",
|
||||
"Operation now in progress",
|
||||
"Operation already in progress",
|
||||
"Socket operation on non-socket",
|
||||
"Destination address required",
|
||||
"Message too long",
|
||||
"Protocol wrong type for socket",
|
||||
"Protocol not available",
|
||||
"Protocol not supported",
|
||||
"Socket type not supported",
|
||||
"Operation not supported on socket",
|
||||
"Protocol family not supported",
|
||||
"Address family not supported by protocol family",
|
||||
"Address already in use",
|
||||
"Can't assign requested address",
|
||||
"Network is down",
|
||||
"Network is unreachable",
|
||||
"Network dropped connection on reset",
|
||||
"Software caused connection abort",
|
||||
"Connection reset by peer",
|
||||
"No buffer space available",
|
||||
"Socket is already connected",
|
||||
"Socket is not connected",
|
||||
"Can't send after socket shutdown",
|
||||
"Too many references: can't splice",
|
||||
"Connection timed out",
|
||||
"Connection refused",
|
||||
"Too many levels of symbolic links",
|
||||
"File name too long",
|
||||
"Host is down",
|
||||
"No route to host",
|
||||
"Directory not empty",
|
||||
"Too many processes",
|
||||
"Too many users",
|
||||
"Disc quota exceeded",
|
||||
"Stale NFS file handle",
|
||||
"Too many levels of remote in path",
|
||||
"RPC struct is bad",
|
||||
"RPC version wrong",
|
||||
"RPC program not available",
|
||||
"Program version wrong",
|
||||
"Bad procedure for program",
|
||||
"No locks available",
|
||||
"Function not implemented",
|
||||
"Inappropriate file type or format",
|
||||
"Authentication error",
|
||||
"Need authenticator",
|
||||
"Identifier removed",
|
||||
"No message of the desired type.",
|
||||
"Value too large to be stored in data type.",
|
||||
"Encoding error detected"
|
||||
};
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char *
|
||||
strerror(int error_number)
|
||||
{
|
||||
char * result;
|
||||
|
||||
if(error_number < EPERM || error_number > EILSEQ)
|
||||
{
|
||||
static char error_buffer[80];
|
||||
char number[30];
|
||||
char *s = number;
|
||||
int is_negative = 0;
|
||||
char * s = string;
|
||||
unsigned int n;
|
||||
size_t i,len;
|
||||
char c;
|
||||
int i,len,c;
|
||||
|
||||
/* We convert the error number into in an unsigned
|
||||
integer, so that numbers such as 0x80000000
|
||||
can come out of the conversion. */
|
||||
if(number < 0)
|
||||
if(error_number < 0)
|
||||
{
|
||||
is_negative = 1;
|
||||
|
||||
n = (-number);
|
||||
n = (-error_number);
|
||||
}
|
||||
else
|
||||
{
|
||||
n = number;
|
||||
n = error_number;
|
||||
}
|
||||
|
||||
/* Convert the error number into a string of digits. */
|
||||
@@ -69,10 +165,10 @@ number_to_string(int number,char * string,size_t string_size)
|
||||
n /= 10;
|
||||
len++;
|
||||
}
|
||||
while(n > 0 && len < string_size-1);
|
||||
while(n > 0 && len < (int)sizeof(number)-1);
|
||||
|
||||
/* Add the sign, if necessary. */
|
||||
if(is_negative && len < string_size-1)
|
||||
if(is_negative && len < (int)sizeof(number)-1)
|
||||
{
|
||||
(*s++) = '-';
|
||||
len++;
|
||||
@@ -83,32 +179,20 @@ number_to_string(int number,char * string,size_t string_size)
|
||||
/* Reverse the string in place. */
|
||||
for(i = 0 ; i < len / 2 ; i++)
|
||||
{
|
||||
c = string[len-1-i];
|
||||
string[len-1-i] = string[i];
|
||||
string[i] = c;
|
||||
c = number[len-1-i];
|
||||
number[len-1-i] = number[i];
|
||||
number[i] = c;
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
strcpy(error_buffer,"Unknown error ");
|
||||
strcat(error_buffer,number);
|
||||
|
||||
char *
|
||||
strerror(int error_number)
|
||||
{
|
||||
static char error_message[80];
|
||||
|
||||
/* NOTE: We are making the assumption that if strerror_r() fails, it
|
||||
will fail only because the error code is unknown, and not
|
||||
because the size of the supplied buffer is too small. */
|
||||
|
||||
if(strerror_r(error_number,error_message,sizeof(error_message)) != 0)
|
||||
result = error_buffer;
|
||||
}
|
||||
else
|
||||
{
|
||||
char number[20];
|
||||
|
||||
number_to_string(error_number,number,sizeof(number));
|
||||
|
||||
strcpy(error_message,"Unknown error ");
|
||||
strcat(error_message,number);
|
||||
result = error_table[error_number - EPERM];
|
||||
}
|
||||
|
||||
return(error_message);
|
||||
return(result);
|
||||
}
|
||||
|
||||
@@ -1,164 +0,0 @@
|
||||
/*
|
||||
* $Id: string_strerror_r.c,v 1.2 2006-09-21 09:24: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>
|
||||
* 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 _STRING_HEADERS_H
|
||||
#include "string_headers.h"
|
||||
#endif /* _STRING_HEADERS_H */
|
||||
|
||||
#ifndef _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static const char * error_table[EILSEQ - EPERM + 1] =
|
||||
{
|
||||
"Operation not permitted",
|
||||
"No such file or directory",
|
||||
"No such process",
|
||||
"Interrupted system call",
|
||||
"Input/output error",
|
||||
"Device not configured",
|
||||
"Argument list too long",
|
||||
"Exec format error",
|
||||
"Bad file descriptor",
|
||||
"No child processes",
|
||||
"Resource deadlock avoided",
|
||||
"Cannot allocate memory",
|
||||
"Permission denied",
|
||||
"Bad address",
|
||||
"Block device required",
|
||||
"Device busy",
|
||||
"File exists",
|
||||
"Cross-device link",
|
||||
"Operation not supported by device",
|
||||
"Not a directory",
|
||||
"Is a directory",
|
||||
"Invalid argument",
|
||||
"Too many open files in system",
|
||||
"Too many open files",
|
||||
"Inappropriate ioctl for device",
|
||||
"Text file busy",
|
||||
"File too large",
|
||||
"No space left on device",
|
||||
"Illegal seek",
|
||||
"Read-only file system",
|
||||
"Too many links",
|
||||
"Broken pipe",
|
||||
"Numerical argument out of domain",
|
||||
"Result too large",
|
||||
"Resource temporarily unavailable",
|
||||
"Operation now in progress",
|
||||
"Operation already in progress",
|
||||
"Socket operation on non-socket",
|
||||
"Destination address required",
|
||||
"Message too long",
|
||||
"Protocol wrong type for socket",
|
||||
"Protocol not available",
|
||||
"Protocol not supported",
|
||||
"Socket type not supported",
|
||||
"Operation not supported on socket",
|
||||
"Protocol family not supported",
|
||||
"Address family not supported by protocol family",
|
||||
"Address already in use",
|
||||
"Can't assign requested address",
|
||||
"Network is down",
|
||||
"Network is unreachable",
|
||||
"Network dropped connection on reset",
|
||||
"Software caused connection abort",
|
||||
"Connection reset by peer",
|
||||
"No buffer space available",
|
||||
"Socket is already connected",
|
||||
"Socket is not connected",
|
||||
"Can't send after socket shutdown",
|
||||
"Too many references: can't splice",
|
||||
"Connection timed out",
|
||||
"Connection refused",
|
||||
"Too many levels of symbolic links",
|
||||
"File name too long",
|
||||
"Host is down",
|
||||
"No route to host",
|
||||
"Directory not empty",
|
||||
"Too many processes",
|
||||
"Too many users",
|
||||
"Disc quota exceeded",
|
||||
"Stale NFS file handle",
|
||||
"Too many levels of remote in path",
|
||||
"RPC struct is bad",
|
||||
"RPC version wrong",
|
||||
"RPC program not available",
|
||||
"Program version wrong",
|
||||
"Bad procedure for program",
|
||||
"No locks available",
|
||||
"Function not implemented",
|
||||
"Inappropriate file type or format",
|
||||
"Authentication error",
|
||||
"Need authenticator",
|
||||
"Identifier removed",
|
||||
"No message of the desired type.",
|
||||
"Value too large to be stored in data type.",
|
||||
"Encoding error detected"
|
||||
};
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
int
|
||||
strerror_r(int number,char * buffer,size_t buffer_size)
|
||||
{
|
||||
int result = -1;
|
||||
const char * str;
|
||||
size_t len;
|
||||
|
||||
if(number < EPERM || number > EILSEQ)
|
||||
{
|
||||
__set_errno(EINVAL);
|
||||
goto out;
|
||||
}
|
||||
|
||||
str = error_table[number - EPERM];
|
||||
|
||||
len = strlen(str);
|
||||
if(len >= buffer_size)
|
||||
{
|
||||
__set_errno(ERANGE);
|
||||
goto out;
|
||||
}
|
||||
|
||||
strcpy(buffer,str);
|
||||
|
||||
result = 0;
|
||||
|
||||
out:
|
||||
|
||||
return(result);
|
||||
}
|
||||
@@ -1,214 +0,0 @@
|
||||
/*
|
||||
* $Id: systeminfo_sysinfo.c,v 1.5 2006-09-22 09:02:51 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.
|
||||
*/
|
||||
|
||||
#include <sys/systeminfo.h>
|
||||
#include <sys/utsname.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(SOCKET_SUPPORT) && !defined(_SOCKET_HEADERS_H)
|
||||
#include "socket_headers.h"
|
||||
#endif /* SOCKET_SUPPORT && !_SOCKET_HEADERS_H */
|
||||
|
||||
#ifndef _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if !defined(__amigaos4__)
|
||||
#include <exec/execbase.h>
|
||||
|
||||
/* The order here is important. */
|
||||
static const struct { UWORD flags; char *name; } isanames[] =
|
||||
{
|
||||
/* Apparently there is a 060 card sans FPU, but how to detect it without a LineF exception?
|
||||
Perhaps I should see if I can find my old MC68060 manual. */
|
||||
{AFF_68060|AFF_68060, "68060+fpu060 "},
|
||||
{AFF_68060|AFF_68060, "68060+fpu "},
|
||||
{AFF_68040|AFF_FPU40, "68040+fpu040 "},
|
||||
{AFF_68040|AFF_68882, "68040+fpu "},
|
||||
{AFF_68040|AFF_68881, "68040+fpu "},
|
||||
{AFF_68040, "68040 "},
|
||||
{AFF_68030|AFF_68882, "68030+fpu "},
|
||||
{AFF_68030|AFF_68881, "68030+fpu "},
|
||||
{AFF_68020|AFF_68882, "68020+fpu "},
|
||||
{AFF_68020|AFF_68881, "68020+fpu "},
|
||||
{AFF_68030, "68030 "},
|
||||
{AFF_68020, "68020 "},
|
||||
{AFF_68010, "68010 "},
|
||||
};
|
||||
#endif /* !__amigaos4__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
long
|
||||
sysinfo(int cmd,char *buf,long buflen)
|
||||
{
|
||||
struct utsname info;
|
||||
long ret = -1;
|
||||
|
||||
ENTER();
|
||||
|
||||
if(buf == NULL)
|
||||
{
|
||||
__set_errno(EFAULT);
|
||||
goto out;
|
||||
}
|
||||
|
||||
uname(&info); /* Most of the keys use this. */
|
||||
|
||||
switch(cmd)
|
||||
{
|
||||
case SI_SYSNAME:
|
||||
|
||||
ret = strlcpy(buf,info.sysname,buflen);
|
||||
break;
|
||||
|
||||
case SI_HOSTNAME:
|
||||
|
||||
ret = strlcpy(buf,info.nodename,buflen);
|
||||
break;
|
||||
|
||||
case SI_SET_HOSTNAME:
|
||||
|
||||
__set_errno(EPERM);
|
||||
goto out;
|
||||
|
||||
case SI_RELEASE:
|
||||
|
||||
ret = strlcpy(buf,info.release,buflen);
|
||||
break;
|
||||
|
||||
case SI_VERSION:
|
||||
|
||||
ret = strlcpy(buf,info.version,buflen);
|
||||
break;
|
||||
|
||||
case SI_MACHINE:
|
||||
|
||||
ret = strlcpy(buf,"amiga",buflen);
|
||||
break;
|
||||
|
||||
case SI_ARCHITECTURE:
|
||||
|
||||
ret = strlcpy(buf,info.machine,buflen);
|
||||
break;
|
||||
|
||||
case SI_ISALIST:
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
/* Solaris uses "ppc" as the isa name, but gcc uses powerpc. "ppc+altivec" follows the
|
||||
convention of specifying isa+ext from Solaris on SPARC machines. This way of implementing
|
||||
SI_ISALIST seemed like a good idea at the time. */
|
||||
const char * s;
|
||||
uint32 vecu;
|
||||
|
||||
GetCPUInfoTags(GCIT_VectorUnit,&vecu,TAG_DONE);
|
||||
|
||||
if(vecu == VECTORTYPE_ALTIVEC || vecu == VECTORTYPE_VMX) /* AltiVec and VMX are the same. */
|
||||
s = "ppc+altivec ppc common";
|
||||
else
|
||||
s = "ppc common";
|
||||
|
||||
ret = strlcpy(buf,s,buflen);
|
||||
}
|
||||
#else
|
||||
{
|
||||
UWORD attention_flags = ((struct ExecBase *)SysBase)->AttnFlags;
|
||||
char * last_added = "";
|
||||
size_t i;
|
||||
|
||||
ret = 0;
|
||||
|
||||
strlcpy(buf,"",buflen);
|
||||
|
||||
for(i = 0 ; i < NUM_ENTRIES(isanames) ; i++)
|
||||
{
|
||||
if((attention_flags & isanames[i].flags) == isanames[i].flags)
|
||||
{
|
||||
if(strcmp(last_added,isanames[i].name) != SAME)
|
||||
{
|
||||
ret += strlcat(buf,isanames[i].name,buflen);
|
||||
|
||||
last_added = isanames[i].name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ret += strlcat(buf,"68000",buflen);
|
||||
}
|
||||
#endif
|
||||
|
||||
break;
|
||||
|
||||
case SI_PLATFORM: /* TODO: Figure out a good way of checking this. */
|
||||
|
||||
ret = strlcpy(buf,"Amiga,Unknown",buflen);
|
||||
break;
|
||||
|
||||
case SI_HW_PROVIDER: /* TODO: Figure out a good way of checking this. */
|
||||
|
||||
ret = strlcpy(buf,"Unknown",buflen);
|
||||
break;
|
||||
|
||||
case SI_HW_SERIAL:
|
||||
|
||||
#if defined(SOCKET_SUPPORT)
|
||||
{
|
||||
ret = snprintf(buf,buflen,"%lu",gethostid());
|
||||
}
|
||||
#else
|
||||
{
|
||||
ret = strlcpy(buf,"0",buflen);
|
||||
}
|
||||
#endif
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
__set_errno(EINVAL);
|
||||
goto out;
|
||||
}
|
||||
|
||||
out:
|
||||
|
||||
RETURN(ret);
|
||||
return(ret);
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: termios_console_fdhookentry.c,v 1.4 2006-09-20 19:46:57 obarthel Exp $
|
||||
* $Id: termios_console_fdhookentry.c,v 1.2 2006-01-08 12:04:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -328,7 +328,7 @@ __termios_console_hook(
|
||||
}
|
||||
else
|
||||
{
|
||||
if(WaitForChar(file,100000*tios->c_cc[VTIME]))
|
||||
if(WaitForChar(fd->fd_DefaultFile,100000*tios->c_cc[VTIME]))
|
||||
result = Read(file,fam->fam_Data,fam->fam_Size);
|
||||
}
|
||||
}
|
||||
@@ -589,18 +589,7 @@ __termios_console_hook(
|
||||
|
||||
fh = BADDR(file);
|
||||
|
||||
/* Special treatment for "NIL:", for which we make
|
||||
some stuff up. */
|
||||
if(fh->fh_Type == NULL)
|
||||
{
|
||||
/* Make up some stuff for this stream. */
|
||||
memset(fam->fam_FileInfo,0,sizeof(*fam->fam_FileInfo));
|
||||
|
||||
DateStamp(&fam->fam_FileInfo->fib_Date);
|
||||
|
||||
fam->fam_FileInfo->fib_DirEntryType = ST_NIL;
|
||||
}
|
||||
else if (CANNOT __safe_examine_file_handle(file,fam->fam_FileInfo))
|
||||
if(CANNOT __safe_examine_file_handle(file,fam->fam_FileInfo))
|
||||
{
|
||||
LONG error;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: time_asctime_r.c,v 1.9 2006-09-22 09:02:51 obarthel Exp $
|
||||
* $Id: time_asctime_r.c,v 1.8 2006-01-08 12:04:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -177,7 +177,7 @@ __asctime_r(const struct tm *tm,char * buffer,size_t buffer_size)
|
||||
}
|
||||
else
|
||||
{
|
||||
result = (char *)"";
|
||||
result = "";
|
||||
}
|
||||
|
||||
out:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: time_strftime.c,v 1.19 2006-04-05 06:43:56 obarthel Exp $
|
||||
* $Id: time_strftime.c,v 1.18 2006-01-08 12:04:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -59,8 +59,8 @@ struct format_hook_data
|
||||
STATIC VOID
|
||||
format_hook_function(
|
||||
struct Hook * hook,
|
||||
struct Locale * UNUSED unused_locale,
|
||||
ULONG c)
|
||||
long c,
|
||||
struct Locale * UNUSED unused_locale)
|
||||
{
|
||||
struct format_hook_data * data = hook->h_Data;
|
||||
|
||||
@@ -97,7 +97,7 @@ store_string_via_hook(const char * string,int len,struct Hook * hook)
|
||||
len = strlen(string);
|
||||
|
||||
while(len-- > 0)
|
||||
CallHookPkt(hook,NULL,(APTR)((ULONG)(*string++)));
|
||||
CallHookPkt(hook,(APTR)((ULONG)(*string++)),NULL);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
/*
|
||||
* $Id: timeb_ftime.c,v 1.2 2006-07-28 14:37: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>
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include <sys/timeb.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
int
|
||||
ftime(struct timeb *tb)
|
||||
{
|
||||
struct timeval tv;
|
||||
struct timezone tz;
|
||||
int retval = -1;
|
||||
|
||||
ENTER();
|
||||
|
||||
if(tb == NULL)
|
||||
{
|
||||
__set_errno(EFAULT);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if(gettimeofday(&tv,&tz) != 0)
|
||||
goto out;
|
||||
|
||||
tb->time = tv.tv_sec;
|
||||
tb->millitm = tv.tv_usec / 1000;
|
||||
tb->timezone = tz.tz_minuteswest;
|
||||
tb->dstflag = tz.tz_dsttime;
|
||||
|
||||
retval = 0;
|
||||
|
||||
out:
|
||||
|
||||
RETURN(retval);
|
||||
return(retval);
|
||||
}
|
||||
@@ -1,94 +0,0 @@
|
||||
/*
|
||||
* $Id: ulimit_ulimit.c,v 1.2 2006-07-28 14:37: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>
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include <ulimit.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
long
|
||||
ulimit(int cmd,long newlim)
|
||||
{
|
||||
long ret = -1;
|
||||
|
||||
switch(cmd)
|
||||
{
|
||||
case UL_GETFSIZE:
|
||||
|
||||
/* Maximum number of 512-byte blocks in a file. Largefile aware programs should not use ulimit() anyway. */
|
||||
ret = (0x7fffffffL >> 9) - 1L; /* Max Filesize/512 - 1 */
|
||||
break;
|
||||
|
||||
case UL_GMEMLIM: /* Which flags are appropriate for AvailMem()? */
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
ret = AvailMem(MEMF_TOTAL|MEMF_VIRTUAL);
|
||||
}
|
||||
#else
|
||||
{
|
||||
ret = AvailMem(MEMF_ANY|MEMF_LARGEST); /* Too conservative? */
|
||||
}
|
||||
#endif
|
||||
|
||||
break;
|
||||
|
||||
case UL_GDESLIM: /* No limit, so we just return a reasonably large value. */
|
||||
|
||||
ret = 1024;
|
||||
break;
|
||||
|
||||
case UL_SETFSIZE: /* Not supported */
|
||||
|
||||
__set_errno(EPERM);
|
||||
goto out;
|
||||
|
||||
default:
|
||||
|
||||
__set_errno(EINVAL);
|
||||
goto out;
|
||||
}
|
||||
|
||||
out:
|
||||
|
||||
return(ret);
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: unistd_chown.c,v 1.11 2006-04-05 08:19:11 obarthel Exp $
|
||||
* $Id: unistd_chown.c,v 1.9 2006-01-08 12:04:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@@ -54,8 +54,6 @@ chown(const char * path_name, uid_t owner, gid_t group)
|
||||
struct name_translation_info path_name_nti;
|
||||
#endif /* UNIX_PATH_SEMANTICS */
|
||||
struct DevProc * dvp = NULL;
|
||||
BPTR file_lock = ZERO;
|
||||
BOOL owner_changed = TRUE;
|
||||
LONG status;
|
||||
int result = ERROR;
|
||||
|
||||
@@ -82,6 +80,14 @@ chown(const char * path_name, uid_t owner, gid_t group)
|
||||
}
|
||||
#endif /* CHECK_FOR_NULL_POINTERS */
|
||||
|
||||
if(owner > 65535 || group > 65535)
|
||||
{
|
||||
SHOWMSG("invalid owner or group");
|
||||
|
||||
__set_errno(EINVAL);
|
||||
goto out;
|
||||
}
|
||||
|
||||
#if defined(UNIX_PATH_SEMANTICS)
|
||||
{
|
||||
if(__unix_path_semantics)
|
||||
@@ -106,52 +112,6 @@ chown(const char * path_name, uid_t owner, gid_t group)
|
||||
}
|
||||
#endif /* UNIX_PATH_SEMANTICS */
|
||||
|
||||
/* A value of -1 for either the owner or the group ID means
|
||||
that what's currently being used should not be changed. */
|
||||
if(owner == (uid_t)-1 || group == (gid_t)-1)
|
||||
{
|
||||
D_S(struct FileInfoBlock,fib);
|
||||
|
||||
PROFILE_OFF();
|
||||
|
||||
/* Try to find out which owner/group information
|
||||
is currently in use. */
|
||||
file_lock = Lock((STRPTR)path_name,SHARED_LOCK);
|
||||
if(file_lock == ZERO || CANNOT Examine(file_lock,fib))
|
||||
{
|
||||
PROFILE_ON();
|
||||
|
||||
__set_errno(__translate_access_io_error_to_errno(IoErr()));
|
||||
goto out;
|
||||
}
|
||||
|
||||
UnLock(file_lock);
|
||||
file_lock = ZERO;
|
||||
|
||||
PROFILE_ON();
|
||||
|
||||
/* Replace the information that should not be changed. */
|
||||
if(owner == (uid_t)-1)
|
||||
owner = fib->fib_OwnerUID;
|
||||
|
||||
if(group == (gid_t)-1)
|
||||
group = fib->fib_OwnerGID;
|
||||
|
||||
/* Is anything different at all? */
|
||||
if(owner == fib->fib_OwnerUID && group == fib->fib_OwnerGID)
|
||||
owner_changed = FALSE;
|
||||
}
|
||||
|
||||
if(owner > 65535 || group > 65535)
|
||||
{
|
||||
SHOWMSG("invalid owner or group");
|
||||
|
||||
__set_errno(EINVAL);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if(owner_changed)
|
||||
{
|
||||
D(("changing owner of '%s'",path_name));
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
@@ -205,19 +165,13 @@ chown(const char * path_name, uid_t owner, gid_t group)
|
||||
__set_errno(__translate_io_error_to_errno(IoErr()));
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
result = OK;
|
||||
|
||||
out:
|
||||
|
||||
PROFILE_OFF();
|
||||
|
||||
FreeDeviceProc(dvp);
|
||||
|
||||
if(file_lock != ZERO)
|
||||
UnLock(file_lock);
|
||||
|
||||
PROFILE_ON();
|
||||
|
||||
RETURN(result);
|
||||
|
||||
@@ -1,266 +0,0 @@
|
||||
/*
|
||||
* $Id: unistd_common_pathconf.c,v 1.3 2006-09-21 09:24: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>
|
||||
* 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 _STDLIB_NULL_POINTER_CHECK_H
|
||||
#include "stdlib_null_pointer_check.h"
|
||||
#endif /* _STDLIB_NULL_POINTER_CHECK_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _UNISTD_HEADERS_H
|
||||
#include "unistd_headers.h"
|
||||
#endif /* _UNISTD_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef ID_CON
|
||||
#define ID_CON (0x434F4E00L) /* 'CON\0' */
|
||||
#endif /* ID_CON */
|
||||
|
||||
#ifndef ID_RAWCON
|
||||
#define ID_RAWCON (0x52415700L) /* 'RAW\0' */
|
||||
#endif /* ID_RAWCON */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct fs_info
|
||||
{
|
||||
ULONG dos_type;
|
||||
int name_max,path_max;
|
||||
int link_max,symlink_max;
|
||||
int file_size_bits;
|
||||
};
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static const struct fs_info fs_info[] =
|
||||
{
|
||||
{ID_NO_DISK_PRESENT, 0, 0, 0, 0, 0}, /* No disk */
|
||||
{ID_UNREADABLE_DISK, 0, 0, 0, 0, 0}, /* BAD\0 */
|
||||
{ID_BUSY_DISK, 0, 0, 0, 0, 0}, /* BUSY - Diskchange in progress? */
|
||||
{ID_CON, 0, 0, 0, 0, 0}, /* CON\0 - Not really a disk. */
|
||||
{ID_RAWCON, 0, 0, 0, 0, 0}, /* RAW\0 - Not really a disk. */
|
||||
{ID_NOT_REALLY_DOS, 0, 0, 0, 0, 0}, /* Unreadable disk. */
|
||||
{ID_KICKSTART_DISK, 0, 0, 0, 0, 0}, /* Kickstart disk. */
|
||||
{ID_MSDOS_DISK, 8, 31, 0, 0, 30}, /* MSDOS - TODO: Check what the limits really are. */
|
||||
{ID_DOS_DISK, 30, 254, -1, -1, 31}, /* DOS\0 = OFS */
|
||||
{ID_FFS_DISK, 30, 254, -1, -1, 31}, /* DOS\1 = FFS */
|
||||
{ID_INTER_DOS_DISK, 30, 254, -1, -1, 31}, /* DOS\2 = OFS INTL */
|
||||
{ID_INTER_FFS_DISK, 30, 254, -1, -1, 31}, /* DOS\3 = FFS INTL */
|
||||
{ID_FASTDIR_DOS_DISK, 30, 254, -1, -1, 31}, /* DOS\4 = OFS DC */
|
||||
{ID_FASTDIR_FFS_DISK, 30, 254, -1, -1, 31}, /* DOS\5 = FFS DC */
|
||||
{ID_LONGNAME_DOS_DISK, 107, 8192, -1, -1, 31}, /* DOS\6 = OFS LONGNAMES */
|
||||
{ID_LONGNAME_FFS_DISK, 107, 8192, -1, -1, 63}, /* DOS\7 = FFS LONGNAMES */
|
||||
{0x53465300, 107, 8192, 0, -1, 31}, /* SFS\0 = Smartfilesystem */
|
||||
{0x53465302, 107, 8192, 0, -1, 63}, /* SFS\2 = Smartfilesystem2 */
|
||||
{0x50465300, 30, 254, 0, 0, 31}, /* PFS\0 = Professional File System */
|
||||
{0x46545854, 0, 0, 0, 0, 0}, /* FTXT - Textclip device */
|
||||
};
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
long
|
||||
__pathconf(struct MsgPort *port,int name)
|
||||
{
|
||||
ULONG dos_type = 0;
|
||||
size_t fs_index = 0;
|
||||
long ret = -1;
|
||||
|
||||
if(port != NULL)
|
||||
{
|
||||
D_S(struct InfoData,id);
|
||||
|
||||
if(DoPkt(port,ACTION_IS_FILESYSTEM,0,0,0,0,0) == DOSFALSE) /* Not a filesystem. */
|
||||
{
|
||||
SHOWMSG("Not a filesystem.");
|
||||
|
||||
__set_errno(ENODEV);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if(DoPkt(port,ACTION_DISK_INFO,MKBADDR(id),0,0,0,0)) /* Managed to obtain disk info. */
|
||||
{
|
||||
size_t i;
|
||||
|
||||
switch(id->id_DiskState)
|
||||
{
|
||||
case ID_VALIDATING: /* Consider this an error condition? */
|
||||
case ID_WRITE_PROTECTED:
|
||||
case ID_VALIDATED:
|
||||
|
||||
dos_type = id->id_DiskType;
|
||||
|
||||
/* See if we know anything about this file-system */
|
||||
for(i = 0 ; i < NUM_ENTRIES(fs_info) ; i++)
|
||||
{
|
||||
if(dos_type == fs_info[i].dos_type)
|
||||
{
|
||||
fs_index = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
SHOWMSG("Invalid disk state.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Treat error as no disk present by having default fs_index=0 */
|
||||
SHOWMSG("Unable to query DISK_INFO");
|
||||
}
|
||||
}
|
||||
|
||||
switch(name)
|
||||
{
|
||||
case _PC_FILESIZEBITS:
|
||||
|
||||
ret = fs_info[fs_index].file_size_bits;
|
||||
break;
|
||||
|
||||
case _PC_LINK_MAX:
|
||||
|
||||
ret = fs_info[fs_index].link_max;
|
||||
break;
|
||||
|
||||
case _PC_MAX_CANON:
|
||||
|
||||
ret = 510; /* I could not find any documentation regarding this. */
|
||||
break;
|
||||
|
||||
case _PC_MAX_INPUT:
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
uint32 Bufsize;
|
||||
struct TagItem TagList[2]=
|
||||
{
|
||||
{DC_FHBufferR, (ULONG)&Bufsize},
|
||||
{TAG_DONE, 0}
|
||||
};
|
||||
|
||||
DosControl(TagList);
|
||||
ret = Bufsize; /* Default is 2048 bytes. */
|
||||
}
|
||||
#else
|
||||
{
|
||||
ret = 204;
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
break;
|
||||
|
||||
case _PC_NAME_MAX:
|
||||
|
||||
ret = fs_info[fs_index].name_max;
|
||||
break;
|
||||
|
||||
case _PC_PATH_MAX:
|
||||
|
||||
ret = fs_info[fs_index].path_max;
|
||||
break;
|
||||
|
||||
case _PC_PIPE_BUF:
|
||||
|
||||
ret = 512; /* One buffer. The PIPE: device usually has 8 of these. */
|
||||
break;
|
||||
|
||||
case _PC_XATTR_ENABLED:
|
||||
|
||||
ret = 0;
|
||||
break;
|
||||
|
||||
case _PC_XATTR_EXISTS:
|
||||
|
||||
ret = 0;
|
||||
break;
|
||||
|
||||
case _PC_CHOWN_RESTRICTED:
|
||||
|
||||
ret = 0;
|
||||
break;
|
||||
|
||||
case _PC_NO_TRUNC:
|
||||
|
||||
ret = 0;
|
||||
break;
|
||||
|
||||
case _PC_VDISABLE:
|
||||
|
||||
ret = 0; /* TODO: Implement this in the termios emulation. */
|
||||
break;
|
||||
|
||||
case _PC_ASYNC_IO:
|
||||
|
||||
ret = 0;
|
||||
break;
|
||||
|
||||
case _PC_PRIO_IO:
|
||||
|
||||
ret = 0;
|
||||
break;
|
||||
|
||||
case _PC_SYNC_IO:
|
||||
|
||||
ret = 0;
|
||||
break;
|
||||
|
||||
case _PC_SYMLINK_MAX:
|
||||
|
||||
ret = fs_info[fs_index].symlink_max;
|
||||
break;
|
||||
|
||||
case _PC_DOSTYPE: /* Amiga-specific extension. */
|
||||
|
||||
ret = dos_type;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
SHOWMSG("Invalid option name");
|
||||
__set_errno(EINVAL);
|
||||
goto out;
|
||||
}
|
||||
|
||||
out:
|
||||
|
||||
return(ret);
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
* $Id: unistd_def_path.c,v 1.3 2006-09-22 09:02:51 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 _UNISTD_HEADERS_H
|
||||
#include "unistd_headers.h"
|
||||
#endif /* _UNISTD_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char * __default_path = (char *)"/gcc/bin:/SDK/C:/SDK/Local/C:/C:.";
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
* $Id: unistd_def_path_delimiter.c,v 1.3 2006-09-22 09:02:51 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 _UNISTD_HEADERS_H
|
||||
#include "unistd_headers.h"
|
||||
#endif /* _UNISTD_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char * __default_path_delimiter = (char *)":";
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
* $Id: unistd_environ.c,v 1.1 2006-08-02 08:00: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>
|
||||
* 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 _UNISTD_HEADERS_H
|
||||
#include "unistd_headers.h"
|
||||
#endif /* _UNISTD_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char ** environ;
|
||||
@@ -1,98 +0,0 @@
|
||||
/*
|
||||
* $Id: unistd_execl.c,v 1.3 2006-08-02 08:00: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>
|
||||
* 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 _UNISTD_HEADERS_H
|
||||
#include "unistd_headers.h"
|
||||
#endif /* _UNISTD_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
int
|
||||
execl(const char *path, const char *arg0, ...)
|
||||
{
|
||||
char ** argv = NULL;
|
||||
int result = -1;
|
||||
size_t argc = 0;
|
||||
va_list args;
|
||||
|
||||
/* If there are any, count the number of arguments supplied */
|
||||
if(arg0 != NULL)
|
||||
{
|
||||
argc = 1;
|
||||
|
||||
va_start(args,arg0);
|
||||
|
||||
while(va_arg(args,const char *) != NULL)
|
||||
argc++;
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
/* Allocate enough memory for the entire argument list
|
||||
plus the terminating NULL */
|
||||
argv = (char **)malloc(sizeof(*argv) * (argc + 1));
|
||||
if(argv == NULL)
|
||||
{
|
||||
__set_errno(ENOMEM);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if(argc > 0)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
argv[0] = (char *)arg0;
|
||||
|
||||
va_start(args,arg0);
|
||||
|
||||
for(i = 1 ; i < argc ; i++)
|
||||
argv[i] = va_arg(args,char *);
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
argv[argc] = NULL;
|
||||
|
||||
result = execve(path,(char * const *)argv,environ);
|
||||
|
||||
out:
|
||||
|
||||
if(argv != NULL)
|
||||
free(argv);
|
||||
|
||||
return(result);
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
/*
|
||||
* $Id: unistd_execle.c,v 1.3 2006-08-02 06:49:47 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 _UNISTD_HEADERS_H
|
||||
#include "unistd_headers.h"
|
||||
#endif /* _UNISTD_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
int
|
||||
execle(const char *path, const char *arg0, ...)
|
||||
{
|
||||
char ** argv = NULL;
|
||||
int result = -1;
|
||||
size_t argc = 0;
|
||||
va_list args;
|
||||
char **envp;
|
||||
|
||||
/* If there are any, count the number of arguments supplied */
|
||||
if(arg0 != NULL)
|
||||
{
|
||||
argc = 1;
|
||||
|
||||
va_start(args,arg0);
|
||||
|
||||
while(va_arg(args,const char *) != NULL)
|
||||
argc++;
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
/* Allocate enough memory for the entire argument list
|
||||
plus the terminating NULL */
|
||||
argv = (char **)malloc(sizeof(*argv) * (argc + 1));
|
||||
if(argv == NULL)
|
||||
{
|
||||
__set_errno(ENOMEM);
|
||||
goto out;
|
||||
}
|
||||
|
||||
va_start(args,arg0);
|
||||
|
||||
if(argc > 0)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
argv[0] = (char *)arg0;
|
||||
|
||||
for(i = 1 ; i < argc ; i++)
|
||||
argv[i] = va_arg(args,char *);
|
||||
|
||||
/* Skip the NULL terminator */
|
||||
(void)va_arg(args, char **);
|
||||
}
|
||||
|
||||
envp = va_arg(args, char **);
|
||||
|
||||
va_end(args);
|
||||
|
||||
argv[argc] = NULL;
|
||||
|
||||
result = execve(path,(char * const *)argv, envp );
|
||||
|
||||
out:
|
||||
|
||||
if(argv != NULL)
|
||||
free(argv);
|
||||
|
||||
return(result);
|
||||
}
|
||||
@@ -1,98 +0,0 @@
|
||||
/*
|
||||
* $Id: unistd_execlp.c,v 1.2 2006-08-02 06:49:47 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 _UNISTD_HEADERS_H
|
||||
#include "unistd_headers.h"
|
||||
#endif /* _UNISTD_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
int
|
||||
execlp(const char *path, const char *arg0, ...)
|
||||
{
|
||||
char ** argv = NULL;
|
||||
int result = -1;
|
||||
size_t argc = 0;
|
||||
va_list args;
|
||||
|
||||
/* If there are any, count the number of arguments supplied */
|
||||
if(arg0 != NULL)
|
||||
{
|
||||
argc = 1;
|
||||
|
||||
va_start(args,arg0);
|
||||
|
||||
while(va_arg(args,const char *) != NULL)
|
||||
argc++;
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
/* Allocate enough memory for the entire argument list
|
||||
plus the terminating NULL */
|
||||
argv = (char **)malloc(sizeof(*argv) * (argc + 1));
|
||||
if(argv == NULL)
|
||||
{
|
||||
__set_errno(ENOMEM);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if(argc > 0)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
argv[0] = (char *)arg0;
|
||||
|
||||
va_start(args,arg0);
|
||||
|
||||
for(i = 1 ; i < argc ; i++)
|
||||
argv[i] = va_arg(args,char *);
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
argv[argc] = NULL;
|
||||
|
||||
result = execvp(path,(char * const *)argv);
|
||||
|
||||
out:
|
||||
|
||||
if(argv != NULL)
|
||||
free(argv);
|
||||
|
||||
return(result);
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user