Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
50 user(s) are online (44 user(s) are browsing Forums)

Members: 0
Guests: 50

more...

Support us!

Headlines

 
  Register To Post  

(1) 2 »
Reactive C Library
Not too shy to talk
Not too shy to talk


See User information
Hello I have uploaded a new c library to OS4Depot.

Its something I have been working on and off for some time but I need to motivation... so I released it in it current form.

This clib should be treated as a alpha release so you should proberly not relay too much on it as its proberly full of bugs.

about the name, while it has the name Reactive its not relient on any external library other than AmigaOS4 offcial libraries.

Regards
René W. Olsen


-- Readme.txt

Reactive C Library is based on clib2 by Olaf Barthel just in Shared Amiga Library format.


-- Warning GCC only support Newlib or clib2 modes .. So I have overwritten the clib2 sdk includes files, so bakcup the old dirs first --


-- Diffrences between clib2/newlib and this clib

time_t - This is a 64 bits where its possible to go past 2038. But there would be
convertion problem going back and to Amiga dates.

off_t - This is a 64 bits where some of the stdio functions can return a file value.
eg. tello() will return a 64 bit file pos.

fpos_t - This is a 64 bits where some of the stdio functions can return a file value.
eg. fgetpos()

clock_t - This is a 64 bits

'struct timeval' uses the 'time_t' define.. so it also uses 64bit

wchar_t is defined as a uint32, clib2 has 16bits, newlib has 32bit



Edited by rwo on 2022/1/14 22:33:30
“The best thing about a boolean is even if you are wrong, you are only off by a bit.”
Go to top
Re: Reaction C Library
Not too shy to talk
Not too shy to talk


See User information


## Amiga ##

v1.1 - ArgArrayInit
v1.1 - ArgArrayDone
v1.1 - ArgInt
v1.1 - ArgString
v1.1 - NewList
v1.1 - NewMinList


## Assert ##

v1.1 - assert


## CType ##

v1.1 - isalnum
v1.1 - isalpha
v1.1 - isascii
v1.1 - isblank
v1.1 - iscntrl
v1.1 - isdigit
v1.1 - isgraph
v1.1 - islower
v1.1 - isprint
v1.1 - ispunct
v1.1 - isspace
v1.1 - isupper
v1.1 - isxdigit
v1.1 - tolower
v1.1 - toupper


## Dirent ##

v1.1 - closedir
v1.1 - opendir
v1.1 - readdir
v1.1 - rewinddir


## FCntl ##

v1.1 - creat
v1.1 - fcntl ( Partial )
v1.1 - open


## Inttypes ##

v1.1 - imaxabs
v1.1 - imaxdiv
v1.1 - strtoimax
v1.2 - strtoumax


## Locale ##

v1.1 - localeconv


## Math ##

( Float [4], Double [8], Long Double [12], Double Double [16] )

v1.1 - __signbit (F/D/LD)
v1.1 - ceil (F/D)
v1.1 - copysign (F/D)
v1.1 - fabs (F/D)
v1.1 - fdim (F/D)
v1.1 - floor (F/D)
v1.1 - fpclassify (F/D)
v1.1 - fmax (F/D)
v1.1 - fmin (F/D)
v1.1 - fmod (F/D)
v1.1 - isfinite (F/D)
v1.1 - isinf (F/D)
v1.1 - isnan (F/D)
v1.1 - log (F/D)
v1.1 - log10 (F/D)
v1.1 - nan (F/D)
v1.1 - pow (F/D)
v1.1 - scalbn (F/D)
v1.1 - sqrt (F/D)


## Netdb ##

v1.1 - freeaddrinfo
v1.1 - gai_strerror
v1.1 - getaddrinfo
v1.1 - gethostbyaddr
v1.1 - gethostbyname
v1.1 - getnameinfo
v1.1 - getservbyname
v1.1 - getservbyport


## Poll ##

v1.1 - poll
v1.1 - waitpoll


## PThread ##

v1.3 - pthread_create
v1.1 - pthread_equal
v1.1 - pthread_exit
v1.3 - pthread_join
v1.1 - pthread_once
v1.1 - pthread_self

v1.1 - pthread_attr_init
v1.1 - pthread_attr_destroy

v1.1 - pthread_barrier_init
v1.1 - pthread_barrier_destroy
v1.1 - pthread_barrierattr_init
v1.1 - pthread_barrierattr_destroy

v1.1 - pthread_cond_init
v1.1 - pthread_cond_wait
v1.1 - pthread_cond_signal
v1.1 - pthread_cond_broadcast
v1.1 - pthread_cond_timedwait
v1.1 - pthread_cond_destroy
v1.1 - pthread_condattr_init
v1.1 - pthread_condattr_destroy
v1.3 - pthread_condattr_getclock
v1.3 - pthread_condattr_setclock

