]> Kevux Git Server - fll/commitdiff
Update: Add custom defines for the random seed macros via random/common.h.
authorKevin Day <thekevinday@gmail.com>
Tue, 2 Jan 2024 00:25:12 +0000 (18:25 -0600)
committerKevin Day <thekevinday@gmail.com>
Tue, 2 Jan 2024 00:29:35 +0000 (18:29 -0600)
I try to avoid the direct use of core/standard macros like GRND_NONBLOCK.

Add f_random specific macros for these GRND_* macros.

build/level_0/settings
build/monolithic/settings
level_0/f_random/c/random.h
level_0/f_random/c/random/common.h [new file with mode: 0644]
level_0/f_random/data/build/settings
level_0/f_random/data/build/settings-mocks

index 140879c94e6d529f948a2606354bd10d8da0ddf1..c870f370904d930dc94a5e253f0716f893743dd0 100644 (file)
@@ -105,7 +105,7 @@ build_sources_headers parse.h parse/utf.h
 build_sources_headers path.h path/common.h
 build_sources_headers pipe.h
 build_sources_headers print.h print/to.h print/common.h
-build_sources_headers random.h
+build_sources_headers random.h random/common.h
 build_sources_headers rip.h rip/utf.h
 build_sources_headers serialize.h serialize/common.h
 build_sources_headers signal.h signal/common.h
index ded3fc94a4a9d9573e4da8640950a6f0cfa913f7..fb943cf929093cb0e6be79672df4b6e3a31f3767 100644 (file)
@@ -126,7 +126,7 @@ build_sources_headers level_0/parse.h level_0/parse/utf.h
 build_sources_headers level_0/path.h level_0/path/common.h
 build_sources_headers level_0/pipe.h
 build_sources_headers level_0/print.h level_0/print/to.h level_0/print/common.h
-build_sources_headers level_0/random.h
+build_sources_headers level_0/random.h level_0/random/common.h
 build_sources_headers level_0/rip.h level_0/rip/utf.h
 build_sources_headers level_0/serialize.h level_0/serialize/common.h
 build_sources_headers level_0/signal.h level_0/signal/common.h
index f58f739a27b5788053464627becc41033202d667..cdb7c99d097293efa6dfc786c09c2f3672cab0f8 100644 (file)
@@ -21,6 +21,9 @@
 #include <fll/level_0/type.h>
 #include <fll/level_0/string.h>
 
+// FLL-0 random includes.
+#include <fll/level_0/random/common.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -62,8 +65,8 @@ extern "C" {
  *   The flags to be passed to getrandom().
  *
  *   Flag bits:
- *     - GRND_RANDOM:   Random data is taken from the random source, such as /dev/random and not the urandom source.
- *     - GRND_NONBLOCK: Does not block when getting the bits.
+ *     - F_random_seed_flag_block_not_d: Does not block when getting the bits.
+ *     - F_random_seed_flag_source_d:    Random data is taken from the random source, such as /dev/random and not the urandom source.
  * @param length
  *   The size within the destination string to copy.
  *   The standard max size is 255.
@@ -108,8 +111,8 @@ extern "C" {
  *   The flags to be passed to getrandom().
  *
  *   Flag bits:
- *     - GRND_RANDOM:   Random data is taken from the random source, such as /dev/random and not the urandom source.
- *     - GRND_NONBLOCK: Does not block when getting the bits.
+ *     - F_random_seed_flag_block_not_d: Does not block when getting the bits.
+ *     - F_random_seed_flag_source_d:    Random data is taken from the random source, such as /dev/random and not the urandom source.
  *
  * @return
  *   F_okay on success.
diff --git a/level_0/f_random/c/random/common.h b/level_0/f_random/c/random/common.h
new file mode 100644 (file)
index 0000000..9431477
--- /dev/null
@@ -0,0 +1,42 @@
+/**
+ * FLL - Level 0
+ *
+ * Project: Random
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Defines common data to be used for/by project random.
+ *
+ * This is auto-included by random.h and should not need to be explicitly included.
+ */
+#ifndef _F_random_common_h
+#define _F_random_common_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Defines associated with random seed flags.
+ *
+ * F_random_seed_flag_*:
+ *   - block_not: Does not block when getting the bits.
+ *   - insecure:  Use insecure, aka non-cryptographic, random bytes.
+ *   - source:    Random data is taken from the random source, such as /dev/random and not the urandom source.
+ */
+#ifndef _di_f_random_seed_flag_d_
+  #define F_random_seed_flag_block_not_d GRND_NONBLOCK
+  #define F_random_seed_flag_source_d    GRND_RANDOM
+
+  #ifdef GRND_INSECURE
+    #define F_random_seed_flag_insecure_d GRND_INSECURE
+  #else
+    #define F_random_seed_flag_insecure_d 0x0004
+  #endif // GRND_INSECURE
+#endif // _di_f_random_seed_flag_d_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _F_random_common_h
index b9bb7f844513576e155fa276b0a34901791500ad..d4f56f48ccd05ca6477f70b6d6ddcc685d4614e0 100644 (file)
@@ -34,7 +34,7 @@ build_libraries-individual -lf_memory -lf_string
 
 build_sources_library random.c
 
-build_sources_headers random.h
+build_sources_headers random.h random/common.h
 
 build_script yes
 build_shared yes
index 9548555901d44393fb87cfa747844308612a3364..4ee45333a121962a75b78e057b1b4e8ea202e02c 100644 (file)
@@ -23,7 +23,7 @@ build_libraries-individual -lf_memory
 build_sources_library random.c
 build_sources_library ../../tests/unit/c/mock-random.c
 
-build_sources_headers random.h
+build_sources_headers random.h random/common.h
 
 build_script yes
 build_shared yes