From e2abcdca396661cbe0ae2ddb13d5c2b85682c13a Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Fri, 16 Oct 2020 17:41:25 +0300 Subject: initial commit --- includedir/sys/cdefs.h | 5 +++++ includedir/sys/compat.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ includedir/sys/param.h | 3 +++ includedir/sys/time.h | 14 ++++++++++++ 4 files changed, 81 insertions(+) create mode 100644 includedir/sys/cdefs.h create mode 100644 includedir/sys/compat.h create mode 100644 includedir/sys/param.h create mode 100644 includedir/sys/time.h (limited to 'includedir/sys') diff --git a/includedir/sys/cdefs.h b/includedir/sys/cdefs.h new file mode 100644 index 0000000..70258b8 --- /dev/null +++ b/includedir/sys/cdefs.h @@ -0,0 +1,5 @@ +/* only needed for C++ */ +#define __BEGIN_DECLS +#define __END_DECLS + +#define __dead __attribute__((__noreturn__)) diff --git a/includedir/sys/compat.h b/includedir/sys/compat.h new file mode 100644 index 0000000..af03c4f --- /dev/null +++ b/includedir/sys/compat.h @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2015, Adrián Pérez de Castro + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef COMPAT_H +#define COMPAT_H + +#ifndef _GNU_SOURCE +#define _GNU_SOURCE 1 +#endif /* !_GNU_SOURCE */ + +#ifndef COMPAT_BOUNDS_CHECKING +#define __bounded__(a, b, c) +#endif /* !COMPAT_BOUNDS_CHECKING */ + +#ifndef __dead +#if defined(__GNUC__) && (__GNUC__ > 3) +#define __dead __attribute__((noreturn)) +#else +#define __dead +#endif +#endif /* !__dead */ + +#define DEF_WEAK(x) +#define MAKE_CLONE(dst, src) typeof(dst) dst \ + __attribute__((alias (#src))) + +#define u_int8_t uint8_t +#define u_int16_t uint16_t +#define u_int32_t uint32_t +#define u_int64_t uint64_t + +#include +#include + +extern int timingsafe_bcmp(const void *b1, const void *b2, size_t n); +extern int pledge (const char *promises, const char *execpromises); +extern int bcrypt_pbkdf(const char *pass, size_t passlen, + const uint8_t *salt, size_t saltlen, + uint8_t *key, size_t keylen, + unsigned int rounds); + +#ifdef BUNDLED_BZERO +extern void explicit_bzero(void *buf, size_t len); +#endif /* BUNDLED_BZERO */ + +#endif /* !COMPAT_H */ diff --git a/includedir/sys/param.h b/includedir/sys/param.h new file mode 100644 index 0000000..3167713 --- /dev/null +++ b/includedir/sys/param.h @@ -0,0 +1,3 @@ +#include_next +#define ALIGNBYTES (sizeof(uintptr_t) - 1) +#define ALIGN(p) (((uintptr_t)(p) + ALIGNBYTES) &~ ALIGNBYTES) diff --git a/includedir/sys/time.h b/includedir/sys/time.h new file mode 100644 index 0000000..f4f151f --- /dev/null +++ b/includedir/sys/time.h @@ -0,0 +1,14 @@ +#include_next +#define timespeccmp(tsp, usp, cmp) \ + (((tsp)->tv_sec == (usp)->tv_sec) ? \ + ((tsp)->tv_nsec cmp (usp)->tv_nsec) : \ + ((tsp)->tv_sec cmp (usp)->tv_sec)) +#define timespecsub(tsp, usp, vsp) \ + do { \ + (vsp)->tv_sec = (tsp)->tv_sec - (usp)->tv_sec; \ + (vsp)->tv_nsec = (tsp)->tv_nsec - (usp)->tv_nsec; \ + if ((vsp)->tv_nsec < 0) { \ + (vsp)->tv_sec--; \ + (vsp)->tv_nsec += 1000000000L; \ + } \ + } while (0) -- cgit v1.2.3