v1.1 - pthread_mutex_init
v1.1 - pthread_mutex_lock
v1.1 - pthread_mutex_unlock
v1.1 - pthread_mutex_trylock
v1.1 - pthread_mutex_timedlock
v1.1 - pthread_mutex_destroy
v1.1 - pthread_mutexattr_init
v1.1 - pthread_mutexattr_destroy
v1.1 - pthread_mutexattr_settype
v1.1 - pthread_mutexattr_gettype

v1.1 - pthread_rwlock_init
v1.1 - pthread_rwlock_rdlock
v1.1 - pthread_rwlock_wrlock
v1.1 - pthread_rwlock_unlock
v1.1 - pthread_rwlock_tryrdlock
v1.1 - pthread_rwlock_trywrlock
v1.1 - pthread_rwlock_timedrdlock
v1.1 - pthread_rwlock_timedwrlock
v1.1 - pthread_rwlock_destroy
v1.1 - pthread_rwlockattr_init
v1.1 - pthread_rwlockattr_destroy

v1.1 - pthread_spinlock_init
v1.1 - pthread_spinlock_lock
v1.1 - pthread_spinlock_unlock
v1.1 - pthread_spinlock_trylock
v1.1 - pthread_spinlock_destroy


## Setjmp ##

v1.1 - longjmp
v1.1 - setjmp


## Signal ##

v1.1 - raise
v1.1 - signal


## Stdio ##

v1.1 - asprintf
v1.1 - clearerr
v1.1 - ctermid
v1.1 - fclose
v1.1 - fdopen
v1.1 - feof
v1.1 - ferror
v1.1 - fflush
v1.1 - fgetc
v1.1 - fgetpos
v1.1 - fgets
v1.1 - fileno
v1.1 - flockfile
v1.1 - fopen
v1.1 - fprintf
v1.1 - fputc
v1.1 - fputs
v1.1 - fread
v1.1 - fscanf
v1.1 - fseek
v1.1 - fseeko
v1.1 - fsetpos
v1.1 - ftell
v1.1 - ftello
v1.1 - ftrylockfile
v1.1 - funlockfile
v1.1 - fwrite
v1.1 - getc
v1.1 - getc_unlocked
v1.1 - getchar
v1.1 - getchar_unlocked
v1.1 - perror
v1.1 - printf
v1.1 - putc
v1.1 - putc_unlocked
v1.1 - putchar
v1.1 - putchar_unlocked
v1.1 - puts
v1.1 - remove
v1.1 - rename
v1.1 - rewind
v1.1 - scanf
v1.1 - setbuf
v1.1 - setvbuf
v1.1 - snprintf
v1.1 - sprintf
v1.1 - sscanf
v1.1 - tmpfile
v1.1 - tmpnam
v1.1 - tmpnam_r
v1.1 - ungetc
v1.1 - vasprintf
v1.1 - vfprintf
v1.1 - vsnprintf
v1.1 - vsprintf


## Stdlib ##

v1.1 - _Exit
v1.1 - abort
v1.1 - abs
v1.1 - arc4random
v1.1 - arc4random_buf
v1.1 - arc4random_stir
v1.1 - arc4random_uniform
v1.1 - arc4random_addrandom
v1.1 - atexit
v1.1 - atof
v1.1 - atoi
v1.1 - atol
v1.1 - atoll
v1.1 - bsearch
v1.1 - calloc
v1.1 - div
v1.1 - exit
v1.1 - free
v1.1 - freezero
v1.1 - getenv
v1.1 - getprogname
v1.1 - initstate
v1.1 - jrand48
v1.1 - labs
v1.1 - ldiv
v1.1 - llabs
v1.1 - lldiv
v1.1 - lrand48
v1.1 - malloc
v1.1 - mblen
v1.1 - mbtowc
v1.1 - mrand48
v1.1 - nrand48
v1.1 - qsort
v1.1 - rand
v1.1 - rand_r
v1.1 - random
v1.1 - realloc
v1.1 - reallocarray
v1.1 - recallocarray
v1.1 - setprogname
v1.1 - setstate
v1.1 - srand
v1.1 - srand48
v1.1 - srandom
v1.1 - strtod
v1.1 - strtof
v1.1 - strtol
v1.2 - strtoq
v1.1 - strtoll
v1.1 - strtoul
v1.1 - strtoull
v1.1 - system


## String ##

