aboutsummaryrefslogtreecommitdiffstats
path: root/src/include
Commit message (Collapse)AuthorAgeFilesLines
...
* Better NSIG detection and fixLaurent Bercot2022-09-052-9/+13
| | | | | | | Incredibly enough, OpenBSD defines NSIG correctly, so our workaround was not accurate. Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Export random_devurandom, fix APIsLaurent Bercot2022-06-082-3/+5
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Clean up / homogenize openreadnclose() familyLaurent Bercot2022-06-082-1/+2
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Add blake2s implementation to stdcryptoLaurent Bercot2022-06-012-0/+33
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Add openc_*at functionsLaurent Bercot2022-05-301-8/+14
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Add waitn_posix() and waitn_reap_posix()Laurent Bercot2022-04-151-0/+3
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Remove uint32_func definitionLaurent Bercot2022-04-091-3/+0
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Prepare for 2.12.0.0. librandom revamp.Laurent Bercot2022-04-092-10/+24
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Bloat envdir with a noclamp optionLaurent Bercot2022-02-251-0/+2
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Add gccattr_nonstring, modernize gccattributes.hLaurent Bercot2021-12-191-12/+14
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Add opendir_at, prepare for 2.11.1.0Laurent Bercot2021-12-041-0/+2
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Axe iobufferLaurent Bercot2021-09-253-123/+2
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Add ipc_bind_reuse_permsLaurent Bercot2021-08-221-1/+3
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Add tain_infiniteLaurent Bercot2021-08-181-0/+1
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Add sig_altignore()2.11.0.0Laurent Bercot2021-07-291-0/+1
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Huge incompatible changes.Laurent Bercot2021-07-2868-661/+536
| | | | | | | | | | | | - Obsolete skalibs/environ.h and skalibs/getpeereid.h removed. - rc4 and md5 removed. - All *_t types renamed to avoid treading on POSIX namespace. - subgetopt() renamed to lgetopt(). - signal functions reworked; skasigaction removed; sig_stack removed - Various functions removed: skaoffsetof(), selfpipe_untrap() - New posixplz function: munmap_void. Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Hide cdb_find_state in the common caseLaurent Bercot2021-07-241-1/+2
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* Add cdb_init_at and cdb_init_fromfd, rename cdb_readerLaurent Bercot2021-07-241-6/+7
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* New 2.11.0.0 branch with several modificationsLaurent Bercot2021-07-235-63/+62
| | | | | | | | - libbiguint removed - cdb_make changed to cdbmake (because different ui) - cdb redesigned Signed-off-by: Laurent Bercot <ska@appnovation.com>
* cdb always mmapsLaurent Bercot2021-06-291-5/+4
| | | | Signed-off-by: Laurent Bercot <ska@appnovation.com>
* gccattributes.h: define gccattr_returns_twiceLaurent Bercot2021-06-141-0/+3
| | | | Signed-off-by: Jesse Young <jlyo@jlyo.org>
* doc: allreadwrite: document scatter/gatter functionsLaurent Bercot2021-06-141-3/+2
| | | | Signed-off-by: Jesse Young <jlyo@jlyo.org>
* Align infinity on 2^61Laurent Bercot2021-01-271-1/+1
|
* bugfix: genqdyn_n() definitionLaurent Bercot2021-01-121-3/+3
|
* Add mkptemp2()Laurent Bercot2020-12-091-0/+1
|
* Get rid of webipc.h and DJBUNIX_FLAG_*Laurent Bercot2020-12-094-94/+77
| | | | | | | | | | | | | | Decent semantic header separation is hard. It's always an ongoing process. Here socket.h always included webipc.h for listen(), and webipc.h always included djbunix.h for socket_internal() and socketpair_internal(). That's ugh. Just move all the socket stuff into one socket header. Of course, djbunix.h is still needed most of the time for fd_close() and other operations on fds, but those are generic anyway. Also, O_CLOEXEC exists everywhere now, so we can use it as well as O_NONBLOCK instead of redefining the flags in djbunix.h.
* Add documenting comments to exec.hLaurent Bercot2020-12-041-26/+19
|
* Revamp lock primitives; prepare for 2.10.0.0 instead of 2.9.4.0Laurent Bercot2020-11-292-7/+7
| | | | | | | | | | | flock() doesn't have a way to test for a lock without taking it. lockf() doesn't have shared locks. The only way to have both is fcntl(). So I rewrote all the locking stuff around fcntl(), and used the opportunity to change the interface. The point of changing the interface is to stop having to bother with the old one, so to hell with compatibility, let's just do a major bump.
* Do not use skalibs/environ.hLaurent Bercot2020-11-261-9/+9
|
* Fix typosLaurent Bercot2020-11-251-9/+9
|
* Complete revamp of the pathexec functionsLaurent Bercot2020-11-244-21/+170
| | | | | | | | | | | | | | | | | - pathexec_run is now called exec_ae a for provided file name (default: argv[0]) e for provided envp (default: environ) - pathexec is now called mexec. m for merge environment. Option letters are: a for provided file name (default: argv[0]) e for provided envp (default: environ) f for provided envp *and* length of the envp m for provided modif string plus its length (the length is always needed because the modifs are null-terminated) n for provided modif string, length *and* number of modifs - functions have a foo0 version for _exit(0) when argv[0] is null - functions have a xfoo version to die if the exec fails - and a xfoo0 - Compatibility #defines and #includes are there until the next major bump
* Add fd_shutdown()Laurent Bercot2020-11-201-0/+1
|
* Add ipc_bind_reuse_lock, rewrite ipc_bind_reuse to use itLaurent Bercot2020-11-081-0/+1
|
* Refactor textmessage/textclient with channel creation around ancil_*Laurent Bercot2020-10-261-0/+5
|
* Separate and expose ancil_recv_fd/ancil_send_fdLaurent Bercot2020-10-262-0/+10
| | | | | | | The goal is to make late channel creation easy, as opposed to textclient which always creates a new channel at start time. This commit also moves posixishard.h inclusions as late as possible.
* Change new function names to openc_*; update deps.makLaurent Bercot2020-10-261-8/+8
|
* Prepare for 2.9.4.0; add open*coe() functions.Laurent Bercot2020-10-261-0/+8
|
* Add stralloc_readyplus_tuned, fix overflow on stralloc_readyplusLaurent Bercot2020-09-171-1/+2
|
* Fix alloc_realloc UBLaurent Bercot2020-04-291-1/+1
| | | | | | | | | | | | | void ** does not exist: the address of a generic pointer is not properly defined (different pointer types may have different representations). So, alloc_realloc cannot exist as is without UB. Fortunately, it's not supposed to be used in the skalibs programming style, and skalibs itself only uses it in two places (stralloc_ready_tuned and stralloc_shrink) where the pointer is a char *. So we just fix the UB by making alloc_realloc() take a char **, and it's only defined for that pointer type. Nothing to see here folks, nothing happened at all.
* bugfix: do not include posixishard.h in an early header!Laurent Bercot2020-03-211-1/+0
|
* Better bigkvLaurent Bercot2019-10-252-4/+5
|
* Add bigkvLaurent Bercot2019-10-252-0/+42
|
* __GNU__ is actually preferred to __gnu_hurd__, it seemsLaurent Bercot2019-10-181-6/+7
|
* nonposix.h: define _GNU_SOURCE for Hurd, remove __GLIBC__ testLaurent Bercot2019-10-171-3/+3
| | | | | | | | | | __GLIBC__ and similar ftms are not defined in the compiler, but in features.h, which isn't POSIX so cannot be included, and standard headers can't be included either because nonposix.h defines ftms that must exist *prior to* std headers inclusion. The kernel ftms, however, are defined by the compiler, so we can use them.
* Add path_canonicalize, prepare for 2.9.1.0Laurent Bercot2019-10-091-0/+2
|
* We're down to ONE rogue sysdep, boys. ONE.Laurent Bercot2019-09-201-6/+4
|
* Change tain_now_set_* API: also give an initial valueLaurent Bercot2019-09-061-3/+5
|
* Big wallclock/stopwatch refactor. It was long overdue.Laurent Bercot2019-09-031-9/+14
| | | | | | | | | | | | | * --enable-clock and --enable-monotonic are gone * tain_sysclock() has been renamed tain_wallclock_read() * tain_wallclock_read() reads from CLOCK_REALTIME (or gettimeofday()) * tain_clockmon[_init]() have been renamed to tain_stopwatch_[read|init]() and now accept a monotonic clock name as an extra argument * tain_now() points to the system (wall) clock by default * tain_now_set_[stopwatch|wallclock]() can be used to switch Now to make a pass on all skarnet.org programs and add a tain_now_set_stopwatch() call everywhere needed... >.>
* Factor all the BSD complaints into one new headerLaurent Bercot2019-07-223-19/+51
|
* Rework skalibs/nonposix.h to avoid glibc squealing like a pigLaurent Bercot2019-07-222-21/+31
| | | | | Also move a conformance workaround from nonposix.h to posixishard.h This may break things on MacOS, needs testing.