v1.1 - ffsl
v1.1 - ffsll
v1.1 - memccpy
v1.1 - memchr
v1.1 - memcmp
v1.1 - memcpy
v1.1 - memmem
v1.1 - memmove
v1.1 - memset
v1.1 - stpcpy
v1.1 - stpncpy
v1.1 - strcat
v1.1 - strchr
v1.1 - strcmp
v1.1 - strcoll
v1.1 - strcpy
v1.1 - strcspn
v1.1 - strdup
v1.1 - strerror
v1.1 - strerror_r
v1.1 - strlcat
v1.1 - strlcpy
v1.1 - strlen
v1.1 - strncat
v1.1 - strncmp
v1.1 - strncpy
v1.1 - strndup
v1.1 - strnlen
v1.1 - strpbrk
v1.1 - strrchr
v1.1 - strsep
v1.1 - strspn
v1.1 - strstr
v1.1 - strtok
v1.1 - strtok_r
v1.1 - strxfrm
v1.1 - timingsafe_memcmp


## Strings ##

v1.1 - bcmp
v1.1 - bcopy
v1.1 - bzero
v1.1 - explicit_bzero
v1.1 - ffs
v1.1 - index
v1.1 - rindex
v1.1 - strcasecmp
v1.1 - strncasecmp
v1.1 - timingsafe_bcmp


## SysLog ##

( Call to SysLog are forwarded to SysLog.library )

v1.1 - closelog
v1.1 - closelog_r
v1.1 - openlog
v1.1 - openlog_r
v1.1 - setlogmask
v1.1 - setlogmask_r
v1.1 - syslog
v1.1 - syslog_r
v1.1 - vsyslog
v1.1 - vsyslog_r


## Time ##

v1.1 - asctime
v1.1 - asctime_r
v1.1 - clock
v1.3 - clock_gettime
v1.1 - ctime
v1.1 - ctime_r
v1.1 - gmtime
v1.1 - gmtime_r
v1.1 - localtime
v1.1 - localtime_r
v1.1 - mktime
v1.1 - time
v1.1 - timegm


## Unistd ##

v1.1 - _exit
v1.1 - close
v1.1 - ftruncate
v1.1 - getcwd
v1.1 - getpagesize
v1.1 - getpid
v1.1 - getppid
v1.1 - getwd
v1.1 - isatty
v1.1 - lseek
v1.1 - pread
v1.1 - pwrite
v1.1 - read
v1.1 - rmdir
v1.1 - swab
v1.1 - write


## UTime ##

v1.1 - utime


## WChar ##

v1.1 - wcscat
v1.1 - wcschr
v1.1 - wcscmp
v1.1 - wcslcat
v1.1 - wcslcpy
v1.1 - wcslen
v1.1 - wmemchr
v1.1 - wmemcmp
v1.1 - wmemcpy
v1.1 - wmemmove
v1.1 - wmemset


## Sys / Socket ##

v1.1 - accept
v1.1 - bind
v1.1 - connect
v1.1 - getpeername
v1.1 - getsockname
v1.1 - getsockopt
v1.1 - inet_addr
v1.1 - inet_ntoa
v1.1 - inet_ntop
v1.1 - inet_pton
v1.1 - listen
v1.1 - recv
v1.1 - recvfrom
v1.1 - select
v1.1 - send
v1.1 - sendto
v1.1 - setsockopt
v1.1 - shutdown
v1.1 - socket
v1.1 - waitselect


## Sys / Stat ##

v1.1 - fstat
v1.1 - mkdir
v1.1 - stat


## Sys / Time ##

v1.1 - gettimeofday


## Sys / Uio ##

v1.1 - readv
v1.1 - writev



Edited by rwo on 2022/1/28 19:09:28
Edited by rwo on 2022/2/9 22:07:45
“The best thing about a boolean is even if you are wrong, you are only off by a bit.”
Go to top
Re: Reaction C Library
Home away from home
Home away from home


See User information
@rwo

C lib-based library to replace clib2/newlib ? Or something else?

And seems you mean "Reactive" and not "Reaction"? I just checked the name of the archive: reactive, then checked description in the readme: reaction, then the name of topic there: reaction, checked the name of the library in the archive: reactive. Checked readme in archive: Reaction in few places.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Reaction C Library
Not too shy to talk
Not too shy to talk


See User information
@kas1e

damn too tired ... you are correct .. its called Reactive

its a third choice for GCC ... but I need someone to update GCC to understand -mcrt=ralib ... currently gcc only understand -mcrt=clib2 and -mcrt=newlib

Thanks for the heads up .. I'll correct the text right away

“The best thing about a boolean is even if you are wrong, you are only off by a bit.”
Go to top
Re: Reactive C Library
Amigans Defender
Amigans Defender


See User information
Great! But where is the lib on os4depot? I don't find it. I'm working also on a custom clib2 version that is getting me crazy.. :) But i don't give up!

i'm really tired...
Go to top
Re: Reactive C Library
Home away from home
Home away from home


See User information

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Reactive C Library
Not too shy to talk
Not too shy to talk


See User information
Thanks. it could be interesting to use this for new Python port, not least because then each instance of Python runtime could use shared library and save some RAM if you're running multiple scripts.

Any thoughts on difficulty of making this compatible with OS3?

Go to top
Re: Reactive C Library
Not too shy to talk
Not too shy to talk


See User information
@NinjaCyborg

I have rewritten the IO Parts to use AmigaOS4 64bits dos functions. Where clib2 uses 32bit and some tricks to do 64bits.

So its not so easy to back port to AmigaOS3 .. but ofcoarse its not impossible.

“The best thing about a boolean is even if you are wrong, you are only off by a bit.”
Go to top
Re: Reactive C Library
Not too shy to talk
Not too shy to talk


See User information
ReactiveC.library v1.2 (28-Jan-2022) rolsen

- strtol(), strtoll(), strtoimax() source codes replaced by a copy from
OpenBSD.

- strtoq(), strtoumax() added.

- replaced scanf() with source codes from OpenBSD. WideChar is disabled,
Long Double is just supporting a Double. %lld and %llx are now supported.

“The best thing about a boolean is even if you are wrong, you are only off by a bit.”
Go to top
Re: Reactive C Library
Not too shy to talk
Not too shy to talk


See User information

ReactiveC.library v1.3 (09-Feb-2022) rolsen

- clock_gettime() added. Only CLOCK_REALTIME and CLOCK_MONOTONIC mode are
supported.

- pthread_condattr_setclock(), pthread_condattr_getclock() added.

- pthread_cond_timedwait() nolonger ignore the Timeout value;

- pthread_create(), pthread_join() added.

- pthread_mutex_timedlock() now uses Timer device. Alot more accurate and
waste less cpu cycles.


“The best thing about a boolean is even if you are wrong, you are only off by a bit.”
Go to top
Re: Reactive C Library
Home away from home
Home away from home


See User information
@rwo
Did I understand right, that you only release SDK + library, but the whole code of the library is (and will be) closed source? I.e. just like newlib, just access to the code will be only in your hands?

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Reactive C Library
Not too shy to talk
Not too shy to talk


See User information
@kas1e

For the moment its only me coding on it .. so no point in releasing it ... but to be honest I havent really desited what too do with it.


“The best thing about a boolean is even if you are wrong, you are only off by a bit.”
Go to top
Re: Reactive C Library
Not too shy to talk
Not too shy to talk


See User information
@rwo

there's nothing to be gained by not releasing it as open source, under BSD style license like half the code that's already in it was licensed

Go to top
Re: Reactive C Library
Not too shy to talk
Not too shy to talk


See User information
@NinjaCyborg

I really dont see any benefits worth mentioning by releasing to .. as long as I'm the only coder .. I don't really see the point.

“The best thing about a boolean is even if you are wrong, you are only off by a bit.”
Go to top
Re: Reactive C Library
Not too shy to talk
Not too shy to talk


See User information
are you a fucking idiot?

Go to top
Re: Reactive C Library
Not too shy to talk
Not too shy to talk


See User information
@NinjaCyborg

uhh no.. are you?

“The best thing about a boolean is even if you are wrong, you are only off by a bit.”
Go to top
Re: Reactive C Library
Quite a regular
Quite a regular


See User information
@NinjaCyborg

There is no need to be rude to RWO. He designed and developed this library himself so can decide what he wishes to do with it going forward.

Go to top
Re: Reactive C Library
Amigans Defender
Amigans Defender


See User information
@NinjaCyborg

No personal insults please.

The Rear Window blog

AmigaOne X5000 @ 2GHz / 4GB RAM / Radeon RX 560 / ESI Juli@ / AmigaOS 4.1 Final Edition
SAM440ep-flex @ 667MHz / 1GB RAM / Radeon 9250 / AmigaOS 4.1 Final Edition
Go to top
Re: Reactive C Library
Not too shy to talk
Not too shy to talk


See User information
@amigakit

No he didn't. Olsen did. He just added a few lines and copy pasted some other bits from other clibs.

There's zero value in him wasting his time on this if he decides not to make it open source.

Go to top
Re: Reactive C Library
Site Builder
Site Builder


See User information
@NinjaCyborg
Please, stop being rude. There is no reason to insult and attack anyone.

Quote:
There's zero value in him wasting his time on this if he decides not to make it open source.

I believe we are mature enough to understand and decide where we want to waste our time.

I believe it was a bad time and it was not meant to insult rwo.

Follow me on
Ko-fi, Twitter, YouTube, Twitch
Go to top

  Register To Post
(1) 2 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project