From da6083396d80017de35911fbd9cc32b548f64e76 Mon Sep 17 00:00:00 2001 From: "Ryan M. Lederman" Date: Fri, 8 Sep 2023 14:34:27 -0600 Subject: [PATCH] 2.2.3 (#282) * `is_release=1`, suffix=`""` * Update `changelog.md`, `sirtests.md` * Regenerate docs --------- Signed-off-by: Jeffrey H. Johnson Co-authored-by: Jeffrey H. Johnson --- docs/ansimacros_8h.html | 4 +- docs/ansimacros_8h_source.html | 2 +- docs/condition_8h.html | 12 +- docs/condition_8h.js | 2 +- docs/condition_8h_source.html | 17 +- docs/config_8h.html | 88 +- docs/config_8h.js | 4 +- docs/config_8h_source.html | 82 +- docs/console_8h_source.html | 4 +- docs/defaults_8h.html | 34 +- docs/defaults_8h_source.html | 74 +- .../dir_38c8d24aef3972a7f87b834274e76e31.html | 2 +- .../dir_49e56c817e5e54854c35e136979f97ca.html | 2 +- .../dir_59425e443f801f1f2fd8bbe4959a3ccf.html | 4 +- docs/dir_59425e443f801f1f2fd8bbe4959a3ccf.js | 3 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- .../dir_89aa746955889ced97536d9f51ce6c73.html | 8 +- docs/dir_89aa746955889ced97536d9f51ce6c73.js | 3 + .../dir_98b0b4f2b7ada084522cf3f9258d0075.html | 2 +- .../dir_cfafba98a580ce4b62f8a6fa96d7cbb0.html | 2 +- .../dir_d44c64559bbebec7f509842c48db8b23.html | 2 +- .../dir_d4f373425b53e326d93013419ec79018.html | 2 +- docs/errors_8h_source.html | 165 ++- docs/example_8c.html | 32 +- docs/example_8c.js | 2 +- docs/filecache_8h_source.html | 38 +- docs/files.html | 36 +- docs/filesystem_8h_source.html | 40 +- docs/globals.html | 14 +- docs/globals_defs.html | 6 +- docs/globals_func.html | 6 +- docs/globals_vars.html | 2 +- docs/group__default.html | 126 +-- docs/group__plugins.html | 82 +- docs/group__public.html | 2 +- docs/group__publicfuncs.html | 126 +-- docs/group__publictypes.html | 287 +++-- docs/group__publictypes.js | 53 +- docs/group__tests.html | 44 +- docs/group__tests.js | 2 + docs/helpers_8h_source.html | 583 ++++++----- docs/impl_8h_source.html | 2 +- docs/index.html | 26 +- docs/internal_8h_source.html | 134 ++- docs/maps_8h_source.html | 10 +- docs/md_docs_2sources_2changelog.html | 47 +- docs/md_docs_2sources_2config.html | 2 +- docs/md_docs_2sources_2sirtests.html | 26 +- docs/modules.html | 4 +- docs/mutex_8h_source.html | 4 +- docs/navtreedata.js | 2 +- docs/navtreeindex0.js | 132 +-- docs/navtreeindex1.js | 149 +-- docs/pages.html | 2 +- docs/platform_8h_source.html | 985 +++++++++--------- docs/platform__embarcadero_8h_source.html | 177 ++++ docs/platform__importc_8h_source.html | 251 +++++ docs/platform__orangec_8h_source.html | 171 +++ docs/plugin__sample_8h_source.html | 10 +- docs/plugins_8h_source.html | 24 +- docs/queue_8h_source.html | 10 +- docs/search/all_0.js | 2 +- docs/search/all_11.js | 2 +- docs/search/all_12.js | 370 +++---- docs/search/all_14.js | 3 +- docs/search/all_4.js | 2 +- docs/search/all_6.js | 7 +- docs/search/classes_0.js | 53 +- docs/search/defines_8.js | 62 +- docs/search/enums_0.js | 4 +- docs/search/enumvalues_0.js | 67 +- docs/search/functions_0.js | 2 +- docs/search/functions_2.js | 2 +- docs/search/functions_3.js | 26 +- docs/search/searchdata.js | 2 +- docs/search/typedefs_0.js | 12 +- docs/search/variables_10.js | 2 +- docs/search/variables_11.js | 4 + docs/search/variables_4.js | 2 +- docs/search/variables_5.js | 5 +- docs/sir_8c.html | 22 +- docs/sir_8h.html | 22 +- docs/sir_8h_source.html | 16 +- docs/sircondition_8c.html | 12 +- docs/sircondition_8c.js | 2 +- docs/sources/changelog.md | 30 + docs/sources/sirtests.md | 24 +- docs/structsir__cl__arg.html | 202 ++++ docs/structsir__level__str__pair.html | 10 +- docs/structsir__level__style__tuple.html | 10 +- docs/structsir__plugin.html | 2 +- docs/structsir__plugincache.html | 2 +- docs/structsir__pluginifacev1.html | 2 +- docs/structsir__plugininfo.html | 2 +- docs/structsir__queue.html | 2 +- docs/structsir__queue__node.html | 2 +- docs/structsir__test.html | 2 +- docs/structsir__text__style__data.html | 2 +- docs/structsir__thread__err.html | 6 +- docs/structsir__threadpool.html | 2 +- docs/structsir__threadpool__job.html | 2 +- docs/structsir__time.html | 135 +++ docs/structsir__update__config__data.html | 2 +- docs/structsirbuf.html | 2 +- docs/structsirconfig.html | 2 +- docs/structsirconfig_8state_8last.html | 2 +- docs/structsirerror.html | 2 +- docs/structsirfcache.html | 2 +- docs/structsirfile.html | 2 +- docs/structthread__args.html | 2 +- docs/tests_8h_source.html | 461 ++++---- docs/tests__malloc_8h_source.html | 213 ++++ docs/textstyle_8h_source.html | 18 +- docs/threadpool_8h_source.html | 20 +- docs/types_8h_source.html | 724 +++++++------ docs/version_8h_source.html | 6 +- include/sir/condition.h | 3 +- include/sir/version.h | 4 +- src/sircondition.c | 90 +- 119 files changed, 4118 insertions(+), 2746 deletions(-) create mode 100644 docs/platform__embarcadero_8h_source.html create mode 100644 docs/platform__importc_8h_source.html create mode 100644 docs/platform__orangec_8h_source.html create mode 100644 docs/search/variables_11.js create mode 100644 docs/structsir__cl__arg.html create mode 100644 docs/structsir__time.html create mode 100644 docs/tests__malloc_8h_source.html diff --git a/docs/ansimacros_8h.html b/docs/ansimacros_8h.html index d100f6462..2ce2106ab 100644 --- a/docs/ansimacros_8h.html +++ b/docs/ansimacros_8h.html @@ -45,7 +45,7 @@ -
libsir 2.2.2 +
libsir 2.2.3
Standard Incident Reporter
@@ -302,7 +302,7 @@
#define RED(s)
Red foreground text.
Definition ansimacros.h:83
Author
Ryan M. Lederman <leder.nosp@m.man@.nosp@m.gmail.nosp@m..com>
Date
2018-2023
-
Version
2.2.2
+
Version
2.2.3

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

diff --git a/docs/ansimacros_8h_source.html b/docs/ansimacros_8h_source.html index 2371332e2..3a8a1850d 100644 --- a/docs/ansimacros_8h_source.html +++ b/docs/ansimacros_8h_source.html @@ -45,7 +45,7 @@ -
libsir 2.2.2 +
libsir 2.2.3
Standard Incident Reporter
diff --git a/docs/condition_8h.html b/docs/condition_8h.html index 622638d6a..2f31de9d3 100644 --- a/docs/condition_8h.html +++ b/docs/condition_8h.html @@ -45,7 +45,7 @@ -
libsir 2.2.2 +
libsir 2.2.3
Standard Incident Reporter
@@ -132,15 +132,15 @@ bool _sir_conddestroy (sir_condition *cond)  Destroys a condition variable.
  - -bool _sir_condwait_timeout (sir_condition *cond, sir_mutex *mutex, sir_wait *how_long) - Waits a given amount of time for a condition variable to become signaled.
-  + +bool _sir_condwait_timeout (sir_condition *cond, sir_mutex *mutex, const sir_wait *how_long) + Waits a given amount of time for a condition variable to become signaled.

Detailed Description

Author
Ryan M. Lederman <leder.nosp@m.man@.nosp@m.gmail.nosp@m..com>
Date
2018-2023
-
Version
2.2.2
+
Version
2.2.3

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

diff --git a/docs/condition_8h.js b/docs/condition_8h.js index 22bf486fb..0b2755665 100644 --- a/docs/condition_8h.js +++ b/docs/condition_8h.js @@ -3,5 +3,5 @@ var condition_8h = [ "_sir_condcreate", "condition_8h.html#ae93cd64b12a564792d3bb0a48a8ddc32", null ], [ "_sir_condbroadcast", "condition_8h.html#ae8d6edc94bcfb430cf584b27a91e4040", null ], [ "_sir_conddestroy", "condition_8h.html#a150dd1b33dee56d4b02442f2f30f09c5", null ], - [ "_sir_condwait_timeout", "condition_8h.html#a24b03cb2cda2ff8bc5de7d20824f9249", null ] + [ "_sir_condwait_timeout", "condition_8h.html#a8dda6e64ad0dcf2d4bc8ccd1c0c7d2ad", null ] ]; \ No newline at end of file diff --git a/docs/condition_8h_source.html b/docs/condition_8h_source.html index b89b81b51..d4c85a75a 100644 --- a/docs/condition_8h_source.html +++ b/docs/condition_8h_source.html @@ -45,7 +45,7 @@ -
libsir 2.2.2 +
libsir 2.2.3
Standard Incident Reporter
@@ -133,13 +133,14 @@
47bool _sir_condwait(sir_condition* cond, sir_mutex* mutex);
48# endif
49
-
51bool _sir_condwait_timeout(sir_condition* cond, sir_mutex* mutex, sir_wait* how_long);
-
52
-
53#endif /* !_SIR_CONDITION_H_INCLUDED */
-
bool _sir_conddestroy(sir_condition *cond)
Destroys a condition variable.
Definition sircondition.c:66
-
bool _sir_condwait_timeout(sir_condition *cond, sir_mutex *mutex, sir_wait *how_long)
Waits a given amount of time for a condition variable to become signaled.
Definition sircondition.c:90
-
bool _sir_condbroadcast(sir_condition *cond)
Broadcast signals a condition variable.
Definition sircondition.c:55
-
bool _sir_condcreate(sir_condition *cond)
Creates/initializes a new condition variable.
Definition sircondition.c:31
+
51bool _sir_condwait_timeout(sir_condition* cond, sir_mutex* mutex,
+
52 const sir_wait* how_long);
+
53
+
54#endif /* !_SIR_CONDITION_H_INCLUDED */
+
bool _sir_conddestroy(sir_condition *cond)
Destroys a condition variable.
Definition sircondition.c:77
+
bool _sir_condwait_timeout(sir_condition *cond, sir_mutex *mutex, const sir_wait *how_long)
Waits a given amount of time for a condition variable to become signaled.
Definition sircondition.c:110
+
bool _sir_condbroadcast(sir_condition *cond)
Broadcast signals a condition variable.
Definition sircondition.c:62
+
bool _sir_condcreate(sir_condition *cond)
Creates/initializes a new condition variable.
Definition sircondition.c:30
diff --git a/docs/config_8h.html b/docs/config_8h.html index 2e8a8f0ca..8e1867b98 100644 --- a/docs/config_8h.html +++ b/docs/config_8h.html @@ -45,7 +45,7 @@ -
libsir 2.2.2 +
libsir 2.2.3
Standard Incident Reporter
@@ -124,7 +124,7 @@

Macros

#define SIR_TIMEFORMAT   "%H:%M:%S" - The time stamp format string at the start of log messages–not including milliseconds (as::SIR_MSECFORMAT), which is added separately.
+ The time stamp format string at the start of log messages-not including milliseconds (as::SIR_MSECFORMAT), which is added separately.
  #define SIR_MSECFORMAT   ".%03ld"  The format for milliseconds (1000ths of a second) in time stamps.
@@ -154,7 +154,7 @@ #define SIR_FROLLSIZE   (1024 * 1024 * 5)  The size, in bytes, at which a log file will be rolled/archived.
  -#define SIR_FHTIMEFORMAT   "%H:%M:%S %a %d %b %y (%z)" +#define SIR_FHTIMEFORMAT   "%H:%M:%S %a %d %b %Y (%z)"  The time format string used in file headers (see SIR_FHFORMAT).
  #define SIR_FHFORMAT   "\n\n----- %s %s -----\n\n" @@ -166,7 +166,7 @@ #define SIR_FHROLLED   "archived as %s due to size @"  The string included in SIR_FHFORMAT when a file is rolled/archived due to becoming larger than SIR_FROLLSIZE bytes in size.
  -#define SIR_FNAMETIMEFORMAT   "%y-%m-%d-%H%M%S" +#define SIR_FNAMETIMEFORMAT   "%Y-%m-%d-%H%M%S"  The time format string for rolled/archived log files (see SIR_FNAMEFORMAT).
  #define SIR_FNAMESEQFORMAT   "-%hu" @@ -177,35 +177,35 @@   #define SIRL_S_EMERG   "emrg" - The human-readable form of the SIRL_EMERG level.
+ The human-readable form of the SIRL_EMERG level.
  #define SIRL_S_ALERT   "alrt" - The human-readable form of the SIRL_ALERT level.
+ The human-readable form of the SIRL_ALERT level.
  #define SIRL_S_CRIT   "crit" - The human-readable form of the SIRL_CRIT level.
+ The human-readable form of the SIRL_CRIT level.
  #define SIRL_S_ERROR   "erro" - The human-readable form of the SIRL_ERROR level.
+ The human-readable form of the SIRL_ERROR level.
  #define SIRL_S_WARN   "warn" - The human-readable form of the SIRL_WARN level.
+ The human-readable form of the SIRL_WARN level.
  #define SIRL_S_NOTICE   "noti" - The human-readable form of the SIRL_NOTICE level.
+ The human-readable form of the SIRL_NOTICE level.
  #define SIRL_S_INFO   "info" - The human-readable form of the SIRL_INFO level.
+ The human-readable form of the SIRL_INFO level.
  #define SIRL_S_DEBUG   "debg" - The human-readable form of the SIRL_DEBUG level.
+ The human-readable form of the SIRL_DEBUG level.
  #define SIR_MAXFILES   16 @@ -219,7 +219,7 @@ #define SIR_MAXFHEADER   128  The size, in characters, of the buffer used to hold file header format strings.
  -#define SIR_MAXMESSAGE   2048 +#define SIR_MAXMESSAGE   4096  The maximum number of characters allowable in one log message.
  @@ -246,16 +246,12 @@ #define SIR_MAX_SYSLOG_CAT   64  The size, in characters, of the buffer used to hold system logger category strings.
  - -#define SIR_MAXPID   16 - The size, in characters, of the buffer used to hold process/thread IDs/names.
#define SIR_MAXMISC   7  The maximum number of whitespace and miscellaneous characters included in output.
  -#define SIR_MAXSTYLE   39 +#define SIR_MAXSTYLE   43  The size, in characters, of the buffer used to hold a sequence of styling data in any color mode (the largest possible sequence, which is: \x1b[a;fb;m;rrr;ggg;bbb;fb;m;rrr;ggg;bbbm) plus a null terminator.
  @@ -295,19 +291,23 @@   #define SIR_NUMLEVELS   8 - The number of actual levels; SIRL_NONE, SIRL_ALL, and SIRL_DEFAULT are pseudo levels and end up being mapped (or not) to the others.
+ The number of actual levels; SIRL_NONE, SIRL_ALL, and SIRL_DEFAULT are pseudo levels and end up being mapped (or not) to the others.
  #define SIR_NUMOPTIONS   8 - The number of actual options; SIRO_ALL, SIRO_DEFAULT, and SIRO_MSGONLY are pseudo options that end up being mapped (or not) to the others.
+ The number of actual options; SIRO_ALL, SIRO_DEFAULT, and SIRO_MSGONLY are pseudo options that end up being mapped (or not) to the others.
  - -#define SIR_NUM16_COLOR_MAPPINGS   39 - The number of entries in the 4-bit (16-color) map: 5 attributes + 17 foreground colors + 17 background colors (default counts as a color).
-  #define SIR_HNAME_CHK_INTERVAL   60  The number of seconds to let elapse before checking if the hostname needs refreshing.
  + +#define SIR_THRD_CHK_INTERVAL   333.0 + The number of milliseconds to let elapse before re-formatting the current thread identifier and/or name.
+  + +#define SIR_FILE_CHK_SIZE_WRITES   10 + The number of writes to a file to let occur before checking its current size to determine if it needs to be rolled.
#define SIR_SQUELCH_THRESHOLD   5  The number of consecutive duplicate messages that will cause libsir to squelch further identical messages, and instead log the message SIR_SQUELCH_MSG_FORMAT.
@@ -326,7 +326,7 @@

The definitions herein may be modified for fine-grained control over the appearance and content of log messages, default values, and various thresholds (e.g. file and buffer sizes).

Author
Ryan M. Lederman <leder.nosp@m.man@.nosp@m.gmail.nosp@m..com>
Date
2018-2023
-
Version
2.2.2
+
Version
2.2.3

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

@@ -344,8 +344,8 @@

-

The time stamp format string at the start of log messages–not including milliseconds (as::SIR_MSECFORMAT), which is added separately.

-
Remarks
Only applies if SIRO_NOTIME is not set.
+

The time stamp format string at the start of log messages-not including milliseconds (as::SIR_MSECFORMAT), which is added separately.

+
Remarks
Only applies if SIRO_NOTIME is not set.

Example

23:30:26

@@ -363,9 +363,9 @@

The format for milliseconds (1000ths of a second) in time stamps.

-
Remarks
Only applies if SIRO_NOTIME or SIRO_NOMSEC are not set.
+
Remarks
Only applies if SIRO_NOTIME or SIRO_NOMSEC are not set.
-SIRO_NOTIME implies SIRO_NOMSEC.
+SIRO_NOTIME implies SIRO_NOMSEC.

Example

.034

@@ -383,7 +383,7 @@

The string placed directly before the human-readable logging level.

-
Remarks
Only applies if SIRO_NOLEVEL is not set.
+
Remarks
Only applies if SIRO_NOLEVEL is not set.
@@ -400,7 +400,7 @@

The string placed directly after the human-readable logging level.

-
Remarks
Only applies if SIRO_NOLEVEL is not set.
+
Remarks
Only applies if SIRO_NOLEVEL is not set.
@@ -417,7 +417,7 @@

The string placed directly before process and thread IDs.

-
Remarks
Only applies if SIRO_NONAME is not set.
+
Remarks
Only applies if SIRO_NONAME is not set.
@@ -434,7 +434,7 @@

The character placed directly after process and thread IDs.

-
Remarks
Only applies if SIRO_NONAME is not set.
+
Remarks
Only applies if SIRO_NONAME is not set.
@@ -451,7 +451,7 @@

The format for the current process/thread ID.

-
Remarks
Only applies if SIRO_NOPID or SIRO_NOTID are not set.
+
Remarks
Only applies if SIRO_NOPID or SIRO_NOTID are not set.
@@ -468,7 +468,7 @@

The string to place between process and thread IDs.

-
Remarks
Only applies if both SIRO_NOPID and SIRO_NOTID are not set.
+
Remarks
Only applies if both SIRO_NOPID and SIRO_NOTID are not set.

Example

3435.1189
@@ -497,14 +497,14 @@

- +
#define SIR_FHTIMEFORMAT   "%H:%M:%S %a %d %b %y (%z)"#define SIR_FHTIMEFORMAT   "%H:%M:%S %a %d %b %Y (%z)"

The time format string used in file headers (see SIR_FHFORMAT).

-
Remarks
Only applies if SIRO_NOHDR is not set.
-

Example

15:13:41 Fri 9 Jun 23 (-0600)
+
Remarks
Only applies if SIRO_NOHDR is not set.
+

Example

15:13:41 Fri 9 Jun 2023 (-0600)
@@ -521,7 +521,7 @@

The format string written to a log file when logging begins or the file is rolled/archived.

-
Remarks
Only applies if SIRO_NOHDR is not set.
+
Remarks
Only applies if SIRO_NOHDR is not set.

To modify level registrations for stdout, use sir_stdoutlevels.

See also
sir_stdoutlevels
Parameters
- +
optsNew bitmask of sir_option for stdout. If you wish to use the default values, pass SIRL_DEFAULT.
optsNew bitmask of sir_option for stdout. If you wish to use the default values, pass SIRL_DEFAULT.
@@ -1211,7 +1211,7 @@

See also
sir_stderropts
Parameters
- +
levelsNew bitmask of sir_level to register for. If you wish to use the default levels, pass SIRL_DEFAULT.
levelsNew bitmask of sir_level to register for. If you wish to use the default levels, pass SIRL_DEFAULT.
@@ -1238,16 +1238,16 @@

SIRO_NOTIME -
  • SIRO_NOHOST
  • -
  • SIRO_NOPID
  • -
  • SIRO_NOTID
  • +
  • SIRO_NOTIME
  • +
  • SIRO_NOHOST
  • +
  • SIRO_NOPID
  • +
  • SIRO_NOTID
  • To modify level registrations for stderr, use sir_stderrlevels.

    See also
    sir_stderrlevels
    Parameters
    - +
    optsNew bitmask of sir_option for stderr. If you wish to use the default values, pass SIRL_DEFAULT.
    optsNew bitmask of sir_option for stderr. If you wish to use the default values, pass SIRL_DEFAULT.
    @@ -1284,7 +1284,7 @@

    See also
    sir_syslogopts
    Parameters
    - +
    levelsNew bitmask of sir_level to register for. If you wish to use the default levels, pass SIRL_DEFAULT.
    levelsNew bitmask of sir_level to register for. If you wish to use the default levels, pass SIRL_DEFAULT.
    @@ -1311,13 +1311,13 @@

    SIRO_MSGONLY +
  • SIRO_MSGONLY
  • To modify level registrations for the system logger, use sir_sysloglevels.

    See also
    sir_sysloglevels
    Parameters
    - +
    optsNew bitmask of sir_option for the system logger. If you wish to use the default values, pass SIRO_DEFAULT.
    optsNew bitmask of sir_option for the system logger. If you wish to use the default values, pass SIRO_DEFAULT.
    @@ -1346,7 +1346,7 @@

  • If the sirinit.d_syslog.identity string is set, it will be used.
  • -
  • If the sirinit.name string is set, it will be used.
  • +
  • If the sirinit.name string is set, it will be used.
  • If the name of the current process is available, it will be used.
  • If none of these are available, the string SIR_FALLBACK_SYSLOG_ID will be used.
  • @@ -1378,7 +1378,7 @@

    Set new system logger category.

    -

    Some system logger facilities (e.g. os_log, the system logger on macOS), ask for a category string when logging messages–to more easily group messages together (which, as a byproduct, enhances searching).

    +

    Some system logger facilities (e.g. os_log, the system logger on macOS), ask for a category string when logging messages-to more easily group messages together (which, as a byproduct, enhances searching).

    If you are not utilizing a system logger that requires a category string, you do not need to call this function (or set sirinit.d_syslog.category).

    Upon library initialization, the system logger category is resolved as follows:

      @@ -1413,9 +1413,9 @@

      Returns the current libsir version as a string.

      -
      Note
      This may be helpful when using libsir as a shared library–it will always return the value of the shared library, not the source version of libsir that you built against.
      +
      Note
      This may be helpful when using libsir as a shared library-it will always return the value of the shared library, not the source version of libsir that you built against.

      Example:

      -
      2.2.2-dev
      +
      2.2.3-dev
      Returns
      const char* The current libsir version string.
      diff --git a/docs/group__publictypes.html b/docs/group__publictypes.html index 36c654472..3aa0f5a3b 100644 --- a/docs/group__publictypes.html +++ b/docs/group__publictypes.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -112,6 +112,7 @@
      @@ -136,6 +137,95 @@  Reserved for internal use; do not modify. More...
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Macros

      #define SIRL_NONE   0x0000U
       Defines the available levels (severity/priority) of logging output.
       
      +#define SIRL_EMERG   0x0001U
       Nuclear war, Armageddon, etc.
       
      +#define SIRL_ALERT   0x0002U
       Action required ASAP.
       
      +#define SIRL_CRIT   0x0004U
       Critical errors.
       
      +#define SIRL_ERROR   0x0008U
       Errors.
       
      +#define SIRL_WARN   0x0010U
       Warnings that could likely be ignored.
       
      +#define SIRL_NOTICE   0x0020U
       Normal but significant.
       
      +#define SIRL_INFO   0x0040U
       Informational messages.
       
      +#define SIRL_DEBUG   0x0080U
       Debugging/diagnostic output.
       
      +#define SIRL_ALL   0x00ffU
       Include all logging levels.
       
      +#define SIRL_DEFAULT   0x0100U
       Default levels for this type of destination.
       
      #define SIRO_ALL   0x00000000U
       Formatting options for a destination.
       
      +#define SIRO_NOTIME   0x00000100U
       Exclude time stamps (implies SIRO_NOMSEC).
       
      +#define SIRO_NOMSEC   0x00000200U
       Exclude millisecond-resolution in time stamps.
       
      +#define SIRO_NOHOST   0x00000400U
       Exclude local hostname.
       
      +#define SIRO_NOLEVEL   0x00000800U
       Exclude human-readable logging level.
       
      +#define SIRO_NONAME   0x00001000U
       Exclude process/app name.
       
      +#define SIRO_NOPID   0x00002000U
       Exclude process ID.
       
      +#define SIRO_NOTID   0x00004000U
       Exclude thread ID/name.
       
      +#define SIRO_NOHDR   0x00010000U
       Don't write header messages to log files.
       
      +#define SIRO_MSGONLY   0x00007f00U
       Sets all other options except SIRO_NOHDR.
       
      +#define SIRO_DEFAULT   0x00100000U
       Default options for this type of destination.
       
      + + + - + + + + - + @@ -213,58 +311,6 @@ } - - - - - - @@ -391,13 +435,13 @@

      &

      +sir_level bitmask defining output levels to register for. +sir_option bitmask defining the formatting of output.

      Typedefs

      @@ -146,13 +236,21 @@ typedef uint32_t sirpluginid
       Plugin module identifier type.
       
      +typedef uint16_t sir_level
       The sir_level type.
       
      typedef uint16_t sir_levels
       sir_level bitmask type.
       sir_level bitmask type.
       
      +typedef uint32_t sir_option
       The sir_option type.
       
      typedef uint32_t sir_options
       sir_option bitmask type.
       sir_option bitmask type.
       
      typedef uint32_t sir_textcolor
       Error codes. More...
       
      enum  sir_level {
      -  SIRL_NONE = 0x0000 -,
      -  SIRL_EMERG = 0x0001 -,
      -  SIRL_ALERT = 0x0002 -,
      -  SIRL_CRIT = 0x0004 -,
      -  SIRL_ERROR = 0x0008 -,
      -  SIRL_WARN = 0x0010 -,
      -  SIRL_NOTICE = 0x0020 -,
      -  SIRL_INFO = 0x0040 -,
      -  SIRL_DEBUG = 0x0080 -,
      -  SIRL_ALL = 0x00ff -,
      -  SIRL_DEFAULT = 0x0100 -
      - }
       Defines the available levels (severity/priority) of logging output. More...
       
      enum  sir_option {
      -  SIRO_ALL = 0x00000000 -,
      -  SIRO_NOTIME = 0x00000100 -,
      -  SIRO_NOMSEC = 0x00000200 -,
      -  SIRO_NOHOST = 0x00000400 -,
      -  SIRO_NOLEVEL = 0x00000800 -,
      -  SIRO_NONAME = 0x00001000 -,
      -  SIRO_NOPID = 0x00002000 -,
      -  SIRO_NOTID = 0x00004000 -,
      -  SIRO_NOHDR = 0x00010000 -,
      -  SIRO_MSGONLY = 0x00007f00 -,
      -  SIRO_DEFAULT = 0x00100000 -
      - }
       Formatting options for a destination. More...
       
      enum  sir_colormode {
        SIRCM_16 = 0 ,
      @@ -325,8 +371,6 @@   SIRTC_WHITE = 15 ,
        SIRTC_DEFAULT = 256 -,
      -  SIRTC_INVALID = 257
      }
       Colors for stdio output (16-color mode). More...
      levels -sir_level bitmask defining output levels to register for.
      sir_options opts -sir_option bitmask defining the formatting of output.
      @@ -422,15 +466,15 @@

      levels -sir_level bitmask defining levels to register for. +sir_level bitmask defining levels to register for. sir_options opts -sir_option bitmask defining the formatting of output.
      Remarks
      Unlike the stdio and log file destinations, not all options are supported. This is due to the fact that system logging facilities typically already include the information represented by sir_option on their own.
      +sir_option bitmask defining the formatting of output.
      Remarks
      Unlike the stdio and log file destinations, not all options are supported. This is due to the fact that system logging facilities typically already include the information represented by sir_option on their own.

      Furthermore, the supported options vary based on the system logging facility in use.

      -
      Note
      If your system supports syslog, and libsir is compiled with the intent to use it (SIR_SYSLOG_ENABLED is defined), then at least SIRO_NOPID is supported.
      +
      Note
      If your system supports syslog, and libsir is compiled with the intent to use it (SIR_SYSLOG_ENABLED is defined), then at least SIRO_NOPID is supported.
      struct sir_syslog_dest._state @@ -499,7 +543,7 @@

      ◆ name[SIR_MAXNAME] -If set, defines the name that will appear in messages sent to stdio and log file destinations.

      Set SIRO_NONAME in a destination's options bitmask to exclude it from log messages.

      +The name to use in log messages (usually the process name).

      Set SIRO_NONAME in a destination's options bitmask to suppress it.

      @@ -533,6 +577,41 @@

      Macro Definition Documentation

      + +

      ◆ SIRL_NONE

      + +
      +
      + + + + +
      #define SIRL_NONE   0x0000U
      +
      + +

      Defines the available levels (severity/priority) of logging output.

      +

      No output.

      + +
      +
      + +

      ◆ SIRO_ALL

      + +
      +
      + + + + +
      #define SIRO_ALL   0x00000000U
      +
      + +

      Formatting options for a destination.

      +

      Include all formatting and functionality.

      +

      Enumeration Type Documentation

      @@ -600,86 +679,6 @@

      -

      ◆ sir_level

      - -
      -
      - - - - -
      enum sir_level
      -
      - -

      Defines the available levels (severity/priority) of logging output.

      - - - - - - - - - - - - -
      Enumerator
      SIRL_NONE 

      No output.

      -
      SIRL_EMERG 

      Nuclear war, Armageddon, etc.

      -
      SIRL_ALERT 

      Action required ASAP.

      -
      SIRL_CRIT 

      Critical errors.

      -
      SIRL_ERROR 

      Errors.

      -
      SIRL_WARN 

      Warnings that could likely be ignored.

      -
      SIRL_NOTICE 

      Normal but significant.

      -
      SIRL_INFO 

      Informational messages.

      -
      SIRL_DEBUG 

      Debugging/diagnostic output.

      -
      SIRL_ALL 

      Include all logging levels.

      -
      SIRL_DEFAULT 

      Default levels for this type of destination.

      -
      - -
      -
      - -

      ◆ sir_option

      - -
      -
      - - - - -
      enum sir_option
      -
      - -

      Formatting options for a destination.

      - - - - - - - - - - - - -
      Enumerator
      SIRO_ALL 

      Include all formatting and functionality.

      -
      SIRO_NOTIME 

      Exclude time stamps (implies SIRO_NOMSEC).

      -
      SIRO_NOMSEC 

      Exclude millisecond-resolution in time stamps.

      -
      SIRO_NOHOST 

      Exclude local hostname.

      -
      SIRO_NOLEVEL 

      Exclude human-readable logging level.

      -
      SIRO_NONAME 

      Exclude process/app name.

      -
      SIRO_NOPID 

      Exclude process ID.

      -
      SIRO_NOTID 

      Exclude thread ID/name.

      -
      SIRO_NOHDR 

      Don't write header messages to log files.

      -
      SIRO_MSGONLY 

      Sets all other options except SIRO_NOHDR.

      -
      SIRO_DEFAULT 

      Default options for this type of destination.

      -
      -
      @@ -784,8 +783,6 @@

      SIRTC_DEFAULT 

      Represents the default color.

      -SIRTC_INVALID 

      Represents the invalid color.

      -

      diff --git a/docs/group__publictypes.js b/docs/group__publictypes.js index cd07d1416..48d629f0f 100644 --- a/docs/group__publictypes.js +++ b/docs/group__publictypes.js @@ -26,9 +26,33 @@ var group__publictypes = [ "mask", "group__publictypes.html#af2ce11ebf110993621bedd8e747d7b1b", null ], [ "logger", "group__publictypes.html#a6db435f352d7ea4a67807a3feb447bf7", null ] ] ], + [ "SIRL_NONE", "group__publictypes.html#ga2b9222b9d95807e7e1d16bd9c86c130b", null ], + [ "SIRL_EMERG", "group__publictypes.html#ga2409f97357f1eb510ababeb6e0a030e8", null ], + [ "SIRL_ALERT", "group__publictypes.html#ga8549494d396c96ba66b5b78b298cff7d", null ], + [ "SIRL_CRIT", "group__publictypes.html#gac559a9050c927bf0dc9f88dfc3905e06", null ], + [ "SIRL_ERROR", "group__publictypes.html#ga39dffb8c9c5100251098820cb5b48446", null ], + [ "SIRL_WARN", "group__publictypes.html#ga91b18adc2526599377583951c29e84b9", null ], + [ "SIRL_NOTICE", "group__publictypes.html#gad4aefd62d77b020460d32c9350bec7d5", null ], + [ "SIRL_INFO", "group__publictypes.html#ga9e73defcee82050f038956ad7e911621", null ], + [ "SIRL_DEBUG", "group__publictypes.html#gaa2927c260f1d8fac96513442e50105fc", null ], + [ "SIRL_ALL", "group__publictypes.html#gac393a8a8f335fe44d28f39c91293af1f", null ], + [ "SIRL_DEFAULT", "group__publictypes.html#ga640c1b7e6daea59af42137e10e3c3b29", null ], + [ "SIRO_ALL", "group__publictypes.html#ga40584e96084fe85a8ad8a7be98ff5fc9", null ], + [ "SIRO_NOTIME", "group__publictypes.html#gac3370e3a2be554f93e9e67bea177c8a0", null ], + [ "SIRO_NOMSEC", "group__publictypes.html#ga0bdfbd616c096c6dfbb481b54fd1e397", null ], + [ "SIRO_NOHOST", "group__publictypes.html#gaf6a215c540807f3ba15f97d372feeaf0", null ], + [ "SIRO_NOLEVEL", "group__publictypes.html#ga3c68d15a3b9b9d5a4f4c8fd092b0e73d", null ], + [ "SIRO_NONAME", "group__publictypes.html#ga0d3bc4aa34b9399e72621632b877b16a", null ], + [ "SIRO_NOPID", "group__publictypes.html#gafd6f47db95d87395d4a37529f839c6de", null ], + [ "SIRO_NOTID", "group__publictypes.html#ga093cea38ace2acb674162a0f7fb153a6", null ], + [ "SIRO_NOHDR", "group__publictypes.html#ga7b417924811962ca0aeaca30bdf38cf6", null ], + [ "SIRO_MSGONLY", "group__publictypes.html#gafdc3b32bdee26cd4f457a4cecd2771ad", null ], + [ "SIRO_DEFAULT", "group__publictypes.html#ga2a7a55618343c4cb76d7e428af72232b", null ], [ "sirfileid", "group__publictypes.html#ga0da4ab4b4468b6b71cd8e924b2adf2e2", null ], [ "sirpluginid", "group__publictypes.html#gadbc71df98df765cddfed4aa11c805470", null ], + [ "sir_level", "group__publictypes.html#ga076e759e9aa36cde2977f754a7ea186c", null ], [ "sir_levels", "group__publictypes.html#ga7ee5f2908abd2df9e89bcab0b6608edd", null ], + [ "sir_option", "group__publictypes.html#gac28da6e48402cc15ead5b5384bccb6fd", null ], [ "sir_options", "group__publictypes.html#gafb659914aac0129182d86f7d3414e85d", null ], [ "sir_textcolor", "group__publictypes.html#gab4214e294af5ac3c91f21c1d379e10c5", null ], [ "sir_errorcode", "group__publictypes.html#ga861df9be69c6bcd01d29b77bd28ff7d3", [ @@ -57,32 +81,6 @@ var group__publictypes = [ "SIR_E_PLATFORM", "group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a0f293a6020f98a7e41b8afea0e402046", null ], [ "SIR_E_UNKNOWN", "group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a8090c8bc79ae660da7e58b2d0a47d785", null ] ] ], - [ "sir_level", "group__publictypes.html#ga4a3303c67acd49bea38fd3565d458cb2", [ - [ "SIRL_NONE", "group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a7cc68341661fcb7a505aca67edb7a18e", null ], - [ "SIRL_EMERG", "group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a4ea9abe160c997d126806c4cca7f0cdc", null ], - [ "SIRL_ALERT", "group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a8ea85ed68763f9c00d5ceeeaaf550955", null ], - [ "SIRL_CRIT", "group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a803f36256e5e4e3b788b7fa3a267a435", null ], - [ "SIRL_ERROR", "group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a9c687f088db1de838ea5d5f8a8beed76", null ], - [ "SIRL_WARN", "group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a9bfe1efbd321a009ad518b2eaec35881", null ], - [ "SIRL_NOTICE", "group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a721700c8091aab00db0b87b53f6eb53a", null ], - [ "SIRL_INFO", "group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a5882fd7e849f6a3c1c7967bde4ef4f7d", null ], - [ "SIRL_DEBUG", "group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a3553c8c2c35e70495b8f8e826aa3ff9b", null ], - [ "SIRL_ALL", "group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a4aa4a7193f36bf34a21ab48a17ffc444", null ], - [ "SIRL_DEFAULT", "group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2ab218462c6cc1f43062f5d2d24a757804", null ] - ] ], - [ "sir_option", "group__publictypes.html#ga9ed1c599dfd76231f4e0dadf46bff40b", [ - [ "SIRO_ALL", "group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba843ca9cff10528731dc9609e2fbfe34f", null ], - [ "SIRO_NOTIME", "group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40baeafb73ebdeb2df401d9fdfc39734fc8d", null ], - [ "SIRO_NOMSEC", "group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bad78a6f66d21b01ace7574841495cacdd", null ], - [ "SIRO_NOHOST", "group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bafe062f8fda5add3cb0e8fc3948aa6f9f", null ], - [ "SIRO_NOLEVEL", "group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba58882ac768eb1c0a0021d140f6b15deb", null ], - [ "SIRO_NONAME", "group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba59020fdfee0aaf393ed80ef7bab4bb4e", null ], - [ "SIRO_NOPID", "group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40babbdc2529081d58ebff50a8966db31fd2", null ], - [ "SIRO_NOTID", "group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba7079a31d6035c24aaa94d85c4a89c053", null ], - [ "SIRO_NOHDR", "group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba59b2a0e9b2dfd78bcfa053dcb3f2dcce", null ], - [ "SIRO_MSGONLY", "group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bad3258e42ff275ce5e256ffdf368f7bd0", null ], - [ "SIRO_DEFAULT", "group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba10e73f8e471fa73704716a5efac8ed02", null ] - ] ], [ "sir_colormode", "group__publictypes.html#ga26686b620930358e8b50f287d6c96e51", [ [ "SIRCM_16", "group__publictypes.html#gga26686b620930358e8b50f287d6c96e51a1e9b6fdb0f6841f91060766dfefaa504", null ], [ "SIRCM_256", "group__publictypes.html#gga26686b620930358e8b50f287d6c96e51af6f2ac3c69c5fd02bac6d861bebdb441", null ], @@ -111,7 +109,6 @@ var group__publictypes = [ "SIRTC_BMAGENTA", "group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a8ca3ef305d6d19e9469e42cab90eda7f", null ], [ "SIRTC_BCYAN", "group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9c0ac02a1b3d8964b40ec838a14b48b3", null ], [ "SIRTC_WHITE", "group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a79f980cfe1c098f99358b9250c52491b", null ], - [ "SIRTC_DEFAULT", "group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6435ad1ff8e5c1495342f96398f73d8b", null ], - [ "SIRTC_INVALID", "group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7af7d338a61e4e72a3a18146f65a2072c6", null ] + [ "SIRTC_DEFAULT", "group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6435ad1ff8e5c1495342f96398f73d8b", null ] ] ] ]; \ No newline at end of file diff --git a/docs/group__tests.html b/docs/group__tests.html index 3d910e623..4e3709f23 100644 --- a/docs/group__tests.html +++ b/docs/group__tests.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -125,6 +125,8 @@   bool sirtest_exceedmaxsize (void)   +bool sirtest_logwritesanity (void) +  bool sirtest_failnooutputdest (void)   bool sirtest_failnulls (void) @@ -169,6 +171,8 @@   bool sirtest_updatesanity (void)   +bool sirtest_threadidsanity (void) +  bool sirtest_syslog (void)   bool sirtest_os_log (void) @@ -225,6 +229,25 @@

      Returns
      bool true if the test passed, false otherwise.
      +

      + + +

      ◆ sirtest_logwritesanity()

      + +
      +
      + + + + + + + + +
      bool sirtest_logwritesanity (void )
      +
      +
      Returns
      bool true if the test passed, false otherwise.
      +
      @@ -643,6 +666,25 @@

      Returns
      bool true if the test passed, false otherwise.
      + + +
      +

      ◆ sirtest_threadidsanity()

      + +
      +
      + + + + + + + + +
      bool sirtest_threadidsanity (void )
      +
      +
      Returns
      bool true if the test passed, false otherwise.
      +
      diff --git a/docs/group__tests.js b/docs/group__tests.js index 7cd811bc7..6ddd8aed2 100644 --- a/docs/group__tests.js +++ b/docs/group__tests.js @@ -2,6 +2,7 @@ var group__tests = [ [ "sirtest_threadrace", "group__tests.html#gacfda68c218d184e7a6998d9f2837481f", null ], [ "sirtest_exceedmaxsize", "group__tests.html#ga90b7633a39946d2c201758aafbce43fa", null ], + [ "sirtest_logwritesanity", "group__tests.html#gadad204381413cc93b367969e1c6a6d04", null ], [ "sirtest_failnooutputdest", "group__tests.html#ga9472cbb9a62d343fe0272444a7f87ce1", null ], [ "sirtest_failnulls", "group__tests.html#gade87411ddfc55756dd519d7e9b8f33a7", null ], [ "sirtest_failemptymessage", "group__tests.html#gaf70a501cd8ae0357d80b99df2b1de901", null ], @@ -24,6 +25,7 @@ var group__tests = [ "sirtest_mutexsanity", "group__tests.html#ga8545a7006242a1e925b0f937fa875850", null ], [ "sirtest_perf", "group__tests.html#ga607e96cb52e248a2277ab3ecc31b7195", null ], [ "sirtest_updatesanity", "group__tests.html#gaf3428b620d3540baf058f6b7dd42c075", null ], + [ "sirtest_threadidsanity", "group__tests.html#gaf7edbef2bba9459091aa48d8b9512ede", null ], [ "sirtest_syslog", "group__tests.html#ga8db924f756e0ee2f04ff3e044a10f283", null ], [ "sirtest_os_log", "group__tests.html#ga54f0e8e0163d0aedf20616451f122017", null ], [ "sirtest_get_wineversion", "group__tests.html#ga81a9057299bf85b258c93fb294156ab7", null ], diff --git a/docs/helpers_8h_source.html b/docs/helpers_8h_source.html index e7e8ce947..73cc10836 100644 --- a/docs/helpers_8h_source.html +++ b/docs/helpers_8h_source.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -118,7 +118,7 @@
      3 *
      4 * Author: Ryan M. Lederman <lederman@gmail.com>
      5 * Copyright: Copyright (c) 2018-2023
      -
      6 * Version: 2.2.2
      +
      6 * Version: 2.2.3
      7 * License: The MIT License (MIT)
      8 *
      9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
      @@ -142,257 +142,370 @@
      27# define _SIR_HELPERS_H_INCLUDED
      28
      29# include "sir/types.h"
      -
      30
      -
      32# define _sir_countof(arr) (sizeof(arr) / sizeof(arr[0]))
      -
      33
      -
      36# define _sir_mkerror(code) (((uint32_t)((code) & 0x7fff) << 16) | 0x80000000)
      -
      37
      -
      39static inline
      -
      40bool _sir_validerror(uint32_t err) {
      -
      41 uint32_t masked = err & 0x8fffffff;
      -
      42 return masked >= 0x80000000 && masked <= 0x8fff0000;
      -
      43}
      +
      30# include "sir/errors.h"
      +
      31
      +
      33# define _sir_countof(arr) (sizeof(arr) / sizeof(arr[0]))
      +
      34
      +
      36# define _SIR_L_START(format) \
      +
      37 bool ret = false; \
      +
      38 va_list args; \
      +
      39 do { \
      +
      40 if (!_sir_validptr(format)) \
      +
      41 return false; \
      +
      42 va_start(args, format); \
      +
      43 } while (false)
      44
      -
      46static inline
      -
      47uint16_t _sir_geterrcode(uint32_t err) {
      -
      48 return (err >> 16) & 0x7fff;
      -
      49}
      -
      50
      -
      52# define _SIR_L_START(format) \
      -
      53 bool r = false; \
      -
      54 va_list args = {0}; \
      -
      55 va_start(args, format); \
      -
      56 \
      -
      57 if (_sir_validptr(format)) { \
      -
      58
      -
      60# define _SIR_L_END(args) \
      -
      61 } \
      -
      62 va_end(args);
      -
      63
      -
      65# define _SIR_LOCK_SECTION(type, name, mid, ret) \
      -
      66 type* name = _sir_locksection(mid); \
      -
      67 if (!name) { \
      -
      68 (void)_sir_seterror(_SIR_E_INTERNAL); \
      -
      69 return ret; \
      -
      70 }
      +
      46# define _SIR_L_END() \
      +
      47 va_end(args)
      +
      48
      +
      50# define _SIR_LOCK_SECTION(type, name, mid, ret) \
      +
      51 type* name = _sir_locksection(mid); \
      +
      52 do { \
      +
      53 if (!name) { \
      +
      54 (void)_sir_seterror(_SIR_E_INTERNAL); \
      +
      55 return ret; \
      +
      56 } \
      +
      57 } while (false)
      +
      58
      +
      60# define _SIR_UNLOCK_SECTION(mid) \
      +
      61 _sir_unlocksection(mid)
      +
      62
      +
      64# define SIR_UNUSED(param) (void)param
      +
      65
      +
      67# define SIR_ASSERT_UNUSED(assertion, var) SIR_ASSERT(assertion); SIR_UNUSED(var)
      +
      68
      +
      70# define _SIR_PRNSTR(str) (str ? str : "<null>")
      71
      -
      73# define _SIR_UNLOCK_SECTION(mid) \
      -
      74 _sir_unlocksection(mid);
      -
      75
      -
      77# define SIR_UNUSED(param) (void)param
      +
      73# define _SIR_DECLARE_BIN_SEARCH(low, high) \
      +
      74 size_t _low = low, _high = high; \
      +
      75 size_t _mid = (_low + _high) / 2
      +
      76
      +
      77# define _SIR_BEGIN_BIN_SEARCH() do {
      78
      -
      80# define SIR_ASSERT_UNUSED(assertion, var) SIR_ASSERT(assertion); SIR_UNUSED(var)
      -
      81
      -
      83# define _SIR_PRNSTR(str) (str ? str : "<null>")
      -
      84
      -
      86# define _SIR_DECLARE_BIN_SEARCH(low, high) \
      -
      87 size_t _low = low; \
      -
      88 size_t _high = high; \
      -
      89 size_t _mid = (_low + _high) / 2;
      +
      79# define _SIR_ITERATE_BIN_SEARCH(comparison) \
      +
      80 if (_low == _high) \
      +
      81 break; \
      +
      82 if (0 > comparison && (_mid - 1) >= _low) { \
      +
      83 _high = _mid - 1; \
      +
      84 } else if ((_mid + 1) <= _high) { \
      +
      85 _low = _mid + 1; \
      +
      86 } else { \
      +
      87 break; \
      +
      88 } \
      +
      89 _mid = (_low + _high) / 2
      90
      -
      91# define _SIR_BEGIN_BIN_SEARCH() do {
      -
      92# define _SIR_ITERATE_BIN_SEARCH(comparison) \
      -
      93 if (_low == _high) \
      -
      94 break; \
      -
      95 \
      -
      96 if (0 > comparison && (_mid - 1) >= _low) { \
      -
      97 _high = _mid - 1; \
      -
      98 } else if ((_mid + 1) <= _high) { \
      -
      99 _low = _mid + 1; \
      -
      100 } else { \
      -
      101 break; \
      -
      102 } \
      -
      103 \
      -
      104 _mid = (_low + _high) / 2;
      -
      105# define _SIR_END_BIN_SEARCH() \
      -
      106 } while (true);
      -
      107
      -
      108/* Validates a pointer and optionally fails if it's invalid. */
      -
      109bool __sir_validptr(const void* restrict p, bool fail);
      -
      110
      -
      112bool __sir_validptrptr(const void* restrict* pp, bool fail);
      -
      113
      -
      115# define _sir_validptrnofail(p) __sir_validptr(p, false)
      -
      116
      -
      118# define _sir_validptr(p) __sir_validptr((const void* restrict)p, true)
      -
      119
      -
      121# define _sir_validfnptr(fnp) __sir_validptrptr((const void* restrict*)&fnp, true)
      -
      122
      -
      124# define _sir_validptrptr(pp) __sir_validptrptr((const void* restrict*)pp, true)
      +
      91# define _SIR_END_BIN_SEARCH() \
      +
      92 } while (true)
      +
      93
      +
      94/* Validates a pointer and optionally fails if it's invalid. */
      +
      95static inline
      +
      96bool __sir_validptr(const void* restrict p, bool fail, const char* func,
      +
      97 const char* file, uint32_t line) {
      +
      98 bool valid = NULL != p;
      +
      99 if (fail && !valid) {
      +
      100 (void)__sir_seterror(_SIR_E_NULLPTR, func, file, line);
      +
      101 SIR_ASSERT(!valid && fail);
      +
      102 }
      +
      103 return valid;
      +
      104}
      +
      105
      +
      107static inline
      +
      108bool __sir_validptrptr(const void* restrict* pp, bool fail, const char* func,
      +
      109 const char* file, uint32_t line) {
      +
      110 bool valid = NULL != pp;
      +
      111 if (fail && !valid) {
      +
      112 (void)__sir_seterror(_SIR_E_NULLPTR, func, file, line);
      +
      113 SIR_ASSERT(!valid && fail);
      +
      114 }
      +
      115 return valid;
      +
      116}
      +
      117
      +
      119# define _sir_validptrnofail(p) \
      +
      120 __sir_validptr(p, false, __func__, __file__, __LINE__)
      +
      121
      +
      123# define _sir_validptr(p) \
      +
      124 __sir_validptr((const void* restrict)p, true, __func__, __file__, __LINE__)
      125
      -
      127static inline
      -
      128bool _sir_bittest(uint32_t flags, uint32_t test) {
      -
      129 return (flags & test) == test;
      -
      130}
      -
      131
      -
      133static inline
      -
      134bool _sir_setbitshigh(uint32_t* flags, uint32_t set) {
      -
      135 if (!flags)
      -
      136 return false;
      -
      137
      -
      138 *flags |= set;
      -
      139 return true;
      -
      140}
      -
      141
      -
      143static inline
      -
      144bool _sir_setbitslow(uint32_t* flags, uint32_t set) {
      -
      145 if (!flags)
      -
      146 return false;
      -
      147
      -
      148 *flags &= ~set;
      -
      149 return true;
      -
      150}
      -
      151
      -
      153void __sir_safefree(void** pp);
      -
      154
      -
      156# define _sir_safefree(pp) __sir_safefree((void**)pp)
      -
      157
      -
      159void _sir_safeclose(int* restrict fd);
      -
      160
      -
      162void _sir_safefclose(FILE* restrict* restrict f);
      +
      127# define _sir_validfnptr(fnp) \
      +
      128 __sir_validptrptr((const void* restrict*)&fnp, true, __func__, __file__, __LINE__)
      +
      129
      +
      131# define _sir_validptrptr(pp) \
      +
      132 __sir_validptrptr((const void* restrict*)pp, true, __func__, __file__, __LINE__)
      +
      133
      +
      135static inline
      +
      136bool _sir_bittest(uint32_t flags, uint32_t test) {
      +
      137 return (flags & test) == test;
      +
      138}
      +
      139
      +
      141static inline
      +
      142bool _sir_setbitshigh(uint32_t* flags, uint32_t set) {
      +
      143 if (!flags)
      +
      144 return false;
      +
      145
      +
      146 *flags |= set;
      +
      147 return true;
      +
      148}
      +
      149
      +
      151static inline
      +
      152bool _sir_setbitslow(uint32_t* flags, uint32_t set) {
      +
      153 if (!flags)
      +
      154 return false;
      +
      155
      +
      156 *flags &= ~set;
      +
      157 return true;
      +
      158}
      +
      159
      +
      162# define _sir_eqland(b, expr) ((b) = (expr) && (b))
      163
      -
      165bool _sir_validfd(int fd);
      +
      165void __sir_safefree(void** pp);
      166
      -
      168static inline
      -
      169bool _sir_validfileid(sirfileid id) {
      -
      170 return 0 != id;
      -
      171}
      +
      168# define _sir_safefree(pp) __sir_safefree((void**)pp)
      +
      169
      +
      171void _sir_safeclose(int* restrict fd);
      172
      -
      174static inline
      -
      175bool _sir_validpluginid(sirpluginid id) {
      -
      176 return 0 != id;
      -
      177}
      +
      174void _sir_safefclose(FILE* restrict* restrict f);
      +
      175
      +
      177bool _sir_validfd(int fd);
      178
      -
      180bool _sir_validupdatedata(sir_update_config_data* data);
      -
      181
      -
      183bool _sir_validlevels(sir_levels levels);
      +
      180static inline
      +
      181bool _sir_validfileid(sirfileid id) {
      +
      182 return 0U != id;
      +
      183}
      184
      -
      186bool _sir_validlevel(sir_level level);
      -
      187
      -
      189static inline
      -
      190void _sir_defaultlevels(sir_levels* levels, sir_levels def) {
      -
      191 if (levels && SIRL_DEFAULT == *levels)
      -
      192 *levels = def;
      -
      193}
      +
      186static inline
      +
      187bool _sir_validpluginid(sirpluginid id) {
      +
      188 return 0U != id;
      +
      189}
      +
      190
      +
      192bool __sir_validupdatedata(const sir_update_config_data* data, const char* func,
      +
      193 const char* file, uint32_t line);
      194
      -
      196static inline
      -
      197void _sir_defaultopts(sir_options* opts, sir_options def) {
      -
      198 if (opts && SIRO_DEFAULT == *opts)
      -
      199 *opts = def;
      -
      200}
      -
      201
      -
      203bool _sir_validopts(sir_options opts);
      -
      204
      -
      206bool _sir_validtextattr(sir_textattr attr);
      -
      207
      -
      209bool _sir_validtextcolor(sir_colormode mode, sir_textcolor color);
      +
      196# define _sir_validupdatedata(data) \
      +
      197 __sir_validupdatedata(data, __func__, __file__, __LINE__)
      +
      198
      +
      200bool __sir_validlevels(sir_levels levels, const char* func, const char* file,
      +
      201 uint32_t line);
      +
      202
      +
      204# define _sir_validlevels(levels) \
      +
      205 __sir_validlevels(levels, __func__, __file__, __LINE__)
      +
      206
      +
      208bool __sir_validlevel(sir_level level, const char* func, const char* file,
      +
      209 uint32_t line);
      210
      -
      212bool _sir_validcolormode(sir_colormode mode);
      -
      213
      -
      215static inline
      -
      216sir_textcolor _sir_mkansifgcolor(sir_textcolor fg) {
      -
      217 return SIRTC_DEFAULT == fg ? 39 : fg < 8 ? fg + 30 : fg + 82;
      -
      218}
      -
      219
      -
      221static inline
      -
      222sir_textcolor _sir_mkansibgcolor(sir_textcolor bg) {
      -
      223 return SIRTC_DEFAULT == bg ? 49 : bg < 8 ? bg + 40 : bg + 92;
      -
      224}
      -
      225
      -
      227static inline
      -
      228sir_textcolor _sir_getansifgcmd(sir_textcolor fg) {
      -
      229 return SIRTC_DEFAULT == fg ? 39 : 38;
      -
      230}
      -
      231
      -
      233static inline
      -
      234sir_textcolor _sir_getansibgcmd(sir_textcolor bg) {
      -
      235 return SIRTC_DEFAULT == bg ? 49 : 48;
      -
      236}
      -
      237
      -
      239# define _sir_getredfromcolor(color) (uint8_t)(((color) >> 16) & 0x000000ff)
      +
      212# define _sir_validlevel(level) \
      +
      213 __sir_validlevel(level, __func__, __file__, __LINE__)
      +
      214
      +
      216static inline
      +
      217void _sir_defaultlevels(sir_levels* levels, sir_levels def) {
      +
      218 if (levels && SIRL_DEFAULT == *levels)
      +
      219 *levels = def;
      +
      220}
      +
      221
      +
      223static inline
      +
      224void _sir_defaultopts(sir_options* opts, sir_options def) {
      +
      225 if (opts && SIRO_DEFAULT == *opts)
      +
      226 *opts = def;
      +
      227}
      +
      228
      +
      230bool __sir_validopts(sir_options opts, const char* func, const char* file,
      +
      231 uint32_t line);
      +
      232
      +
      234# define _sir_validopts(opts) \
      +
      235 __sir_validopts(opts, __func__, __file__, __LINE__)
      +
      236
      +
      238bool __sir_validtextattr(sir_textattr attr, const char* func, const char* file,
      +
      239 uint32_t line);
      240
      -
      242# define _sir_setredincolor(color, red) (color |= (((red) << 16) & 0x00ff0000))
      -
      243
      -
      245# define _sir_getgreenfromcolor(color) (uint8_t)(((color) >> 8) & 0x000000ff)
      -
      246
      -
      248# define _sir_setgreenincolor(color, green) ((color) |= (((green) << 8) & 0x0000ff00))
      -
      249
      -
      251# define _sir_getbluefromcolor(color) (uint8_t)((color) & 0x000000ff)
      +
      242# define _sir_validtextattr(attr) \
      +
      243 __sir_validtextattr(attr, __func__, __file__, __LINE__)
      +
      244
      +
      246bool __sir_validtextcolor(sir_colormode mode, sir_textcolor color, const char* func,
      +
      247 const char* file, uint32_t line);
      +
      248
      +
      250# define _sir_validtextcolor(mode, color) \
      +
      251 __sir_validtextcolor(mode, color, __func__, __file__, __LINE__)
      252
      -
      254# define _sir_setblueincolor(color, blue) ((color) |= ((blue) & 0x000000ff))
      -
      255
      -
      257static inline
      - -
      259 sir_textcolor retval = 0;
      -
      260 _sir_setredincolor(retval, r);
      -
      261 _sir_setgreenincolor(retval, g);
      -
      262 _sir_setblueincolor(retval, b);
      -
      263 return retval;
      -
      264}
      -
      265
      -
      267bool __sir_validstr(const char* restrict str, bool fail);
      -
      268
      -
      270# define _sir_validstr(str) __sir_validstr(str, true)
      -
      271
      -
      273# define _sir_validstrnofail(str) __sir_validstr(str, false)
      -
      274
      -
      276static inline
      -
      277void _sir_resetstr(char* str) {
      -
      278 str[0] = '\0';
      -
      279}
      -
      280
      -
      285static inline
      -
      286bool _sir_strsame(const char* lhs, const char* rhs, size_t count) {
      -
      287 return 0 == strncmp(lhs, rhs, count);
      -
      288}
      -
      289
      -
      294int _sir_strncpy(char* restrict dest, size_t destsz,
      -
      295 const char* restrict src, size_t count);
      +
      254bool __sir_validcolormode(sir_colormode mode, const char* func, const char* file,
      +
      255 uint32_t line);
      +
      256
      +
      258# define _sir_validcolormode(mode) \
      +
      259 __sir_validcolormode(mode, __func__, __file__, __LINE__)
      +
      260
      +
      262static inline
      +
      263sir_textcolor _sir_mkansifgcolor(sir_textcolor fg) {
      +
      264 return SIRTC_DEFAULT == fg ? 39 : fg < 8 ? fg + 30 : fg + 82;
      +
      265}
      +
      266
      +
      268static inline
      +
      269sir_textcolor _sir_mkansibgcolor(sir_textcolor bg) {
      +
      270 return SIRTC_DEFAULT == bg ? 49 : bg < 8 ? bg + 40 : bg + 92;
      +
      271}
      +
      272
      +
      274static inline
      +
      275sir_textcolor _sir_getansifgcmd(sir_textcolor fg) {
      +
      276 return SIRTC_DEFAULT == fg ? 39 : 38;
      +
      277}
      +
      278
      +
      280static inline
      +
      281sir_textcolor _sir_getansibgcmd(sir_textcolor bg) {
      +
      282 return SIRTC_DEFAULT == bg ? 49 : 48;
      +
      283}
      +
      284
      +
      286# define _sir_getredfromcolor(color) (uint8_t)(((color) >> 16) & 0x000000ffU)
      +
      287
      +
      289# define _sir_setredincolor(color, red) (color |= (((red) << 16) & 0x00ff0000U))
      +
      290
      +
      292# define _sir_getgreenfromcolor(color) (uint8_t)(((color) >> 8) & 0x000000ffU)
      +
      293
      +
      295# define _sir_setgreenincolor(color, green) ((color) |= (((green) << 8) & 0x0000ff00U))
      296
      -
      301int _sir_strncat(char* restrict dest, size_t destsz,
      -
      302 const char* restrict src, size_t count);
      -
      303
      -
      308int _sir_fopen(FILE* restrict* restrict streamptr, const char* restrict filename,
      -
      309 const char* restrict mode);
      -
      310
      -
      315struct tm* _sir_localtime(const time_t* restrict timer, struct tm* restrict buf);
      -
      316
      -
      321bool _sir_getchar(char* input);
      -
      322
      -
      326static inline
      -
      327uint32_t FNV32_1a(const uint8_t* data, size_t len) {
      -
      328 uint32_t hash = 2166136261U;
      -
      329 for (size_t n = 0; n < len; n++) {
      -
      330 hash ^= (uint32_t)data[n];
      -
      331 hash *= 16777619U;
      -
      332 }
      -
      333 return hash;
      -
      334}
      -
      335
      -
      340static inline
      -
      341uint64_t FNV64_1a(const char* str)
      -
      342{
      -
      343 uint64_t hash = 14695981039346656037UL;
      -
      344 for (const char* c = str; *c; c++) {
      -
      345 hash ^= (uint64_t)(unsigned char)(*c);
      -
      346 hash *= 1099511628211UL;
      -
      347 }
      -
      348 return hash;
      -
      349}
      -
      350
      -
      351#endif /* !_SIR_HELPERS_H_INCLUDED */
      +
      298# define _sir_getbluefromcolor(color) (uint8_t)((color) & 0x000000ffU)
      +
      299
      +
      301# define _sir_setblueincolor(color, blue) ((color) |= ((blue) & 0x000000ffU))
      +
      302
      +
      304static inline
      + +
      306 sir_textcolor retval = 0;
      +
      307 _sir_setredincolor(retval, r);
      +
      308 _sir_setgreenincolor(retval, g);
      +
      309 _sir_setblueincolor(retval, b);
      +
      310 return retval;
      +
      311}
      +
      312
      +
      314static inline
      +
      315bool __sir_validstr(const char* restrict str, bool fail, const char* func,
      +
      316 const char* file, uint32_t line) {
      +
      317 bool valid = str && *str != '\0';
      +
      318 if (fail && !valid) {
      +
      319 SIR_ASSERT(!valid && fail);
      +
      320 (void)__sir_seterror(_SIR_E_STRING, func, file, line);
      +
      321 }
      +
      322 return valid;
      +
      323}
      +
      324
      +
      326# define _sir_validstr(str) \
      +
      327 __sir_validstr(str, true, __func__, __file__, __LINE__)
      +
      328
      +
      330# define _sir_validstrnofail(str) \
      +
      331 __sir_validstr(str, false, __func__, __file__, __LINE__)
      +
      332
      +
      334static inline
      +
      335void _sir_resetstr(char* str) {
      +
      336 if (NULL != str)
      +
      337 *str = '\0';
      +
      338}
      +
      339
      +
      344static inline
      +
      345bool _sir_strsame(const char* lhs, const char* rhs, size_t count) {
      +
      346 return 0 == strncmp(lhs, rhs, count);
      +
      347}
      +
      348
      +
      353int _sir_strncpy(char* restrict dest, size_t destsz,
      +
      354 const char* restrict src, size_t count);
      +
      355
      +
      360int _sir_strncat(char* restrict dest, size_t destsz,
      +
      361 const char* restrict src, size_t count);
      +
      362
      +
      367int _sir_fopen(FILE* restrict* restrict streamptr, const char* restrict filename,
      +
      368 const char* restrict mode);
      +
      369
      +
      374static inline
      +
      375struct tm* _sir_localtime(const time_t* timer, struct tm* buf) {
      +
      376 if (!timer || !buf)
      +
      377 return NULL;
      +
      378# if defined(__HAVE_STDC_SECURE_OR_EXT1__) && !defined(__EMBARCADEROC__)
      +
      379# if !defined(__WIN__)
      +
      380 struct tm* ret = localtime_s(timer, buf);
      +
      381 if (!ret) {
      +
      382 (void)_sir_handleerr(errno);
      +
      383 return NULL;
      +
      384 }
      +
      385# else /* __WIN__ */
      +
      386 errno_t ret = localtime_s(buf, timer);
      +
      387 if (0 != ret) {
      +
      388 (void)_sir_handleerr(ret);
      +
      389 return NULL;
      +
      390 }
      +
      391# endif
      +
      392 return buf;
      +
      393# else /* !__HAVE_STDC_SECURE_OR_EXT1__ */
      +
      394# if !defined(__WIN__) || defined(__EMBARCADEROC__)
      +
      395 struct tm* ret = localtime_r(timer, buf);
      +
      396# else
      +
      397 struct tm* ret = localtime(timer);
      +
      398# endif
      +
      399 if (!ret)
      +
      400 (void)_sir_handleerr(errno);
      +
      401 return ret;
      +
      402# endif
      +
      403}
      +
      404
      +
      406# if defined(__GNUC__)
      +
      407__attribute__ ((format (strftime, 3, 0)))
      +
      408# endif
      +
      409static inline
      +
      410bool _sir_formattime(time_t now, char* buffer, const char* format) {
      +
      411 if (!buffer || !format)
      +
      412 return false;
      +
      413# if defined(__GNUC__) && !defined(__clang__) && \
      +
      414 !(defined(__OPEN64__) || defined(__OPENCC__))
      +
      415# pragma GCC diagnostic push
      +
      416# pragma GCC diagnostic ignored "-Wformat-nonliteral"
      +
      417# endif
      +
      418 struct tm timebuf;
      +
      419 const struct tm* ptb = _sir_localtime(&now, &timebuf);
      +
      420 return NULL != ptb && 0 != strftime(buffer, SIR_MAXTIME, format, ptb);
      +
      421# if defined(__GNUC__) && !defined(__clang__) && \
      +
      422 !(defined(__OPEN64__) || defined(__OPENCC__))
      +
      423# pragma GCC diagnostic pop
      +
      424# endif
      +
      425}
      +
      426
      +
      431bool _sir_getchar(char* input);
      +
      432
      +
      436# define _sir_snprintf_trunc(dst, size, ...) \
      +
      437 do { \
      +
      438 volatile size_t _n = size; \
      +
      439 if (!snprintf(dst, _n, __VA_ARGS__)) { (void)_n; }; \
      +
      440 } while (false)
      +
      441
      +
      445static inline
      +
      446uint32_t FNV32_1a(const uint8_t* data, size_t len) {
      +
      447 uint32_t hash = 2166136261U;
      +
      448 for (size_t n = 0; n < len; n++) {
      +
      449 hash ^= (uint32_t)data[n];
      +
      450 hash = (uint32_t)(hash * 16777619ULL);
      +
      451 }
      +
      452 return hash;
      +
      453}
      +
      454
      +
      459# if defined(__clang__) /* only Clang has unsigned-integer-overflow; GCC BZ#96829 */
      +
      460SANITIZE_SUPPRESS("unsigned-integer-overflow")
      +
      461# endif
      +
      462static inline
      +
      463uint64_t FNV64_1a(const char* str) {
      +
      464 uint64_t hash = 14695981039346656037ULL;
      +
      465 for (const char* c = str; *c; c++) {
      +
      466 hash ^= (uint64_t)(unsigned char)(*c);
      +
      467 hash *= 1099511628211ULL; /* unsigned-integer-overflow */
      +
      468 }
      +
      469 return hash;
      +
      470}
      +
      471
      +
      472#endif /* !_SIR_HELPERS_H_INCLUDED */
      +
      #define SIR_MAXTIME
      The size, in characters, of the buffer used to hold time format strings.
      Definition config.h:243
      +
      uint16_t sir_level
      The sir_level type.
      Definition types.h:61
      uint32_t sirfileid
      Log file identifier type.
      Definition types.h:42
      -
      sir_textattr
      Attributes for stdio output.
      Definition types.h:92
      -
      sir_colormode
      Color mode selection.
      Definition types.h:84
      -
      sir_level
      Defines the available levels (severity/priority) of logging output.
      Definition types.h:48
      -
      uint16_t sir_levels
      sir_level bitmask type.
      Definition types.h:63
      +
      sir_textattr
      Attributes for stdio output.
      Definition types.h:94
      +
      sir_colormode
      Color mode selection.
      Definition types.h:86
      +
      #define SIRO_DEFAULT
      Default options for this type of destination.
      Definition types.h:77
      +
      #define SIRL_DEFAULT
      Default levels for this type of destination.
      Definition types.h:58
      +
      uint16_t sir_levels
      sir_level bitmask type.
      Definition types.h:64
      uint32_t sir_textcolor
      stdio text color type.
      Definition types.h:128
      uint32_t sirpluginid
      Plugin module identifier type.
      Definition types.h:45
      -
      uint32_t sir_options
      sir_option bitmask type.
      Definition types.h:81
      -
      @ SIRL_DEFAULT
      Default levels for this type of destination.
      Definition types.h:59
      -
      @ SIRO_DEFAULT
      Default options for this type of destination.
      Definition types.h:77
      -
      @ SIRTC_DEFAULT
      Represents the default color.
      Definition types.h:123
      -
      Encapsulates dynamic updating of current configuration.
      Definition types.h:431
      +
      uint32_t sir_options
      sir_option bitmask type.
      Definition types.h:83
      +
      @ SIRTC_DEFAULT
      Represents the default color.
      Definition types.h:124
      +
      Encapsulates dynamic updating of current configuration.
      Definition types.h:451
      diff --git a/docs/impl_8h_source.html b/docs/impl_8h_source.html index e23b50419..2e4c722ec 100644 --- a/docs/impl_8h_source.html +++ b/docs/impl_8h_source.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/index.html b/docs/index.html index ce7484dd2..45e010c5e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -142,9 +142,9 @@

      Notables

    1. No dependencies (other than libc and pthreads). On Windows, libsir uses the native synchronization API.
    2. Accompanied by a robust test suite to ensure dependable behavior, even if you make modifications to the source.
    3. Won't fail silently—C library or platform level errors are captured and stored for posterity, on a per-thread basis. The function, file, and line number from which it originated are also captured. Additionally, libsir defines its own set of error messages to aid in troubleshooting.
    4. -
    5. Hardened—every function contains sanity checks for internal state as well as arguments passed in through the external interfaces. libsir's standard make recipes use ‑Wall â€‘Wextra â€‘Wpedantic, and pass with ‑Wmissing‑prototypes â€‘Wdouble‑promotion â€‘Wfloat‑conversion, too.
    6. +
    7. Hardened—every function contains sanity checks for internal state as well as arguments passed in through the external interfaces. libsir's standard make recipes use ‑Wall ‑Wextra ‑Wpedantic (and pass with ‑Wmissing‑prototypes ‑Wdouble‑promotion ‑Wfloat‑conversion ‑Wmissing‑declarations ‑Wswitch‑enum ‑Wformat‑nonliteral ‑Wformat‑truncation ‑Wbad‑function‑cast ‑Wextra‑semi‑stmt, too.)
    8. Full documentation, thanks to Doxygen.
    9. -
    10. Lightweight—the shared library comes in at around 64 KiB, and the static library around 60 KiB.
    11. +
    12. Lightweight—the shared library comes in at around 70 KiB, and the static library around 50 KiB.
    13. Cross-platform compatibility

      At this time, libsir is supported (that is, it compiles and passes the test suite) on at least the following operating system and toolchain combinations:

      @@ -153,19 +153,19 @@

      Cross-platform comp System Toolchain Linux â‰ł2.6.32
      -(glibc â‰ł2.4, musl â‰ł1.2.3, uClibc‑ng 1.0.43, Bionic 19) GCC (4.8.4 â€‘ 13.2.1),  Clang (3.8 â€‘ 16.0.6),  Oracle Studio C/C++ (≳12.6),  IBM Advance Toolchain (14 â€‘ 16),  IBM XL C/C++ (16.1),  IBM Open XL C/C++ (17.1.1),  NVIDIA HPC SDK C/C++ (23.5 â€‘ 23.7),  Arm HPC C/C++ (22.1 â€‘ 23.04.1),  AMD Optimizing C/C++ (4.0.0),  Intel oneAPI DPC++/C++ (2023.1),  Open64 (5, AMD 4.5.2.1),  Intel C++ Compiler Classic (2021.9),  Android NDK (r25c),  Portable C Compiler (1.2.0.DEVEL‑20230730),  Chibicc (2020.12.6) +(glibc â‰ł2.4, musl â‰ł1.2.3, uClibc‑ng 1.0.43, Bionic 19) GCC (4.8.4 â€‘ 13.2.1),  Clang (3.8 â€‘ 16.0.6),  Oracle Studio C/C++ (≳12.6),  IBM Advance Toolchain (14 â€‘ 16),  IBM XL C/C++ (16.1),  IBM Open XL C/C++ (17.1.1),  NVIDIA HPC SDK C/C++ (23.5 â€‘ 23.7),  Arm HPC C/C++ (22.1 â€‘ 23.04.1),  DMD ImportC (2.104.2 â€‘ 2.105.1),  AMD Optimizing C/C++ (4 â€‘ 4.1),  Intel oneAPI DPC++/C++ (2023.1 â€‘ 2023.2.1),  Open64 (5, AMD 4.5.2.1),  Intel C++ Compiler Classic (2021.9.0 â€‘ 2021.10.0),  Android NDK (r25c),  Portable C Compiler (1.2.0.DEVEL‑20230730),  Kefir (≳0.3.0),  Chibicc (2020.12.6) -AIX 7.2 GCC (8.3 â€‘ 11.3),  IBM XL C/C++ (16.1),  IBM Open XL C/C++ (17.1) +AIX 7.2, 7.3 GCC (8.3 â€‘ 11.3),  IBM XL C/C++ (16.1),  IBM Open XL C/C++ (17.1) -macOS â‰ł10.15 Xcode (11.7 â€‘ 15),  GCC (10.4 â€‘ 13.2.1),  Clang (11.0.3 â€‘ 16.0.6),  Intel C++ Compiler Classic (2021.9) +macOS â‰ł10.15 Xcode (11.7 â€‘ 15),  GCC (10.4 â€‘ 13.2.1),  Clang (11.0.3 â€‘ 16.0.6),  DMD ImportC (2.105.0 â€‘ 2.105.1),  Intel C++ Compiler Classic (2021.9.0 â€‘ 2021.10.0) -Windows â‰ł10, 11 Microsoft Visual C/C++ (17.6 â€‘ 17.7.1),  Clang‑CL (16.0.6),  GCC‑MinGW (12.2.1 â€‘ 13.2.1),  LLVM‑MinGW (15.0 â€‘ 16.0.6),  Embarcadero C++ (7.20 â€‘ 7.60),  OrangeC (≳6.0.70.93) +Windows â‰ł10, 11 Microsoft Visual C/C++ (17.6 â€‘ 17.7.3),  Clang‑CL (16.0.6),  GCC‑MinGW (12.2.1 â€‘ 13.2.1),  LLVM‑MinGW (15.0 â€‘ 16.0.6),  Embarcadero C++ (7.20 â€‘ 7.60),  OrangeC (≳6.0.71.10) -Cygwin 3.4 GCC (11.2 â€‘ 11.4) +Cygwin 3.4 GCC (11.2 â€‘ 13.2) -FreeBSD â‰ł11.3 GCC (11.4 â€‘ 12.2),  Clang (10 â€‘ 14.0.5) +FreeBSD â‰ł11.3 GCC (11.4 â€‘ 13.1),  Clang (10 â€‘ 16.0.6),  DMD ImportC (2.105.0 â€‘ 2.105.1) -NetBSD 9.2 GCC (7.5 â€‘ 13.1),  Clang (15.0.7) +NetBSD 9.2 GCC (7.5 â€‘ 13.2),  Clang (15.0.7) OpenBSD 7.3 GCC (11.2),  Clang (13) @@ -173,11 +173,11 @@

      Cross-platform comp GNU/Hurd GCC (9.5 â€‘ 13.2),  Clang (9.0.1 â€‘ 13.0.1) -Haiku R1b4 GCC (11.2 â€‘ 13.2),  Clang (12.0.1) +Haiku R1b4 GCC (11.2 â€‘ 13.2),  Clang (12.0.1 â€‘ 16.0.6) Solaris 11.4 GCC (10.3 â€‘ 11.2),  Clang (6 â€‘ 11),  Oracle Studio C/C++ (≳12.6) -illumos GCC (7.5 â€‘ 11.3),  Clang (15.0.7) +illumos GCC (7.5 â€‘ 11.4),  Clang (15.0.7) SerenityOS GCC (13.1) @@ -197,7 +197,7 @@

      Building from source

      Visual Studio Code

      There is a code‑workspace in the repository. As of right now, the build and launch tasks are not fully functional for every platform, but everything else should be good to go.

      Visual Studio 2022

      -

      A very recent addition is an sln and some vcxproj files in the msvc directory. They are confirmed to work correctly on Windows 11 (x64 & Arm64) with Visual Studio 17.6.

      +

      A very recent addition is an sln and some vcxproj files in the msvc directory. They are confirmed to work correctly on Windows 11 (x86, x64, Arm64) with Visual Studio 17.6.

      Unix Makefile

      diff --git a/docs/internal_8h_source.html b/docs/internal_8h_source.html index 9f8a6ca6b..79f4d1138 100644 --- a/docs/internal_8h_source.html +++ b/docs/internal_8h_source.html @@ -45,7 +45,7 @@ @@ -118,7 +118,7 @@
      3 *
      4 * Author: Ryan M. Lederman <lederman@gmail.com>
      5 * Copyright: Copyright (c) 2018-2023
      -
      6 * Version: 2.2.2
      +
      6 * Version: 2.2.3
      7 * License: The MIT License (MIT)
      8 *
      9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
      @@ -155,89 +155,87 @@
      47
      49bool _sir_init_sanity(const sirinit* si);
      50
      -
      52bool _sir_stdoutlevels(sirinit* si, sir_update_config_data* data);
      +
      52void _sir_reset_tls(void);
      53
      -
      55bool _sir_stdoutopts(sirinit* si, sir_update_config_data* data);
      +
      55bool _sir_stdoutlevels(sirinit* si, const sir_update_config_data* data);
      56
      -
      58bool _sir_stderrlevels(sirinit* si, sir_update_config_data* data);
      +
      58bool _sir_stdoutopts(sirinit* si, const sir_update_config_data* data);
      59
      -
      61bool _sir_stderropts(sirinit* si, sir_update_config_data* data);
      +
      61bool _sir_stderrlevels(sirinit* si, const sir_update_config_data* data);
      62
      -
      64bool _sir_sysloglevels(sirinit* si, sir_update_config_data* data);
      +
      64bool _sir_stderropts(sirinit* si, const sir_update_config_data* data);
      65
      -
      67bool _sir_syslogopts(sirinit* si, sir_update_config_data* data);
      +
      67bool _sir_sysloglevels(sirinit* si, const sir_update_config_data* data);
      68
      -
      70bool _sir_syslogid(sirinit* si, sir_update_config_data* data);
      +
      70bool _sir_syslogopts(sirinit* si, const sir_update_config_data* data);
      71
      -
      73bool _sir_syslogcat(sirinit* si, sir_update_config_data* data);
      +
      73bool _sir_syslogid(sirinit* si, const sir_update_config_data* data);
      74
      -
      76typedef bool (*sirinit_update)(sirinit*, sir_update_config_data*);
      +
      76bool _sir_syslogcat(sirinit* si, const sir_update_config_data* data);
      77
      -
      79bool _sir_writeinit(sir_update_config_data* data, sirinit_update update);
      +
      79typedef bool (*sirinit_update)(sirinit*, const sir_update_config_data*);
      80
      -
      82void* _sir_locksection(sir_mutex_id mid);
      +
      82bool _sir_writeinit(const sir_update_config_data* data, sirinit_update update);
      83
      -
      85void _sir_unlocksection(sir_mutex_id mid);
      +
      85void* _sir_locksection(sir_mutex_id mid);
      86
      -
      88bool _sir_mapmutexid(sir_mutex_id mid, sir_mutex** m, void** section);
      +
      88void _sir_unlocksection(sir_mutex_id mid);
      89
      -
      90# if !defined(__WIN__)
      -
      92void _sir_initialize_once(void);
      -
      94void _sir_initmutex_cfg_once(void);
      -
      96void _sir_initmutex_fc_once(void);
      -
      98void _sir_initmutex_pc_once(void);
      -
      100void _sir_initmutex_ts_once(void);
      -
      101# else /* __WIN__ */
      -
      103BOOL CALLBACK _sir_initialize_once(PINIT_ONCE ponce, PVOID param, PVOID* ctx);
      -
      105BOOL CALLBACK _sir_initmutex_cfg_once(PINIT_ONCE ponce, PVOID param, PVOID* ctx);
      -
      107BOOL CALLBACK _sir_initmutex_fc_once(PINIT_ONCE ponce, PVOID param, PVOID* ctx);
      -
      109BOOL CALLBACK _sir_initmutex_pc_once(PINIT_ONCE ponce, PVOID param, PVOID* ctx);
      -
      111BOOL CALLBACK _sir_initmutex_ts_once(PINIT_ONCE ponce, PVOID param, PVOID* ctx);
      -
      112# endif
      +
      91bool _sir_mapmutexid(sir_mutex_id mid, sir_mutex** m, void** section);
      +
      92
      +
      93# if !defined(__WIN__)
      +
      95void _sir_init_static_once(void);
      +
      96# else /* __WIN__ */
      +
      98BOOL CALLBACK _sir_init_static_once(PINIT_ONCE ponce, PVOID param, PVOID* ctx);
      +
      99# endif
      +
      100
      +
      102bool _sir_init_common_static(void);
      +
      103
      +
      105bool _sir_once(sir_once* once, sir_once_fn func);
      +
      106
      +
      108PRINTF_FORMAT_ATTR(2, 0)
      +
      109bool _sir_logv(sir_level level, PRINTF_FORMAT const char* format, va_list args);
      +
      110
      +
      112bool _sir_dispatch(const sirinit* si, sir_level level, sirbuf* buf);
      113
      -
      115bool _sir_once(sir_once* once, sir_once_fn func);
      +
      115const char* _sir_format(bool styling, sir_options opts, sirbuf* buf);
      116
      -
      118PRINTF_FORMAT_ATTR(2, 0)
      -
      119bool _sir_logv(sir_level level, PRINTF_FORMAT const char* format, va_list args);
      -
      120
      -
      122bool _sir_dispatch(sirinit* si, sir_level level, sirbuf* buf);
      -
      123
      -
      125const char* _sir_format(bool styling, sir_options opts, sirbuf* buf);
      -
      126
      -
      128bool _sir_syslog_init(const char* name, sir_syslog_dest* ctx);
      -
      129
      -
      137bool _sir_syslog_open(sir_syslog_dest* ctx);
      -
      138
      -
      143bool _sir_syslog_write(sir_level level, const sirbuf* buf, sir_syslog_dest* ctx);
      -
      144
      -
      149bool _sir_syslog_updated(sirinit* si, sir_update_config_data* data);
      -
      150
      -
      158bool _sir_syslog_close(sir_syslog_dest* ctx);
      -
      159
      -
      161void _sir_syslog_reset(sir_syslog_dest* ctx);
      -
      162
      -
      164const char* _sir_formattedlevelstr(sir_level level);
      -
      165
      -
      167bool _sir_clock_gettime(time_t* tbuf, long* msecbuf);
      -
      168
      -
      170bool _sir_formattime(time_t now, char* buffer, const char* format);
      -
      171
      -
      173pid_t _sir_getpid(void);
      -
      174
      -
      176pid_t _sir_gettid(void);
      -
      177
      -
      179bool _sir_getthreadname(char name[SIR_MAXPID]);
      -
      180
      -
      182bool _sir_gethostname(char name[SIR_MAXHOST]);
      -
      183
      -
      184#endif /* !_SIR_INTERNAL_H_INCLUDED */
      -
      #define SIR_MAXPID
      The size, in characters, of the buffer used to hold process/thread IDs/names.
      Definition config.h:270
      -
      sir_level
      Defines the available levels (severity/priority) of logging output.
      Definition types.h:48
      -
      uint32_t sir_options
      sir_option bitmask type.
      Definition types.h:81
      +
      118bool _sir_syslog_init(const char* name, sir_syslog_dest* ctx);
      +
      119
      +
      127bool _sir_syslog_open(sir_syslog_dest* ctx);
      +
      128
      +
      133bool _sir_syslog_write(sir_level level, const sirbuf* buf, const sir_syslog_dest* ctx);
      +
      134
      +
      139bool _sir_syslog_updated(sirinit* si, const sir_update_config_data* data);
      +
      140
      +
      148bool _sir_syslog_close(sir_syslog_dest* ctx);
      +
      149
      +
      151void _sir_syslog_reset(sir_syslog_dest* ctx);
      +
      152
      +
      154const char* _sir_formattedlevelstr(sir_level level);
      +
      155
      +
      157bool _sir_clock_gettime(int clock, time_t* tbuf, long* msecbuf);
      +
      158
      +
      163double _sir_msec_since(const sir_time* when, sir_time* out);
      +
      164
      +
      166pid_t _sir_getpid(void);
      +
      167
      +
      169pid_t _sir_gettid(void);
      +
      170
      +
      172bool _sir_getthreadname(char name[SIR_MAXPID]);
      +
      173
      +
      175bool _sir_setthreadname(const char* name);
      +
      176
      +
      178bool _sir_gethostname(char name[SIR_MAXHOST]);
      +
      179
      +
      180#endif /* !_SIR_INTERNAL_H_INCLUDED */
      +
      uint16_t sir_level
      The sir_level type.
      Definition types.h:61
      +
      uint32_t sir_options
      sir_option bitmask type.
      Definition types.h:83
      Configuration for the system logger destination.
      Definition types.h:165
      libsir initialization and configuration data.
      Definition types.h:214
      -
      Encapsulates dynamic updating of current configuration.
      Definition types.h:431
      -
      Formatted output container.
      Definition types.h:367
      +
      Internally-used time value type.
      Definition types.h:251
      +
      Encapsulates dynamic updating of current configuration.
      Definition types.h:451
      +
      Formatted output container.
      Definition types.h:387
      diff --git a/docs/maps_8h_source.html b/docs/maps_8h_source.html index 764638291..c5a6e519c 100644 --- a/docs/maps_8h_source.html +++ b/docs/maps_8h_source.html @@ -45,7 +45,7 @@ @@ -118,7 +118,7 @@
      3 *
      4 * Author: Ryan M. Lederman <lederman@gmail.com>
      5 * Copyright: Copyright (c) 2018-2023
      -
      6 * Version: 2.2.2
      +
      6 * Version: 2.2.3
      7 * License: The MIT License (MIT)
      8 *
      9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
      @@ -147,9 +147,9 @@
      32extern sir_level_str_pair sir_level_to_str_map[SIR_NUMLEVELS];
      33
      34#endif /* !_SIR_MAPS_H_INCLUDED */
      -
      #define SIR_NUMLEVELS
      The number of actual levels; SIRL_NONE, SIRL_ALL, and SIRL_DEFAULT are pseudo levels and end up being...
      Definition config.h:327
      -
      sir_level <-> human-readable string form.
      Definition types.h:395
      -
      sir_level <-> sir_textstyle mapping.
      Definition types.h:382
      +
      #define SIR_NUMLEVELS
      The number of actual levels; SIRL_NONE, SIRL_ALL, and SIRL_DEFAULT are pseudo levels and end up being...
      Definition config.h:324
      +
      sir_level <-> human-readable string form.
      Definition types.h:415
      +
      sir_level <-> sir_textstyle mapping.
      Definition types.h:402
      diff --git a/docs/md_docs_2sources_2changelog.html b/docs/md_docs_2sources_2changelog.html index 3b5f80a80..3bffefa7d 100644 --- a/docs/md_docs_2sources_2changelog.html +++ b/docs/md_docs_2sources_2changelog.html @@ -45,7 +45,7 @@ @@ -113,7 +113,50 @@
      Changelog
      -

      2.2.2

      +

      2.2.3

      +

      September 8, 2023

      +
        +
      • Fixed a bug that caused some log file messages to be truncated.
      • +
      • Changed maximum message length to 4 KiB (4096 bytes).
      • +
      • Added support for additional compilers and platforms.
      • +
      • Added Oracle Lint to CI pipeline.
      • +
      • General portability improvements.
      • +
      • General linter and static analyzer conformance improvements.
      • +
      • Now utilizes stdatomic.h under MSVC on version 17.4+ using /experimental:c11atomics.
      • +
      • Added two additional tests.
      • +
      • Optimized the primary code path for some really impressive performance gains. Some samples:
      • +
      +
      -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Platform Change vs. 2.2.2
      macOS 13.5.2 (x86_64) +361% ± 0.13﹪
      Arch 6.4.12 (x86_64) +276% ± 0.07﹪
      RHEL 9 (x86_64) +256% ± 0.03﹪
      Debian 12 (x86_64) +217% ± 0.09﹪
      macOS 13.5.1 (AArch64) +213% ± 0.12﹪
      Fedora 38 (x86_64) +121% ± 0.05﹪
      AIX 7.3 (POWER9) +119% ± 0.07﹪
      Debian 12 (AArch64) +100% ± 0.04﹪
      Windows 11 (x64_64) +87% ± 0.03﹪
      FreeBSD 13.2 (x86_x64) +76% ± 0.06﹪
      Windows 11 (AArch64) +67% ± 0.03﹪
      NetBSD 9.3 (ARM/A53) +62% ± 0.18﹪
      OpenWrt 23 (MIPS32/74Kc) +6% ± 3.14﹪
      +

      2.2.2

      August 18, 2023

      • Added support for
          diff --git a/docs/md_docs_2sources_2config.html b/docs/md_docs_2sources_2config.html index feffaacf4..1b6273466 100644 --- a/docs/md_docs_2sources_2config.html +++ b/docs/md_docs_2sources_2config.html @@ -45,7 +45,7 @@ -
          libsir 2.2.2 +
          libsir 2.2.3
          Standard Incident Reporter
          diff --git a/docs/md_docs_2sources_2sirtests.html b/docs/md_docs_2sources_2sirtests.html index 88a3c5122..0f352e3a7 100644 --- a/docs/md_docs_2sources_2sirtests.html +++ b/docs/md_docs_2sources_2sirtests.html @@ -45,7 +45,7 @@ -
          libsir 2.2.2 +
          libsir 2.2.3
          Standard Incident Reporter
          @@ -117,26 +117,28 @@

          It will exit with 0 if all test(s) ran successfully and passed, or 1 if errors occurred/any test failed.

          Basic usage

          The simplest way to achieve this is simply to run build/bin/sirtests from the root of the repository. You should see output similar to the following:

          -
          done: all 26 libsir tests passed in 0.690sec!
          +
          done: all 32 libsir tests passed in 5.085sec!

          Advanced usage

          sirtests has a command-line interface that allows you to control its behavior. For the current options, run sirtests --help. You should see output similar to the following:

          Usage:
          -
          --perf Only run the performance measurement test.
          -
          --wait Wait for a keypress after running test(s) before exiting.
          -
          --only name [, name, ...] Only run the test(s) specified.
          -
          --list Prints a list of available test names for use with --only.
          -
          --help Shows this message.
          +
          --perf Only run the performance measurement test
          +
          --only name [, name, ...] Only run the test(s) specified
          +
          --list Prints a list of available test names for use with '--only'
          +
          --leave-logs Log files are not deleted so that they may be examined
          +
          --wait After running test(s), waits for a keypress before exiting
          +
          --version Prints the version of libsir that the test suite was built with
          +
          --help Shows this message

          Of note here is the obvious one, --perf. The perf test is only run if you explicitly specify this flag. It is a good way to ensure that libsir is compiled correctly for deployment in a production environment. If you get a very slow (or dubiously fast) result, you should re-examine your configuration.

          The result includes a comparison to an equivalent raw printf call for the same number of iterations. I expect this to always be faster than libsir for many reasons, but I have seen it beaten once.

          Here is an example of the results of --perf on this development machine (iMac Pro, 3.2GHz 8-core Xeon, 64GB 2666MHz DDR4, SSD):

          -
          printf: 1000000 lines in 7.394sec (135239.0 lines/sec)
          -
          libsir(stdout): 1000000 lines in 8.116sec (123209.8 lines/sec)
          -
          libsir(log file): 1000000 lines in 7.978sec (125342.3 lines/sec)
          -
          timer resolution: ~1nsec
          +
          printf: 1000000 lines in 3.375sec (296296.3 lines/sec)
          +
          libsir (stdout): 1000000 lines in 5.427sec (184263.9 lines/sec)
          +
          libsir (file): 1000000 lines in 1.278sec (782472.6 lines/sec)
          +
          timer resolution: ~1000nsec

          Remarks
          The perf test only outputs to the debug level. If level switching were introduced where formatting options varied from level to level, a much slower elapsed time could be expected, since some of libsir's internal formatting buffers would need to be recalculated each time.
          -

          The other useful flags include --list and --only if you wish to narrow down a problem test or set of tests. Please let me know if you think of additional tests that should be performed by opening a feature request.

          +

          The other useful flags include --list and --only if you wish to narrow down a problem test or set of tests. Please let us know if you think of additional tests that should be performed by opening a feature request.

          diff --git a/docs/modules.html b/docs/modules.html index eb1d20c5d..38b7633fa 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -45,7 +45,7 @@ -
          libsir 2.2.2 +
          libsir 2.2.3
          Standard Incident Reporter
          @@ -119,7 +119,7 @@  Functions  Types  Plugins - DefaultsDefault sir_option bitmasks, sir_level registrations, and sir_textstyle bitmasks + DefaultsDefault sir_option bitmasks, sir_level registrations, and sir_textstyle bitmasks  TestsLibsir integrity tests
          diff --git a/docs/mutex_8h_source.html b/docs/mutex_8h_source.html index eb3bb0df1..a8df6837c 100644 --- a/docs/mutex_8h_source.html +++ b/docs/mutex_8h_source.html @@ -45,7 +45,7 @@ -
          libsir 2.2.2 +
          libsir 2.2.3
          Standard Incident Reporter
          @@ -118,7 +118,7 @@
          3 *
          4 * Author: Ryan M. Lederman <lederman@gmail.com>
          5 * Copyright: Copyright (c) 2018-2023
          -
          6 * Version: 2.2.2
          +
          6 * Version: 2.2.3
          7 * License: The MIT License (MIT)
          8 *
          9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
          diff --git a/docs/navtreedata.js b/docs/navtreedata.js index ee10e7236..5c1729c1c 100644 --- a/docs/navtreedata.js +++ b/docs/navtreedata.js @@ -44,7 +44,7 @@ var NAVTREE = var NAVTREEINDEX = [ "ansimacros_8h.html", -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aa8ed1f05c3de1319d6eba4c3f44ec183" +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a502a8e20f25ecee09eb75576238bb797" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/navtreeindex0.js b/docs/navtreeindex0.js index 602dd0c37..e596ca2fe 100644 --- a/docs/navtreeindex0.js +++ b/docs/navtreeindex0.js @@ -47,15 +47,15 @@ var NAVTREEINDEX0 = "ansimacros_8h_source.html":[4,0,1,0,0], "condition_8h.html":[4,0,1,0,1], "condition_8h.html#a150dd1b33dee56d4b02442f2f30f09c5":[4,0,1,0,1,2], -"condition_8h.html#a24b03cb2cda2ff8bc5de7d20824f9249":[4,0,1,0,1,3], +"condition_8h.html#a8dda6e64ad0dcf2d4bc8ccd1c0c7d2ad":[4,0,1,0,1,3], "condition_8h.html#ae8d6edc94bcfb430cf584b27a91e4040":[4,0,1,0,1,1], "condition_8h.html#ae93cd64b12a564792d3bb0a48a8ddc32":[4,0,1,0,1,0], "condition_8h_source.html":[4,0,1,0,1], "config_8h.html":[4,0,1,0,2], "config_8h.html#a019fb62b107343bafedb0f5ad84f7d3a":[4,0,1,0,2,9], "config_8h.html#a04d05c434823f0e5a353a31bb47af16e":[4,0,1,0,2,24], -"config_8h.html#a060398bb73afb43df07b1587bcec98ba":[4,0,1,0,2,40], -"config_8h.html#a08083686de6372fdeb9b52e73a6d6808":[4,0,1,0,2,45], +"config_8h.html#a060398bb73afb43df07b1587bcec98ba":[4,0,1,0,2,39], +"config_8h.html#a08083686de6372fdeb9b52e73a6d6808":[4,0,1,0,2,44], "config_8h.html#a0dbd6db580edf1d367220202e3dff944":[4,0,1,0,2,15], "config_8h.html#a11214c8798ccdaab052c3bc9db2e3e78":[4,0,1,0,2,1], "config_8h.html#a1f7c2763d5e7afb0f2b49d4f0636276d":[4,0,1,0,2,23], @@ -65,47 +65,47 @@ var NAVTREEINDEX0 = "config_8h.html#a359b781cc4fde8dd09e30b95328b3ab0":[4,0,1,0,2,2], "config_8h.html#a362f77b1b5555a0ea57fdfb64ae09229":[4,0,1,0,2,19], "config_8h.html#a3b6b481d57fc3e954accee882d143a9a":[4,0,1,0,2,53], -"config_8h.html#a3d40d22ca5d641892fc7b3cb8d0bb283":[4,0,1,0,2,48], +"config_8h.html#a3d40d22ca5d641892fc7b3cb8d0bb283":[4,0,1,0,2,47], "config_8h.html#a3e733628ed19a474bdfc6fa3fcc45790":[4,0,1,0,2,51], "config_8h.html#a4237f9dff053a17cf7a134dbbebc5210":[4,0,1,0,2,20], "config_8h.html#a430a53000e87723599d6994d0ae2bb68":[4,0,1,0,2,3], -"config_8h.html#a46e195050794e32a234cda5f1af57a2a":[4,0,1,0,2,50], +"config_8h.html#a46e195050794e32a234cda5f1af57a2a":[4,0,1,0,2,48], "config_8h.html#a4e02d1cb5e4a8d8535227657781d4a29":[4,0,1,0,2,18], -"config_8h.html#a54ab03b03f20338146a5ab69fcd90177":[4,0,1,0,2,47], -"config_8h.html#a5cdaa944bfe2228355cc4c34c3d315e8":[4,0,1,0,2,37], +"config_8h.html#a54ab03b03f20338146a5ab69fcd90177":[4,0,1,0,2,46], +"config_8h.html#a5cdaa944bfe2228355cc4c34c3d315e8":[4,0,1,0,2,36], "config_8h.html#a5f006a2e9ce93ae8d693a2928af33bb2":[4,0,1,0,2,28], "config_8h.html#a6195821fca239b40498e847d50b82623":[4,0,1,0,2,22], "config_8h.html#a777d150774244d2707818f2c4a1b9538":[4,0,1,0,2,17], -"config_8h.html#a77d8a4249177fcf7703a811ca0154190":[4,0,1,0,2,35], "config_8h.html#a783092ff31da5f9acc116c9f4657f671":[4,0,1,0,2,4], "config_8h.html#a7a2838316cfd52f1af743952e667d9f5":[4,0,1,0,2,21], "config_8h.html#a7c652578740e372edeac33d14f6408fd":[4,0,1,0,2,11], "config_8h.html#a85ed3139018ee9e7545c74c0885dff55":[4,0,1,0,2,32], "config_8h.html#a88267c5f76d8f1f3f0b6a7903bfddc0b":[4,0,1,0,2,6], "config_8h.html#a90d4862e769fd5effefb1e1dedf520c8":[4,0,1,0,2,10], -"config_8h.html#a926d6358221d41053fc26e9c7b3ab00d":[4,0,1,0,2,42], +"config_8h.html#a926d6358221d41053fc26e9c7b3ab00d":[4,0,1,0,2,41], "config_8h.html#a98d559e1620108074d776bd6f33f85a4":[4,0,1,0,2,26], -"config_8h.html#a9b99ae577cedc922bded630216627070":[4,0,1,0,2,46], +"config_8h.html#a9b99ae577cedc922bded630216627070":[4,0,1,0,2,45], "config_8h.html#aa1080a4bec531adb6d25c87ac4734399":[4,0,1,0,2,25], +"config_8h.html#aa9d8a09e5e0f6e384370950a13173f78":[4,0,1,0,2,49], "config_8h.html#aad514de31d1178e0a91dcd7434230965":[4,0,1,0,2,8], "config_8h.html#ab048f63b09b424f84e19055dc0ec4a29":[4,0,1,0,2,30], "config_8h.html#ab1531d6b0d9c880b793362322542794c":[4,0,1,0,2,0], -"config_8h.html#ab3e26cb9ac224cb9a695ddf1ed099218":[4,0,1,0,2,38], +"config_8h.html#ab3e26cb9ac224cb9a695ddf1ed099218":[4,0,1,0,2,37], "config_8h.html#ab84ea2d42dc216fad92bde1811dc4632":[4,0,1,0,2,52], "config_8h.html#abac0b7b0c1ea5afc9d0708a4421b1a57":[4,0,1,0,2,31], "config_8h.html#abd5132131479030a120c289812e38363":[4,0,1,0,2,5], "config_8h.html#ac1e50274f913ef71f196f20b9dfbbba6":[4,0,1,0,2,29], -"config_8h.html#ac42033f35206a8adbf1a4377c8e0d290":[4,0,1,0,2,36], +"config_8h.html#ac42033f35206a8adbf1a4377c8e0d290":[4,0,1,0,2,35], +"config_8h.html#ac7f6d6130d1078eae1a28008eea32a92":[4,0,1,0,2,50], "config_8h.html#aca213e22f32a371da7ca82eb86a16c9a":[4,0,1,0,2,13], "config_8h.html#acf0d0fad6a98c920cced53dbe9b54d26":[4,0,1,0,2,34], "config_8h.html#ad0d5f453c3eb6a7a0e9d507b122bfac4":[4,0,1,0,2,27], -"config_8h.html#ad4797e353beace140ae7ac35e0e6ea11":[4,0,1,0,2,49], -"config_8h.html#ad6fce840144259e992c33fb611f31262":[4,0,1,0,2,39], -"config_8h.html#ae39d0ceab6c56fb66a8f036302ac90a2":[4,0,1,0,2,43], -"config_8h.html#ae5e1886a3fa12d37256da4b20347b9b0":[4,0,1,0,2,44], +"config_8h.html#ad6fce840144259e992c33fb611f31262":[4,0,1,0,2,38], +"config_8h.html#ae39d0ceab6c56fb66a8f036302ac90a2":[4,0,1,0,2,42], +"config_8h.html#ae5e1886a3fa12d37256da4b20347b9b0":[4,0,1,0,2,43], "config_8h.html#aeb4949a438cb054dbd261eead7e9d6c9":[4,0,1,0,2,14], "config_8h.html#aeb4e44bc613c57c3c49e27b66e69e933":[4,0,1,0,2,12], -"config_8h.html#af9776f0b7cf01f82f2580a29c9efb6d6":[4,0,1,0,2,41], +"config_8h.html#af9776f0b7cf01f82f2580a29c9efb6d6":[4,0,1,0,2,40], "config_8h_source.html":[4,0,1,0,2], "console_8h_source.html":[4,0,1,0,3], "defaults_8h.html":[4,0,1,0,4], @@ -120,7 +120,7 @@ var NAVTREEINDEX0 = "errors_8h_source.html":[4,0,1,0,5], "example_8c.html":[4,0,0,0], "example_8c.html#a840291bc02cba5474a4cb46a9b9566fe":[4,0,0,0,1], -"example_8c.html#a929f3d3b8335f1827cf00af79a26ade7":[4,0,0,0,0], +"example_8c.html#abbad1b48f0da8b605fb563c936bec6c6":[4,0,0,0,0], "filecache_8h_source.html":[4,0,1,0,6], "files.html":[4,0], "filesystem_8h_source.html":[4,0,1,0,7], @@ -202,52 +202,52 @@ var NAVTREEINDEX0 = "group__publictypes.html#ad8f026edd9c8667d897eb24016f2e81f":[3,0,1,2,1], "group__publictypes.html#adb7f555cb381826a0aedfdbb58e96bd1":[3,0,1,2,2], "group__publictypes.html#af2ce11ebf110993621bedd8e747d7b1b":[3,0,1,4,0], -"group__publictypes.html#ga0da4ab4b4468b6b71cd8e924b2adf2e2":[3,0,1,5], -"group__publictypes.html#ga1bf5e489a6af0dcb905788c1e7a5ec2d":[3,0,1,14], -"group__publictypes.html#ga26686b620930358e8b50f287d6c96e51":[3,0,1,13], -"group__publictypes.html#ga4a3303c67acd49bea38fd3565d458cb2":[3,0,1,11], -"group__publictypes.html#ga7ee5f2908abd2df9e89bcab0b6608edd":[3,0,1,7], -"group__publictypes.html#ga861df9be69c6bcd01d29b77bd28ff7d3":[3,0,1,10], -"group__publictypes.html#ga9ed1c599dfd76231f4e0dadf46bff40b":[3,0,1,12], -"group__publictypes.html#gab4214e294af5ac3c91f21c1d379e10c5":[3,0,1,9], -"group__publictypes.html#gadbc71df98df765cddfed4aa11c805470":[3,0,1,6], -"group__publictypes.html#gafb659914aac0129182d86f7d3414e85d":[3,0,1,8], -"group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da57a1bd50ad704c18289c2bf74a2a68c5":[3,0,1,14,3], -"group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da5c6d2b3a91b49ff14f9946799f00b20c":[3,0,1,14,2], -"group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da79ce8f5c35788a58b81c24684563e629":[3,0,1,14,4], -"group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2daa0d426c2ea1dfa48ad6e29a69f03d04c":[3,0,1,14,0], -"group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2dabd921418f53873c49dea5f9f3ea81f4b":[3,0,1,14,1], -"group__publictypes.html#gga26686b620930358e8b50f287d6c96e51a1e9b6fdb0f6841f91060766dfefaa504":[3,0,1,13,0], -"group__publictypes.html#gga26686b620930358e8b50f287d6c96e51ae0caa45527e7c797fef3719f947bc2ab":[3,0,1,13,2], -"group__publictypes.html#gga26686b620930358e8b50f287d6c96e51aec247277302fc0b522454c2f02e77b70":[3,0,1,13,3], -"group__publictypes.html#gga26686b620930358e8b50f287d6c96e51af6f2ac3c69c5fd02bac6d861bebdb441":[3,0,1,13,1], -"group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a3553c8c2c35e70495b8f8e826aa3ff9b":[3,0,1,11,8], -"group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a4aa4a7193f36bf34a21ab48a17ffc444":[3,0,1,11,9], -"group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a4ea9abe160c997d126806c4cca7f0cdc":[3,0,1,11,1], -"group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a5882fd7e849f6a3c1c7967bde4ef4f7d":[3,0,1,11,7], -"group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a721700c8091aab00db0b87b53f6eb53a":[3,0,1,11,6], -"group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a7cc68341661fcb7a505aca67edb7a18e":[3,0,1,11,0], -"group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a803f36256e5e4e3b788b7fa3a267a435":[3,0,1,11,3], -"group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a8ea85ed68763f9c00d5ceeeaaf550955":[3,0,1,11,2], -"group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a9bfe1efbd321a009ad518b2eaec35881":[3,0,1,11,5], -"group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a9c687f088db1de838ea5d5f8a8beed76":[3,0,1,11,4], -"group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2ab218462c6cc1f43062f5d2d24a757804":[3,0,1,11,10], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a014d92769313bc513bd580461d8ebcd3":[3,0,1,10,9], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a078991e5214a2846ddaa2779f3f1c336":[3,0,1,10,17], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a0f293a6020f98a7e41b8afea0e402046":[3,0,1,10,22], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a1b1cb52b01bb034e47cf015ebb49b3f1":[3,0,1,10,3], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a1cc3cc0a607357ce4e6e8931c5b26190":[3,0,1,10,14], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a3b567998a2ca4da43348b5edb38dd865":[3,0,1,10,13], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a3f34b13f811b5ddc9e4c216f5432fa1d":[3,0,1,10,8], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a502a8e20f25ecee09eb75576238bb797":[3,0,1,10,6], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a50f94f27851a7d56cec2d32b00ac383e":[3,0,1,10,4], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a72ce4f1dddbcac7f0a5d2224c5164927":[3,0,1,10,20], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a8090c8bc79ae660da7e58b2d0a47d785":[3,0,1,10,23], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a80c1d698c56a8b54ae747dc5c4c969a8":[3,0,1,10,19], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a87dc9e5593942f7413b84a17c64a01eb":[3,0,1,10,1], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a8e6f10a1b3f9eb256aaa4f9c1504b43d":[3,0,1,10,10], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a909ed133cf8d178dd98b24b51fe844bf":[3,0,1,10,7], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a96e01762a7feb2dbbd6f3c4504ba3470":[3,0,1,10,2], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a99ffe5bf9046a13802a9e0680e7f5e57":[3,0,1,10,21], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aa8be0c34a6b8a73f40cb8895ee3c43ca":[3,0,1,10,15] +"group__publictypes.html#ga076e759e9aa36cde2977f754a7ea186c":[3,0,1,29], +"group__publictypes.html#ga093cea38ace2acb674162a0f7fb153a6":[3,0,1,23], +"group__publictypes.html#ga0bdfbd616c096c6dfbb481b54fd1e397":[3,0,1,18], +"group__publictypes.html#ga0d3bc4aa34b9399e72621632b877b16a":[3,0,1,21], +"group__publictypes.html#ga0da4ab4b4468b6b71cd8e924b2adf2e2":[3,0,1,27], +"group__publictypes.html#ga1bf5e489a6af0dcb905788c1e7a5ec2d":[3,0,1,36], +"group__publictypes.html#ga2409f97357f1eb510ababeb6e0a030e8":[3,0,1,6], +"group__publictypes.html#ga26686b620930358e8b50f287d6c96e51":[3,0,1,35], +"group__publictypes.html#ga2a7a55618343c4cb76d7e428af72232b":[3,0,1,26], +"group__publictypes.html#ga2b9222b9d95807e7e1d16bd9c86c130b":[3,0,1,5], +"group__publictypes.html#ga39dffb8c9c5100251098820cb5b48446":[3,0,1,9], +"group__publictypes.html#ga3c68d15a3b9b9d5a4f4c8fd092b0e73d":[3,0,1,20], +"group__publictypes.html#ga40584e96084fe85a8ad8a7be98ff5fc9":[3,0,1,16], +"group__publictypes.html#ga640c1b7e6daea59af42137e10e3c3b29":[3,0,1,15], +"group__publictypes.html#ga7b417924811962ca0aeaca30bdf38cf6":[3,0,1,24], +"group__publictypes.html#ga7ee5f2908abd2df9e89bcab0b6608edd":[3,0,1,30], +"group__publictypes.html#ga8549494d396c96ba66b5b78b298cff7d":[3,0,1,7], +"group__publictypes.html#ga861df9be69c6bcd01d29b77bd28ff7d3":[3,0,1,34], +"group__publictypes.html#ga91b18adc2526599377583951c29e84b9":[3,0,1,10], +"group__publictypes.html#ga9e73defcee82050f038956ad7e911621":[3,0,1,12], +"group__publictypes.html#gaa2927c260f1d8fac96513442e50105fc":[3,0,1,13], +"group__publictypes.html#gab4214e294af5ac3c91f21c1d379e10c5":[3,0,1,33], +"group__publictypes.html#gac28da6e48402cc15ead5b5384bccb6fd":[3,0,1,31], +"group__publictypes.html#gac3370e3a2be554f93e9e67bea177c8a0":[3,0,1,17], +"group__publictypes.html#gac393a8a8f335fe44d28f39c91293af1f":[3,0,1,14], +"group__publictypes.html#gac559a9050c927bf0dc9f88dfc3905e06":[3,0,1,8], +"group__publictypes.html#gad4aefd62d77b020460d32c9350bec7d5":[3,0,1,11], +"group__publictypes.html#gadbc71df98df765cddfed4aa11c805470":[3,0,1,28], +"group__publictypes.html#gaf6a215c540807f3ba15f97d372feeaf0":[3,0,1,19], +"group__publictypes.html#gafb659914aac0129182d86f7d3414e85d":[3,0,1,32], +"group__publictypes.html#gafd6f47db95d87395d4a37529f839c6de":[3,0,1,22], +"group__publictypes.html#gafdc3b32bdee26cd4f457a4cecd2771ad":[3,0,1,25], +"group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da57a1bd50ad704c18289c2bf74a2a68c5":[3,0,1,36,3], +"group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da5c6d2b3a91b49ff14f9946799f00b20c":[3,0,1,36,2], +"group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da79ce8f5c35788a58b81c24684563e629":[3,0,1,36,4], +"group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2daa0d426c2ea1dfa48ad6e29a69f03d04c":[3,0,1,36,0], +"group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2dabd921418f53873c49dea5f9f3ea81f4b":[3,0,1,36,1], +"group__publictypes.html#gga26686b620930358e8b50f287d6c96e51a1e9b6fdb0f6841f91060766dfefaa504":[3,0,1,35,0], +"group__publictypes.html#gga26686b620930358e8b50f287d6c96e51ae0caa45527e7c797fef3719f947bc2ab":[3,0,1,35,2], +"group__publictypes.html#gga26686b620930358e8b50f287d6c96e51aec247277302fc0b522454c2f02e77b70":[3,0,1,35,3], +"group__publictypes.html#gga26686b620930358e8b50f287d6c96e51af6f2ac3c69c5fd02bac6d861bebdb441":[3,0,1,35,1], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a014d92769313bc513bd580461d8ebcd3":[3,0,1,34,9], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a078991e5214a2846ddaa2779f3f1c336":[3,0,1,34,17], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a0f293a6020f98a7e41b8afea0e402046":[3,0,1,34,22], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a1b1cb52b01bb034e47cf015ebb49b3f1":[3,0,1,34,3], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a1cc3cc0a607357ce4e6e8931c5b26190":[3,0,1,34,14], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a3b567998a2ca4da43348b5edb38dd865":[3,0,1,34,13], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a3f34b13f811b5ddc9e4c216f5432fa1d":[3,0,1,34,8] }; diff --git a/docs/navtreeindex1.js b/docs/navtreeindex1.js index 81869292f..c719286d5 100644 --- a/docs/navtreeindex1.js +++ b/docs/navtreeindex1.js @@ -1,78 +1,79 @@ var NAVTREEINDEX1 = { -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aa8ed1f05c3de1319d6eba4c3f44ec183":[3,0,1,10,18], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aba1600c4a3cb92f8f2cdf7be820606d3":[3,0,1,10,11], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ad8d3e0a7ff09ea46a966d07ad08536af":[3,0,1,10,12], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ae0cbdf962c6cdc1985795e07a705244b":[3,0,1,10,5], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ae9cf0dd9b54a0e456a565c6a8bf107f7":[3,0,1,10,0], -"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3af4f4ba84fa79d43fa816717db4403abe":[3,0,1,10,16], -"group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba10e73f8e471fa73704716a5efac8ed02":[3,0,1,12,10], -"group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba58882ac768eb1c0a0021d140f6b15deb":[3,0,1,12,4], -"group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba59020fdfee0aaf393ed80ef7bab4bb4e":[3,0,1,12,5], -"group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba59b2a0e9b2dfd78bcfa053dcb3f2dcce":[3,0,1,12,8], -"group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba7079a31d6035c24aaa94d85c4a89c053":[3,0,1,12,7], -"group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba843ca9cff10528731dc9609e2fbfe34f":[3,0,1,12,0], -"group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40babbdc2529081d58ebff50a8966db31fd2":[3,0,1,12,6], -"group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bad3258e42ff275ce5e256ffdf368f7bd0":[3,0,1,12,9], -"group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bad78a6f66d21b01ace7574841495cacdd":[3,0,1,12,2], -"group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40baeafb73ebdeb2df401d9fdfc39734fc8d":[3,0,1,12,1], -"group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bafe062f8fda5add3cb0e8fc3948aa6f9f":[3,0,1,12,3], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a047ba18fa823187083da9b56bfde7329":[3,0,1,14,7], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a17661620bd839f5e015a43d5e6913c0f":[3,0,1,14,11], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a283e06452d5e663666c4274a94ccab2a":[3,0,1,14,6], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a2c5ba8731523096ff871e27e82d9a9ba":[3,0,1,14,3], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a4eedafe058fd32443278fbcfa4b9bc10":[3,0,1,14,4], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a51ff94e190c38445e9c1c14d81c47f74":[3,0,1,14,10], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6435ad1ff8e5c1495342f96398f73d8b":[3,0,1,14,16], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a67abb820e54b6f4eb6c36889cdb161a1":[3,0,1,14,0], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a79f980cfe1c098f99358b9250c52491b":[3,0,1,14,15], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a8ca3ef305d6d19e9469e42cab90eda7f":[3,0,1,14,13], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9c0ac02a1b3d8964b40ec838a14b48b3":[3,0,1,14,14], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aa5528759208615ea1a26f2b31361962c":[3,0,1,14,5], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aa62b22cd035e89e52f4f51e5ccc9802c":[3,0,1,14,1], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7ac20967fac8888c04ce03927236cf0b69":[3,0,1,14,12], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aed8555bf560bde4696de7340c04984d5":[3,0,1,14,9], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7af7d338a61e4e72a3a18146f65a2072c6":[3,0,1,14,17], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afbfeed1f48833f2fe7bb49c1d35d217f":[3,0,1,14,2], -"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afc39eaef40fe161644258c9465c537bd":[3,0,1,14,8], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a502a8e20f25ecee09eb75576238bb797":[3,0,1,34,6], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a50f94f27851a7d56cec2d32b00ac383e":[3,0,1,34,4], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a72ce4f1dddbcac7f0a5d2224c5164927":[3,0,1,34,20], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a8090c8bc79ae660da7e58b2d0a47d785":[3,0,1,34,23], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a80c1d698c56a8b54ae747dc5c4c969a8":[3,0,1,34,19], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a87dc9e5593942f7413b84a17c64a01eb":[3,0,1,34,1], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a8e6f10a1b3f9eb256aaa4f9c1504b43d":[3,0,1,34,10], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a909ed133cf8d178dd98b24b51fe844bf":[3,0,1,34,7], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a96e01762a7feb2dbbd6f3c4504ba3470":[3,0,1,34,2], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a99ffe5bf9046a13802a9e0680e7f5e57":[3,0,1,34,21], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aa8be0c34a6b8a73f40cb8895ee3c43ca":[3,0,1,34,15], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aa8ed1f05c3de1319d6eba4c3f44ec183":[3,0,1,34,18], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aba1600c4a3cb92f8f2cdf7be820606d3":[3,0,1,34,11], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ad8d3e0a7ff09ea46a966d07ad08536af":[3,0,1,34,12], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ae0cbdf962c6cdc1985795e07a705244b":[3,0,1,34,5], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ae9cf0dd9b54a0e456a565c6a8bf107f7":[3,0,1,34,0], +"group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3af4f4ba84fa79d43fa816717db4403abe":[3,0,1,34,16], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a047ba18fa823187083da9b56bfde7329":[3,0,1,36,7], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a17661620bd839f5e015a43d5e6913c0f":[3,0,1,36,11], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a283e06452d5e663666c4274a94ccab2a":[3,0,1,36,6], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a2c5ba8731523096ff871e27e82d9a9ba":[3,0,1,36,3], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a4eedafe058fd32443278fbcfa4b9bc10":[3,0,1,36,4], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a51ff94e190c38445e9c1c14d81c47f74":[3,0,1,36,10], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6435ad1ff8e5c1495342f96398f73d8b":[3,0,1,36,16], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a67abb820e54b6f4eb6c36889cdb161a1":[3,0,1,36,0], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a79f980cfe1c098f99358b9250c52491b":[3,0,1,36,15], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a8ca3ef305d6d19e9469e42cab90eda7f":[3,0,1,36,13], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9c0ac02a1b3d8964b40ec838a14b48b3":[3,0,1,36,14], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aa5528759208615ea1a26f2b31361962c":[3,0,1,36,5], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aa62b22cd035e89e52f4f51e5ccc9802c":[3,0,1,36,1], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7ac20967fac8888c04ce03927236cf0b69":[3,0,1,36,12], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aed8555bf560bde4696de7340c04984d5":[3,0,1,36,9], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afbfeed1f48833f2fe7bb49c1d35d217f":[3,0,1,36,2], +"group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afc39eaef40fe161644258c9465c537bd":[3,0,1,36,8], "group__publictypes.html#structsir__stdio__dest":[3,0,1,1], "group__publictypes.html#structsir__syslog__dest":[3,0,1,2], "group__publictypes.html#structsir__syslog__dest_8__state":[3,0,1,4], "group__publictypes.html#structsir__textstyle":[3,0,1,0], "group__publictypes.html#structsirinit":[3,0,1,3], "group__tests.html":[3,3], -"group__tests.html#ga18ccd68f2c37d9798a06c403380c9308":[3,3,18], -"group__tests.html#ga1b17632b25d61e85f6ff1fa08371959e":[3,3,10], -"group__tests.html#ga1b5a43deceffa8c36174e7b04576f6a3":[3,3,29], -"group__tests.html#ga1d9150c929ba0b79bf06592563ea81e1":[3,3,17], -"group__tests.html#ga2b65799988fe973a542371b8131b4e7f":[3,3,13], -"group__tests.html#ga33eca3443a7a02e5fdaf97f8cb2158a1":[3,3,8], -"group__tests.html#ga3ad5e95b1114eba573969077ebb40cb5":[3,3,28], -"group__tests.html#ga3b90eec512f445effa4990dbc130ac82":[3,3,30], -"group__tests.html#ga3e19675d370d9b538ba320c49ecc7b05":[3,3,20], -"group__tests.html#ga47f8191761084c5b3673b0efac0197d0":[3,3,5], -"group__tests.html#ga4f238c5ad2114b9a746e64b003165bd1":[3,3,11], -"group__tests.html#ga54f0e8e0163d0aedf20616451f122017":[3,3,25], -"group__tests.html#ga607e96cb52e248a2277ab3ecc31b7195":[3,3,22], -"group__tests.html#ga73504bc15f794cbf70dff785136672bb":[3,3,9], -"group__tests.html#ga81a9057299bf85b258c93fb294156ab7":[3,3,26], -"group__tests.html#ga8545a7006242a1e925b0f937fa875850":[3,3,21], -"group__tests.html#ga8d74e7810b41d505863eddced156f448":[3,3,6], -"group__tests.html#ga8db924f756e0ee2f04ff3e044a10f283":[3,3,24], -"group__tests.html#ga8f5266c274182a3dae54c48d8d8abba1":[3,3,7], +"group__tests.html#ga18ccd68f2c37d9798a06c403380c9308":[3,3,19], +"group__tests.html#ga1b17632b25d61e85f6ff1fa08371959e":[3,3,11], +"group__tests.html#ga1b5a43deceffa8c36174e7b04576f6a3":[3,3,31], +"group__tests.html#ga1d9150c929ba0b79bf06592563ea81e1":[3,3,18], +"group__tests.html#ga2b65799988fe973a542371b8131b4e7f":[3,3,14], +"group__tests.html#ga33eca3443a7a02e5fdaf97f8cb2158a1":[3,3,9], +"group__tests.html#ga3ad5e95b1114eba573969077ebb40cb5":[3,3,30], +"group__tests.html#ga3b90eec512f445effa4990dbc130ac82":[3,3,32], +"group__tests.html#ga3e19675d370d9b538ba320c49ecc7b05":[3,3,21], +"group__tests.html#ga47f8191761084c5b3673b0efac0197d0":[3,3,6], +"group__tests.html#ga4f238c5ad2114b9a746e64b003165bd1":[3,3,12], +"group__tests.html#ga54f0e8e0163d0aedf20616451f122017":[3,3,27], +"group__tests.html#ga607e96cb52e248a2277ab3ecc31b7195":[3,3,23], +"group__tests.html#ga73504bc15f794cbf70dff785136672bb":[3,3,10], +"group__tests.html#ga81a9057299bf85b258c93fb294156ab7":[3,3,28], +"group__tests.html#ga8545a7006242a1e925b0f937fa875850":[3,3,22], +"group__tests.html#ga8d74e7810b41d505863eddced156f448":[3,3,7], +"group__tests.html#ga8db924f756e0ee2f04ff3e044a10f283":[3,3,26], +"group__tests.html#ga8f5266c274182a3dae54c48d8d8abba1":[3,3,8], "group__tests.html#ga90b7633a39946d2c201758aafbce43fa":[3,3,1], -"group__tests.html#ga9472cbb9a62d343fe0272444a7f87ce1":[3,3,2], -"group__tests.html#ga9ec172056871a719049c1c40ffdaf292":[3,3,31], -"group__tests.html#ga9f7ccc25d41c5980dae048951ba60c8b":[3,3,14], -"group__tests.html#gaa0b035b71e6a6e6df6b8a7bb95722e2a":[3,3,27], -"group__tests.html#gaa55b1ea9a036318bfdc44823ad704a9b":[3,3,15], -"group__tests.html#gabf5a4643e79df2f6b06956ffd6a465ab":[3,3,16], -"group__tests.html#gac9f9aabf53c8cfadba8b0f76927e6bae":[3,3,19], +"group__tests.html#ga9472cbb9a62d343fe0272444a7f87ce1":[3,3,3], +"group__tests.html#ga9ec172056871a719049c1c40ffdaf292":[3,3,33], +"group__tests.html#ga9f7ccc25d41c5980dae048951ba60c8b":[3,3,15], +"group__tests.html#gaa0b035b71e6a6e6df6b8a7bb95722e2a":[3,3,29], +"group__tests.html#gaa55b1ea9a036318bfdc44823ad704a9b":[3,3,16], +"group__tests.html#gabf5a4643e79df2f6b06956ffd6a465ab":[3,3,17], +"group__tests.html#gac9f9aabf53c8cfadba8b0f76927e6bae":[3,3,20], "group__tests.html#gacfda68c218d184e7a6998d9f2837481f":[3,3,0], -"group__tests.html#gade87411ddfc55756dd519d7e9b8f33a7":[3,3,3], -"group__tests.html#gaf3428b620d3540baf058f6b7dd42c075":[3,3,23], -"group__tests.html#gaf38b29b3f35da81c5315f110745f360d":[3,3,12], -"group__tests.html#gaf70a501cd8ae0357d80b99df2b1de901":[3,3,4], +"group__tests.html#gadad204381413cc93b367969e1c6a6d04":[3,3,2], +"group__tests.html#gade87411ddfc55756dd519d7e9b8f33a7":[3,3,4], +"group__tests.html#gaf3428b620d3540baf058f6b7dd42c075":[3,3,24], +"group__tests.html#gaf38b29b3f35da81c5315f110745f360d":[3,3,13], +"group__tests.html#gaf70a501cd8ae0357d80b99df2b1de901":[3,3,5], +"group__tests.html#gaf7edbef2bba9459091aa48d8b9512ede":[3,3,25], "helpers_8h_source.html":[4,0,1,0,8], "impl_8h_source.html":[4,0,1,0,9], "index.html":[], @@ -85,20 +86,24 @@ var NAVTREEINDEX1 = "mutex_8h_source.html":[4,0,1,0,12], "pages.html":[], "platform_8h_source.html":[4,0,1,0,13], +"platform__embarcadero_8h_source.html":[4,0,1,0,14], +"platform__importc_8h_source.html":[4,0,1,0,15], +"platform__orangec_8h_source.html":[4,0,1,0,16], "plugin__sample_8h_source.html":[4,0,2,0,0], -"plugins_8h_source.html":[4,0,1,0,14], -"queue_8h_source.html":[4,0,1,0,15], +"plugins_8h_source.html":[4,0,1,0,17], +"queue_8h_source.html":[4,0,1,0,18], "sir_8c.html":[4,0,3,0], "sir_8h.html":[4,0,1,1], "sir_8h_source.html":[4,0,1,1], "sircondition_8c.html":[4,0,3,1], "sircondition_8c.html#a150dd1b33dee56d4b02442f2f30f09c5":[4,0,3,1,2], +"sircondition_8c.html#ad3a334d6709db41f5a96327c90b44e83":[4,0,3,1,3], "sircondition_8c.html#ae8d6edc94bcfb430cf584b27a91e4040":[4,0,3,1,1], -"sircondition_8c.html#ae902dcda8cca588f9ff54182e9c761f0":[4,0,3,1,3], "sircondition_8c.html#ae93cd64b12a564792d3bb0a48a8ddc32":[4,0,3,1,0], "tests_8h_source.html":[4,0,4,0], -"textstyle_8h_source.html":[4,0,1,0,16], -"threadpool_8h_source.html":[4,0,1,0,17], -"types_8h_source.html":[4,0,1,0,18], -"version_8h_source.html":[4,0,1,0,19] +"tests__malloc_8h_source.html":[4,0,4,1], +"textstyle_8h_source.html":[4,0,1,0,19], +"threadpool_8h_source.html":[4,0,1,0,20], +"types_8h_source.html":[4,0,1,0,21], +"version_8h_source.html":[4,0,1,0,22] }; diff --git a/docs/pages.html b/docs/pages.html index ad64855fd..3222ddb9b 100644 --- a/docs/pages.html +++ b/docs/pages.html @@ -45,7 +45,7 @@ -
          libsir 2.2.2 +
          libsir 2.2.3
          Standard Incident Reporter
          diff --git a/docs/platform_8h_source.html b/docs/platform_8h_source.html index f177ef92d..c9da23e14 100644 --- a/docs/platform_8h_source.html +++ b/docs/platform_8h_source.html @@ -45,7 +45,7 @@ -
          libsir 2.2.2 +
          libsir 2.2.3
          Standard Incident Reporter
          @@ -118,7 +118,7 @@
          3 *
          4 * Author: Ryan M. Lederman <lederman@gmail.com>
          5 * Copyright: Copyright (c) 2018-2023
          -
          6 * Version: 2.2.2
          +
          6 * Version: 2.2.3
          7 * License: The MIT License (MIT)
          8 *
          9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
          @@ -143,484 +143,535 @@
          28
          29# if defined(_MSC_VER) && !defined(__clang__)
          30# include <stddef.h>
          -
          31# if defined(_USE_ATTRIBUTES_FOR_SAL)
          -
          32# undef _USE_ATTRIBUTES_FOR_SAL
          -
          33# endif
          -
          34# define _USE_ATTRIBUTES_FOR_SAL 1
          -
          35# include <sal.h>
          -
          36# define PRINTF_FORMAT _Printf_format_string_
          -
          37# define PRINTF_FORMAT_ATTR(fmt_p, va_p)
          -
          38# else
          -
          39# define PRINTF_FORMAT
          -
          40# if defined(__MINGW32__) || defined(__MINGW64__)
          -
          41# if !defined(__USE_MINGW_ANSI_STDIO)
          -
          42# define __USE_MINGW_ANSI_STDIO 1
          -
          43# endif
          -
          44# define PRINTF_FORMAT_ATTR(fmt_p, va_p) \
          -
          45 __attribute__((format (gnu_printf, fmt_p, va_p)))
          -
          46# else
          -
          47# if !defined(__SUNPRO_C) && !defined(__SUNPRO_C)
          -
          48# define PRINTF_FORMAT_ATTR(fmt_p, va_p) \
          -
          49 __attribute__((format (printf, fmt_p, va_p)))
          -
          50# else
          -
          51# define PRINTF_FORMAT_ATTR(fmt_p, va_p)
          -
          52# endif
          -
          53# endif
          -
          54# endif
          -
          55
          -
          56# if !defined(_WIN32)
          -
          57# if defined(__STDC_NO_ATOMICS__)
          -
          58# undef __HAVE_ATOMIC_H__
          -
          59# else
          -
          60# define __HAVE_ATOMIC_H__
          -
          61# endif
          -
          62# if defined(__GNUC__) && __GNUC__ <= 4
          -
          63# if defined(__GNUC_MINOR__) && __GNUC_MINOR__ <= 8
          -
          64# if !defined(__clang_version__)
          -
          65# undef __HAVE_ATOMIC_H__
          -
          66# endif
          -
          67# endif
          -
          68# endif
          -
          69# if defined(__DragonFly__)
          -
          70# if defined(__clang__) && defined(__clang_version__)
          -
          71# undef __HAVE_ATOMIC_H__
          -
          72# endif
          -
          73# endif
          -
          74# if !defined(__open_xl__) && defined(__ibmxl__) && defined(__ibmxl_release__)
          -
          75# if __ibmxl__ <= 16
          -
          76# if __ibmxl_release__ <= 1
          -
          77# undef __HAVE_ATOMIC_H__
          -
          78# endif
          -
          79# endif
          -
          80# endif
          -
          81# if defined(__IMPORTC__)
          -
          82# undef __HAVE_ATOMIC_H__
          -
          83# undef __SIZEOF_INT128__
          -
          84# define _BITS_FLOATN_H 1
          -
          85# undef __builtin_bswap16
          -
          86# define __builtin_bswap16
          -
          87# undef __builtin_bswap32
          -
          88# define __builtin_bswap32
          -
          89# undef __builtin_bswap64
          -
          90# define __builtin_bswap64
          -
          91# undef __extension__
          -
          92# define __extension__
          -
          93# undef __asm__
          -
          94# define __asm__ asm
          -
          95# if !defined(__restrict)
          -
          96# define __restrict restrict
          -
          97# endif
          -
          98# if !defined(__inline)
          -
          99# define __inline
          -
          100# endif
          -
          101# endif
          -
          102# if !defined(__open_xl__) && defined(__xlC_ver__)
          -
          103# if __xlC_ver__ <= 0x0000000e
          -
          104# undef __HAVE_ATOMIC_H__
          -
          105# endif
          -
          106# endif
          -
          107# if defined(__STDC_WANT_LIB_EXT1__)
          -
          108# undef __STDC_WANT_LIB_EXT1__
          -
          109# endif
          -
          110# define __STDC_WANT_LIB_EXT1__ 1
          -
          111# if defined(__STDC_WANT_LIB_EXT2__)
          -
          112# undef __STDC_WANT_LIB_EXT2__
          -
          113# endif
          -
          114# define __STDC_WANT_LIB_EXT2__ 1
          -
          115# if defined(__APPLE__) && defined(__MACH__)
          -
          116# define __MACOS__
          -
          117# define _DARWIN_C_SOURCE
          -
          118# elif defined(__serenity__)
          -
          119# define USE_PTHREAD_GETNAME_NP
          -
          120# elif defined(__OpenBSD__)
          -
          121# define __BSD__
          -
          122# define __FreeBSD_PTHREAD_NP_11_3__
          -
          123# elif defined(__NetBSD__)
          -
          124# define __BSD__
          -
          125# if !defined(_NETBSD_SOURCE)
          -
          126# define _NETBSD_SOURCE 1
          -
          127# endif
          -
          128# define USE_PTHREAD_GETNAME_NP
          -
          129# elif defined(__FreeBSD__) || defined(__DragonFly__)
          -
          130# define __BSD__
          -
          131# define _BSD_SOURCE
          -
          132# if !defined(_DEFAULT_SOURCE)
          -
          133# define _DEFAULT_SOURCE
          -
          134# endif
          -
          135# include <sys/param.h>
          -
          136# if __FreeBSD_version >= 1202500
          -
          137# define __FreeBSD_PTHREAD_NP_12_2__
          -
          138# elif __FreeBSD_version >= 1103500
          -
          139# define __FreeBSD_PTHREAD_NP_11_3__
          -
          140# elif __DragonFly_version >= 400907
          -
          141# define __DragonFly_getthreadid__
          -
          142# endif
          -
          143# if defined(__DragonFly__)
          -
          144# define USE_PTHREAD_GETNAME_NP
          -
          145# endif
          -
          146# else
          -
          147# if defined(__HAIKU__)
          -
          148# if !defined(__USE_GNU)
          -
          149# define __USE_GNU
          -
          150# endif
          -
          151# if !defined(_GNU_SOURCE)
          -
          152# define _GNU_SOURCE 1
          +
          31# undef _USE_ATTRIBUTES_FOR_SAL
          +
          32# define _USE_ATTRIBUTES_FOR_SAL 1
          +
          33# include <sal.h>
          +
          34# define PRINTF_FORMAT _Printf_format_string_
          +
          35# define PRINTF_FORMAT_ATTR(fmt_p, va_p)
          +
          36# else
          +
          37# define PRINTF_FORMAT
          +
          38# if defined(__MINGW32__) || defined(__MINGW64__)
          +
          39# if !defined(__USE_MINGW_ANSI_STDIO)
          +
          40# define __USE_MINGW_ANSI_STDIO 1
          +
          41# endif
          +
          42# define PRINTF_FORMAT_ATTR(fmt_p, va_p) \
          +
          43 __attribute__((format (gnu_printf, fmt_p, va_p)))
          +
          44# else
          +
          45# if !defined(__SUNPRO_C) && !defined(__SUNPRO_CC)
          +
          46# define PRINTF_FORMAT_ATTR(fmt_p, va_p) \
          +
          47 __attribute__((format (printf, fmt_p, va_p)))
          +
          48# else
          +
          49# define PRINTF_FORMAT_ATTR(fmt_p, va_p)
          +
          50# endif
          +
          51# endif
          +
          52# endif
          +
          53
          +
          54# undef HAS_ATTRIBUTE
          +
          55# if defined __has_attribute && (defined(__clang__) || defined(__GNUC__))
          +
          56# define HAS_ATTRIBUTE(atr) __has_attribute(atr)
          +
          57# else
          +
          58# define HAS_ATTRIBUTE(atr) 0
          +
          59# endif
          +
          60
          +
          61# undef SANITIZE_SUPPRESS
          +
          62# if HAS_ATTRIBUTE(no_sanitize)
          +
          63# define SANITIZE_SUPPRESS(str) __attribute__((no_sanitize(str)))
          +
          64# endif
          +
          65# if !defined(SANITIZE_SUPPRESS)
          +
          66# define SANITIZE_SUPPRESS(str)
          +
          67# endif
          +
          68
          +
          69# if !defined(_WIN32)
          +
          70# if defined(__STDC_NO_ATOMICS__)
          +
          71# undef __HAVE_ATOMIC_H__
          +
          72# else
          +
          73# define __HAVE_ATOMIC_H__
          +
          74# endif
          +
          75# if defined(__GNUC__) && __GNUC__ <= 4
          +
          76# if defined(__GNUC_MINOR__) && __GNUC_MINOR__ <= 8
          +
          77# if !defined(__clang_version__)
          +
          78# undef __HAVE_ATOMIC_H__
          +
          79# endif
          +
          80# endif
          +
          81# endif
          +
          82# if defined(__DragonFly__)
          +
          83# if defined(__clang__) && defined(__clang_version__)
          +
          84# undef __HAVE_ATOMIC_H__
          +
          85# endif
          +
          86# endif
          +
          87# if defined(SUNLINT)
          +
          88# undef __HAVE_ATOMIC_H__
          +
          89# endif
          +
          90# if defined(__IMPORTC__)
          +
          91# include "sir/platform_importc.h"
          +
          92# endif
          +
          93# if !defined(__open_xl__) && defined(__ibmxl__) && defined(__ibmxl_release__)
          +
          94# if __ibmxl__ <= 16
          +
          95# if __ibmxl_release__ <= 1
          +
          96# undef __HAVE_ATOMIC_H__
          +
          97# endif
          +
          98# endif
          +
          99# endif
          +
          100# if !defined(__open_xl__) && defined(__xlC_ver__)
          +
          101# if __xlC_ver__ <= 0x0000000e
          +
          102# undef __HAVE_ATOMIC_H__
          +
          103# endif
          +
          104# endif
          +
          105# undef __STDC_WANT_LIB_EXT1__
          +
          106# define __STDC_WANT_LIB_EXT1__ 1
          +
          107# undef __STDC_WANT_LIB_EXT2__
          +
          108# define __STDC_WANT_LIB_EXT2__ 1
          +
          109# if defined(__APPLE__) && defined(__MACH__)
          +
          110# define __MACOS__
          +
          111# undef _DARWIN_C_SOURCE
          +
          112# define _DARWIN_C_SOURCE
          +
          113# elif defined(__serenity__)
          +
          114# define SIR_PTHREAD_GETNAME_NP
          +
          115# elif defined(__OpenBSD__)
          +
          116# define __BSD__
          +
          117# define __FreeBSD_PTHREAD_NP_11_3__
          +
          118# elif defined(__NetBSD__)
          +
          119# define __BSD__
          +
          120# if !defined(_NETBSD_SOURCE)
          +
          121# define _NETBSD_SOURCE 1
          +
          122# endif
          +
          123# define SIR_PTHREAD_GETNAME_NP
          +
          124# elif defined(__FreeBSD__) || defined(__DragonFly__)
          +
          125# define __BSD__
          +
          126# define _BSD_SOURCE
          +
          127# if !defined(_DEFAULT_SOURCE)
          +
          128# define _DEFAULT_SOURCE
          +
          129# endif
          +
          130# include <sys/param.h>
          +
          131# if __FreeBSD_version >= 1202500
          +
          132# define __FreeBSD_PTHREAD_NP_12_2__
          +
          133# elif __FreeBSD_version >= 1103500
          +
          134# define __FreeBSD_PTHREAD_NP_11_3__
          +
          135# elif __DragonFly_version >= 400907
          +
          136# define __DragonFly_getthreadid__
          +
          137# endif
          +
          138# if defined(__DragonFly__)
          +
          139# define SIR_PTHREAD_GETNAME_NP
          +
          140# endif
          +
          141# else
          +
          142# if defined(__HAIKU__)
          +
          143# if !defined(__USE_GNU)
          +
          144# define __USE_GNU
          +
          145# endif
          +
          146# if !defined(_GNU_SOURCE)
          +
          147# define _GNU_SOURCE 1
          +
          148# endif
          +
          149# if defined(__clang__) && !defined(_GNU_PTHREAD_H_)
          +
          150# include <pthread.h>
          +
          151extern /* Workaround a Clang on Haiku bug. */
          +
          152int pthread_getname_np(pthread_t thread, char* buffer, size_t length);
          153# endif
          -
          154# if defined(__clang__) && !defined(_GNU_PTHREAD_H_)
          -
          155# include <pthread.h>
          -
          156extern /* Workaround a Clang on Haiku bug. */
          -
          157int pthread_getname_np(pthread_t thread, char* buffer, size_t length);
          -
          158# endif
          -
          159# define USE_PTHREAD_GETNAME_NP
          -
          160# endif
          -
          161# if defined(__GNU__) && !defined(__linux__)
          -
          162# if !defined(__HURD__)
          -
          163# define __HURD__ 1
          -
          164# endif
          -
          165# endif
          -
          166# if defined(__linux__)
          -
          167# if !defined(_GNU_SOURCE)
          -
          168# define _GNU_SOURCE 1
          -
          169# endif
          -
          170# if defined(__GLIBC__) && __GLIBC_MINOR__ >= 12
          -
          171# define USE_PTHREAD_GETNAME_NP
          -
          172# endif
          -
          173# endif
          -
          174# if defined(__CYGWIN__)
          -
          175# if !defined(_GNU_SOURCE)
          -
          176# define _GNU_SOURCE 1
          +
          154# define SIR_PTHREAD_GETNAME_NP
          +
          155# endif
          +
          156# if defined(__GNU__) && !defined(__linux__)
          +
          157# undef SIR_NO_THREAD_NAMES
          +
          158# define SIR_NO_THREAD_NAMES
          +
          159# if !defined(__HURD__)
          +
          160# define __HURD__ 1
          +
          161# endif
          +
          162# endif
          +
          163# if defined(__linux__)
          +
          164# if !defined(_GNU_SOURCE)
          +
          165# define _GNU_SOURCE 1
          +
          166# endif
          +
          167# include <features.h>
          +
          168# if defined(__GLIBC__)
          +
          169# undef GLIBC_VERSION
          +
          170# define GLIBC_VERSION (((0 + __GLIBC__) * 10000) + ((0 + __GLIBC_MINOR__) * 100))
          +
          171# endif
          +
          172# if !defined(GLIBC_VERSION)
          +
          173# define GLIBC_VERSION 0
          +
          174# endif
          +
          175# if defined(__GLIBC__) && GLIBC_VERSION >= 21200
          +
          176# define SIR_PTHREAD_GETNAME_NP
          177# endif
          -
          178# define USE_PTHREAD_GETNAME_NP
          -
          179# include <sys/features.h>
          -
          180# endif
          -
          181# if defined(__ANDROID__) && defined(__ANDROID_API__)
          -
          182# if __ANDROID_API__ < 26
          -
          183# undef USE_PTHREAD_GETNAME_NP
          -
          184# endif
          -
          185# endif
          -
          186# if defined(__illumos__) || ((defined(__sun) || defined(__sun__)) && \
          -
          187 (defined(__SVR4) || defined(__svr4__)))
          -
          188# define __SOLARIS__
          -
          189# define USE_PTHREAD_GETNAME_NP
          -
          190# if !defined(_ATFILE_SOURCE)
          -
          191# define _ATFILE_SOURCE 1
          -
          192# endif
          -
          193# if !defined(__EXTENSIONS__)
          -
          194# define __EXTENSIONS__
          +
          178# if defined(__GLIBC__) && GLIBC_VERSION > 0 && GLIBC_VERSION < 21200
          +
          179# undef SIR_NO_THREAD_NAMES
          +
          180# define SIR_NO_THREAD_NAMES
          +
          181# endif
          +
          182# endif
          +
          183# if defined(__CYGWIN__)
          +
          184# if !defined(_GNU_SOURCE)
          +
          185# define _GNU_SOURCE 1
          +
          186# endif
          +
          187# define SIR_PTHREAD_GETNAME_NP
          +
          188# include <sys/features.h>
          +
          189# endif
          +
          190# if defined(__ANDROID__) && defined(__ANDROID_API__)
          +
          191# if __ANDROID_API__ < 26
          +
          192# undef SIR_PTHREAD_GETNAME_NP
          +
          193# undef SIR_NO_THREAD_NAMES
          +
          194# define SIR_NO_THREAD_NAMES
          195# endif
          196# endif
          -
          197# if !defined(_POSIX_C_SOURCE)
          -
          198# define _POSIX_C_SOURCE 200809L
          -
          199# endif
          -
          200# if !defined(_DEFAULT_SOURCE)
          -
          201# define _DEFAULT_SOURCE
          -
          202# endif
          -
          203# if !defined(_XOPEN_SOURCE)
          -
          204# define _XOPEN_SOURCE 700
          -
          205# endif
          -
          206# endif
          -
          207# else /* _WIN32 */
          -
          208# define __WIN__
          -
          209# define SIR_NO_SYSTEM_LOGGERS
          -
          210# undef __HAVE_ATOMIC_H__
          -
          211# define __WANT_STDC_SECURE_LIB__ 1
          -
          212# define WIN32_LEAN_AND_MEAN
          -
          213# undef WINVER
          -
          214# define WINVER 0x0A00
          -
          215# undef _WIN32_WINNT
          -
          216# define _WIN32_WINNT 0x0A00
          -
          217# define _CRT_RAND_S
          -
          218# if defined(__MINGW32__) || defined(__MINGW64__)
          -
          219# define USE_PTHREAD_GETNAME_NP
          -
          220# endif
          -
          221# include <windows.h>
          -
          222# include <io.h>
          -
          223# include <synchapi.h>
          -
          224# include <process.h>
          -
          225# include <winsock2.h>
          -
          226# include <conio.h>
          -
          227# include <shlwapi.h>
          -
          228# if defined(__MINGW32__) || defined(__MINGW64__)
          -
          229# undef __USE_MINGW_ANSI_STDIO
          -
          230# define __USE_MINGW_ANSI_STDIO 1
          -
          231# include <pthread.h>
          -
          232typedef /* Workaround a MinGW bug */
          -
          233void (__cdecl* _invalid_parameter_handler)(
          -
          234 wchar_t const*, wchar_t const*, wchar_t const*,
          -
          235 unsigned int, uintptr_t);
          -
          236_invalid_parameter_handler
          -
          237_set_thread_local_invalid_parameter_handler(
          -
          238 _invalid_parameter_handler pNew);
          -
          239# endif
          -
          240# endif
          -
          241
          -
          242# if !defined(__MACOS__) && !defined(__BSD__) && !defined(__SOLARIS__)
          -
          243# define SIR_IMPL_STRLCPY 1
          -
          244# define SIR_IMPL_STRLCAT 1
          -
          245# endif
          -
          246
          -
          247# if defined(__WIN__)
          -
          248# define SIR_IMPL_STRNDUP 1
          -
          249# endif
          -
          250
          -
          251# if defined(__MINGW64__)
          -
          252# define PID_CAST (int)
          -
          253# else
          -
          254# define PID_CAST
          -
          255# endif
          -
          256
          -
          257# if defined(_AIX)
          -
          258# define CLOCK_CAST (int)
          -
          259# else
          -
          260# define CLOCK_CAST
          +
          197# if defined(__illumos__) || ((defined(__sun) || defined(__sun__)) && \
          +
          198 (defined(__SVR4) || defined(__svr4__)))
          +
          199# define __SOLARIS__
          +
          200# define SIR_PTHREAD_GETNAME_NP
          +
          201# if !defined(_ATFILE_SOURCE)
          +
          202# define _ATFILE_SOURCE 1
          +
          203# endif
          +
          204# if !defined(__EXTENSIONS__)
          +
          205# define __EXTENSIONS__
          +
          206# endif
          +
          207# endif
          +
          208# if !defined(_POSIX_C_SOURCE)
          +
          209# define _POSIX_C_SOURCE 200809L
          +
          210# endif
          +
          211# if !defined(_DEFAULT_SOURCE)
          +
          212# define _DEFAULT_SOURCE
          +
          213# endif
          +
          214# if !defined(_XOPEN_SOURCE)
          +
          215# define _XOPEN_SOURCE 700
          +
          216# endif
          +
          217# endif
          +
          218# else /* _WIN32 */
          +
          219# define __WIN__
          +
          220# undef SIR_NO_SYSTEM_LOGGERS
          +
          221# define SIR_NO_SYSTEM_LOGGERS
          +
          222# define __WANT_STDC_SECURE_LIB__ 1
          +
          223# define WIN32_LEAN_AND_MEAN
          +
          224# undef WINVER
          +
          225# define WINVER 0x0A00
          +
          226# undef _WIN32_WINNT
          +
          227# define _WIN32_WINNT 0x0A00
          +
          228# define _CRT_RAND_S
          +
          229# if defined(__ORANGEC__)
          +
          230# include "sir/platform_orangec.h"
          +
          231# endif
          +
          232# if defined(__MINGW32__) || defined(__MINGW64__)
          +
          233# define SIR_PTHREAD_GETNAME_NP
          +
          234# endif
          +
          235# include <windows.h>
          +
          236# include <io.h>
          +
          237# include <synchapi.h>
          +
          238# include <processthreadsapi.h>
          +
          239# include <process.h>
          +
          240# include <winsock2.h>
          +
          241# include <conio.h>
          +
          242# include <shlwapi.h>
          +
          243# undef __HAVE_ATOMIC_H__
          +
          244# if defined(_MSC_VER) && _MSC_VER >= 1933 && \
          +
          245 !defined(__cplusplus) && !defined(__IMPORTC__)
          +
          246# include <stdatomic.h>
          +
          247# define __HAVE_ATOMIC_H__
          +
          248# endif
          +
          249# if defined(__MINGW32__) || defined(__MINGW64__)
          +
          250# undef __USE_MINGW_ANSI_STDIO
          +
          251# define __USE_MINGW_ANSI_STDIO 1
          +
          252# include <pthread.h>
          +
          253typedef /* Workaround a MinGW bug */
          +
          254void (__cdecl* _invalid_parameter_handler)(
          +
          255 wchar_t const*, wchar_t const*, wchar_t const*,
          +
          256 unsigned int, uintptr_t);
          +
          257_invalid_parameter_handler
          +
          258_set_thread_local_invalid_parameter_handler(
          +
          259 _invalid_parameter_handler pNew);
          +
          260# endif
          261# endif
          262
          -
          263# if defined(SIR_ASSERT_ENABLED)
          -
          264# include <assert.h>
          -
          265# define SIR_ASSERT(...) assert(__VA_ARGS__)
          -
          266# else
          -
          267# if defined(SIR_SELFLOG)
          -
          268# define SIR_ASSERT(...) \
          -
          269 if (!(__VA_ARGS__)) { \
          -
          270 _sir_selflog(BRED("!!! would be asserting: " #__VA_ARGS__ "")); \
          -
          271 }
          -
          272# else
          -
          273# define SIR_ASSERT(...)
          -
          274# endif
          -
          275# endif
          -
          276
          -
          277# include <errno.h>
          -
          278# include <stdarg.h>
          -
          279# include <stdbool.h>
          -
          280# include <stdint.h>
          -
          281# include <inttypes.h>
          -
          282# include <stdio.h>
          -
          283# include <stdlib.h>
          -
          284# include <string.h>
          -
          285# if defined(DUMA)
          -
          286# include <duma.h>
          -
          287# endif
          -
          288# include <sys/stat.h>
          -
          289# include <sys/types.h>
          -
          290# include <limits.h>
          -
          291# include <time.h>
          -
          292
          -
          293# if !defined(SIR_NO_SYSTEM_LOGGERS)
          -
          294# if defined(__MACOS__) && !defined(__GNUC__)
          -
          295# define SIR_OS_LOG_ENABLED
          +
          263# if !defined(__MACOS__) && !defined(__BSD__) && !defined(__SOLARIS__) && \
          +
          264 !defined(__HAIKU__) && !(defined(__GLIBC__) && GLIBC_VERSION >= 23800)
          +
          265# define SIR_IMPL_STRLCPY 1
          +
          266# define SIR_IMPL_STRLCAT 1
          +
          267# endif
          +
          268
          +
          269# if defined(__WIN__)
          +
          270# define SIR_IMPL_STRNDUP 1
          +
          271# endif
          +
          272
          +
          273# if defined(__MINGW64__)
          +
          274# define PID_CAST (int)
          +
          275# else
          +
          276# define PID_CAST
          +
          277# endif
          +
          278
          +
          279# if defined(_AIX) || defined(__CYGWIN__)
          +
          280# define CLOCK_CAST (int)
          +
          281# else
          +
          282# define CLOCK_CAST
          +
          283# endif
          +
          284
          +
          285# if defined(SIR_ASSERT_ENABLED)
          +
          286# include <assert.h>
          +
          287# define SIR_ASSERT(...) assert(__VA_ARGS__)
          +
          288# else
          +
          289# if defined(SIR_SELFLOG)
          +
          290# define SIR_ASSERT(...) \
          +
          291 do { \
          +
          292 if (!(__VA_ARGS__)) { \
          +
          293 _sir_selflog(BRED("!!! would be asserting: " #__VA_ARGS__ "")); \
          +
          294 } \
          +
          295 } while (false)
          296# else
          -
          297# undef SIR_OS_LOG_ENABLED
          -
          298# define SIR_SYSLOG_ENABLED
          -
          299# endif
          -
          300# else
          -
          301# undef SIR_OS_LOG_ENABLED
          -
          302# undef SIR_SYSLOG_ENABLED
          -
          303# endif
          -
          304
          -
          305# define SIR_MAXHOST 256
          -
          306
          -
          307# if !defined(__WIN__)
          -
          308# if !defined(SIR_NO_PLUGINS)
          -
          309# include <dlfcn.h>
          -
          310# endif
          -
          311# include <pthread.h>
          -
          312# if defined(__illumos__)
          -
          313# include <sys/fcntl.h>
          -
          314# endif
          -
          315# if defined(__linux__) && defined(__USE_GNU) && \
          -
          316 (defined(__SUNPRO_C) || defined(__SUNPRO_CC))
          -
          317# undef __USE_GNU
          -
          318# include <fcntl.h>
          -
          319# define __USE_GNU
          -
          320# else
          -
          321# include <fcntl.h>
          -
          322# endif
          -
          323# include <unistd.h>
          -
          324# if !defined(__CYGWIN__) && !defined(__HAIKU__) && \
          -
          325 !defined(__serenity__) && !defined(_AIX)
          -
          326# include <sys/syscall.h>
          -
          327# endif
          -
          328# include <sys/time.h>
          -
          329# include <strings.h>
          -
          330# include <termios.h>
          -
          331# include <limits.h>
          -
          332# include <libgen.h>
          -
          333# if defined(__HAVE_ATOMIC_H__) && !defined(__cplusplus)
          -
          334# include <stdatomic.h>
          -
          335# endif
          -
          336# if defined(SIR_SYSLOG_ENABLED)
          -
          337# include <syslog.h>
          -
          338# endif
          -
          339# if defined(_AIX)
          -
          340# include <sys/procfs.h>
          -
          341# endif
          -
          342# if defined(__BSD__)
          -
          343# if !defined(__NetBSD__)
          -
          344# include <pthread_np.h>
          -
          345# endif
          -
          346# include <sys/sysctl.h>
          -
          347# elif defined(__linux__)
          -
          348# if defined(__GLIBC__)
          -
          349# include <linux/limits.h>
          -
          350# endif
          -
          351# elif defined(__HAIKU__)
          -
          352# include <OS.h>
          -
          353# include <FindDirectory.h>
          -
          354# elif defined(__MACOS__)
          -
          355# include <mach-o/dyld.h>
          -
          356# include <sys/_types/_timespec.h>
          -
          357# include <mach/mach.h>
          -
          358# include <mach/clock.h>
          -
          359# include <mach/mach_time.h>
          -
          360# if defined(SIR_OS_LOG_ENABLED)
          -
          361# include <os/log.h>
          -
          362# include <os/trace.h>
          -
          363# include <os/activity.h>
          -
          364# endif
          -
          365# endif
          -
          366
          -
          367# if defined(PATH_MAX)
          -
          368# define SIR_MAXPATH PATH_MAX
          -
          369# elif defined(MAXPATHLEN)
          -
          370# define SIR_MAXPATH MAXPATHLEN
          -
          371# else
          -
          372# define SIR_MAXPATH 1024
          +
          297# define SIR_ASSERT(...)
          +
          298# endif
          +
          299# endif
          +
          300
          +
          301# include <errno.h>
          +
          302# include <stdarg.h>
          +
          303# include <stdbool.h>
          +
          304# include <stdint.h>
          +
          305# include <inttypes.h>
          +
          306# include <stdio.h>
          +
          307# include <stdlib.h>
          +
          308# include <string.h>
          +
          309# if defined(DUMA)
          +
          310# include <duma.h>
          +
          311# endif
          +
          312# include <sys/stat.h>
          +
          313# include <sys/types.h>
          +
          314# include <limits.h>
          +
          315# include <time.h>
          +
          316
          +
          317# if !defined(SIR_NO_SYSTEM_LOGGERS)
          +
          318# if defined(__MACOS__) && !defined(__IMPORTC__) && \
          +
          319 ((defined(__clang__) || defined(__clang_version__)) && \
          +
          320 defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__))
          +
          321# define SIR_OS_LOG_ENABLED
          +
          322# else
          +
          323# undef SIR_OS_LOG_ENABLED
          +
          324# define SIR_SYSLOG_ENABLED
          +
          325# endif
          +
          326# else
          +
          327# undef SIR_OS_LOG_ENABLED
          +
          328# undef SIR_SYSLOG_ENABLED
          +
          329# endif
          +
          330
          +
          331# define SIR_MAXHOST 256
          +
          332
          +
          333# if !defined(__WIN__)
          +
          334# if !defined(SIR_NO_PLUGINS)
          +
          335# include <dlfcn.h>
          +
          336# endif
          +
          337# include <pthread.h>
          +
          338# if defined(__illumos__)
          +
          339# include <sys/fcntl.h>
          +
          340# endif
          +
          341# if defined(__linux__) && defined(__USE_GNU) && \
          +
          342 (defined(__SUNPRO_C) || defined(__SUNPRO_CC))
          +
          343# undef __USE_GNU
          +
          344# include <fcntl.h>
          +
          345# define __USE_GNU
          +
          346# else
          +
          347# include <fcntl.h>
          +
          348# endif
          +
          349# include <unistd.h>
          +
          350# if !defined(__CYGWIN__) && !defined(__HAIKU__) && \
          +
          351 !defined(__serenity__) && !defined(_AIX)
          +
          352# include <sys/syscall.h>
          +
          353# endif
          +
          354# include <sys/time.h>
          +
          355# include <strings.h>
          +
          356# include <termios.h>
          +
          357# include <limits.h>
          +
          358# include <libgen.h>
          +
          359# if defined(__HAVE_ATOMIC_H__) && !defined(__cplusplus)
          +
          360# include <stdatomic.h>
          +
          361# endif
          +
          362# if defined(SIR_SYSLOG_ENABLED)
          +
          363# include <syslog.h>
          +
          364# endif
          +
          365# if defined(__CYGWIN__)
          +
          366# undef SIR_NO_THREAD_NAMES
          +
          367# define SIR_NO_THREAD_NAMES
          +
          368# endif
          +
          369# if defined(_AIX)
          +
          370# include <sys/procfs.h>
          +
          371# undef SIR_NO_THREAD_NAMES
          +
          372# define SIR_NO_THREAD_NAMES
          373# endif
          -
          374
          -
          375# if defined(__MACOS__)
          -
          376# define SIR_MSEC_TIMER
          -
          377# define SIR_MSEC_MACH
          -
          378# elif _POSIX_TIMERS > 0
          -
          379# define SIR_MSEC_TIMER
          -
          380# define SIR_MSEC_POSIX
          -
          381# else
          -
          382# undef SIR_MSEC_TIMER
          -
          383# endif
          -
          384
          -
          386typedef void* sir_pluginhandle;
          -
          387
          -
          389typedef void* sir_pluginexport;
          -
          390
          -
          392typedef pthread_mutex_t sir_mutex;
          -
          393
          -
          395typedef pthread_t sir_thread;
          -
          396
          -
          398typedef pthread_cond_t sir_condition;
          -
          399
          -
          401typedef struct timespec sir_wait;
          +
          374# if defined(__BSD__)
          +
          375# if !defined(__NetBSD__)
          +
          376# include <pthread_np.h>
          +
          377# endif
          +
          378# include <sys/sysctl.h>
          +
          379# elif defined(__linux__)
          +
          380# if defined(__GLIBC__)
          +
          381# include <linux/limits.h>
          +
          382# endif
          +
          383# elif defined(__HAIKU__)
          +
          384# include <OS.h>
          +
          385# include <FindDirectory.h>
          +
          386# elif defined(__MACOS__)
          +
          387# include <mach-o/dyld.h>
          +
          388# if defined(SIR_OS_LOG_ENABLED)
          +
          389# include <os/log.h>
          +
          390# include <os/trace.h>
          +
          391# include <os/activity.h>
          +
          392# endif
          +
          393# endif
          +
          394
          +
          395# if defined(PATH_MAX)
          +
          396# define SIR_MAXPATH PATH_MAX
          +
          397# elif defined(MAXPATHLEN)
          +
          398# define SIR_MAXPATH MAXPATHLEN
          +
          399# else
          +
          400# define SIR_MAXPATH 1024
          +
          401# endif
          402
          -
          404typedef pthread_once_t sir_once;
          -
          405
          -
          407typedef void (*sir_once_fn)(void);
          -
          408
          -
          410# define SIR_ONCE_INIT PTHREAD_ONCE_INIT
          -
          411
          -
          413# define SIR_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
          -
          414
          -
          415# else /* __WIN__ */
          -
          416
          -
          417# define SIR_MAXPATH MAX_PATH
          -
          418
          -
          419# define SIR_MSEC_TIMER
          -
          420# define SIR_MSEC_WIN32
          -
          421
          -
          423typedef HMODULE sir_pluginhandle;
          -
          424
          -
          426typedef FARPROC sir_pluginexport;
          +
          403# if !defined(SIR_MAXPID) && defined(HAIKU) && defined(B_OS_NAME_LENGTH)
          +
          404# define SIR_MAXPID B_OS_NAME_LENGTH
          +
          405# endif
          +
          406# if !defined(SIR_MAXPID) && defined(PTHREAD_MAX_NAMELEN_NP)
          +
          407# define SIR_MAXPID PTHREAD_MAX_NAMELEN_NP
          +
          408# endif
          +
          409# if !defined(SIR_MAXPID) && defined(_NTO_THREAD_NAME_MAX)
          +
          410# define SIR_MAXPID _NTO_THREAD_NAME_MAX
          +
          411# endif
          +
          412# if !defined(SIR_MAXPID) && defined(__APPLE__)
          +
          413# define SIR_MAXPID 64
          +
          414# endif
          +
          415# if !defined(SIR_MAXPID) && defined(__OpenBSD__)
          +
          416# define SIR_MAXPID 32
          +
          417# endif
          +
          418# if !defined(SIR_MAXPID) && defined(__SOLARIS__)
          +
          419# define SIR_MAXPID 31
          +
          420# endif
          +
          421# if !defined(SIR_MAXPID) && defined(__linux__)
          +
          422# define SIR_MAXPID 16
          +
          423# endif
          +
          424# if !defined(SIR_MAXPID)
          +
          425# define SIR_MAXPID 15
          +
          426# endif
          427
          -
          429typedef CRITICAL_SECTION sir_mutex;
          -
          430
          -
          432typedef HANDLE sir_thread;
          -
          433
          -
          435typedef CONDITION_VARIABLE sir_condition;
          -
          436
          -
          438typedef DWORD sir_wait;
          -
          439
          -
          441typedef INIT_ONCE sir_once;
          -
          442
          -
          444# if !defined(__MINGW64__) && !defined(__MINGW32__) && !defined(__ORANGEC__)
          -
          445typedef int pid_t;
          -
          446# endif
          -
          447
          -
          449typedef BOOL(CALLBACK* sir_once_fn)(PINIT_ONCE, PVOID, PVOID*);
          -
          450
          -
          452# define SIR_ONCE_INIT INIT_ONCE_STATIC_INIT
          -
          453
          -
          455# define SIR_MUTEX_INIT {0}
          -
          456
          -
          457# endif /* !__WIN__ */
          -
          458
          -
          459# if (__STDC_VERSION__ >= 201112 && !defined(__STDC_NO_THREADS__)) || \
          -
          460 (defined(__SUNPRO_C) || defined(__SUNPRO_CC))
          -
          461# if defined(_AIX) && defined(__GNUC__)
          -
          462# define _sir_thread_local __thread
          -
          463# else
          -
          464# define _sir_thread_local _Thread_local
          -
          465# endif
          -
          466# elif defined(__WIN__)
          -
          467# define _sir_thread_local __declspec(thread)
          -
          468# elif defined(__GNUC__) || (defined(_AIX) && (defined(__xlC_ver__) || defined(__ibmxl__)))
          -
          469# define _sir_thread_local __thread
          -
          470# else
          -
          471# error "unable to resolve thread local attribute; please contact the author."
          -
          472# endif
          -
          473
          -
          474# if defined(__WIN__) && defined(__ORANGEC__)
          -
          475# if defined(__ORANGEC_MAJOR__) && defined(__ORANGEC_MINOR__) && defined(__ORANGEC_PATCHLEVEL__)
          -
          476# if __ORANGEC_MAJOR__ <= 6 && __ORANGEC_MINOR__ <= 70 && __ORANGEC_PATCHLEVEL__ <= 92
          -
          477# if !defined(ORANGEC_VERSION_WARNING)
          -
          478# warning OrangeC versions before 6.0.70.93 are unsupported.
          -
          479# define ORANGEC_VERSION_WARNING
          -
          480# endif
          -
          481# endif
          -
          482# endif
          -
          483# if !defined(SIR_MSVCRT_MINGW)
          -
          484# define SIR_MSVCRT_MINGW
          -
          485# endif
          -
          486# endif
          +
          428# if (defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0) || \
          +
          429 defined(__MACOS__) || defined(__OpenBSD__)
          +
          430# define SIR_MSEC_TIMER
          +
          431# define SIR_MSEC_POSIX
          +
          432# else
          +
          433# undef SIR_MSEC_TIMER
          +
          434# endif
          +
          435
          +
          437# if defined(CLOCK_REALTIME_FAST)
          +
          438# define SIR_WALLCLOCK CLOCK_REALTIME_FAST
          +
          439# elif defined(CLOCK_REALTIME_COARSE)
          +
          440# define SIR_WALLCLOCK CLOCK_REALTIME_COARSE
          +
          441# else
          +
          442# define SIR_WALLCLOCK CLOCK_REALTIME
          +
          443# endif
          +
          444
          +
          446# if defined(CLOCK_UPTIME)
          +
          447# define SIR_INTERVALCLOCK CLOCK_UPTIME
          +
          448# elif defined(CLOCK_BOOTTIME)
          +
          449# define SIR_INTERVALCLOCK CLOCK_BOOTTIME
          +
          450# elif defined(CLOCK_HIGHRES)
          +
          451# define SIR_INTERVALCLOCK CLOCK_HIGHRES
          +
          452# elif defined(CLOCK_MONOTONIC)
          +
          453# define SIR_INTERVALCLOCK CLOCK_MONOTONIC
          +
          454# else
          +
          455# define SIR_INTERVALCLOCK CLOCK_REALTIME
          +
          456# endif
          +
          457
          +
          459typedef void* sir_pluginhandle;
          +
          460
          +
          462typedef void (*sir_pluginexport)(void);
          +
          463
          +
          465typedef pthread_mutex_t sir_mutex;
          +
          466
          +
          468typedef pthread_t sir_thread;
          +
          469
          +
          471typedef pthread_cond_t sir_condition;
          +
          472
          +
          474typedef struct timespec sir_wait;
          +
          475
          +
          477typedef pthread_once_t sir_once;
          +
          478
          +
          480typedef void (*sir_once_fn)(void);
          +
          481
          +
          483# define SIR_ONCE_INIT PTHREAD_ONCE_INIT
          +
          484
          +
          486# define SIR_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
          487
          -
          488# if defined(__WIN__) && defined(__STDC_SECURE_LIB__)
          -
          489# define __HAVE_STDC_SECURE_OR_EXT1__
          -
          490# elif defined(__STDC_LIB_EXT1__)
          -
          491# define __HAVE_STDC_SECURE_OR_EXT1__
          -
          492# elif defined(__STDC_ALLOC_LIB__)
          -
          493# define __HAVE_STDC_EXT2__
          -
          494# endif
          -
          495
          -
          496# if (defined(__TURBOC__) || defined(__BORLANDC__) || \
          -
          497 defined(__BCPLUSPLUS__) || defined(__CODEGEARC__))
          -
          498# if !defined(__EMBARCADEROC__)
          -
          499# define __EMBARCADEROC__
          -
          500# endif
          -
          501# if !defined(SIR_MSVCRT_MINGW)
          -
          502# define SIR_MSVCRT_MINGW
          -
          503# endif
          -
          504# undef __HAVE_STDC_SECURE_OR_EXT1__
          -
          505# endif
          -
          506
          -
          507# if !defined(__MACOS__)
          -
          508# if defined(__linux__) && _POSIX_C_SOURCE >= 199309L
          -
          509# define SIR_MSECCLOCK CLOCK_REALTIME
          -
          510# else
          -
          511# define SIR_MSECCLOCK CLOCK_REALTIME
          -
          512# endif
          -
          513# else /* __MACOS__ */
          -
          514# define SIR_MSECCLOCK REALTIME_CLOCK
          -
          515# endif
          +
          488# else /* __WIN__ */
          +
          489
          +
          490# define SIR_MAXPID 64
          +
          491
          +
          492# define SIR_MAXPATH MAX_PATH
          +
          493
          +
          494# define SIR_MSEC_TIMER
          +
          495# define SIR_MSEC_WIN32
          +
          496# define SIR_WALLCLOCK 0
          +
          497# define SIR_INTERVALCLOCK 1
          +
          498
          +
          500typedef HMODULE sir_pluginhandle;
          +
          501
          +
          503typedef FARPROC sir_pluginexport;
          +
          504
          +
          506typedef CRITICAL_SECTION sir_mutex;
          +
          507
          +
          509typedef HANDLE sir_thread;
          +
          510
          +
          512typedef CONDITION_VARIABLE sir_condition;
          +
          513
          +
          515typedef DWORD sir_wait;
          516
          -
          517# if (defined(__clang__) || defined(__GNUC__)) && defined(__FILE_NAME__)
          -
          518# define __file__ __FILE_NAME__
          -
          519# elif defined(__BASE_FILE__)
          -
          520# define __file__ __BASE_FILE__
          -
          521# else
          -
          522# define __file__ __FILE__
          -
          523# endif
          +
          518typedef INIT_ONCE sir_once;
          +
          519
          +
          521# if !defined(__MINGW64__) && !defined(__MINGW32__) && !defined(__ORANGEC__)
          +
          522typedef int pid_t;
          +
          523# endif
          524
          -
          525#endif /* !_SIR_PLATFORM_H_INCLUDED */
          -
          526
          -
          527#include "sir/impl.h"
          -
          528
          -
          529/* End of platform.h */
          +
          526typedef BOOL(CALLBACK* sir_once_fn)(PINIT_ONCE, PVOID, PVOID*);
          +
          527
          +
          529# define SIR_ONCE_INIT INIT_ONCE_STATIC_INIT
          +
          530
          +
          532# define SIR_MUTEX_INIT {0}
          +
          533
          +
          534# endif /* !__WIN__ */
          +
          535
          +
          536# if (__STDC_VERSION__ >= 201112 && !defined(__STDC_NO_THREADS__)) || \
          +
          537 (defined(__SUNPRO_C) || defined(__SUNPRO_CC))
          +
          538# if defined(_AIX) && defined(__GNUC__)
          +
          539# define _sir_thread_local __thread
          +
          540# else
          +
          541# define _sir_thread_local _Thread_local
          +
          542# endif
          +
          543# elif defined(__WIN__)
          +
          544# define _sir_thread_local __declspec(thread)
          +
          545# elif defined(__GNUC__) || (defined(_AIX) && (defined(__xlC_ver__) || defined(__ibmxl__)))
          +
          546# define _sir_thread_local __thread
          +
          547# else
          +
          548# error "unable to resolve thread local attribute; please contact the author."
          +
          549# endif
          +
          550
          +
          551# if defined(__WIN__) && defined(__STDC_SECURE_LIB__)
          +
          552# define __HAVE_STDC_SECURE_OR_EXT1__
          +
          553# elif defined(__STDC_LIB_EXT1__)
          +
          554# define __HAVE_STDC_SECURE_OR_EXT1__
          +
          555# elif defined(__STDC_ALLOC_LIB__)
          +
          556# define __HAVE_STDC_EXT2__
          +
          557# endif
          +
          558
          +
          559# include "sir/platform_embarcadero.h"
          +
          560
          +
          561# if (defined(__clang__) || defined(__GNUC__)) && defined(__FILE_NAME__)
          +
          562# define __file__ __FILE_NAME__
          +
          563# elif defined(__BASE_FILE__)
          +
          564# define __file__ __BASE_FILE__
          +
          565# else
          +
          566# define __file__ __FILE__
          +
          567# endif
          +
          568
          +
          569#endif /* !_SIR_PLATFORM_H_INCLUDED */
          +
          570
          +
          571#include "sir/impl.h"
          +
          572
          +
          573/* Support Clang's -Wdisabled-macro-expansion check on Linux/glibc */
          +
          574#if defined(SIR_LINT) && (defined(__linux__) && defined(__GLIBC__)) && \
          +
          575 (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) && \
          +
          576 (defined(__clang__) || defined(__clang_version__))
          +
          577# undef stdin
          +
          578# undef stdout
          +
          579# undef stderr
          +
          580#endif
          +
          581
          +
          582/* End of platform.h */
          diff --git a/docs/platform__embarcadero_8h_source.html b/docs/platform__embarcadero_8h_source.html new file mode 100644 index 000000000..86b870e7b --- /dev/null +++ b/docs/platform__embarcadero_8h_source.html @@ -0,0 +1,177 @@ + + + + + + + + + + +libsir: The Standard Incident Reporter Library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + + + + + +
          +
          libsir 2.2.3 +
          +
          Standard Incident Reporter
          +
          +
          + + + + + + + +
          +
          + +
          +
          +
          + +
          + +
          +
          + + +
          +
          +
          +
          +
          +
          Loading...
          +
          Searching...
          +
          No Matches
          +
          +
          +
          +
          + +
          +
          platform_embarcadero.h
          +
          +
          +
          1/*
          +
          2 * platform_embarcadero.h
          +
          3 *
          +
          4 * Author: Ryan M. Lederman <lederman@gmail.com>
          +
          5 * Copyright: Copyright (c) 2018-2023
          +
          6 * Version: 2.2.3
          +
          7 * License: The MIT License (MIT)
          +
          8 *
          +
          9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
          +
          10 * this software and associated documentation files (the "Software"), to deal in
          +
          11 * the Software without restriction, including without limitation the rights to
          +
          12 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
          +
          13 * the Software, and to permit persons to whom the Software is furnished to do so,
          +
          14 * subject to the following conditions:
          +
          15 *
          +
          16 * The above copyright notice and this permission notice shall be included in all
          +
          17 * copies or substantial portions of the Software.
          +
          18 *
          +
          19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
          +
          20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
          +
          21 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
          +
          22 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
          +
          23 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
          +
          24 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
          +
          25 */
          +
          26#ifndef _SIR_PLATFORM_EMBARCADERO_H_INCLUDED
          +
          27# define _SIR_PLATFORM_EMBARCADERO_H_INCLUDED
          +
          28
          +
          29# if (defined(__TURBOC__) || defined(__BORLANDC__) || \
          +
          30 defined(__BCPLUSPLUS__) || defined(__CODEGEARC__))
          +
          31# include <stdint.h>
          +
          32# if !defined(__EMBARCADEROC__)
          +
          33# define __EMBARCADEROC__
          +
          34# endif
          +
          35# if !defined(SIR_MSVCRT_MINGW)
          +
          36# define SIR_MSVCRT_MINGW
          +
          37# endif
          +
          38# undef __HAVE_STDC_SECURE_OR_EXT1__
          +
          39# if defined(__UINTPTR_FMTx__)
          +
          40# define SIR_UIPTRx __UINTPTR_FMTx__
          +
          41# elif defined(PRIxPTR)
          +
          42# define SIR_UIPTRx PRIxPTR
          +
          43# endif
          +
          44# if defined(SIR_UIPTRx)
          +
          45# undef PRIxPTR
          +
          46# define PRIxPTR SIR_UIPTRx
          +
          47# endif
          +
          48# endif
          +
          49
          +
          50#endif /* !_SIR_PLATFORM_EMBARCADERO_H_INCLUDED */
          +
          +
          + + + + + diff --git a/docs/platform__importc_8h_source.html b/docs/platform__importc_8h_source.html new file mode 100644 index 000000000..c2df1d874 --- /dev/null +++ b/docs/platform__importc_8h_source.html @@ -0,0 +1,251 @@ + + + + + + + + + + +libsir: The Standard Incident Reporter Library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + + + + + +
          +
          libsir 2.2.3 +
          +
          Standard Incident Reporter
          +
          +
          + + + + + + + +
          +
          + +
          +
          +
          + +
          + +
          +
          + + +
          +
          +
          +
          +
          +
          Loading...
          +
          Searching...
          +
          No Matches
          +
          +
          +
          +
          + +
          +
          platform_importc.h
          +
          +
          +
          1/*
          +
          2 * platform-importc.h
          +
          3 *
          +
          4 * Author: Ryan M. Lederman <lederman@gmail.com>
          +
          5 * Copyright: Copyright (c) 2018-2023
          +
          6 * Version: 2.2.3
          +
          7 * License: The MIT License (MIT)
          +
          8 *
          +
          9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
          +
          10 * this software and associated documentation files (the "Software"), to deal in
          +
          11 * the Software without restriction, including without limitation the rights to
          +
          12 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
          +
          13 * the Software, and to permit persons to whom the Software is furnished to do so,
          +
          14 * subject to the following conditions:
          +
          15 *
          +
          16 * The above copyright notice and this permission notice shall be included in all
          +
          17 * copies or substantial portions of the Software.
          +
          18 *
          +
          19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
          +
          20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
          +
          21 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
          +
          22 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
          +
          23 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
          +
          24 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
          +
          25 */
          +
          26#ifndef _SIR_PLATFORM_IMPORTC_H_INCLUDED
          +
          27# define _SIR_PLATFORM_IMPORTC_H_INCLUDED
          +
          28
          +
          29# undef __HAVE_ATOMIC_H__
          +
          30# undef __SIZEOF_INT128__
          +
          31# undef BSWAP_REDEFINED
          +
          32# define _BITS_FLOATN_H 1
          +
          33# if defined(__APPLE__)
          +
          34# undef _DARWIN_C_SOURCE
          +
          35# define _DARWIN_C_SOURCE
          +
          36# include <libkern/OSByteOrder.h>
          +
          37# undef __builtin_bswap16
          +
          38# define __builtin_bswap16(x) _OSSwapInt16(x)
          +
          39# undef __builtin_bswap32
          +
          40# define __builtin_bswap32(x) _OSSwapInt32(x)
          +
          41# undef __builtin_bswap64
          +
          42# define __builtin_bswap64(x) _OSSwapInt64(x)
          +
          43# define BSWAP_REDEFINED 1
          +
          44# elif defined(__linux__)
          +
          45# undef _GNU_SOURCE
          +
          46# define _GNU_SOURCE 1
          +
          47# if defined __has_include
          +
          48# if __has_include(<features.h>)
          +
          49# include <features.h>
          +
          50# endif
          +
          51# endif
          +
          52# if defined __has_include
          +
          53# if __has_include(<byteswap.h>)
          +
          54# include <byteswap.h>
          +
          55# endif
          +
          56# endif
          +
          57# if defined(__GLIBC__)
          +
          58# undef __builtin_bswap16
          +
          59# define __builtin_bswap16(x) swap_16(x)
          +
          60# undef __builtin_bswap32
          +
          61# define __builtin_bswap32(x) swap_32(x)
          +
          62# undef __builtin_bswap64
          +
          63# define __builtin_bswap64(x) swap_64(x)
          +
          64# define BSWAP_REDEFINED 1
          +
          65# elif defined(bswap_16) && defined(bswap_32) && defined(bswap_64)
          +
          66# undef __builtin_bswap16
          +
          67# define __builtin_bswap16(x) bswap_16(x)
          +
          68# undef __builtin_bswap32
          +
          69# define __builtin_bswap32(x) bswap_32(x)
          +
          70# undef __builtin_bswap64
          +
          71# define __builtin_bswap64(x) bswap_64(x)
          +
          72# define BSWAP_REDEFINED 1
          +
          73# endif
          +
          74# elif defined(__FreeBSD__)
          +
          75# undef _BSD_SOURCE
          +
          76# define _BSD_SOURCE
          +
          77# undef _DEFAULT_SOURCE
          +
          78# define _DEFAULT_SOURCE
          +
          79# include <sys/endian.h>
          +
          80# undef __builtin_bswap16
          +
          81# define __builtin_bswap16(x) bswap16(x)
          +
          82# undef __builtin_bswap32
          +
          83# define __builtin_bswap32(x) bswap32(x)
          +
          84# undef __builtin_bswap64
          +
          85# define __builtin_bswap64(x) bswap64(x)
          +
          86# define BSWAP_REDEFINED 1
          +
          87# endif
          +
          88# if !defined(BSWAP_REDEFINED)
          +
          89# undef __builtin_bswap16
          +
          90# define __builtin_bswap16
          +
          91# undef __builtin_bswap32
          +
          92# define __builtin_bswap32
          +
          93# undef __builtin_bswap64
          +
          94# define __builtin_bswap64
          +
          95# define BSWAP_REDEFINED 1
          +
          96# endif
          +
          97# undef __builtin___snprintf_chk
          +
          98# define __builtin___snprintf_chk(s, c, flag, os, fmt, ...) snprintf(s, c, fmt, __VA_ARGS__)
          +
          99# undef __builtin___sprintf_chk
          +
          100# define __builtin___sprintf_chk(s, flag, os, fmt, ...) sprintf(s, fmt, __VA_ARGS__)
          +
          101# undef __builtin___vsnprintf_chk
          +
          102# define __builtin___vsnprintf_chk(s, c, flag, os, fmt, ...) vsnprintf(s, c, fmt, __VA_ARGS__)
          +
          103# undef __builtin___strlcat_chk
          +
          104# define __builtin___strlcat_chk(dest, src, x, n) strlcat(dest,src,x)
          +
          105# undef __builtin___strlcpy_chk
          +
          106# define __builtin___strlcpy_chk(dest, src, x, n) strlcpy(dest,src,x)
          +
          107# undef __builtin_object_size
          +
          108# define __builtin_object_size
          +
          109# undef __extension__
          +
          110# define __extension__
          +
          111# undef __asm__
          +
          112# if !defined(__FreeBSD__)
          +
          113# define __asm__ asm
          +
          114# else
          +
          115# define __asm__(...)
          +
          116# endif
          +
          117# if !defined(__restrict)
          +
          118# define __restrict restrict
          +
          119# endif
          +
          120# if !defined(__inline)
          +
          121# define __inline
          +
          122# endif
          +
          123
          +
          124#endif /* !_SIR_PLATFORM_IMPORTC_H_INCLUDED */
          +
          +
          + + + + + diff --git a/docs/platform__orangec_8h_source.html b/docs/platform__orangec_8h_source.html new file mode 100644 index 000000000..18c64a9a5 --- /dev/null +++ b/docs/platform__orangec_8h_source.html @@ -0,0 +1,171 @@ + + + + + + + + + + +libsir: The Standard Incident Reporter Library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + + + + + +
          +
          libsir 2.2.3 +
          +
          Standard Incident Reporter
          +
          +
          + + + + + + + +
          +
          + +
          +
          +
          + +
          + +
          +
          + + +
          +
          +
          +
          +
          +
          Loading...
          +
          Searching...
          +
          No Matches
          +
          +
          +
          +
          + +
          +
          platform_orangec.h
          +
          +
          +
          1/*
          +
          2 * platform_orangec.h
          +
          3 *
          +
          4 * Author: Ryan M. Lederman <lederman@gmail.com>
          +
          5 * Copyright: Copyright (c) 2018-2023
          +
          6 * Version: 2.2.3
          +
          7 * License: The MIT License (MIT)
          +
          8 *
          +
          9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
          +
          10 * this software and associated documentation files (the "Software"), to deal in
          +
          11 * the Software without restriction, including without limitation the rights to
          +
          12 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
          +
          13 * the Software, and to permit persons to whom the Software is furnished to do so,
          +
          14 * subject to the following conditions:
          +
          15 *
          +
          16 * The above copyright notice and this permission notice shall be included in all
          +
          17 * copies or substantial portions of the Software.
          +
          18 *
          +
          19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
          +
          20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
          +
          21 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
          +
          22 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
          +
          23 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
          +
          24 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
          +
          25 */
          +
          26#ifndef _SIR_PLATFORM_ORANGEC_H_INCLUDED
          +
          27# define _SIR_PLATFORM_ORANGEC_H_INCLUDED
          +
          28
          +
          29# if defined(__ORANGEC_MAJOR__) && defined(__ORANGEC_MINOR__) && defined(__ORANGEC_PATCHLEVEL__)
          +
          30# if __ORANGEC_MAJOR__ <= 6 && __ORANGEC_MINOR__ <= 71 && __ORANGEC_PATCHLEVEL__ <= 9
          +
          31# if !defined(ORANGEC_VERSION_WARNING)
          +
          32# warning OrangeC versions before 6.0.71.10 are unsupported.
          +
          33# define ORANGEC_VERSION_WARNING
          +
          34# endif
          +
          35# endif
          +
          36# endif
          +
          37
          +
          38# include <sysinfoapi.h>
          +
          39
          +
          40# if !defined(SIR_MSVCRT_MINGW)
          +
          41# define SIR_MSVCRT_MINGW
          +
          42# endif
          +
          43
          +
          44#endif /* !_SIR_PLATFORM_ORANGEC_H_INCLUDED */
          +
          +
          + + + + + diff --git a/docs/plugin__sample_8h_source.html b/docs/plugin__sample_8h_source.html index 12ab9e4c0..e25602bba 100644 --- a/docs/plugin__sample_8h_source.html +++ b/docs/plugin__sample_8h_source.html @@ -45,7 +45,7 @@ -
          libsir 2.2.2 +
          libsir 2.2.3
          Standard Incident Reporter
          @@ -118,7 +118,7 @@
          3 *
          4 * Author: Ryan M. Lederman <lederman@gmail.com>
          5 * Copyright: Copyright (c) 2018-2023
          -
          6 * Version: 2.2.2
          +
          6 * Version: 2.2.3
          7 * License: The MIT License (MIT)
          8 *
          9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
          @@ -155,7 +155,7 @@
          74
          84PLUGIN_EXPORT bool sir_plugin_init(void);
          85
          -
          99PLUGIN_EXPORT bool sir_plugin_write(sir_level level, const char* message);
          +
          99PLUGIN_EXPORT bool sir_plugin_write(sir_level level, const char* message);
          100
          109PLUGIN_EXPORT bool sir_plugin_cleanup(void);
          110
          @@ -164,8 +164,8 @@
          PLUGIN_EXPORT bool sir_plugin_cleanup(void)
          Called by libsir when the plugin is about to be unloaded.
          Definition plugin_sample.c:75
          PLUGIN_EXPORT bool sir_plugin_write(sir_level level, const char *message)
          Called by libsir when a message is dispatched on any level whose bit was set in the levels bitmask of...
          Definition plugin_sample.c:69
          PLUGIN_EXPORT bool sir_plugin_query(sir_plugininfo *info)
          Called by libsir after the plugin library object is loaded, but before any other functions are probed...
          Definition plugin_sample.c:49
          -
          sir_level
          Defines the available levels (severity/priority) of logging output.
          Definition types.h:48
          -
          The libsir-to-plugin query data structure.
          Definition types.h:284
          +
          uint16_t sir_level
          The sir_level type.
          Definition types.h:61
          +
          The libsir-to-plugin query data structure.
          Definition types.h:304
      diff --git a/docs/plugins_8h_source.html b/docs/plugins_8h_source.html index 924c597d0..ffc30546b 100644 --- a/docs/plugins_8h_source.html +++ b/docs/plugins_8h_source.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -118,7 +118,7 @@
      3 *
      4 * Author: Ryan M. Lederman <lederman@gmail.com>
      5 * Copyright: Copyright (c) 2018-2023
      -
      6 * Version: 2.2.2
      +
      6 * Version: 2.2.3
      7 * License: The MIT License (MIT)
      8 *
      9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
      @@ -143,33 +143,33 @@
      28
      29# include "sir/types.h"
      30
      -
      31typedef bool (*sir_plugin_pred)(const void*, sir_plugin*);
      +
      31typedef bool (*sir_plugin_pred)(const void*, const sir_plugin*);
      32
      33sirpluginid _sir_plugin_load(const char* path);
      34sirpluginid _sir_plugin_probe(sir_plugin* plugin);
      -
      35uintptr_t _sir_plugin_getexport(sir_pluginhandle handle, const char* name);
      +
      35sir_pluginexport _sir_plugin_getexport(sir_pluginhandle handle, const char* name);
      36bool _sir_plugin_unload(sir_plugin* plugin);
      37
      38sirpluginid _sir_plugin_add(sir_plugin* plugin);
      39bool _sir_plugin_rem(sirpluginid id);
      40void _sir_plugin_destroy(sir_plugin** plugin);
      41
      -
      42bool _sir_plugin_cache_pred_id(const void* match, sir_plugin* iter);
      +
      42bool _sir_plugin_cache_pred_id(const void* match, const sir_plugin* iter);
      43
      44sirpluginid _sir_plugin_cache_add(sir_plugincache* spc, sir_plugin* plugin);
      -
      45sir_plugin* _sir_plugin_cache_find_id(sir_plugincache* spc, sirpluginid id);
      -
      46sir_plugin* _sir_plugin_cache_find(sir_plugincache* spc, const void* match, sir_plugin_pred pred);
      +
      45sir_plugin* _sir_plugin_cache_find_id(const sir_plugincache* spc, sirpluginid id);
      +
      46sir_plugin* _sir_plugin_cache_find(const sir_plugincache* spc, const void* match, sir_plugin_pred pred);
      47bool _sir_plugin_cache_rem(sir_plugincache* spc, sirpluginid id);
      48bool _sir_plugin_cache_destroy(sir_plugincache* spc);
      -
      49bool _sir_plugin_cache_dispatch(sir_plugincache* spc, sir_level level, sirbuf* buf,
      +
      49bool _sir_plugin_cache_dispatch(const sir_plugincache* spc, sir_level level, sirbuf* buf,
      50 size_t* dispatched, size_t* wanted);
      51
      52#endif /* !_SIR_PLUGINS_H_INCLUDED */
      -
      sir_level
      Defines the available levels (severity/priority) of logging output.
      Definition types.h:48
      +
      uint16_t sir_level
      The sir_level type.
      Definition types.h:61
      uint32_t sirpluginid
      Plugin module identifier type.
      Definition types.h:45
      -
      Internally-used plugin module data.
      Definition types.h:323
      -
      Plugin module cache.
      Definition types.h:334
      -
      Formatted output container.
      Definition types.h:367
      +
      Internally-used plugin module data.
      Definition types.h:343
      +
      Plugin module cache.
      Definition types.h:354
      +
      Formatted output container.
      Definition types.h:387
      diff --git a/docs/queue_8h_source.html b/docs/queue_8h_source.html index 3b5ff756e..b1531c713 100644 --- a/docs/queue_8h_source.html +++ b/docs/queue_8h_source.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -118,7 +118,7 @@
      3 *
      4 * Author: Ryan M. Lederman <lederman@gmail.com>
      5 * Copyright: Copyright (c) 2018-2023
      -
      6 * Version: 2.2.2
      +
      6 * Version: 2.2.3
      7 * License: The MIT License (MIT)
      8 *
      9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
      @@ -153,7 +153,7 @@
      43
      45size_t _sir_queue_size(sir_queue* q);
      46
      -
      48bool _sir_queue_isempty(sir_queue* q);
      +
      48bool _sir_queue_isempty(const sir_queue* q);
      49
      51bool _sir_queue_push(sir_queue* q, void* data);
      52
      @@ -161,8 +161,8 @@
      55
      56#endif /* !_SIR_QUEUE_H_INCLUDED */
      57
      -
      A node in a sir_queue.
      Definition types.h:340
      -
      FIFO queue.
      Definition types.h:346
      +
      A node in a sir_queue.
      Definition types.h:360
      +
      FIFO queue.
      Definition types.h:366
      diff --git a/docs/search/all_0.js b/docs/search/all_0.js index a11fca72d..845d4d8ea 100644 --- a/docs/search/all_0.js +++ b/docs/search/all_0.js @@ -3,6 +3,6 @@ var searchData= ['_5fsir_5fcondbroadcast_0',['_sir_condbroadcast',['../sircondition_8c.html#ae8d6edc94bcfb430cf584b27a91e4040',1,'_sir_condbroadcast(sir_condition *cond): sircondition.c'],['../condition_8h.html#ae8d6edc94bcfb430cf584b27a91e4040',1,'_sir_condbroadcast(sir_condition *cond): sircondition.c']]], ['_5fsir_5fcondcreate_1',['_sir_condcreate',['../sircondition_8c.html#ae93cd64b12a564792d3bb0a48a8ddc32',1,'_sir_condcreate(sir_condition *cond): sircondition.c'],['../condition_8h.html#ae93cd64b12a564792d3bb0a48a8ddc32',1,'_sir_condcreate(sir_condition *cond): sircondition.c']]], ['_5fsir_5fconddestroy_2',['_sir_conddestroy',['../sircondition_8c.html#a150dd1b33dee56d4b02442f2f30f09c5',1,'_sir_conddestroy(sir_condition *cond): sircondition.c'],['../condition_8h.html#a150dd1b33dee56d4b02442f2f30f09c5',1,'_sir_conddestroy(sir_condition *cond): sircondition.c']]], - ['_5fsir_5fcondwait_5ftimeout_3',['_sir_condwait_timeout',['../sircondition_8c.html#ae902dcda8cca588f9ff54182e9c761f0',1,'_sir_condwait_timeout(sir_condition *cond, sir_mutex *mutex, sir_wait *howlong): sircondition.c'],['../condition_8h.html#a24b03cb2cda2ff8bc5de7d20824f9249',1,'_sir_condwait_timeout(sir_condition *cond, sir_mutex *mutex, sir_wait *how_long): sircondition.c']]], + ['_5fsir_5fcondwait_5ftimeout_3',['_sir_condwait_timeout',['../sircondition_8c.html#ad3a334d6709db41f5a96327c90b44e83',1,'_sir_condwait_timeout(sir_condition *cond, sir_mutex *mutex, const sir_wait *howlong): sircondition.c'],['../condition_8h.html#a8dda6e64ad0dcf2d4bc8ccd1c0c7d2ad',1,'_sir_condwait_timeout(sir_condition *cond, sir_mutex *mutex, const sir_wait *how_long): sircondition.c']]], ['_5fstate_4',['_state',['../group__publictypes.html#adb7f555cb381826a0aedfdbb58e96bd1',1,'sir_syslog_dest']]] ]; diff --git a/docs/search/all_11.js b/docs/search/all_11.js index 91f751e7c..f1fce61cd 100644 --- a/docs/search/all_11.js +++ b/docs/search/all_11.js @@ -2,5 +2,5 @@ var searchData= [ ['red_0',['RED',['../ansimacros_8h.html#ae96a94895f9559215e6fb40c3c23c740',1,'ansimacros.h']]], ['redb_1',['REDB',['../ansimacros_8h.html#a208bd811244427dc2b12d239617c8e0c',1,'ansimacros.h']]], - ['report_5ferror_2',['report_error',['../example_8c.html#a929f3d3b8335f1827cf00af79a26ade7',1,'example.c']]] + ['report_5ferror_2',['report_error',['../example_8c.html#abbad1b48f0da8b605fb563c936bec6c6',1,'example.c']]] ]; diff --git a/docs/search/all_12.js b/docs/search/all_12.js index 806a6d262..e17f9c239 100644 --- a/docs/search/all_12.js +++ b/docs/search/all_12.js @@ -4,104 +4,104 @@ var searchData= ['sir_2eh_1',['sir.h',['../sir_8h.html',1,'']]], ['sir_5faddfile_2',['sir_addfile',['../group__publicfuncs.html#gaa04f4ca1fc06e1d99ca4f0fd6422b573',1,'sir_addfile(const char *path, sir_levels levels, sir_options opts): sir.c'],['../group__publicfuncs.html#gaa04f4ca1fc06e1d99ca4f0fd6422b573',1,'sir_addfile(const char *path, sir_levels levels, sir_options opts): sir.c']]], ['sir_5falert_3',['sir_alert',['../group__publicfuncs.html#ga235d760d94e67fcf82ccc16c77a8249e',1,'sir_alert(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#ga235d760d94e67fcf82ccc16c77a8249e',1,'sir_alert(PRINTF_FORMAT const char *format,...): sir.c']]], - ['sir_5fcleanup_4',['sir_cleanup',['../group__publicfuncs.html#ga9bf3e92cefac01de4e3c6c359a58706f',1,'sir_cleanup(void): sir.c'],['../group__publicfuncs.html#ga9bf3e92cefac01de4e3c6c359a58706f',1,'sir_cleanup(void): sir.c']]], - ['sir_5fcolormode_5',['sir_colormode',['../group__publictypes.html#ga26686b620930358e8b50f287d6c96e51',1,'types.h']]], - ['sir_5fcrit_6',['sir_crit',['../group__publicfuncs.html#gab4836aea12ba1a2b187f325a416ea9c2',1,'sir_crit(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#gab4836aea12ba1a2b187f325a416ea9c2',1,'sir_crit(PRINTF_FORMAT const char *format,...): sir.c']]], - ['sir_5fdebug_7',['sir_debug',['../group__publicfuncs.html#ga7e2563198d16d5c7ba7bdf55fec9215c',1,'sir_debug(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#ga7e2563198d16d5c7ba7bdf55fec9215c',1,'sir_debug(PRINTF_FORMAT const char *format,...): sir.c']]], - ['sir_5fdestname_5fstderr_8',['SIR_DESTNAME_STDERR',['../config_8h.html#a926d6358221d41053fc26e9c7b3ab00d',1,'config.h']]], - ['sir_5fdestname_5fstdout_9',['SIR_DESTNAME_STDOUT',['../config_8h.html#ae39d0ceab6c56fb66a8f036302ac90a2',1,'config.h']]], - ['sir_5fdestname_5fsyslog_10',['SIR_DESTNAME_SYSLOG',['../config_8h.html#ae5e1886a3fa12d37256da4b20347b9b0',1,'config.h']]], - ['sir_5fe_5falready_11',['SIR_E_ALREADY',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a96e01762a7feb2dbbd6f3c4504ba3470',1,'errors.h']]], - ['sir_5fe_5fcolormode_12',['SIR_E_COLORMODE',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aa8be0c34a6b8a73f40cb8895ee3c43ca',1,'errors.h']]], - ['sir_5fe_5fdupitem_13',['SIR_E_DUPITEM',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a1b1cb52b01bb034e47cf015ebb49b3f1',1,'errors.h']]], - ['sir_5fe_5finternal_14',['SIR_E_INTERNAL',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a1cc3cc0a607357ce4e6e8931c5b26190',1,'errors.h']]], - ['sir_5fe_5finvalid_15',['SIR_E_INVALID',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aba1600c4a3cb92f8f2cdf7be820606d3',1,'errors.h']]], - ['sir_5fe_5flevels_16',['SIR_E_LEVELS',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a909ed133cf8d178dd98b24b51fe844bf',1,'errors.h']]], - ['sir_5fe_5fnodest_17',['SIR_E_NODEST',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ad8d3e0a7ff09ea46a966d07ad08536af',1,'errors.h']]], - ['sir_5fe_5fnoerror_18',['SIR_E_NOERROR',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ae9cf0dd9b54a0e456a565c6a8bf107f7',1,'errors.h']]], - ['sir_5fe_5fnoitem_19',['SIR_E_NOITEM',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a50f94f27851a7d56cec2d32b00ac383e',1,'errors.h']]], - ['sir_5fe_5fnoroom_20',['SIR_E_NOROOM',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ae0cbdf962c6cdc1985795e07a705244b',1,'errors.h']]], - ['sir_5fe_5fnotready_21',['SIR_E_NOTREADY',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a87dc9e5593942f7413b84a17c64a01eb',1,'errors.h']]], - ['sir_5fe_5fnullptr_22',['SIR_E_NULLPTR',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a8e6f10a1b3f9eb256aaa4f9c1504b43d',1,'errors.h']]], - ['sir_5fe_5foptions_23',['SIR_E_OPTIONS',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a502a8e20f25ecee09eb75576238bb797',1,'errors.h']]], - ['sir_5fe_5fplatform_24',['SIR_E_PLATFORM',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a0f293a6020f98a7e41b8afea0e402046',1,'errors.h']]], - ['sir_5fe_5fpluginbad_25',['SIR_E_PLUGINBAD',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aa8ed1f05c3de1319d6eba4c3f44ec183',1,'errors.h']]], - ['sir_5fe_5fplugindat_26',['SIR_E_PLUGINDAT',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a80c1d698c56a8b54ae747dc5c4c969a8',1,'errors.h']]], - ['sir_5fe_5fpluginerr_27',['SIR_E_PLUGINERR',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a99ffe5bf9046a13802a9e0680e7f5e57',1,'errors.h']]], - ['sir_5fe_5fpluginver_28',['SIR_E_PLUGINVER',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a72ce4f1dddbcac7f0a5d2224c5164927',1,'errors.h']]], - ['sir_5fe_5fstring_29',['SIR_E_STRING',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a014d92769313bc513bd580461d8ebcd3',1,'errors.h']]], - ['sir_5fe_5ftextattr_30',['SIR_E_TEXTATTR',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3af4f4ba84fa79d43fa816717db4403abe',1,'errors.h']]], - ['sir_5fe_5ftextcolor_31',['SIR_E_TEXTCOLOR',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a078991e5214a2846ddaa2779f3f1c336',1,'errors.h']]], - ['sir_5fe_5ftextstyle_32',['SIR_E_TEXTSTYLE',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a3f34b13f811b5ddc9e4c216f5432fa1d',1,'errors.h']]], - ['sir_5fe_5funavail_33',['SIR_E_UNAVAIL',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a3b567998a2ca4da43348b5edb38dd865',1,'errors.h']]], - ['sir_5fe_5funknown_34',['SIR_E_UNKNOWN',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a8090c8bc79ae660da7e58b2d0a47d785',1,'errors.h']]], - ['sir_5femerg_35',['sir_emerg',['../group__publicfuncs.html#gaf94f3dcbd6a14e81f6eca555733dce23',1,'sir_emerg(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#gaf94f3dcbd6a14e81f6eca555733dce23',1,'sir_emerg(PRINTF_FORMAT const char *format,...): sir.c']]], - ['sir_5ferror_36',['sir_error',['../group__publicfuncs.html#ga3955274b94bf3d09ad8ebefd93035aa3',1,'sir_error(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#ga3955274b94bf3d09ad8ebefd93035aa3',1,'sir_error(PRINTF_FORMAT const char *format,...): sir.c']]], - ['sir_5ferrorcode_37',['sir_errorcode',['../group__publictypes.html#ga861df9be69c6bcd01d29b77bd28ff7d3',1,'errors.h']]], - ['sir_5ferrorformat_38',['SIR_ERRORFORMAT',['../config_8h.html#a060398bb73afb43df07b1587bcec98ba',1,'config.h']]], - ['sir_5fesc_39',['SIR_ESC',['../ansimacros_8h.html#a0cb084124e9ecca12ea15d5ffd37284a',1,'ansimacros.h']]], - ['sir_5fesc_5fm_40',['SIR_ESC_M',['../ansimacros_8h.html#a7cc54c9116a34d86975364e0c52a1987',1,'ansimacros.h']]], - ['sir_5fesc_5frst_41',['SIR_ESC_RST',['../ansimacros_8h.html#a214056aecbf2d48867807967db489a5d',1,'ansimacros.h']]], - ['sir_5ffallback_5fsyslog_5fcat_42',['SIR_FALLBACK_SYSLOG_CAT',['../config_8h.html#a9b99ae577cedc922bded630216627070',1,'config.h']]], - ['sir_5ffallback_5fsyslog_5fid_43',['SIR_FALLBACK_SYSLOG_ID',['../config_8h.html#a08083686de6372fdeb9b52e73a6d6808',1,'config.h']]], - ['sir_5ffhbegin_44',['SIR_FHBEGIN',['../config_8h.html#aeb4e44bc613c57c3c49e27b66e69e933',1,'config.h']]], - ['sir_5ffhformat_45',['SIR_FHFORMAT',['../config_8h.html#a7c652578740e372edeac33d14f6408fd',1,'config.h']]], - ['sir_5ffhrolled_46',['SIR_FHROLLED',['../config_8h.html#aca213e22f32a371da7ca82eb86a16c9a',1,'config.h']]], - ['sir_5ffhtimeformat_47',['SIR_FHTIMEFORMAT',['../config_8h.html#a90d4862e769fd5effefb1e1dedf520c8',1,'config.h']]], - ['sir_5ffile_5fdef_5flvls_48',['sir_file_def_lvls',['../group__default.html#ga1337de627cb0dd234f34b07b4d77a931',1,'defaults.h']]], - ['sir_5ffile_5fdef_5fopts_49',['sir_file_def_opts',['../group__default.html#ga7b82b6fc3f0701c4db31d05a0b7a17ba',1,'defaults.h']]], - ['sir_5ffilelevels_50',['sir_filelevels',['../group__publicfuncs.html#ga5a776d3d55e9f993eb0fad82788e1160',1,'sir_filelevels(sirfileid id, sir_levels levels): sir.c'],['../group__publicfuncs.html#ga5a776d3d55e9f993eb0fad82788e1160',1,'sir_filelevels(sirfileid id, sir_levels levels): sir.c']]], - ['sir_5ffileopts_51',['sir_fileopts',['../group__publicfuncs.html#gaf14164a64eca824a2bae72ef4e9689cd',1,'sir_fileopts(sirfileid id, sir_options opts): sir.c'],['../group__publicfuncs.html#gaf14164a64eca824a2bae72ef4e9689cd',1,'sir_fileopts(sirfileid id, sir_options opts): sir.c']]], - ['sir_5ffnameformat_52',['SIR_FNAMEFORMAT',['../config_8h.html#a30cae1b7b493f9be429ff683b9d77677',1,'config.h']]], - ['sir_5ffnameseqformat_53',['SIR_FNAMESEQFORMAT',['../config_8h.html#a0dbd6db580edf1d367220202e3dff944',1,'config.h']]], - ['sir_5ffnametimeformat_54',['SIR_FNAMETIMEFORMAT',['../config_8h.html#aeb4949a438cb054dbd261eead7e9d6c9',1,'config.h']]], - ['sir_5ffopenmode_55',['SIR_FOPENMODE',['../config_8h.html#aad514de31d1178e0a91dcd7434230965',1,'config.h']]], - ['sir_5ffrollsize_56',['SIR_FROLLSIZE',['../config_8h.html#a019fb62b107343bafedb0f5ad84f7d3a',1,'config.h']]], - ['sir_5fgeterror_57',['sir_geterror',['../group__publicfuncs.html#gac0c399c73c25d1128befc6b75cbae300',1,'sir_geterror(char message[SIR_MAXERROR]): sir.c'],['../group__publicfuncs.html#gac0c399c73c25d1128befc6b75cbae300',1,'sir_geterror(char message[SIR_MAXERROR]): sir.c']]], - ['sir_5fgetversionhex_58',['sir_getversionhex',['../group__publicfuncs.html#ga747855ef6deb460266e79629d19451ab',1,'sir_getversionhex(void): sir.c'],['../group__publicfuncs.html#ga747855ef6deb460266e79629d19451ab',1,'sir_getversionhex(void): sir.c']]], - ['sir_5fgetversionstring_59',['sir_getversionstring',['../group__publicfuncs.html#gad1e38749df3016bd75c3d7442b708ee9',1,'sir_getversionstring(void): sir.c'],['../group__publicfuncs.html#gad1e38749df3016bd75c3d7442b708ee9',1,'sir_getversionstring(void): sir.c']]], - ['sir_5fhname_5fchk_5finterval_60',['SIR_HNAME_CHK_INTERVAL',['../config_8h.html#a46e195050794e32a234cda5f1af57a2a',1,'config.h']]], - ['sir_5finfo_61',['sir_info',['../group__publicfuncs.html#ga9aa2c092ae4ff0bf75043dce10166661',1,'sir_info(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#ga9aa2c092ae4ff0bf75043dce10166661',1,'sir_info(PRINTF_FORMAT const char *format,...): sir.c']]], - ['sir_5finit_62',['sir_init',['../group__publicfuncs.html#gaa4f5707f5e4ed9702cde75a8c80c4e4a',1,'sir_init(sirinit *si): sir.c'],['../group__publicfuncs.html#gaa4f5707f5e4ed9702cde75a8c80c4e4a',1,'sir_init(sirinit *si): sir.c']]], - ['sir_5fisprerelease_63',['sir_isprerelease',['../group__publicfuncs.html#gaf7c8bdb30b25e51a494271851677a8d3',1,'sir_isprerelease(void): sir.c'],['../group__publicfuncs.html#gaf7c8bdb30b25e51a494271851677a8d3',1,'sir_isprerelease(void): sir.c']]], - ['sir_5flevel_64',['sir_level',['../group__publictypes.html#ga4a3303c67acd49bea38fd3565d458cb2',1,'types.h']]], - ['sir_5flevel_5fstr_5fpair_65',['sir_level_str_pair',['../structsir__level__str__pair.html',1,'']]], - ['sir_5flevel_5fstyle_5ftuple_66',['sir_level_style_tuple',['../structsir__level__style__tuple.html',1,'']]], - ['sir_5flevelprefix_67',['SIR_LEVELPREFIX',['../config_8h.html#a359b781cc4fde8dd09e30b95328b3ab0',1,'config.h']]], - ['sir_5flevels_68',['sir_levels',['../group__publictypes.html#ga7ee5f2908abd2df9e89bcab0b6608edd',1,'types.h']]], - ['sir_5flevelsuffix_69',['SIR_LEVELSUFFIX',['../config_8h.html#a430a53000e87723599d6994d0ae2bb68',1,'config.h']]], - ['sir_5floadplugin_70',['sir_loadplugin',['../group__publicfuncs.html#ga1a50b52b3ce1af7543b76a219ff01060',1,'sir_loadplugin(const char *path): sir.c'],['../group__publicfuncs.html#ga1a50b52b3ce1af7543b76a219ff01060',1,'sir_loadplugin(const char *path): sir.c']]], - ['sir_5flvl_5falert_5fdef_5fstyle_71',['sir_lvl_alert_def_style',['../group__default.html#gafdb5a00e97fee751fe4018bf7c754bc7',1,'defaults.h']]], - ['sir_5flvl_5fcrit_5fdef_5fstyle_72',['sir_lvl_crit_def_style',['../group__default.html#ga9eb15ab392a9376c2d1b0ac5b3d9d40c',1,'defaults.h']]], - ['sir_5flvl_5fdebug_5fdef_5fstyle_73',['sir_lvl_debug_def_style',['../group__default.html#ga421e032fc253010c055403f1dc1688c2',1,'defaults.h']]], - ['sir_5flvl_5femerg_5fdef_5fstyle_74',['sir_lvl_emerg_def_style',['../group__default.html#gab6726fccfc830dfe0bc5e0640e8d253e',1,'defaults.h']]], - ['sir_5flvl_5ferror_5fdef_5fstyle_75',['sir_lvl_error_def_style',['../group__default.html#ga49e4babaece2219023aae3f747f60e3a',1,'defaults.h']]], - ['sir_5flvl_5finfo_5fdef_5fstyle_76',['sir_lvl_info_def_style',['../group__default.html#ga8aca18483225a6b4940155f979b83fe5',1,'defaults.h']]], - ['sir_5flvl_5fnotice_5fdef_5fstyle_77',['sir_lvl_notice_def_style',['../group__default.html#gaf52b39bf2ea92d31b9d52949eae5cace',1,'defaults.h']]], - ['sir_5flvl_5fwarn_5fdef_5fstyle_78',['sir_lvl_warn_def_style',['../group__default.html#gaef2e615ebaeeb41f46322754a2f56c98',1,'defaults.h']]], - ['sir_5fmakeinit_79',['sir_makeinit',['../group__publicfuncs.html#gac21fb86ac7e7710400bf8b642887ad96',1,'sir_makeinit(sirinit *si): sir.c'],['../group__publicfuncs.html#gac21fb86ac7e7710400bf8b642887ad96',1,'sir_makeinit(sirinit *si): sir.c']]], - ['sir_5fmakergb_80',['sir_makergb',['../group__publicfuncs.html#ga4691e42964819230e1f4b7fdf984ff66',1,'sir_makergb(sir_textcolor r, sir_textcolor g, sir_textcolor b): sir.c'],['../group__publicfuncs.html#ga4691e42964819230e1f4b7fdf984ff66',1,'sir_makergb(sir_textcolor r, sir_textcolor g, sir_textcolor b): sir.c']]], - ['sir_5fmax_5fsyslog_5fcat_81',['SIR_MAX_SYSLOG_CAT',['../config_8h.html#acf0d0fad6a98c920cced53dbe9b54d26',1,'config.h']]], - ['sir_5fmax_5fsyslog_5fid_82',['SIR_MAX_SYSLOG_ID',['../config_8h.html#a24a907a8ba87d4355d11dca2476383b2',1,'config.h']]], - ['sir_5fmaxerror_83',['SIR_MAXERROR',['../config_8h.html#ad6fce840144259e992c33fb611f31262',1,'config.h']]], - ['sir_5fmaxfheader_84',['SIR_MAXFHEADER',['../config_8h.html#ad0d5f453c3eb6a7a0e9d507b122bfac4',1,'config.h']]], - ['sir_5fmaxfiles_85',['SIR_MAXFILES',['../config_8h.html#aa1080a4bec531adb6d25c87ac4734399',1,'config.h']]], - ['sir_5fmaxlevel_86',['SIR_MAXLEVEL',['../config_8h.html#abac0b7b0c1ea5afc9d0708a4421b1a57',1,'config.h']]], - ['sir_5fmaxmessage_87',['SIR_MAXMESSAGE',['../config_8h.html#a5f006a2e9ce93ae8d693a2928af33bb2',1,'config.h']]], - ['sir_5fmaxmisc_88',['SIR_MAXMISC',['../config_8h.html#ac42033f35206a8adbf1a4377c8e0d290',1,'config.h']]], - ['sir_5fmaxmsec_89',['SIR_MAXMSEC',['../config_8h.html#ab048f63b09b424f84e19055dc0ec4a29',1,'config.h']]], - ['sir_5fmaxname_90',['SIR_MAXNAME',['../config_8h.html#a85ed3139018ee9e7545c74c0885dff55',1,'config.h']]], - ['sir_5fmaxoutput_91',['SIR_MAXOUTPUT',['../config_8h.html#ab3e26cb9ac224cb9a695ddf1ed099218',1,'config.h']]], - ['sir_5fmaxpid_92',['SIR_MAXPID',['../config_8h.html#a77d8a4249177fcf7703a811ca0154190',1,'config.h']]], - ['sir_5fmaxplugins_93',['SIR_MAXPLUGINS',['../config_8h.html#a98d559e1620108074d776bd6f33f85a4',1,'config.h']]], - ['sir_5fmaxstyle_94',['SIR_MAXSTYLE',['../config_8h.html#a5cdaa944bfe2228355cc4c34c3d315e8',1,'config.h']]], - ['sir_5fmaxtime_95',['SIR_MAXTIME',['../config_8h.html#ac1e50274f913ef71f196f20b9dfbbba6',1,'config.h']]], - ['sir_5fmsecformat_96',['SIR_MSECFORMAT',['../config_8h.html#a11214c8798ccdaab052c3bc9db2e3e78',1,'config.h']]], - ['sir_5fnotice_97',['sir_notice',['../group__publicfuncs.html#ga3b8cad62f929e549f2d031470e3a1fc7',1,'sir_notice(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#ga3b8cad62f929e549f2d031470e3a1fc7',1,'sir_notice(PRINTF_FORMAT const char *format,...): sir.c']]], - ['sir_5fnum16_5fcolor_5fmappings_98',['SIR_NUM16_COLOR_MAPPINGS',['../config_8h.html#ad4797e353beace140ae7ac35e0e6ea11',1,'config.h']]], + ['sir_5fcl_5farg_4',['sir_cl_arg',['../structsir__cl__arg.html',1,'']]], + ['sir_5fcleanup_5',['sir_cleanup',['../group__publicfuncs.html#ga9bf3e92cefac01de4e3c6c359a58706f',1,'sir_cleanup(void): sir.c'],['../group__publicfuncs.html#ga9bf3e92cefac01de4e3c6c359a58706f',1,'sir_cleanup(void): sir.c']]], + ['sir_5fcolormode_6',['sir_colormode',['../group__publictypes.html#ga26686b620930358e8b50f287d6c96e51',1,'types.h']]], + ['sir_5fcrit_7',['sir_crit',['../group__publicfuncs.html#gab4836aea12ba1a2b187f325a416ea9c2',1,'sir_crit(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#gab4836aea12ba1a2b187f325a416ea9c2',1,'sir_crit(PRINTF_FORMAT const char *format,...): sir.c']]], + ['sir_5fdebug_8',['sir_debug',['../group__publicfuncs.html#ga7e2563198d16d5c7ba7bdf55fec9215c',1,'sir_debug(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#ga7e2563198d16d5c7ba7bdf55fec9215c',1,'sir_debug(PRINTF_FORMAT const char *format,...): sir.c']]], + ['sir_5fdestname_5fstderr_9',['SIR_DESTNAME_STDERR',['../config_8h.html#a926d6358221d41053fc26e9c7b3ab00d',1,'config.h']]], + ['sir_5fdestname_5fstdout_10',['SIR_DESTNAME_STDOUT',['../config_8h.html#ae39d0ceab6c56fb66a8f036302ac90a2',1,'config.h']]], + ['sir_5fdestname_5fsyslog_11',['SIR_DESTNAME_SYSLOG',['../config_8h.html#ae5e1886a3fa12d37256da4b20347b9b0',1,'config.h']]], + ['sir_5fe_5falready_12',['SIR_E_ALREADY',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a96e01762a7feb2dbbd6f3c4504ba3470',1,'errors.h']]], + ['sir_5fe_5fcolormode_13',['SIR_E_COLORMODE',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aa8be0c34a6b8a73f40cb8895ee3c43ca',1,'errors.h']]], + ['sir_5fe_5fdupitem_14',['SIR_E_DUPITEM',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a1b1cb52b01bb034e47cf015ebb49b3f1',1,'errors.h']]], + ['sir_5fe_5finternal_15',['SIR_E_INTERNAL',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a1cc3cc0a607357ce4e6e8931c5b26190',1,'errors.h']]], + ['sir_5fe_5finvalid_16',['SIR_E_INVALID',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aba1600c4a3cb92f8f2cdf7be820606d3',1,'errors.h']]], + ['sir_5fe_5flevels_17',['SIR_E_LEVELS',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a909ed133cf8d178dd98b24b51fe844bf',1,'errors.h']]], + ['sir_5fe_5fnodest_18',['SIR_E_NODEST',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ad8d3e0a7ff09ea46a966d07ad08536af',1,'errors.h']]], + ['sir_5fe_5fnoerror_19',['SIR_E_NOERROR',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ae9cf0dd9b54a0e456a565c6a8bf107f7',1,'errors.h']]], + ['sir_5fe_5fnoitem_20',['SIR_E_NOITEM',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a50f94f27851a7d56cec2d32b00ac383e',1,'errors.h']]], + ['sir_5fe_5fnoroom_21',['SIR_E_NOROOM',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3ae0cbdf962c6cdc1985795e07a705244b',1,'errors.h']]], + ['sir_5fe_5fnotready_22',['SIR_E_NOTREADY',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a87dc9e5593942f7413b84a17c64a01eb',1,'errors.h']]], + ['sir_5fe_5fnullptr_23',['SIR_E_NULLPTR',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a8e6f10a1b3f9eb256aaa4f9c1504b43d',1,'errors.h']]], + ['sir_5fe_5foptions_24',['SIR_E_OPTIONS',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a502a8e20f25ecee09eb75576238bb797',1,'errors.h']]], + ['sir_5fe_5fplatform_25',['SIR_E_PLATFORM',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a0f293a6020f98a7e41b8afea0e402046',1,'errors.h']]], + ['sir_5fe_5fpluginbad_26',['SIR_E_PLUGINBAD',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3aa8ed1f05c3de1319d6eba4c3f44ec183',1,'errors.h']]], + ['sir_5fe_5fplugindat_27',['SIR_E_PLUGINDAT',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a80c1d698c56a8b54ae747dc5c4c969a8',1,'errors.h']]], + ['sir_5fe_5fpluginerr_28',['SIR_E_PLUGINERR',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a99ffe5bf9046a13802a9e0680e7f5e57',1,'errors.h']]], + ['sir_5fe_5fpluginver_29',['SIR_E_PLUGINVER',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a72ce4f1dddbcac7f0a5d2224c5164927',1,'errors.h']]], + ['sir_5fe_5fstring_30',['SIR_E_STRING',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a014d92769313bc513bd580461d8ebcd3',1,'errors.h']]], + ['sir_5fe_5ftextattr_31',['SIR_E_TEXTATTR',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3af4f4ba84fa79d43fa816717db4403abe',1,'errors.h']]], + ['sir_5fe_5ftextcolor_32',['SIR_E_TEXTCOLOR',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a078991e5214a2846ddaa2779f3f1c336',1,'errors.h']]], + ['sir_5fe_5ftextstyle_33',['SIR_E_TEXTSTYLE',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a3f34b13f811b5ddc9e4c216f5432fa1d',1,'errors.h']]], + ['sir_5fe_5funavail_34',['SIR_E_UNAVAIL',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a3b567998a2ca4da43348b5edb38dd865',1,'errors.h']]], + ['sir_5fe_5funknown_35',['SIR_E_UNKNOWN',['../group__publictypes.html#gga861df9be69c6bcd01d29b77bd28ff7d3a8090c8bc79ae660da7e58b2d0a47d785',1,'errors.h']]], + ['sir_5femerg_36',['sir_emerg',['../group__publicfuncs.html#gaf94f3dcbd6a14e81f6eca555733dce23',1,'sir_emerg(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#gaf94f3dcbd6a14e81f6eca555733dce23',1,'sir_emerg(PRINTF_FORMAT const char *format,...): sir.c']]], + ['sir_5ferror_37',['sir_error',['../group__publicfuncs.html#ga3955274b94bf3d09ad8ebefd93035aa3',1,'sir_error(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#ga3955274b94bf3d09ad8ebefd93035aa3',1,'sir_error(PRINTF_FORMAT const char *format,...): sir.c']]], + ['sir_5ferrorcode_38',['sir_errorcode',['../group__publictypes.html#ga861df9be69c6bcd01d29b77bd28ff7d3',1,'errors.h']]], + ['sir_5ferrorformat_39',['SIR_ERRORFORMAT',['../config_8h.html#a060398bb73afb43df07b1587bcec98ba',1,'config.h']]], + ['sir_5fesc_40',['SIR_ESC',['../ansimacros_8h.html#a0cb084124e9ecca12ea15d5ffd37284a',1,'ansimacros.h']]], + ['sir_5fesc_5fm_41',['SIR_ESC_M',['../ansimacros_8h.html#a7cc54c9116a34d86975364e0c52a1987',1,'ansimacros.h']]], + ['sir_5fesc_5frst_42',['SIR_ESC_RST',['../ansimacros_8h.html#a214056aecbf2d48867807967db489a5d',1,'ansimacros.h']]], + ['sir_5ffallback_5fsyslog_5fcat_43',['SIR_FALLBACK_SYSLOG_CAT',['../config_8h.html#a9b99ae577cedc922bded630216627070',1,'config.h']]], + ['sir_5ffallback_5fsyslog_5fid_44',['SIR_FALLBACK_SYSLOG_ID',['../config_8h.html#a08083686de6372fdeb9b52e73a6d6808',1,'config.h']]], + ['sir_5ffhbegin_45',['SIR_FHBEGIN',['../config_8h.html#aeb4e44bc613c57c3c49e27b66e69e933',1,'config.h']]], + ['sir_5ffhformat_46',['SIR_FHFORMAT',['../config_8h.html#a7c652578740e372edeac33d14f6408fd',1,'config.h']]], + ['sir_5ffhrolled_47',['SIR_FHROLLED',['../config_8h.html#aca213e22f32a371da7ca82eb86a16c9a',1,'config.h']]], + ['sir_5ffhtimeformat_48',['SIR_FHTIMEFORMAT',['../config_8h.html#a90d4862e769fd5effefb1e1dedf520c8',1,'config.h']]], + ['sir_5ffile_5fchk_5fsize_5fwrites_49',['SIR_FILE_CHK_SIZE_WRITES',['../config_8h.html#ac7f6d6130d1078eae1a28008eea32a92',1,'config.h']]], + ['sir_5ffile_5fdef_5flvls_50',['sir_file_def_lvls',['../group__default.html#ga1337de627cb0dd234f34b07b4d77a931',1,'defaults.h']]], + ['sir_5ffile_5fdef_5fopts_51',['sir_file_def_opts',['../group__default.html#ga7b82b6fc3f0701c4db31d05a0b7a17ba',1,'defaults.h']]], + ['sir_5ffilelevels_52',['sir_filelevels',['../group__publicfuncs.html#ga5a776d3d55e9f993eb0fad82788e1160',1,'sir_filelevels(sirfileid id, sir_levels levels): sir.c'],['../group__publicfuncs.html#ga5a776d3d55e9f993eb0fad82788e1160',1,'sir_filelevels(sirfileid id, sir_levels levels): sir.c']]], + ['sir_5ffileopts_53',['sir_fileopts',['../group__publicfuncs.html#gaf14164a64eca824a2bae72ef4e9689cd',1,'sir_fileopts(sirfileid id, sir_options opts): sir.c'],['../group__publicfuncs.html#gaf14164a64eca824a2bae72ef4e9689cd',1,'sir_fileopts(sirfileid id, sir_options opts): sir.c']]], + ['sir_5ffnameformat_54',['SIR_FNAMEFORMAT',['../config_8h.html#a30cae1b7b493f9be429ff683b9d77677',1,'config.h']]], + ['sir_5ffnameseqformat_55',['SIR_FNAMESEQFORMAT',['../config_8h.html#a0dbd6db580edf1d367220202e3dff944',1,'config.h']]], + ['sir_5ffnametimeformat_56',['SIR_FNAMETIMEFORMAT',['../config_8h.html#aeb4949a438cb054dbd261eead7e9d6c9',1,'config.h']]], + ['sir_5ffopenmode_57',['SIR_FOPENMODE',['../config_8h.html#aad514de31d1178e0a91dcd7434230965',1,'config.h']]], + ['sir_5ffrollsize_58',['SIR_FROLLSIZE',['../config_8h.html#a019fb62b107343bafedb0f5ad84f7d3a',1,'config.h']]], + ['sir_5fgeterror_59',['sir_geterror',['../group__publicfuncs.html#gac0c399c73c25d1128befc6b75cbae300',1,'sir_geterror(char message[SIR_MAXERROR]): sir.c'],['../group__publicfuncs.html#gac0c399c73c25d1128befc6b75cbae300',1,'sir_geterror(char message[SIR_MAXERROR]): sir.c']]], + ['sir_5fgetversionhex_60',['sir_getversionhex',['../group__publicfuncs.html#ga747855ef6deb460266e79629d19451ab',1,'sir_getversionhex(void): sir.c'],['../group__publicfuncs.html#ga747855ef6deb460266e79629d19451ab',1,'sir_getversionhex(void): sir.c']]], + ['sir_5fgetversionstring_61',['sir_getversionstring',['../group__publicfuncs.html#gad1e38749df3016bd75c3d7442b708ee9',1,'sir_getversionstring(void): sir.c'],['../group__publicfuncs.html#gad1e38749df3016bd75c3d7442b708ee9',1,'sir_getversionstring(void): sir.c']]], + ['sir_5fhname_5fchk_5finterval_62',['SIR_HNAME_CHK_INTERVAL',['../config_8h.html#a46e195050794e32a234cda5f1af57a2a',1,'config.h']]], + ['sir_5finfo_63',['sir_info',['../group__publicfuncs.html#ga9aa2c092ae4ff0bf75043dce10166661',1,'sir_info(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#ga9aa2c092ae4ff0bf75043dce10166661',1,'sir_info(PRINTF_FORMAT const char *format,...): sir.c']]], + ['sir_5finit_64',['sir_init',['../group__publicfuncs.html#gaa4f5707f5e4ed9702cde75a8c80c4e4a',1,'sir_init(sirinit *si): sir.c'],['../group__publicfuncs.html#gaa4f5707f5e4ed9702cde75a8c80c4e4a',1,'sir_init(sirinit *si): sir.c']]], + ['sir_5fisprerelease_65',['sir_isprerelease',['../group__publicfuncs.html#gaf7c8bdb30b25e51a494271851677a8d3',1,'sir_isprerelease(void): sir.c'],['../group__publicfuncs.html#gaf7c8bdb30b25e51a494271851677a8d3',1,'sir_isprerelease(void): sir.c']]], + ['sir_5flevel_66',['sir_level',['../group__publictypes.html#ga076e759e9aa36cde2977f754a7ea186c',1,'types.h']]], + ['sir_5flevel_5fstr_5fpair_67',['sir_level_str_pair',['../structsir__level__str__pair.html',1,'']]], + ['sir_5flevel_5fstyle_5ftuple_68',['sir_level_style_tuple',['../structsir__level__style__tuple.html',1,'']]], + ['sir_5flevelprefix_69',['SIR_LEVELPREFIX',['../config_8h.html#a359b781cc4fde8dd09e30b95328b3ab0',1,'config.h']]], + ['sir_5flevels_70',['sir_levels',['../group__publictypes.html#ga7ee5f2908abd2df9e89bcab0b6608edd',1,'types.h']]], + ['sir_5flevelsuffix_71',['SIR_LEVELSUFFIX',['../config_8h.html#a430a53000e87723599d6994d0ae2bb68',1,'config.h']]], + ['sir_5floadplugin_72',['sir_loadplugin',['../group__publicfuncs.html#ga1a50b52b3ce1af7543b76a219ff01060',1,'sir_loadplugin(const char *path): sir.c'],['../group__publicfuncs.html#ga1a50b52b3ce1af7543b76a219ff01060',1,'sir_loadplugin(const char *path): sir.c']]], + ['sir_5flvl_5falert_5fdef_5fstyle_73',['sir_lvl_alert_def_style',['../group__default.html#gafdb5a00e97fee751fe4018bf7c754bc7',1,'defaults.h']]], + ['sir_5flvl_5fcrit_5fdef_5fstyle_74',['sir_lvl_crit_def_style',['../group__default.html#ga9eb15ab392a9376c2d1b0ac5b3d9d40c',1,'defaults.h']]], + ['sir_5flvl_5fdebug_5fdef_5fstyle_75',['sir_lvl_debug_def_style',['../group__default.html#ga421e032fc253010c055403f1dc1688c2',1,'defaults.h']]], + ['sir_5flvl_5femerg_5fdef_5fstyle_76',['sir_lvl_emerg_def_style',['../group__default.html#gab6726fccfc830dfe0bc5e0640e8d253e',1,'defaults.h']]], + ['sir_5flvl_5ferror_5fdef_5fstyle_77',['sir_lvl_error_def_style',['../group__default.html#ga49e4babaece2219023aae3f747f60e3a',1,'defaults.h']]], + ['sir_5flvl_5finfo_5fdef_5fstyle_78',['sir_lvl_info_def_style',['../group__default.html#ga8aca18483225a6b4940155f979b83fe5',1,'defaults.h']]], + ['sir_5flvl_5fnotice_5fdef_5fstyle_79',['sir_lvl_notice_def_style',['../group__default.html#gaf52b39bf2ea92d31b9d52949eae5cace',1,'defaults.h']]], + ['sir_5flvl_5fwarn_5fdef_5fstyle_80',['sir_lvl_warn_def_style',['../group__default.html#gaef2e615ebaeeb41f46322754a2f56c98',1,'defaults.h']]], + ['sir_5fmakeinit_81',['sir_makeinit',['../group__publicfuncs.html#gac21fb86ac7e7710400bf8b642887ad96',1,'sir_makeinit(sirinit *si): sir.c'],['../group__publicfuncs.html#gac21fb86ac7e7710400bf8b642887ad96',1,'sir_makeinit(sirinit *si): sir.c']]], + ['sir_5fmakergb_82',['sir_makergb',['../group__publicfuncs.html#ga4691e42964819230e1f4b7fdf984ff66',1,'sir_makergb(sir_textcolor r, sir_textcolor g, sir_textcolor b): sir.c'],['../group__publicfuncs.html#ga4691e42964819230e1f4b7fdf984ff66',1,'sir_makergb(sir_textcolor r, sir_textcolor g, sir_textcolor b): sir.c']]], + ['sir_5fmax_5fsyslog_5fcat_83',['SIR_MAX_SYSLOG_CAT',['../config_8h.html#acf0d0fad6a98c920cced53dbe9b54d26',1,'config.h']]], + ['sir_5fmax_5fsyslog_5fid_84',['SIR_MAX_SYSLOG_ID',['../config_8h.html#a24a907a8ba87d4355d11dca2476383b2',1,'config.h']]], + ['sir_5fmaxerror_85',['SIR_MAXERROR',['../config_8h.html#ad6fce840144259e992c33fb611f31262',1,'config.h']]], + ['sir_5fmaxfheader_86',['SIR_MAXFHEADER',['../config_8h.html#ad0d5f453c3eb6a7a0e9d507b122bfac4',1,'config.h']]], + ['sir_5fmaxfiles_87',['SIR_MAXFILES',['../config_8h.html#aa1080a4bec531adb6d25c87ac4734399',1,'config.h']]], + ['sir_5fmaxlevel_88',['SIR_MAXLEVEL',['../config_8h.html#abac0b7b0c1ea5afc9d0708a4421b1a57',1,'config.h']]], + ['sir_5fmaxmessage_89',['SIR_MAXMESSAGE',['../config_8h.html#a5f006a2e9ce93ae8d693a2928af33bb2',1,'config.h']]], + ['sir_5fmaxmisc_90',['SIR_MAXMISC',['../config_8h.html#ac42033f35206a8adbf1a4377c8e0d290',1,'config.h']]], + ['sir_5fmaxmsec_91',['SIR_MAXMSEC',['../config_8h.html#ab048f63b09b424f84e19055dc0ec4a29',1,'config.h']]], + ['sir_5fmaxname_92',['SIR_MAXNAME',['../config_8h.html#a85ed3139018ee9e7545c74c0885dff55',1,'config.h']]], + ['sir_5fmaxoutput_93',['SIR_MAXOUTPUT',['../config_8h.html#ab3e26cb9ac224cb9a695ddf1ed099218',1,'config.h']]], + ['sir_5fmaxplugins_94',['SIR_MAXPLUGINS',['../config_8h.html#a98d559e1620108074d776bd6f33f85a4',1,'config.h']]], + ['sir_5fmaxstyle_95',['SIR_MAXSTYLE',['../config_8h.html#a5cdaa944bfe2228355cc4c34c3d315e8',1,'config.h']]], + ['sir_5fmaxtime_96',['SIR_MAXTIME',['../config_8h.html#ac1e50274f913ef71f196f20b9dfbbba6',1,'config.h']]], + ['sir_5fmsecformat_97',['SIR_MSECFORMAT',['../config_8h.html#a11214c8798ccdaab052c3bc9db2e3e78',1,'config.h']]], + ['sir_5fnotice_98',['sir_notice',['../group__publicfuncs.html#ga3b8cad62f929e549f2d031470e3a1fc7',1,'sir_notice(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#ga3b8cad62f929e549f2d031470e3a1fc7',1,'sir_notice(PRINTF_FORMAT const char *format,...): sir.c']]], ['sir_5fnumlevels_99',['SIR_NUMLEVELS',['../config_8h.html#a54ab03b03f20338146a5ab69fcd90177',1,'config.h']]], ['sir_5fnumoptions_100',['SIR_NUMOPTIONS',['../config_8h.html#a3d40d22ca5d641892fc7b3cb8d0bb283',1,'config.h']]], - ['sir_5foption_101',['sir_option',['../group__publictypes.html#ga9ed1c599dfd76231f4e0dadf46bff40b',1,'types.h']]], + ['sir_5foption_101',['sir_option',['../group__publictypes.html#gac28da6e48402cc15ead5b5384bccb6fd',1,'types.h']]], ['sir_5foptions_102',['sir_options',['../group__publictypes.html#gafb659914aac0129182d86f7d3414e85d',1,'types.h']]], ['sir_5fpidformat_103',['SIR_PIDFORMAT',['../config_8h.html#a88267c5f76d8f1f3f0b6a7903bfddc0b',1,'config.h']]], ['sir_5fpidprefix_104',['SIR_PIDPREFIX',['../config_8h.html#a783092ff31da5f9acc116c9f4657f671',1,'config.h']]], @@ -147,77 +147,77 @@ var searchData= ['sir_5ftextattr_144',['sir_textattr',['../group__publictypes.html#ga1bf5e489a6af0dcb905788c1e7a5ec2d',1,'types.h']]], ['sir_5ftextcolor_145',['sir_textcolor',['../group__publictypes.html#gab4214e294af5ac3c91f21c1d379e10c5',1,'types.h']]], ['sir_5ftextstyle_146',['sir_textstyle',['../group__publictypes.html#structsir__textstyle',1,'']]], - ['sir_5fthread_5ferr_147',['sir_thread_err',['../structsir__thread__err.html',1,'']]], - ['sir_5fthreadpool_148',['sir_threadpool',['../structsir__threadpool.html',1,'']]], - ['sir_5fthreadpool_5fjob_149',['sir_threadpool_job',['../structsir__threadpool__job.html',1,'']]], - ['sir_5ftimeformat_150',['SIR_TIMEFORMAT',['../config_8h.html#ab1531d6b0d9c880b793362322542794c',1,'config.h']]], - ['sir_5ftimer_151',['sir_timer',['../structsir__timer.html',1,'']]], - ['sir_5funknown_152',['SIR_UNKNOWN',['../config_8h.html#af9776f0b7cf01f82f2580a29c9efb6d6',1,'config.h']]], - ['sir_5funloadplugin_153',['sir_unloadplugin',['../group__publicfuncs.html#ga6796c068e61eb505e8dd8e230fbc1423',1,'sir_unloadplugin(sirpluginid id): sir.c'],['../group__publicfuncs.html#ga6796c068e61eb505e8dd8e230fbc1423',1,'sir_unloadplugin(sirpluginid id): sir.c']]], - ['sir_5fupdate_5fconfig_5fdata_154',['sir_update_config_data',['../structsir__update__config__data.html',1,'']]], - ['sir_5fwarn_155',['sir_warn',['../group__publicfuncs.html#gabf71ddaf533f10cf278986d4bdb3f76f',1,'sir_warn(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#gabf71ddaf533f10cf278986d4bdb3f76f',1,'sir_warn(PRINTF_FORMAT const char *format,...): sir.c']]], - ['sirbuf_156',['sirbuf',['../structsirbuf.html',1,'']]], - ['sircm_5f16_157',['SIRCM_16',['../group__publictypes.html#gga26686b620930358e8b50f287d6c96e51a1e9b6fdb0f6841f91060766dfefaa504',1,'types.h']]], - ['sircm_5f256_158',['SIRCM_256',['../group__publictypes.html#gga26686b620930358e8b50f287d6c96e51af6f2ac3c69c5fd02bac6d861bebdb441',1,'types.h']]], - ['sircm_5finvalid_159',['SIRCM_INVALID',['../group__publictypes.html#gga26686b620930358e8b50f287d6c96e51aec247277302fc0b522454c2f02e77b70',1,'types.h']]], - ['sircm_5frgb_160',['SIRCM_RGB',['../group__publictypes.html#gga26686b620930358e8b50f287d6c96e51ae0caa45527e7c797fef3719f947bc2ab',1,'types.h']]], - ['sircondition_2ec_161',['sircondition.c',['../sircondition_8c.html',1,'']]], - ['sirconfig_162',['sirconfig',['../structsirconfig.html',1,'']]], - ['sirconfig_2estate_2elast_163',['sirconfig.state.last',['../structsirconfig_8state_8last.html',1,'']]], - ['sirerror_164',['sirerror',['../structsirerror.html',1,'']]], - ['sirfcache_165',['sirfcache',['../structsirfcache.html',1,'']]], - ['sirfile_166',['sirfile',['../structsirfile.html',1,'']]], - ['sirfileid_167',['sirfileid',['../group__publictypes.html#ga0da4ab4b4468b6b71cd8e924b2adf2e2',1,'types.h']]], - ['sirinit_168',['sirinit',['../group__publictypes.html#structsirinit',1,'']]], - ['sirl_5falert_169',['SIRL_ALERT',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a8ea85ed68763f9c00d5ceeeaaf550955',1,'types.h']]], - ['sirl_5fall_170',['SIRL_ALL',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a4aa4a7193f36bf34a21ab48a17ffc444',1,'types.h']]], - ['sirl_5fcrit_171',['SIRL_CRIT',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a803f36256e5e4e3b788b7fa3a267a435',1,'types.h']]], - ['sirl_5fdebug_172',['SIRL_DEBUG',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a3553c8c2c35e70495b8f8e826aa3ff9b',1,'types.h']]], - ['sirl_5fdefault_173',['SIRL_DEFAULT',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2ab218462c6cc1f43062f5d2d24a757804',1,'types.h']]], - ['sirl_5femerg_174',['SIRL_EMERG',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a4ea9abe160c997d126806c4cca7f0cdc',1,'types.h']]], - ['sirl_5ferror_175',['SIRL_ERROR',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a9c687f088db1de838ea5d5f8a8beed76',1,'types.h']]], - ['sirl_5finfo_176',['SIRL_INFO',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a5882fd7e849f6a3c1c7967bde4ef4f7d',1,'types.h']]], - ['sirl_5fnone_177',['SIRL_NONE',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a7cc68341661fcb7a505aca67edb7a18e',1,'types.h']]], - ['sirl_5fnotice_178',['SIRL_NOTICE',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a721700c8091aab00db0b87b53f6eb53a',1,'types.h']]], - ['sirl_5fs_5falert_179',['SIRL_S_ALERT',['../config_8h.html#a4e02d1cb5e4a8d8535227657781d4a29',1,'config.h']]], - ['sirl_5fs_5fcrit_180',['SIRL_S_CRIT',['../config_8h.html#a362f77b1b5555a0ea57fdfb64ae09229',1,'config.h']]], - ['sirl_5fs_5fdebug_181',['SIRL_S_DEBUG',['../config_8h.html#a04d05c434823f0e5a353a31bb47af16e',1,'config.h']]], - ['sirl_5fs_5femerg_182',['SIRL_S_EMERG',['../config_8h.html#a777d150774244d2707818f2c4a1b9538',1,'config.h']]], - ['sirl_5fs_5ferror_183',['SIRL_S_ERROR',['../config_8h.html#a4237f9dff053a17cf7a134dbbebc5210',1,'config.h']]], - ['sirl_5fs_5finfo_184',['SIRL_S_INFO',['../config_8h.html#a1f7c2763d5e7afb0f2b49d4f0636276d',1,'config.h']]], - ['sirl_5fs_5fnotice_185',['SIRL_S_NOTICE',['../config_8h.html#a6195821fca239b40498e847d50b82623',1,'config.h']]], - ['sirl_5fs_5fwarn_186',['SIRL_S_WARN',['../config_8h.html#a7a2838316cfd52f1af743952e667d9f5',1,'config.h']]], - ['sirl_5fwarn_187',['SIRL_WARN',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a9bfe1efbd321a009ad518b2eaec35881',1,'types.h']]], - ['siro_5fall_188',['SIRO_ALL',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba843ca9cff10528731dc9609e2fbfe34f',1,'types.h']]], - ['siro_5fdefault_189',['SIRO_DEFAULT',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba10e73f8e471fa73704716a5efac8ed02',1,'types.h']]], - ['siro_5fmsgonly_190',['SIRO_MSGONLY',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bad3258e42ff275ce5e256ffdf368f7bd0',1,'types.h']]], - ['siro_5fnohdr_191',['SIRO_NOHDR',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba59b2a0e9b2dfd78bcfa053dcb3f2dcce',1,'types.h']]], - ['siro_5fnohost_192',['SIRO_NOHOST',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bafe062f8fda5add3cb0e8fc3948aa6f9f',1,'types.h']]], - ['siro_5fnolevel_193',['SIRO_NOLEVEL',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba58882ac768eb1c0a0021d140f6b15deb',1,'types.h']]], - ['siro_5fnomsec_194',['SIRO_NOMSEC',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bad78a6f66d21b01ace7574841495cacdd',1,'types.h']]], - ['siro_5fnoname_195',['SIRO_NONAME',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba59020fdfee0aaf393ed80ef7bab4bb4e',1,'types.h']]], - ['siro_5fnopid_196',['SIRO_NOPID',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40babbdc2529081d58ebff50a8966db31fd2',1,'types.h']]], - ['siro_5fnotid_197',['SIRO_NOTID',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba7079a31d6035c24aaa94d85c4a89c053',1,'types.h']]], - ['siro_5fnotime_198',['SIRO_NOTIME',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40baeafb73ebdeb2df401d9fdfc39734fc8d',1,'types.h']]], - ['sirpluginid_199',['sirpluginid',['../group__publictypes.html#gadbc71df98df765cddfed4aa11c805470',1,'types.h']]], - ['sirta_5fbold_200',['SIRTA_BOLD',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2dabd921418f53873c49dea5f9f3ea81f4b',1,'types.h']]], - ['sirta_5fdim_201',['SIRTA_DIM',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da5c6d2b3a91b49ff14f9946799f00b20c',1,'types.h']]], - ['sirta_5femph_202',['SIRTA_EMPH',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da57a1bd50ad704c18289c2bf74a2a68c5',1,'types.h']]], - ['sirta_5fnormal_203',['SIRTA_NORMAL',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2daa0d426c2ea1dfa48ad6e29a69f03d04c',1,'types.h']]], - ['sirta_5fuline_204',['SIRTA_ULINE',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da79ce8f5c35788a58b81c24684563e629',1,'types.h']]], - ['sirtc_5fbblue_205',['SIRTC_BBLUE',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7ac20967fac8888c04ce03927236cf0b69',1,'types.h']]], - ['sirtc_5fbcyan_206',['SIRTC_BCYAN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9c0ac02a1b3d8964b40ec838a14b48b3',1,'types.h']]], - ['sirtc_5fbgreen_207',['SIRTC_BGREEN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a51ff94e190c38445e9c1c14d81c47f74',1,'types.h']]], - ['sirtc_5fblack_208',['SIRTC_BLACK',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a67abb820e54b6f4eb6c36889cdb161a1',1,'types.h']]], - ['sirtc_5fblue_209',['SIRTC_BLUE',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a4eedafe058fd32443278fbcfa4b9bc10',1,'types.h']]], - ['sirtc_5fbmagenta_210',['SIRTC_BMAGENTA',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a8ca3ef305d6d19e9469e42cab90eda7f',1,'types.h']]], - ['sirtc_5fbred_211',['SIRTC_BRED',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aed8555bf560bde4696de7340c04984d5',1,'types.h']]], - ['sirtc_5fbyellow_212',['SIRTC_BYELLOW',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a17661620bd839f5e015a43d5e6913c0f',1,'types.h']]], - ['sirtc_5fcyan_213',['SIRTC_CYAN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a283e06452d5e663666c4274a94ccab2a',1,'types.h']]], - ['sirtc_5fdefault_214',['SIRTC_DEFAULT',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6435ad1ff8e5c1495342f96398f73d8b',1,'types.h']]], - ['sirtc_5fdgray_215',['SIRTC_DGRAY',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afc39eaef40fe161644258c9465c537bd',1,'types.h']]], - ['sirtc_5fgreen_216',['SIRTC_GREEN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afbfeed1f48833f2fe7bb49c1d35d217f',1,'types.h']]], - ['sirtc_5finvalid_217',['SIRTC_INVALID',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7af7d338a61e4e72a3a18146f65a2072c6',1,'types.h']]], + ['sir_5fthrd_5fchk_5finterval_147',['SIR_THRD_CHK_INTERVAL',['../config_8h.html#aa9d8a09e5e0f6e384370950a13173f78',1,'config.h']]], + ['sir_5fthread_5ferr_148',['sir_thread_err',['../structsir__thread__err.html',1,'']]], + ['sir_5fthreadpool_149',['sir_threadpool',['../structsir__threadpool.html',1,'']]], + ['sir_5fthreadpool_5fjob_150',['sir_threadpool_job',['../structsir__threadpool__job.html',1,'']]], + ['sir_5ftime_151',['sir_time',['../structsir__time.html',1,'']]], + ['sir_5ftimeformat_152',['SIR_TIMEFORMAT',['../config_8h.html#ab1531d6b0d9c880b793362322542794c',1,'config.h']]], + ['sir_5funknown_153',['SIR_UNKNOWN',['../config_8h.html#af9776f0b7cf01f82f2580a29c9efb6d6',1,'config.h']]], + ['sir_5funloadplugin_154',['sir_unloadplugin',['../group__publicfuncs.html#ga6796c068e61eb505e8dd8e230fbc1423',1,'sir_unloadplugin(sirpluginid id): sir.c'],['../group__publicfuncs.html#ga6796c068e61eb505e8dd8e230fbc1423',1,'sir_unloadplugin(sirpluginid id): sir.c']]], + ['sir_5fupdate_5fconfig_5fdata_155',['sir_update_config_data',['../structsir__update__config__data.html',1,'']]], + ['sir_5fwarn_156',['sir_warn',['../group__publicfuncs.html#gabf71ddaf533f10cf278986d4bdb3f76f',1,'sir_warn(PRINTF_FORMAT const char *format,...): sir.c'],['../group__publicfuncs.html#gabf71ddaf533f10cf278986d4bdb3f76f',1,'sir_warn(PRINTF_FORMAT const char *format,...): sir.c']]], + ['sirbuf_157',['sirbuf',['../structsirbuf.html',1,'']]], + ['sircm_5f16_158',['SIRCM_16',['../group__publictypes.html#gga26686b620930358e8b50f287d6c96e51a1e9b6fdb0f6841f91060766dfefaa504',1,'types.h']]], + ['sircm_5f256_159',['SIRCM_256',['../group__publictypes.html#gga26686b620930358e8b50f287d6c96e51af6f2ac3c69c5fd02bac6d861bebdb441',1,'types.h']]], + ['sircm_5finvalid_160',['SIRCM_INVALID',['../group__publictypes.html#gga26686b620930358e8b50f287d6c96e51aec247277302fc0b522454c2f02e77b70',1,'types.h']]], + ['sircm_5frgb_161',['SIRCM_RGB',['../group__publictypes.html#gga26686b620930358e8b50f287d6c96e51ae0caa45527e7c797fef3719f947bc2ab',1,'types.h']]], + ['sircondition_2ec_162',['sircondition.c',['../sircondition_8c.html',1,'']]], + ['sirconfig_163',['sirconfig',['../structsirconfig.html',1,'']]], + ['sirconfig_2estate_2elast_164',['sirconfig.state.last',['../structsirconfig_8state_8last.html',1,'']]], + ['sirerror_165',['sirerror',['../structsirerror.html',1,'']]], + ['sirfcache_166',['sirfcache',['../structsirfcache.html',1,'']]], + ['sirfile_167',['sirfile',['../structsirfile.html',1,'']]], + ['sirfileid_168',['sirfileid',['../group__publictypes.html#ga0da4ab4b4468b6b71cd8e924b2adf2e2',1,'types.h']]], + ['sirinit_169',['sirinit',['../group__publictypes.html#structsirinit',1,'']]], + ['sirl_5falert_170',['SIRL_ALERT',['../group__publictypes.html#ga8549494d396c96ba66b5b78b298cff7d',1,'types.h']]], + ['sirl_5fall_171',['SIRL_ALL',['../group__publictypes.html#gac393a8a8f335fe44d28f39c91293af1f',1,'types.h']]], + ['sirl_5fcrit_172',['SIRL_CRIT',['../group__publictypes.html#gac559a9050c927bf0dc9f88dfc3905e06',1,'types.h']]], + ['sirl_5fdebug_173',['SIRL_DEBUG',['../group__publictypes.html#gaa2927c260f1d8fac96513442e50105fc',1,'types.h']]], + ['sirl_5fdefault_174',['SIRL_DEFAULT',['../group__publictypes.html#ga640c1b7e6daea59af42137e10e3c3b29',1,'types.h']]], + ['sirl_5femerg_175',['SIRL_EMERG',['../group__publictypes.html#ga2409f97357f1eb510ababeb6e0a030e8',1,'types.h']]], + ['sirl_5ferror_176',['SIRL_ERROR',['../group__publictypes.html#ga39dffb8c9c5100251098820cb5b48446',1,'types.h']]], + ['sirl_5finfo_177',['SIRL_INFO',['../group__publictypes.html#ga9e73defcee82050f038956ad7e911621',1,'types.h']]], + ['sirl_5fnone_178',['SIRL_NONE',['../group__publictypes.html#ga2b9222b9d95807e7e1d16bd9c86c130b',1,'types.h']]], + ['sirl_5fnotice_179',['SIRL_NOTICE',['../group__publictypes.html#gad4aefd62d77b020460d32c9350bec7d5',1,'types.h']]], + ['sirl_5fs_5falert_180',['SIRL_S_ALERT',['../config_8h.html#a4e02d1cb5e4a8d8535227657781d4a29',1,'config.h']]], + ['sirl_5fs_5fcrit_181',['SIRL_S_CRIT',['../config_8h.html#a362f77b1b5555a0ea57fdfb64ae09229',1,'config.h']]], + ['sirl_5fs_5fdebug_182',['SIRL_S_DEBUG',['../config_8h.html#a04d05c434823f0e5a353a31bb47af16e',1,'config.h']]], + ['sirl_5fs_5femerg_183',['SIRL_S_EMERG',['../config_8h.html#a777d150774244d2707818f2c4a1b9538',1,'config.h']]], + ['sirl_5fs_5ferror_184',['SIRL_S_ERROR',['../config_8h.html#a4237f9dff053a17cf7a134dbbebc5210',1,'config.h']]], + ['sirl_5fs_5finfo_185',['SIRL_S_INFO',['../config_8h.html#a1f7c2763d5e7afb0f2b49d4f0636276d',1,'config.h']]], + ['sirl_5fs_5fnotice_186',['SIRL_S_NOTICE',['../config_8h.html#a6195821fca239b40498e847d50b82623',1,'config.h']]], + ['sirl_5fs_5fwarn_187',['SIRL_S_WARN',['../config_8h.html#a7a2838316cfd52f1af743952e667d9f5',1,'config.h']]], + ['sirl_5fwarn_188',['SIRL_WARN',['../group__publictypes.html#ga91b18adc2526599377583951c29e84b9',1,'types.h']]], + ['siro_5fall_189',['SIRO_ALL',['../group__publictypes.html#ga40584e96084fe85a8ad8a7be98ff5fc9',1,'types.h']]], + ['siro_5fdefault_190',['SIRO_DEFAULT',['../group__publictypes.html#ga2a7a55618343c4cb76d7e428af72232b',1,'types.h']]], + ['siro_5fmsgonly_191',['SIRO_MSGONLY',['../group__publictypes.html#gafdc3b32bdee26cd4f457a4cecd2771ad',1,'types.h']]], + ['siro_5fnohdr_192',['SIRO_NOHDR',['../group__publictypes.html#ga7b417924811962ca0aeaca30bdf38cf6',1,'types.h']]], + ['siro_5fnohost_193',['SIRO_NOHOST',['../group__publictypes.html#gaf6a215c540807f3ba15f97d372feeaf0',1,'types.h']]], + ['siro_5fnolevel_194',['SIRO_NOLEVEL',['../group__publictypes.html#ga3c68d15a3b9b9d5a4f4c8fd092b0e73d',1,'types.h']]], + ['siro_5fnomsec_195',['SIRO_NOMSEC',['../group__publictypes.html#ga0bdfbd616c096c6dfbb481b54fd1e397',1,'types.h']]], + ['siro_5fnoname_196',['SIRO_NONAME',['../group__publictypes.html#ga0d3bc4aa34b9399e72621632b877b16a',1,'types.h']]], + ['siro_5fnopid_197',['SIRO_NOPID',['../group__publictypes.html#gafd6f47db95d87395d4a37529f839c6de',1,'types.h']]], + ['siro_5fnotid_198',['SIRO_NOTID',['../group__publictypes.html#ga093cea38ace2acb674162a0f7fb153a6',1,'types.h']]], + ['siro_5fnotime_199',['SIRO_NOTIME',['../group__publictypes.html#gac3370e3a2be554f93e9e67bea177c8a0',1,'types.h']]], + ['sirpluginid_200',['sirpluginid',['../group__publictypes.html#gadbc71df98df765cddfed4aa11c805470',1,'types.h']]], + ['sirta_5fbold_201',['SIRTA_BOLD',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2dabd921418f53873c49dea5f9f3ea81f4b',1,'types.h']]], + ['sirta_5fdim_202',['SIRTA_DIM',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da5c6d2b3a91b49ff14f9946799f00b20c',1,'types.h']]], + ['sirta_5femph_203',['SIRTA_EMPH',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da57a1bd50ad704c18289c2bf74a2a68c5',1,'types.h']]], + ['sirta_5fnormal_204',['SIRTA_NORMAL',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2daa0d426c2ea1dfa48ad6e29a69f03d04c',1,'types.h']]], + ['sirta_5fuline_205',['SIRTA_ULINE',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da79ce8f5c35788a58b81c24684563e629',1,'types.h']]], + ['sirtc_5fbblue_206',['SIRTC_BBLUE',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7ac20967fac8888c04ce03927236cf0b69',1,'types.h']]], + ['sirtc_5fbcyan_207',['SIRTC_BCYAN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9c0ac02a1b3d8964b40ec838a14b48b3',1,'types.h']]], + ['sirtc_5fbgreen_208',['SIRTC_BGREEN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a51ff94e190c38445e9c1c14d81c47f74',1,'types.h']]], + ['sirtc_5fblack_209',['SIRTC_BLACK',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a67abb820e54b6f4eb6c36889cdb161a1',1,'types.h']]], + ['sirtc_5fblue_210',['SIRTC_BLUE',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a4eedafe058fd32443278fbcfa4b9bc10',1,'types.h']]], + ['sirtc_5fbmagenta_211',['SIRTC_BMAGENTA',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a8ca3ef305d6d19e9469e42cab90eda7f',1,'types.h']]], + ['sirtc_5fbred_212',['SIRTC_BRED',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aed8555bf560bde4696de7340c04984d5',1,'types.h']]], + ['sirtc_5fbyellow_213',['SIRTC_BYELLOW',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a17661620bd839f5e015a43d5e6913c0f',1,'types.h']]], + ['sirtc_5fcyan_214',['SIRTC_CYAN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a283e06452d5e663666c4274a94ccab2a',1,'types.h']]], + ['sirtc_5fdefault_215',['SIRTC_DEFAULT',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6435ad1ff8e5c1495342f96398f73d8b',1,'types.h']]], + ['sirtc_5fdgray_216',['SIRTC_DGRAY',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afc39eaef40fe161644258c9465c537bd',1,'types.h']]], + ['sirtc_5fgreen_217',['SIRTC_GREEN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afbfeed1f48833f2fe7bb49c1d35d217f',1,'types.h']]], ['sirtc_5flgray_218',['SIRTC_LGRAY',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a047ba18fa823187083da9b56bfde7329',1,'types.h']]], ['sirtc_5fmagenta_219',['SIRTC_MAGENTA',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aa5528759208615ea1a26f2b31361962c',1,'types.h']]], ['sirtc_5fred_220',['SIRTC_RED',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aa62b22cd035e89e52f4f51e5ccc9802c',1,'types.h']]], @@ -243,21 +243,23 @@ var searchData= ['sirtest_5finitcleanupinit_240',['sirtest_initcleanupinit',['../group__tests.html#ga9f7ccc25d41c5980dae048951ba60c8b',1,'sirtest_initcleanupinit(void): tests.c'],['../group__tests.html#ga9f7ccc25d41c5980dae048951ba60c8b',1,'sirtest_initcleanupinit(void): tests.c']]], ['sirtest_5finitmakeinit_241',['sirtest_initmakeinit',['../group__tests.html#gaa55b1ea9a036318bfdc44823ad704a9b',1,'sirtest_initmakeinit(void): tests.c'],['../group__tests.html#gaa55b1ea9a036318bfdc44823ad704a9b',1,'sirtest_initmakeinit(void): tests.c']]], ['sirtest_5flevelssanity_242',['sirtest_levelssanity',['../group__tests.html#ga3e19675d370d9b538ba320c49ecc7b05',1,'sirtest_levelssanity(void): tests.c'],['../group__tests.html#ga3e19675d370d9b538ba320c49ecc7b05',1,'sirtest_levelssanity(void): tests.c']]], - ['sirtest_5fmutexsanity_243',['sirtest_mutexsanity',['../group__tests.html#ga8545a7006242a1e925b0f937fa875850',1,'sirtest_mutexsanity(void): tests.c'],['../group__tests.html#ga8545a7006242a1e925b0f937fa875850',1,'sirtest_mutexsanity(void): tests.c']]], - ['sirtest_5foptionssanity_244',['sirtest_optionssanity',['../group__tests.html#gac9f9aabf53c8cfadba8b0f76927e6bae',1,'sirtest_optionssanity(void): tests.c'],['../group__tests.html#gac9f9aabf53c8cfadba8b0f76927e6bae',1,'sirtest_optionssanity(void): tests.c']]], - ['sirtest_5fos_5flog_245',['sirtest_os_log',['../group__tests.html#ga54f0e8e0163d0aedf20616451f122017',1,'sirtest_os_log(void): tests.c'],['../group__tests.html#ga54f0e8e0163d0aedf20616451f122017',1,'sirtest_os_log(void): tests.c']]], - ['sirtest_5fperf_246',['sirtest_perf',['../group__tests.html#ga607e96cb52e248a2277ab3ecc31b7195',1,'sirtest_perf(void): tests.c'],['../group__tests.html#ga607e96cb52e248a2277ab3ecc31b7195',1,'sirtest_perf(void): tests.c']]], - ['sirtest_5fpluginloader_247',['sirtest_pluginloader',['../group__tests.html#ga1b5a43deceffa8c36174e7b04576f6a3',1,'sirtest_pluginloader(void): tests.c'],['../group__tests.html#ga1b5a43deceffa8c36174e7b04576f6a3',1,'sirtest_pluginloader(void): tests.c']]], - ['sirtest_5frollandarchivefile_248',['sirtest_rollandarchivefile',['../group__tests.html#ga1b17632b25d61e85f6ff1fa08371959e',1,'sirtest_rollandarchivefile(void): tests.c'],['../group__tests.html#ga1b17632b25d61e85f6ff1fa08371959e',1,'sirtest_rollandarchivefile(void): tests.c']]], - ['sirtest_5fsquelchspam_249',['sirtest_squelchspam',['../group__tests.html#ga3ad5e95b1114eba573969077ebb40cb5',1,'sirtest_squelchspam(void): tests.c'],['../group__tests.html#ga3ad5e95b1114eba573969077ebb40cb5',1,'sirtest_squelchspam(void): tests.c']]], - ['sirtest_5fsyslog_250',['sirtest_syslog',['../group__tests.html#ga8db924f756e0ee2f04ff3e044a10f283',1,'sirtest_syslog(void): tests.c'],['../group__tests.html#ga8db924f756e0ee2f04ff3e044a10f283',1,'sirtest_syslog(void): tests.c']]], - ['sirtest_5ftextstylesanity_251',['sirtest_textstylesanity',['../group__tests.html#ga18ccd68f2c37d9798a06c403380c9308',1,'sirtest_textstylesanity(void): tests.c'],['../group__tests.html#ga18ccd68f2c37d9798a06c403380c9308',1,'sirtest_textstylesanity(void): tests.c']]], - ['sirtest_5fthreadpool_252',['sirtest_threadpool',['../group__tests.html#ga9ec172056871a719049c1c40ffdaf292',1,'sirtest_threadpool(void): tests.c'],['../group__tests.html#ga9ec172056871a719049c1c40ffdaf292',1,'sirtest_threadpool(void): tests.c']]], - ['sirtest_5fthreadrace_253',['sirtest_threadrace',['../group__tests.html#gacfda68c218d184e7a6998d9f2837481f',1,'sirtest_threadrace(void): tests.c'],['../group__tests.html#gacfda68c218d184e7a6998d9f2837481f',1,'sirtest_threadrace(void): tests.c']]], - ['sirtest_5fupdatesanity_254',['sirtest_updatesanity',['../group__tests.html#gaf3428b620d3540baf058f6b7dd42c075',1,'sirtest_updatesanity(void): tests.c'],['../group__tests.html#gaf3428b620d3540baf058f6b7dd42c075',1,'sirtest_updatesanity(void): tests.c']]], - ['sl_5fcategory_255',['sl_category',['../structsir__update__config__data.html#ac4509b5698aa330492a9d1508e3f9480',1,'sir_update_config_data']]], - ['sl_5fidentity_256',['sl_identity',['../structsir__update__config__data.html#a58f88542d9e282860be66fcbba694223',1,'sir_update_config_data']]], - ['str_257',['str',['../structsir__level__style__tuple.html#a5f67704e0d74d266d0a5d2d3c9459816',1,'sir_level_style_tuple']]], - ['strike_258',['STRIKE',['../ansimacros_8h.html#a1319b1d6256ace654ff3bad6275ead00',1,'ansimacros.h']]], - ['style_259',['style',['../structsir__level__style__tuple.html#a8fed0d03eeb0003783ccec5e26665a53',1,'sir_level_style_tuple']]] + ['sirtest_5flogwritesanity_243',['sirtest_logwritesanity',['../group__tests.html#gadad204381413cc93b367969e1c6a6d04',1,'sirtest_logwritesanity(void): tests.c'],['../group__tests.html#gadad204381413cc93b367969e1c6a6d04',1,'sirtest_logwritesanity(void): tests.c']]], + ['sirtest_5fmutexsanity_244',['sirtest_mutexsanity',['../group__tests.html#ga8545a7006242a1e925b0f937fa875850',1,'sirtest_mutexsanity(void): tests.c'],['../group__tests.html#ga8545a7006242a1e925b0f937fa875850',1,'sirtest_mutexsanity(void): tests.c']]], + ['sirtest_5foptionssanity_245',['sirtest_optionssanity',['../group__tests.html#gac9f9aabf53c8cfadba8b0f76927e6bae',1,'sirtest_optionssanity(void): tests.c'],['../group__tests.html#gac9f9aabf53c8cfadba8b0f76927e6bae',1,'sirtest_optionssanity(void): tests.c']]], + ['sirtest_5fos_5flog_246',['sirtest_os_log',['../group__tests.html#ga54f0e8e0163d0aedf20616451f122017',1,'sirtest_os_log(void): tests.c'],['../group__tests.html#ga54f0e8e0163d0aedf20616451f122017',1,'sirtest_os_log(void): tests.c']]], + ['sirtest_5fperf_247',['sirtest_perf',['../group__tests.html#ga607e96cb52e248a2277ab3ecc31b7195',1,'sirtest_perf(void): tests.c'],['../group__tests.html#ga607e96cb52e248a2277ab3ecc31b7195',1,'sirtest_perf(void): tests.c']]], + ['sirtest_5fpluginloader_248',['sirtest_pluginloader',['../group__tests.html#ga1b5a43deceffa8c36174e7b04576f6a3',1,'sirtest_pluginloader(void): tests.c'],['../group__tests.html#ga1b5a43deceffa8c36174e7b04576f6a3',1,'sirtest_pluginloader(void): tests.c']]], + ['sirtest_5frollandarchivefile_249',['sirtest_rollandarchivefile',['../group__tests.html#ga1b17632b25d61e85f6ff1fa08371959e',1,'sirtest_rollandarchivefile(void): tests.c'],['../group__tests.html#ga1b17632b25d61e85f6ff1fa08371959e',1,'sirtest_rollandarchivefile(void): tests.c']]], + ['sirtest_5fsquelchspam_250',['sirtest_squelchspam',['../group__tests.html#ga3ad5e95b1114eba573969077ebb40cb5',1,'sirtest_squelchspam(void): tests.c'],['../group__tests.html#ga3ad5e95b1114eba573969077ebb40cb5',1,'sirtest_squelchspam(void): tests.c']]], + ['sirtest_5fsyslog_251',['sirtest_syslog',['../group__tests.html#ga8db924f756e0ee2f04ff3e044a10f283',1,'sirtest_syslog(void): tests.c'],['../group__tests.html#ga8db924f756e0ee2f04ff3e044a10f283',1,'sirtest_syslog(void): tests.c']]], + ['sirtest_5ftextstylesanity_252',['sirtest_textstylesanity',['../group__tests.html#ga18ccd68f2c37d9798a06c403380c9308',1,'sirtest_textstylesanity(void): tests.c'],['../group__tests.html#ga18ccd68f2c37d9798a06c403380c9308',1,'sirtest_textstylesanity(void): tests.c']]], + ['sirtest_5fthreadidsanity_253',['sirtest_threadidsanity',['../group__tests.html#gaf7edbef2bba9459091aa48d8b9512ede',1,'sirtest_threadidsanity(void): tests.c'],['../group__tests.html#gaf7edbef2bba9459091aa48d8b9512ede',1,'sirtest_threadidsanity(void): tests.c']]], + ['sirtest_5fthreadpool_254',['sirtest_threadpool',['../group__tests.html#ga9ec172056871a719049c1c40ffdaf292',1,'sirtest_threadpool(void): tests.c'],['../group__tests.html#ga9ec172056871a719049c1c40ffdaf292',1,'sirtest_threadpool(void): tests.c']]], + ['sirtest_5fthreadrace_255',['sirtest_threadrace',['../group__tests.html#gacfda68c218d184e7a6998d9f2837481f',1,'sirtest_threadrace(void): tests.c'],['../group__tests.html#gacfda68c218d184e7a6998d9f2837481f',1,'sirtest_threadrace(void): tests.c']]], + ['sirtest_5fupdatesanity_256',['sirtest_updatesanity',['../group__tests.html#gaf3428b620d3540baf058f6b7dd42c075',1,'sirtest_updatesanity(void): tests.c'],['../group__tests.html#gaf3428b620d3540baf058f6b7dd42c075',1,'sirtest_updatesanity(void): tests.c']]], + ['sl_5fcategory_257',['sl_category',['../structsir__update__config__data.html#ac4509b5698aa330492a9d1508e3f9480',1,'sir_update_config_data']]], + ['sl_5fidentity_258',['sl_identity',['../structsir__update__config__data.html#a58f88542d9e282860be66fcbba694223',1,'sir_update_config_data']]], + ['str_259',['str',['../structsir__level__style__tuple.html#a5f67704e0d74d266d0a5d2d3c9459816',1,'sir_level_style_tuple']]], + ['strike_260',['STRIKE',['../ansimacros_8h.html#a1319b1d6256ace654ff3bad6275ead00',1,'ansimacros.h']]], + ['style_261',['style',['../structsir__level__style__tuple.html#a8fed0d03eeb0003783ccec5e26665a53',1,'sir_level_style_tuple']]] ]; diff --git a/docs/search/all_14.js b/docs/search/all_14.js index 26e2ddc31..5f9fa82e3 100644 --- a/docs/search/all_14.js +++ b/docs/search/all_14.js @@ -1,4 +1,5 @@ var searchData= [ - ['uline_0',['ULINE',['../ansimacros_8h.html#a756017edcdb5930bcc347fba90bd0d5c',1,'ansimacros.h']]] + ['uline_0',['ULINE',['../ansimacros_8h.html#a756017edcdb5930bcc347fba90bd0d5c',1,'ansimacros.h']]], + ['usage_1',['usage',['../structsir__cl__arg.html#ac3ae5ef230bad0b7160ba6a9415e14ec',1,'sir_cl_arg']]] ]; diff --git a/docs/search/all_4.js b/docs/search/all_4.js index cd5278ae8..665f087b6 100644 --- a/docs/search/all_4.js +++ b/docs/search/all_4.js @@ -6,7 +6,7 @@ var searchData= ['data_3',['data',['../structsir__threadpool__job.html#a77b8d07917b5c1ae32f72f7ce71a6d8c',1,'sir_threadpool_job']]], ['defaults_4',['Defaults',['../group__default.html',1,'']]], ['defaults_2eh_5',['defaults.h',['../defaults_8h.html',1,'']]], - ['desc_6',['desc',['../structsir__plugininfo.html#aa52c4fcccd437ab1a4349bd8e6f64922',1,'sir_plugininfo']]], + ['desc_6',['desc',['../structsir__plugininfo.html#aa52c4fcccd437ab1a4349bd8e6f64922',1,'sir_plugininfo::desc'],['../structsir__cl__arg.html#a06d6e49c5bd5ba5877563abc636ad538',1,'sir_cl_arg::desc']]], ['dgray_7',['DGRAY',['../ansimacros_8h.html#aa2c113dbbb07cf163d87b13d8ba6477b',1,'ansimacros.h']]], ['dgrayb_8',['DGRAYB',['../ansimacros_8h.html#a155cb79be252611ae9cbe908850230a6',1,'ansimacros.h']]] ]; diff --git a/docs/search/all_6.js b/docs/search/all_6.js index e7967ef29..a3878e025 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -2,7 +2,8 @@ var searchData= [ ['fg_0',['fg',['../group__publictypes.html#ac6fb238c1a2b51dfff2b62b4c5acd42b',1,'sir_textstyle']]], ['fields_1',['fields',['../structsir__update__config__data.html#ad61568937fcd6a019bd5e58d4103aa35',1,'sir_update_config_data']]], - ['fmt_2',['fmt',['../structsir__level__str__pair.html#abb5bc77ea76db28a9896bad436e4f2d6',1,'sir_level_str_pair']]], - ['fn_3',['fn',['../structsir__threadpool__job.html#a03b1cec323ce1973b55356fd9e374322',1,'sir_threadpool_job']]], - ['functions_4',['Functions',['../group__publicfuncs.html',1,'']]] + ['flag_2',['flag',['../structsir__cl__arg.html#acb697d4476e3e108a0d7cc7fe1aef2ae',1,'sir_cl_arg']]], + ['fmt_3',['fmt',['../structsir__level__str__pair.html#abb5bc77ea76db28a9896bad436e4f2d6',1,'sir_level_str_pair']]], + ['fn_4',['fn',['../structsir__threadpool__job.html#a03b1cec323ce1973b55356fd9e374322',1,'sir_threadpool_job']]], + ['functions_5',['Functions',['../group__publicfuncs.html',1,'']]] ]; diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js index a319ae649..d0d5e5ae1 100644 --- a/docs/search/classes_0.js +++ b/docs/search/classes_0.js @@ -1,29 +1,30 @@ var searchData= [ - ['sir_5flevel_5fstr_5fpair_0',['sir_level_str_pair',['../structsir__level__str__pair.html',1,'']]], - ['sir_5flevel_5fstyle_5ftuple_1',['sir_level_style_tuple',['../structsir__level__style__tuple.html',1,'']]], - ['sir_5fplugin_2',['sir_plugin',['../structsir__plugin.html',1,'']]], - ['sir_5fplugincache_3',['sir_plugincache',['../structsir__plugincache.html',1,'']]], - ['sir_5fpluginifacev1_4',['sir_pluginifacev1',['../structsir__pluginifacev1.html',1,'']]], - ['sir_5fplugininfo_5',['sir_plugininfo',['../structsir__plugininfo.html',1,'']]], - ['sir_5fqueue_6',['sir_queue',['../structsir__queue.html',1,'']]], - ['sir_5fqueue_5fnode_7',['sir_queue_node',['../structsir__queue__node.html',1,'']]], - ['sir_5fstdio_5fdest_8',['sir_stdio_dest',['../group__publictypes.html#structsir__stdio__dest',1,'']]], - ['sir_5fsyslog_5fdest_9',['sir_syslog_dest',['../group__publictypes.html#structsir__syslog__dest',1,'']]], - ['sir_5fsyslog_5fdest_2e_5fstate_10',['sir_syslog_dest._state',['../group__publictypes.html#structsir__syslog__dest_8__state',1,'']]], - ['sir_5ftest_11',['sir_test',['../structsir__test.html',1,'']]], - ['sir_5ftext_5fstyle_5fdata_12',['sir_text_style_data',['../structsir__text__style__data.html',1,'']]], - ['sir_5ftextstyle_13',['sir_textstyle',['../group__publictypes.html#structsir__textstyle',1,'']]], - ['sir_5fthread_5ferr_14',['sir_thread_err',['../structsir__thread__err.html',1,'']]], - ['sir_5fthreadpool_15',['sir_threadpool',['../structsir__threadpool.html',1,'']]], - ['sir_5fthreadpool_5fjob_16',['sir_threadpool_job',['../structsir__threadpool__job.html',1,'']]], - ['sir_5ftimer_17',['sir_timer',['../structsir__timer.html',1,'']]], - ['sir_5fupdate_5fconfig_5fdata_18',['sir_update_config_data',['../structsir__update__config__data.html',1,'']]], - ['sirbuf_19',['sirbuf',['../structsirbuf.html',1,'']]], - ['sirconfig_20',['sirconfig',['../structsirconfig.html',1,'']]], - ['sirconfig_2estate_2elast_21',['sirconfig.state.last',['../structsirconfig_8state_8last.html',1,'']]], - ['sirerror_22',['sirerror',['../structsirerror.html',1,'']]], - ['sirfcache_23',['sirfcache',['../structsirfcache.html',1,'']]], - ['sirfile_24',['sirfile',['../structsirfile.html',1,'']]], - ['sirinit_25',['sirinit',['../group__publictypes.html#structsirinit',1,'']]] + ['sir_5fcl_5farg_0',['sir_cl_arg',['../structsir__cl__arg.html',1,'']]], + ['sir_5flevel_5fstr_5fpair_1',['sir_level_str_pair',['../structsir__level__str__pair.html',1,'']]], + ['sir_5flevel_5fstyle_5ftuple_2',['sir_level_style_tuple',['../structsir__level__style__tuple.html',1,'']]], + ['sir_5fplugin_3',['sir_plugin',['../structsir__plugin.html',1,'']]], + ['sir_5fplugincache_4',['sir_plugincache',['../structsir__plugincache.html',1,'']]], + ['sir_5fpluginifacev1_5',['sir_pluginifacev1',['../structsir__pluginifacev1.html',1,'']]], + ['sir_5fplugininfo_6',['sir_plugininfo',['../structsir__plugininfo.html',1,'']]], + ['sir_5fqueue_7',['sir_queue',['../structsir__queue.html',1,'']]], + ['sir_5fqueue_5fnode_8',['sir_queue_node',['../structsir__queue__node.html',1,'']]], + ['sir_5fstdio_5fdest_9',['sir_stdio_dest',['../group__publictypes.html#structsir__stdio__dest',1,'']]], + ['sir_5fsyslog_5fdest_10',['sir_syslog_dest',['../group__publictypes.html#structsir__syslog__dest',1,'']]], + ['sir_5fsyslog_5fdest_2e_5fstate_11',['sir_syslog_dest._state',['../group__publictypes.html#structsir__syslog__dest_8__state',1,'']]], + ['sir_5ftest_12',['sir_test',['../structsir__test.html',1,'']]], + ['sir_5ftext_5fstyle_5fdata_13',['sir_text_style_data',['../structsir__text__style__data.html',1,'']]], + ['sir_5ftextstyle_14',['sir_textstyle',['../group__publictypes.html#structsir__textstyle',1,'']]], + ['sir_5fthread_5ferr_15',['sir_thread_err',['../structsir__thread__err.html',1,'']]], + ['sir_5fthreadpool_16',['sir_threadpool',['../structsir__threadpool.html',1,'']]], + ['sir_5fthreadpool_5fjob_17',['sir_threadpool_job',['../structsir__threadpool__job.html',1,'']]], + ['sir_5ftime_18',['sir_time',['../structsir__time.html',1,'']]], + ['sir_5fupdate_5fconfig_5fdata_19',['sir_update_config_data',['../structsir__update__config__data.html',1,'']]], + ['sirbuf_20',['sirbuf',['../structsirbuf.html',1,'']]], + ['sirconfig_21',['sirconfig',['../structsirconfig.html',1,'']]], + ['sirconfig_2estate_2elast_22',['sirconfig.state.last',['../structsirconfig_8state_8last.html',1,'']]], + ['sirerror_23',['sirerror',['../structsirerror.html',1,'']]], + ['sirfcache_24',['sirfcache',['../structsirfcache.html',1,'']]], + ['sirfile_25',['sirfile',['../structsirfile.html',1,'']]], + ['sirinit_26',['sirinit',['../group__publictypes.html#structsirinit',1,'']]] ]; diff --git a/docs/search/defines_8.js b/docs/search/defines_8.js index 1d4856b5d..4077eb920 100644 --- a/docs/search/defines_8.js +++ b/docs/search/defines_8.js @@ -13,41 +13,41 @@ var searchData= ['sir_5ffhformat_10',['SIR_FHFORMAT',['../config_8h.html#a7c652578740e372edeac33d14f6408fd',1,'config.h']]], ['sir_5ffhrolled_11',['SIR_FHROLLED',['../config_8h.html#aca213e22f32a371da7ca82eb86a16c9a',1,'config.h']]], ['sir_5ffhtimeformat_12',['SIR_FHTIMEFORMAT',['../config_8h.html#a90d4862e769fd5effefb1e1dedf520c8',1,'config.h']]], - ['sir_5ffnameformat_13',['SIR_FNAMEFORMAT',['../config_8h.html#a30cae1b7b493f9be429ff683b9d77677',1,'config.h']]], - ['sir_5ffnameseqformat_14',['SIR_FNAMESEQFORMAT',['../config_8h.html#a0dbd6db580edf1d367220202e3dff944',1,'config.h']]], - ['sir_5ffnametimeformat_15',['SIR_FNAMETIMEFORMAT',['../config_8h.html#aeb4949a438cb054dbd261eead7e9d6c9',1,'config.h']]], - ['sir_5ffopenmode_16',['SIR_FOPENMODE',['../config_8h.html#aad514de31d1178e0a91dcd7434230965',1,'config.h']]], - ['sir_5ffrollsize_17',['SIR_FROLLSIZE',['../config_8h.html#a019fb62b107343bafedb0f5ad84f7d3a',1,'config.h']]], - ['sir_5fhname_5fchk_5finterval_18',['SIR_HNAME_CHK_INTERVAL',['../config_8h.html#a46e195050794e32a234cda5f1af57a2a',1,'config.h']]], - ['sir_5flevelprefix_19',['SIR_LEVELPREFIX',['../config_8h.html#a359b781cc4fde8dd09e30b95328b3ab0',1,'config.h']]], - ['sir_5flevelsuffix_20',['SIR_LEVELSUFFIX',['../config_8h.html#a430a53000e87723599d6994d0ae2bb68',1,'config.h']]], - ['sir_5fmax_5fsyslog_5fcat_21',['SIR_MAX_SYSLOG_CAT',['../config_8h.html#acf0d0fad6a98c920cced53dbe9b54d26',1,'config.h']]], - ['sir_5fmax_5fsyslog_5fid_22',['SIR_MAX_SYSLOG_ID',['../config_8h.html#a24a907a8ba87d4355d11dca2476383b2',1,'config.h']]], - ['sir_5fmaxerror_23',['SIR_MAXERROR',['../config_8h.html#ad6fce840144259e992c33fb611f31262',1,'config.h']]], - ['sir_5fmaxfheader_24',['SIR_MAXFHEADER',['../config_8h.html#ad0d5f453c3eb6a7a0e9d507b122bfac4',1,'config.h']]], - ['sir_5fmaxfiles_25',['SIR_MAXFILES',['../config_8h.html#aa1080a4bec531adb6d25c87ac4734399',1,'config.h']]], - ['sir_5fmaxlevel_26',['SIR_MAXLEVEL',['../config_8h.html#abac0b7b0c1ea5afc9d0708a4421b1a57',1,'config.h']]], - ['sir_5fmaxmessage_27',['SIR_MAXMESSAGE',['../config_8h.html#a5f006a2e9ce93ae8d693a2928af33bb2',1,'config.h']]], - ['sir_5fmaxmisc_28',['SIR_MAXMISC',['../config_8h.html#ac42033f35206a8adbf1a4377c8e0d290',1,'config.h']]], - ['sir_5fmaxmsec_29',['SIR_MAXMSEC',['../config_8h.html#ab048f63b09b424f84e19055dc0ec4a29',1,'config.h']]], - ['sir_5fmaxname_30',['SIR_MAXNAME',['../config_8h.html#a85ed3139018ee9e7545c74c0885dff55',1,'config.h']]], - ['sir_5fmaxoutput_31',['SIR_MAXOUTPUT',['../config_8h.html#ab3e26cb9ac224cb9a695ddf1ed099218',1,'config.h']]], - ['sir_5fmaxpid_32',['SIR_MAXPID',['../config_8h.html#a77d8a4249177fcf7703a811ca0154190',1,'config.h']]], + ['sir_5ffile_5fchk_5fsize_5fwrites_13',['SIR_FILE_CHK_SIZE_WRITES',['../config_8h.html#ac7f6d6130d1078eae1a28008eea32a92',1,'config.h']]], + ['sir_5ffnameformat_14',['SIR_FNAMEFORMAT',['../config_8h.html#a30cae1b7b493f9be429ff683b9d77677',1,'config.h']]], + ['sir_5ffnameseqformat_15',['SIR_FNAMESEQFORMAT',['../config_8h.html#a0dbd6db580edf1d367220202e3dff944',1,'config.h']]], + ['sir_5ffnametimeformat_16',['SIR_FNAMETIMEFORMAT',['../config_8h.html#aeb4949a438cb054dbd261eead7e9d6c9',1,'config.h']]], + ['sir_5ffopenmode_17',['SIR_FOPENMODE',['../config_8h.html#aad514de31d1178e0a91dcd7434230965',1,'config.h']]], + ['sir_5ffrollsize_18',['SIR_FROLLSIZE',['../config_8h.html#a019fb62b107343bafedb0f5ad84f7d3a',1,'config.h']]], + ['sir_5fhname_5fchk_5finterval_19',['SIR_HNAME_CHK_INTERVAL',['../config_8h.html#a46e195050794e32a234cda5f1af57a2a',1,'config.h']]], + ['sir_5flevelprefix_20',['SIR_LEVELPREFIX',['../config_8h.html#a359b781cc4fde8dd09e30b95328b3ab0',1,'config.h']]], + ['sir_5flevelsuffix_21',['SIR_LEVELSUFFIX',['../config_8h.html#a430a53000e87723599d6994d0ae2bb68',1,'config.h']]], + ['sir_5fmax_5fsyslog_5fcat_22',['SIR_MAX_SYSLOG_CAT',['../config_8h.html#acf0d0fad6a98c920cced53dbe9b54d26',1,'config.h']]], + ['sir_5fmax_5fsyslog_5fid_23',['SIR_MAX_SYSLOG_ID',['../config_8h.html#a24a907a8ba87d4355d11dca2476383b2',1,'config.h']]], + ['sir_5fmaxerror_24',['SIR_MAXERROR',['../config_8h.html#ad6fce840144259e992c33fb611f31262',1,'config.h']]], + ['sir_5fmaxfheader_25',['SIR_MAXFHEADER',['../config_8h.html#ad0d5f453c3eb6a7a0e9d507b122bfac4',1,'config.h']]], + ['sir_5fmaxfiles_26',['SIR_MAXFILES',['../config_8h.html#aa1080a4bec531adb6d25c87ac4734399',1,'config.h']]], + ['sir_5fmaxlevel_27',['SIR_MAXLEVEL',['../config_8h.html#abac0b7b0c1ea5afc9d0708a4421b1a57',1,'config.h']]], + ['sir_5fmaxmessage_28',['SIR_MAXMESSAGE',['../config_8h.html#a5f006a2e9ce93ae8d693a2928af33bb2',1,'config.h']]], + ['sir_5fmaxmisc_29',['SIR_MAXMISC',['../config_8h.html#ac42033f35206a8adbf1a4377c8e0d290',1,'config.h']]], + ['sir_5fmaxmsec_30',['SIR_MAXMSEC',['../config_8h.html#ab048f63b09b424f84e19055dc0ec4a29',1,'config.h']]], + ['sir_5fmaxname_31',['SIR_MAXNAME',['../config_8h.html#a85ed3139018ee9e7545c74c0885dff55',1,'config.h']]], + ['sir_5fmaxoutput_32',['SIR_MAXOUTPUT',['../config_8h.html#ab3e26cb9ac224cb9a695ddf1ed099218',1,'config.h']]], ['sir_5fmaxplugins_33',['SIR_MAXPLUGINS',['../config_8h.html#a98d559e1620108074d776bd6f33f85a4',1,'config.h']]], ['sir_5fmaxstyle_34',['SIR_MAXSTYLE',['../config_8h.html#a5cdaa944bfe2228355cc4c34c3d315e8',1,'config.h']]], ['sir_5fmaxtime_35',['SIR_MAXTIME',['../config_8h.html#ac1e50274f913ef71f196f20b9dfbbba6',1,'config.h']]], ['sir_5fmsecformat_36',['SIR_MSECFORMAT',['../config_8h.html#a11214c8798ccdaab052c3bc9db2e3e78',1,'config.h']]], - ['sir_5fnum16_5fcolor_5fmappings_37',['SIR_NUM16_COLOR_MAPPINGS',['../config_8h.html#ad4797e353beace140ae7ac35e0e6ea11',1,'config.h']]], - ['sir_5fnumlevels_38',['SIR_NUMLEVELS',['../config_8h.html#a54ab03b03f20338146a5ab69fcd90177',1,'config.h']]], - ['sir_5fnumoptions_39',['SIR_NUMOPTIONS',['../config_8h.html#a3d40d22ca5d641892fc7b3cb8d0bb283',1,'config.h']]], - ['sir_5fpidformat_40',['SIR_PIDFORMAT',['../config_8h.html#a88267c5f76d8f1f3f0b6a7903bfddc0b',1,'config.h']]], - ['sir_5fpidprefix_41',['SIR_PIDPREFIX',['../config_8h.html#a783092ff31da5f9acc116c9f4657f671',1,'config.h']]], - ['sir_5fpidseparator_42',['SIR_PIDSEPARATOR',['../config_8h.html#a22d306c921d111c9722a11c9a9ad628e',1,'config.h']]], - ['sir_5fpidsuffix_43',['SIR_PIDSUFFIX',['../config_8h.html#abd5132131479030a120c289812e38363',1,'config.h']]], - ['sir_5fr_5farrow_44',['SIR_R_ARROW',['../ansimacros_8h.html#afe296ab1f6b488fd5e23ebd50c780b80',1,'ansimacros.h']]], - ['sir_5fsquelch_5fbackoff_5ffactor_45',['SIR_SQUELCH_BACKOFF_FACTOR',['../config_8h.html#ab84ea2d42dc216fad92bde1811dc4632',1,'config.h']]], - ['sir_5fsquelch_5fmsg_5fformat_46',['SIR_SQUELCH_MSG_FORMAT',['../config_8h.html#a3b6b481d57fc3e954accee882d143a9a',1,'config.h']]], - ['sir_5fsquelch_5fthreshold_47',['SIR_SQUELCH_THRESHOLD',['../config_8h.html#a3e733628ed19a474bdfc6fa3fcc45790',1,'config.h']]], + ['sir_5fnumlevels_37',['SIR_NUMLEVELS',['../config_8h.html#a54ab03b03f20338146a5ab69fcd90177',1,'config.h']]], + ['sir_5fnumoptions_38',['SIR_NUMOPTIONS',['../config_8h.html#a3d40d22ca5d641892fc7b3cb8d0bb283',1,'config.h']]], + ['sir_5fpidformat_39',['SIR_PIDFORMAT',['../config_8h.html#a88267c5f76d8f1f3f0b6a7903bfddc0b',1,'config.h']]], + ['sir_5fpidprefix_40',['SIR_PIDPREFIX',['../config_8h.html#a783092ff31da5f9acc116c9f4657f671',1,'config.h']]], + ['sir_5fpidseparator_41',['SIR_PIDSEPARATOR',['../config_8h.html#a22d306c921d111c9722a11c9a9ad628e',1,'config.h']]], + ['sir_5fpidsuffix_42',['SIR_PIDSUFFIX',['../config_8h.html#abd5132131479030a120c289812e38363',1,'config.h']]], + ['sir_5fr_5farrow_43',['SIR_R_ARROW',['../ansimacros_8h.html#afe296ab1f6b488fd5e23ebd50c780b80',1,'ansimacros.h']]], + ['sir_5fsquelch_5fbackoff_5ffactor_44',['SIR_SQUELCH_BACKOFF_FACTOR',['../config_8h.html#ab84ea2d42dc216fad92bde1811dc4632',1,'config.h']]], + ['sir_5fsquelch_5fmsg_5fformat_45',['SIR_SQUELCH_MSG_FORMAT',['../config_8h.html#a3b6b481d57fc3e954accee882d143a9a',1,'config.h']]], + ['sir_5fsquelch_5fthreshold_46',['SIR_SQUELCH_THRESHOLD',['../config_8h.html#a3e733628ed19a474bdfc6fa3fcc45790',1,'config.h']]], + ['sir_5fthrd_5fchk_5finterval_47',['SIR_THRD_CHK_INTERVAL',['../config_8h.html#aa9d8a09e5e0f6e384370950a13173f78',1,'config.h']]], ['sir_5ftimeformat_48',['SIR_TIMEFORMAT',['../config_8h.html#ab1531d6b0d9c880b793362322542794c',1,'config.h']]], ['sir_5funknown_49',['SIR_UNKNOWN',['../config_8h.html#af9776f0b7cf01f82f2580a29c9efb6d6',1,'config.h']]], ['sirl_5fs_5falert_50',['SIRL_S_ALERT',['../config_8h.html#a4e02d1cb5e4a8d8535227657781d4a29',1,'config.h']]], diff --git a/docs/search/enums_0.js b/docs/search/enums_0.js index dab74c308..4ca258609 100644 --- a/docs/search/enums_0.js +++ b/docs/search/enums_0.js @@ -2,7 +2,5 @@ var searchData= [ ['sir_5fcolormode_0',['sir_colormode',['../group__publictypes.html#ga26686b620930358e8b50f287d6c96e51',1,'types.h']]], ['sir_5ferrorcode_1',['sir_errorcode',['../group__publictypes.html#ga861df9be69c6bcd01d29b77bd28ff7d3',1,'errors.h']]], - ['sir_5flevel_2',['sir_level',['../group__publictypes.html#ga4a3303c67acd49bea38fd3565d458cb2',1,'types.h']]], - ['sir_5foption_3',['sir_option',['../group__publictypes.html#ga9ed1c599dfd76231f4e0dadf46bff40b',1,'types.h']]], - ['sir_5ftextattr_4',['sir_textattr',['../group__publictypes.html#ga1bf5e489a6af0dcb905788c1e7a5ec2d',1,'types.h']]] + ['sir_5ftextattr_2',['sir_textattr',['../group__publictypes.html#ga1bf5e489a6af0dcb905788c1e7a5ec2d',1,'types.h']]] ]; diff --git a/docs/search/enumvalues_0.js b/docs/search/enumvalues_0.js index aa0eb5878..30329427d 100644 --- a/docs/search/enumvalues_0.js +++ b/docs/search/enumvalues_0.js @@ -28,49 +28,26 @@ var searchData= ['sircm_5f256_25',['SIRCM_256',['../group__publictypes.html#gga26686b620930358e8b50f287d6c96e51af6f2ac3c69c5fd02bac6d861bebdb441',1,'types.h']]], ['sircm_5finvalid_26',['SIRCM_INVALID',['../group__publictypes.html#gga26686b620930358e8b50f287d6c96e51aec247277302fc0b522454c2f02e77b70',1,'types.h']]], ['sircm_5frgb_27',['SIRCM_RGB',['../group__publictypes.html#gga26686b620930358e8b50f287d6c96e51ae0caa45527e7c797fef3719f947bc2ab',1,'types.h']]], - ['sirl_5falert_28',['SIRL_ALERT',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a8ea85ed68763f9c00d5ceeeaaf550955',1,'types.h']]], - ['sirl_5fall_29',['SIRL_ALL',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a4aa4a7193f36bf34a21ab48a17ffc444',1,'types.h']]], - ['sirl_5fcrit_30',['SIRL_CRIT',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a803f36256e5e4e3b788b7fa3a267a435',1,'types.h']]], - ['sirl_5fdebug_31',['SIRL_DEBUG',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a3553c8c2c35e70495b8f8e826aa3ff9b',1,'types.h']]], - ['sirl_5fdefault_32',['SIRL_DEFAULT',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2ab218462c6cc1f43062f5d2d24a757804',1,'types.h']]], - ['sirl_5femerg_33',['SIRL_EMERG',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a4ea9abe160c997d126806c4cca7f0cdc',1,'types.h']]], - ['sirl_5ferror_34',['SIRL_ERROR',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a9c687f088db1de838ea5d5f8a8beed76',1,'types.h']]], - ['sirl_5finfo_35',['SIRL_INFO',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a5882fd7e849f6a3c1c7967bde4ef4f7d',1,'types.h']]], - ['sirl_5fnone_36',['SIRL_NONE',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a7cc68341661fcb7a505aca67edb7a18e',1,'types.h']]], - ['sirl_5fnotice_37',['SIRL_NOTICE',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a721700c8091aab00db0b87b53f6eb53a',1,'types.h']]], - ['sirl_5fwarn_38',['SIRL_WARN',['../group__publictypes.html#gga4a3303c67acd49bea38fd3565d458cb2a9bfe1efbd321a009ad518b2eaec35881',1,'types.h']]], - ['siro_5fall_39',['SIRO_ALL',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba843ca9cff10528731dc9609e2fbfe34f',1,'types.h']]], - ['siro_5fdefault_40',['SIRO_DEFAULT',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba10e73f8e471fa73704716a5efac8ed02',1,'types.h']]], - ['siro_5fmsgonly_41',['SIRO_MSGONLY',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bad3258e42ff275ce5e256ffdf368f7bd0',1,'types.h']]], - ['siro_5fnohdr_42',['SIRO_NOHDR',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba59b2a0e9b2dfd78bcfa053dcb3f2dcce',1,'types.h']]], - ['siro_5fnohost_43',['SIRO_NOHOST',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bafe062f8fda5add3cb0e8fc3948aa6f9f',1,'types.h']]], - ['siro_5fnolevel_44',['SIRO_NOLEVEL',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba58882ac768eb1c0a0021d140f6b15deb',1,'types.h']]], - ['siro_5fnomsec_45',['SIRO_NOMSEC',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40bad78a6f66d21b01ace7574841495cacdd',1,'types.h']]], - ['siro_5fnoname_46',['SIRO_NONAME',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba59020fdfee0aaf393ed80ef7bab4bb4e',1,'types.h']]], - ['siro_5fnopid_47',['SIRO_NOPID',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40babbdc2529081d58ebff50a8966db31fd2',1,'types.h']]], - ['siro_5fnotid_48',['SIRO_NOTID',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40ba7079a31d6035c24aaa94d85c4a89c053',1,'types.h']]], - ['siro_5fnotime_49',['SIRO_NOTIME',['../group__publictypes.html#gga9ed1c599dfd76231f4e0dadf46bff40baeafb73ebdeb2df401d9fdfc39734fc8d',1,'types.h']]], - ['sirta_5fbold_50',['SIRTA_BOLD',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2dabd921418f53873c49dea5f9f3ea81f4b',1,'types.h']]], - ['sirta_5fdim_51',['SIRTA_DIM',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da5c6d2b3a91b49ff14f9946799f00b20c',1,'types.h']]], - ['sirta_5femph_52',['SIRTA_EMPH',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da57a1bd50ad704c18289c2bf74a2a68c5',1,'types.h']]], - ['sirta_5fnormal_53',['SIRTA_NORMAL',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2daa0d426c2ea1dfa48ad6e29a69f03d04c',1,'types.h']]], - ['sirta_5fuline_54',['SIRTA_ULINE',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da79ce8f5c35788a58b81c24684563e629',1,'types.h']]], - ['sirtc_5fbblue_55',['SIRTC_BBLUE',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7ac20967fac8888c04ce03927236cf0b69',1,'types.h']]], - ['sirtc_5fbcyan_56',['SIRTC_BCYAN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9c0ac02a1b3d8964b40ec838a14b48b3',1,'types.h']]], - ['sirtc_5fbgreen_57',['SIRTC_BGREEN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a51ff94e190c38445e9c1c14d81c47f74',1,'types.h']]], - ['sirtc_5fblack_58',['SIRTC_BLACK',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a67abb820e54b6f4eb6c36889cdb161a1',1,'types.h']]], - ['sirtc_5fblue_59',['SIRTC_BLUE',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a4eedafe058fd32443278fbcfa4b9bc10',1,'types.h']]], - ['sirtc_5fbmagenta_60',['SIRTC_BMAGENTA',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a8ca3ef305d6d19e9469e42cab90eda7f',1,'types.h']]], - ['sirtc_5fbred_61',['SIRTC_BRED',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aed8555bf560bde4696de7340c04984d5',1,'types.h']]], - ['sirtc_5fbyellow_62',['SIRTC_BYELLOW',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a17661620bd839f5e015a43d5e6913c0f',1,'types.h']]], - ['sirtc_5fcyan_63',['SIRTC_CYAN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a283e06452d5e663666c4274a94ccab2a',1,'types.h']]], - ['sirtc_5fdefault_64',['SIRTC_DEFAULT',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6435ad1ff8e5c1495342f96398f73d8b',1,'types.h']]], - ['sirtc_5fdgray_65',['SIRTC_DGRAY',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afc39eaef40fe161644258c9465c537bd',1,'types.h']]], - ['sirtc_5fgreen_66',['SIRTC_GREEN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afbfeed1f48833f2fe7bb49c1d35d217f',1,'types.h']]], - ['sirtc_5finvalid_67',['SIRTC_INVALID',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7af7d338a61e4e72a3a18146f65a2072c6',1,'types.h']]], - ['sirtc_5flgray_68',['SIRTC_LGRAY',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a047ba18fa823187083da9b56bfde7329',1,'types.h']]], - ['sirtc_5fmagenta_69',['SIRTC_MAGENTA',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aa5528759208615ea1a26f2b31361962c',1,'types.h']]], - ['sirtc_5fred_70',['SIRTC_RED',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aa62b22cd035e89e52f4f51e5ccc9802c',1,'types.h']]], - ['sirtc_5fwhite_71',['SIRTC_WHITE',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a79f980cfe1c098f99358b9250c52491b',1,'types.h']]], - ['sirtc_5fyellow_72',['SIRTC_YELLOW',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a2c5ba8731523096ff871e27e82d9a9ba',1,'types.h']]] + ['sirta_5fbold_28',['SIRTA_BOLD',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2dabd921418f53873c49dea5f9f3ea81f4b',1,'types.h']]], + ['sirta_5fdim_29',['SIRTA_DIM',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da5c6d2b3a91b49ff14f9946799f00b20c',1,'types.h']]], + ['sirta_5femph_30',['SIRTA_EMPH',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da57a1bd50ad704c18289c2bf74a2a68c5',1,'types.h']]], + ['sirta_5fnormal_31',['SIRTA_NORMAL',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2daa0d426c2ea1dfa48ad6e29a69f03d04c',1,'types.h']]], + ['sirta_5fuline_32',['SIRTA_ULINE',['../group__publictypes.html#gga1bf5e489a6af0dcb905788c1e7a5ec2da79ce8f5c35788a58b81c24684563e629',1,'types.h']]], + ['sirtc_5fbblue_33',['SIRTC_BBLUE',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7ac20967fac8888c04ce03927236cf0b69',1,'types.h']]], + ['sirtc_5fbcyan_34',['SIRTC_BCYAN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a9c0ac02a1b3d8964b40ec838a14b48b3',1,'types.h']]], + ['sirtc_5fbgreen_35',['SIRTC_BGREEN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a51ff94e190c38445e9c1c14d81c47f74',1,'types.h']]], + ['sirtc_5fblack_36',['SIRTC_BLACK',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a67abb820e54b6f4eb6c36889cdb161a1',1,'types.h']]], + ['sirtc_5fblue_37',['SIRTC_BLUE',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a4eedafe058fd32443278fbcfa4b9bc10',1,'types.h']]], + ['sirtc_5fbmagenta_38',['SIRTC_BMAGENTA',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a8ca3ef305d6d19e9469e42cab90eda7f',1,'types.h']]], + ['sirtc_5fbred_39',['SIRTC_BRED',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aed8555bf560bde4696de7340c04984d5',1,'types.h']]], + ['sirtc_5fbyellow_40',['SIRTC_BYELLOW',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a17661620bd839f5e015a43d5e6913c0f',1,'types.h']]], + ['sirtc_5fcyan_41',['SIRTC_CYAN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a283e06452d5e663666c4274a94ccab2a',1,'types.h']]], + ['sirtc_5fdefault_42',['SIRTC_DEFAULT',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6435ad1ff8e5c1495342f96398f73d8b',1,'types.h']]], + ['sirtc_5fdgray_43',['SIRTC_DGRAY',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afc39eaef40fe161644258c9465c537bd',1,'types.h']]], + ['sirtc_5fgreen_44',['SIRTC_GREEN',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7afbfeed1f48833f2fe7bb49c1d35d217f',1,'types.h']]], + ['sirtc_5flgray_45',['SIRTC_LGRAY',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a047ba18fa823187083da9b56bfde7329',1,'types.h']]], + ['sirtc_5fmagenta_46',['SIRTC_MAGENTA',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aa5528759208615ea1a26f2b31361962c',1,'types.h']]], + ['sirtc_5fred_47',['SIRTC_RED',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7aa62b22cd035e89e52f4f51e5ccc9802c',1,'types.h']]], + ['sirtc_5fwhite_48',['SIRTC_WHITE',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a79f980cfe1c098f99358b9250c52491b',1,'types.h']]], + ['sirtc_5fyellow_49',['SIRTC_YELLOW',['../group__publictypes.html#ggadf764cbdea00d65edcd07bb9953ad2b7a2c5ba8731523096ff871e27e82d9a9ba',1,'types.h']]] ]; diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js index f3adfd6a6..e47b6484d 100644 --- a/docs/search/functions_0.js +++ b/docs/search/functions_0.js @@ -3,5 +3,5 @@ var searchData= ['_5fsir_5fcondbroadcast_0',['_sir_condbroadcast',['../sircondition_8c.html#ae8d6edc94bcfb430cf584b27a91e4040',1,'_sir_condbroadcast(sir_condition *cond): sircondition.c'],['../condition_8h.html#ae8d6edc94bcfb430cf584b27a91e4040',1,'_sir_condbroadcast(sir_condition *cond): sircondition.c']]], ['_5fsir_5fcondcreate_1',['_sir_condcreate',['../sircondition_8c.html#ae93cd64b12a564792d3bb0a48a8ddc32',1,'_sir_condcreate(sir_condition *cond): sircondition.c'],['../condition_8h.html#ae93cd64b12a564792d3bb0a48a8ddc32',1,'_sir_condcreate(sir_condition *cond): sircondition.c']]], ['_5fsir_5fconddestroy_2',['_sir_conddestroy',['../sircondition_8c.html#a150dd1b33dee56d4b02442f2f30f09c5',1,'_sir_conddestroy(sir_condition *cond): sircondition.c'],['../condition_8h.html#a150dd1b33dee56d4b02442f2f30f09c5',1,'_sir_conddestroy(sir_condition *cond): sircondition.c']]], - ['_5fsir_5fcondwait_5ftimeout_3',['_sir_condwait_timeout',['../sircondition_8c.html#ae902dcda8cca588f9ff54182e9c761f0',1,'_sir_condwait_timeout(sir_condition *cond, sir_mutex *mutex, sir_wait *howlong): sircondition.c'],['../condition_8h.html#a24b03cb2cda2ff8bc5de7d20824f9249',1,'_sir_condwait_timeout(sir_condition *cond, sir_mutex *mutex, sir_wait *how_long): sircondition.c']]] + ['_5fsir_5fcondwait_5ftimeout_3',['_sir_condwait_timeout',['../sircondition_8c.html#ad3a334d6709db41f5a96327c90b44e83',1,'_sir_condwait_timeout(sir_condition *cond, sir_mutex *mutex, const sir_wait *howlong): sircondition.c'],['../condition_8h.html#a8dda6e64ad0dcf2d4bc8ccd1c0c7d2ad',1,'_sir_condwait_timeout(sir_condition *cond, sir_mutex *mutex, const sir_wait *how_long): sircondition.c']]] ]; diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js index 3769095b2..1f0c4743b 100644 --- a/docs/search/functions_2.js +++ b/docs/search/functions_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['report_5ferror_0',['report_error',['../example_8c.html#a929f3d3b8335f1827cf00af79a26ade7',1,'example.c']]] + ['report_5ferror_0',['report_error',['../example_8c.html#abbad1b48f0da8b605fb563c936bec6c6',1,'example.c']]] ]; diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js index 5ce17ed21..866c224ab 100644 --- a/docs/search/functions_3.js +++ b/docs/search/functions_3.js @@ -57,16 +57,18 @@ var searchData= ['sirtest_5finitcleanupinit_54',['sirtest_initcleanupinit',['../group__tests.html#ga9f7ccc25d41c5980dae048951ba60c8b',1,'sirtest_initcleanupinit(void): tests.c'],['../group__tests.html#ga9f7ccc25d41c5980dae048951ba60c8b',1,'sirtest_initcleanupinit(void): tests.c']]], ['sirtest_5finitmakeinit_55',['sirtest_initmakeinit',['../group__tests.html#gaa55b1ea9a036318bfdc44823ad704a9b',1,'sirtest_initmakeinit(void): tests.c'],['../group__tests.html#gaa55b1ea9a036318bfdc44823ad704a9b',1,'sirtest_initmakeinit(void): tests.c']]], ['sirtest_5flevelssanity_56',['sirtest_levelssanity',['../group__tests.html#ga3e19675d370d9b538ba320c49ecc7b05',1,'sirtest_levelssanity(void): tests.c'],['../group__tests.html#ga3e19675d370d9b538ba320c49ecc7b05',1,'sirtest_levelssanity(void): tests.c']]], - ['sirtest_5fmutexsanity_57',['sirtest_mutexsanity',['../group__tests.html#ga8545a7006242a1e925b0f937fa875850',1,'sirtest_mutexsanity(void): tests.c'],['../group__tests.html#ga8545a7006242a1e925b0f937fa875850',1,'sirtest_mutexsanity(void): tests.c']]], - ['sirtest_5foptionssanity_58',['sirtest_optionssanity',['../group__tests.html#gac9f9aabf53c8cfadba8b0f76927e6bae',1,'sirtest_optionssanity(void): tests.c'],['../group__tests.html#gac9f9aabf53c8cfadba8b0f76927e6bae',1,'sirtest_optionssanity(void): tests.c']]], - ['sirtest_5fos_5flog_59',['sirtest_os_log',['../group__tests.html#ga54f0e8e0163d0aedf20616451f122017',1,'sirtest_os_log(void): tests.c'],['../group__tests.html#ga54f0e8e0163d0aedf20616451f122017',1,'sirtest_os_log(void): tests.c']]], - ['sirtest_5fperf_60',['sirtest_perf',['../group__tests.html#ga607e96cb52e248a2277ab3ecc31b7195',1,'sirtest_perf(void): tests.c'],['../group__tests.html#ga607e96cb52e248a2277ab3ecc31b7195',1,'sirtest_perf(void): tests.c']]], - ['sirtest_5fpluginloader_61',['sirtest_pluginloader',['../group__tests.html#ga1b5a43deceffa8c36174e7b04576f6a3',1,'sirtest_pluginloader(void): tests.c'],['../group__tests.html#ga1b5a43deceffa8c36174e7b04576f6a3',1,'sirtest_pluginloader(void): tests.c']]], - ['sirtest_5frollandarchivefile_62',['sirtest_rollandarchivefile',['../group__tests.html#ga1b17632b25d61e85f6ff1fa08371959e',1,'sirtest_rollandarchivefile(void): tests.c'],['../group__tests.html#ga1b17632b25d61e85f6ff1fa08371959e',1,'sirtest_rollandarchivefile(void): tests.c']]], - ['sirtest_5fsquelchspam_63',['sirtest_squelchspam',['../group__tests.html#ga3ad5e95b1114eba573969077ebb40cb5',1,'sirtest_squelchspam(void): tests.c'],['../group__tests.html#ga3ad5e95b1114eba573969077ebb40cb5',1,'sirtest_squelchspam(void): tests.c']]], - ['sirtest_5fsyslog_64',['sirtest_syslog',['../group__tests.html#ga8db924f756e0ee2f04ff3e044a10f283',1,'sirtest_syslog(void): tests.c'],['../group__tests.html#ga8db924f756e0ee2f04ff3e044a10f283',1,'sirtest_syslog(void): tests.c']]], - ['sirtest_5ftextstylesanity_65',['sirtest_textstylesanity',['../group__tests.html#ga18ccd68f2c37d9798a06c403380c9308',1,'sirtest_textstylesanity(void): tests.c'],['../group__tests.html#ga18ccd68f2c37d9798a06c403380c9308',1,'sirtest_textstylesanity(void): tests.c']]], - ['sirtest_5fthreadpool_66',['sirtest_threadpool',['../group__tests.html#ga9ec172056871a719049c1c40ffdaf292',1,'sirtest_threadpool(void): tests.c'],['../group__tests.html#ga9ec172056871a719049c1c40ffdaf292',1,'sirtest_threadpool(void): tests.c']]], - ['sirtest_5fthreadrace_67',['sirtest_threadrace',['../group__tests.html#gacfda68c218d184e7a6998d9f2837481f',1,'sirtest_threadrace(void): tests.c'],['../group__tests.html#gacfda68c218d184e7a6998d9f2837481f',1,'sirtest_threadrace(void): tests.c']]], - ['sirtest_5fupdatesanity_68',['sirtest_updatesanity',['../group__tests.html#gaf3428b620d3540baf058f6b7dd42c075',1,'sirtest_updatesanity(void): tests.c'],['../group__tests.html#gaf3428b620d3540baf058f6b7dd42c075',1,'sirtest_updatesanity(void): tests.c']]] + ['sirtest_5flogwritesanity_57',['sirtest_logwritesanity',['../group__tests.html#gadad204381413cc93b367969e1c6a6d04',1,'sirtest_logwritesanity(void): tests.c'],['../group__tests.html#gadad204381413cc93b367969e1c6a6d04',1,'sirtest_logwritesanity(void): tests.c']]], + ['sirtest_5fmutexsanity_58',['sirtest_mutexsanity',['../group__tests.html#ga8545a7006242a1e925b0f937fa875850',1,'sirtest_mutexsanity(void): tests.c'],['../group__tests.html#ga8545a7006242a1e925b0f937fa875850',1,'sirtest_mutexsanity(void): tests.c']]], + ['sirtest_5foptionssanity_59',['sirtest_optionssanity',['../group__tests.html#gac9f9aabf53c8cfadba8b0f76927e6bae',1,'sirtest_optionssanity(void): tests.c'],['../group__tests.html#gac9f9aabf53c8cfadba8b0f76927e6bae',1,'sirtest_optionssanity(void): tests.c']]], + ['sirtest_5fos_5flog_60',['sirtest_os_log',['../group__tests.html#ga54f0e8e0163d0aedf20616451f122017',1,'sirtest_os_log(void): tests.c'],['../group__tests.html#ga54f0e8e0163d0aedf20616451f122017',1,'sirtest_os_log(void): tests.c']]], + ['sirtest_5fperf_61',['sirtest_perf',['../group__tests.html#ga607e96cb52e248a2277ab3ecc31b7195',1,'sirtest_perf(void): tests.c'],['../group__tests.html#ga607e96cb52e248a2277ab3ecc31b7195',1,'sirtest_perf(void): tests.c']]], + ['sirtest_5fpluginloader_62',['sirtest_pluginloader',['../group__tests.html#ga1b5a43deceffa8c36174e7b04576f6a3',1,'sirtest_pluginloader(void): tests.c'],['../group__tests.html#ga1b5a43deceffa8c36174e7b04576f6a3',1,'sirtest_pluginloader(void): tests.c']]], + ['sirtest_5frollandarchivefile_63',['sirtest_rollandarchivefile',['../group__tests.html#ga1b17632b25d61e85f6ff1fa08371959e',1,'sirtest_rollandarchivefile(void): tests.c'],['../group__tests.html#ga1b17632b25d61e85f6ff1fa08371959e',1,'sirtest_rollandarchivefile(void): tests.c']]], + ['sirtest_5fsquelchspam_64',['sirtest_squelchspam',['../group__tests.html#ga3ad5e95b1114eba573969077ebb40cb5',1,'sirtest_squelchspam(void): tests.c'],['../group__tests.html#ga3ad5e95b1114eba573969077ebb40cb5',1,'sirtest_squelchspam(void): tests.c']]], + ['sirtest_5fsyslog_65',['sirtest_syslog',['../group__tests.html#ga8db924f756e0ee2f04ff3e044a10f283',1,'sirtest_syslog(void): tests.c'],['../group__tests.html#ga8db924f756e0ee2f04ff3e044a10f283',1,'sirtest_syslog(void): tests.c']]], + ['sirtest_5ftextstylesanity_66',['sirtest_textstylesanity',['../group__tests.html#ga18ccd68f2c37d9798a06c403380c9308',1,'sirtest_textstylesanity(void): tests.c'],['../group__tests.html#ga18ccd68f2c37d9798a06c403380c9308',1,'sirtest_textstylesanity(void): tests.c']]], + ['sirtest_5fthreadidsanity_67',['sirtest_threadidsanity',['../group__tests.html#gaf7edbef2bba9459091aa48d8b9512ede',1,'sirtest_threadidsanity(void): tests.c'],['../group__tests.html#gaf7edbef2bba9459091aa48d8b9512ede',1,'sirtest_threadidsanity(void): tests.c']]], + ['sirtest_5fthreadpool_68',['sirtest_threadpool',['../group__tests.html#ga9ec172056871a719049c1c40ffdaf292',1,'sirtest_threadpool(void): tests.c'],['../group__tests.html#ga9ec172056871a719049c1c40ffdaf292',1,'sirtest_threadpool(void): tests.c']]], + ['sirtest_5fthreadrace_69',['sirtest_threadrace',['../group__tests.html#gacfda68c218d184e7a6998d9f2837481f',1,'sirtest_threadrace(void): tests.c'],['../group__tests.html#gacfda68c218d184e7a6998d9f2837481f',1,'sirtest_threadrace(void): tests.c']]], + ['sirtest_5fupdatesanity_70',['sirtest_updatesanity',['../group__tests.html#gaf3428b620d3540baf058f6b7dd42c075',1,'sirtest_updatesanity(void): tests.c'],['../group__tests.html#gaf3428b620d3540baf058f6b7dd42c075',1,'sirtest_updatesanity(void): tests.c']]] ]; diff --git a/docs/search/searchdata.js b/docs/search/searchdata.js index 6f44f2988..f7df0990a 100644 --- a/docs/search/searchdata.js +++ b/docs/search/searchdata.js @@ -4,7 +4,7 @@ var indexSectionsWithContent = 1: "st", 2: "acdes", 3: "_mrs", - 4: "_abcdfhijlmnoqstw", + 4: "_abcdfhijlmnoqstuw", 5: "s", 6: "s", 7: "s", diff --git a/docs/search/typedefs_0.js b/docs/search/typedefs_0.js index b85db79db..5ed2e482d 100644 --- a/docs/search/typedefs_0.js +++ b/docs/search/typedefs_0.js @@ -1,8 +1,10 @@ var searchData= [ - ['sir_5flevels_0',['sir_levels',['../group__publictypes.html#ga7ee5f2908abd2df9e89bcab0b6608edd',1,'types.h']]], - ['sir_5foptions_1',['sir_options',['../group__publictypes.html#gafb659914aac0129182d86f7d3414e85d',1,'types.h']]], - ['sir_5ftextcolor_2',['sir_textcolor',['../group__publictypes.html#gab4214e294af5ac3c91f21c1d379e10c5',1,'types.h']]], - ['sirfileid_3',['sirfileid',['../group__publictypes.html#ga0da4ab4b4468b6b71cd8e924b2adf2e2',1,'types.h']]], - ['sirpluginid_4',['sirpluginid',['../group__publictypes.html#gadbc71df98df765cddfed4aa11c805470',1,'types.h']]] + ['sir_5flevel_0',['sir_level',['../group__publictypes.html#ga076e759e9aa36cde2977f754a7ea186c',1,'types.h']]], + ['sir_5flevels_1',['sir_levels',['../group__publictypes.html#ga7ee5f2908abd2df9e89bcab0b6608edd',1,'types.h']]], + ['sir_5foption_2',['sir_option',['../group__publictypes.html#gac28da6e48402cc15ead5b5384bccb6fd',1,'types.h']]], + ['sir_5foptions_3',['sir_options',['../group__publictypes.html#gafb659914aac0129182d86f7d3414e85d',1,'types.h']]], + ['sir_5ftextcolor_4',['sir_textcolor',['../group__publictypes.html#gab4214e294af5ac3c91f21c1d379e10c5',1,'types.h']]], + ['sirfileid_5',['sirfileid',['../group__publictypes.html#ga0da4ab4b4468b6b71cd8e924b2adf2e2',1,'types.h']]], + ['sirpluginid_6',['sirpluginid',['../group__publictypes.html#gadbc71df98df765cddfed4aa11c805470',1,'types.h']]] ]; diff --git a/docs/search/variables_10.js b/docs/search/variables_10.js index 4bd5631c3..6a7138684 100644 --- a/docs/search/variables_10.js +++ b/docs/search/variables_10.js @@ -1,4 +1,4 @@ var searchData= [ - ['write_0',['write',['../structsir__pluginifacev1.html#a7be5d9cb671d562cdc031bb6962c9258',1,'sir_pluginifacev1']]] + ['usage_0',['usage',['../structsir__cl__arg.html#ac3ae5ef230bad0b7160ba6a9415e14ec',1,'sir_cl_arg']]] ]; diff --git a/docs/search/variables_11.js b/docs/search/variables_11.js new file mode 100644 index 000000000..4bd5631c3 --- /dev/null +++ b/docs/search/variables_11.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['write_0',['write',['../structsir__pluginifacev1.html#a7be5d9cb671d562cdc031bb6962c9258',1,'sir_pluginifacev1']]] +]; diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js index 9a02304c8..0f6f854e7 100644 --- a/docs/search/variables_4.js +++ b/docs/search/variables_4.js @@ -4,5 +4,5 @@ var searchData= ['d_5fstdout_1',['d_stdout',['../group__publictypes.html#abdce8407bc07b5c7bdb945bd3797dea5',1,'sirinit']]], ['d_5fsyslog_2',['d_syslog',['../group__publictypes.html#a86b187f809d969f08dd2edef0e4cb248',1,'sirinit']]], ['data_3',['data',['../structsir__threadpool__job.html#a77b8d07917b5c1ae32f72f7ce71a6d8c',1,'sir_threadpool_job']]], - ['desc_4',['desc',['../structsir__plugininfo.html#aa52c4fcccd437ab1a4349bd8e6f64922',1,'sir_plugininfo']]] + ['desc_4',['desc',['../structsir__plugininfo.html#aa52c4fcccd437ab1a4349bd8e6f64922',1,'sir_plugininfo::desc'],['../structsir__cl__arg.html#a06d6e49c5bd5ba5877563abc636ad538',1,'sir_cl_arg::desc']]] ]; diff --git a/docs/search/variables_5.js b/docs/search/variables_5.js index 946240bdd..31fbf8526 100644 --- a/docs/search/variables_5.js +++ b/docs/search/variables_5.js @@ -2,6 +2,7 @@ var searchData= [ ['fg_0',['fg',['../group__publictypes.html#ac6fb238c1a2b51dfff2b62b4c5acd42b',1,'sir_textstyle']]], ['fields_1',['fields',['../structsir__update__config__data.html#ad61568937fcd6a019bd5e58d4103aa35',1,'sir_update_config_data']]], - ['fmt_2',['fmt',['../structsir__level__str__pair.html#abb5bc77ea76db28a9896bad436e4f2d6',1,'sir_level_str_pair']]], - ['fn_3',['fn',['../structsir__threadpool__job.html#a03b1cec323ce1973b55356fd9e374322',1,'sir_threadpool_job']]] + ['flag_2',['flag',['../structsir__cl__arg.html#acb697d4476e3e108a0d7cc7fe1aef2ae',1,'sir_cl_arg']]], + ['fmt_3',['fmt',['../structsir__level__str__pair.html#abb5bc77ea76db28a9896bad436e4f2d6',1,'sir_level_str_pair']]], + ['fn_4',['fn',['../structsir__threadpool__job.html#a03b1cec323ce1973b55356fd9e374322',1,'sir_threadpool_job']]] ]; diff --git a/docs/sir_8c.html b/docs/sir_8c.html index e2e3e3d3c..4502f7cc0 100644 --- a/docs/sir_8c.html +++ b/docs/sir_8c.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -134,28 +134,28 @@  Retrieves information about the last error that occurred.
        bool sir_debug (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_DEBUG level message.
      + Dispatches a SIRL_DEBUG level message.
        bool sir_info (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_INFO level message.
      + Dispatches a SIRL_INFO level message.
        bool sir_notice (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_NOTICE level message.
      + Dispatches a SIRL_NOTICE level message.
        bool sir_warn (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_WARN level message.
      + Dispatches a SIRL_WARN level message.
        bool sir_error (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_ERROR level message.
      + Dispatches a SIRL_ERROR level message.
        bool sir_crit (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_CRIT level message.
      + Dispatches a SIRL_CRIT level message.
        bool sir_alert (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_ALERT level message.
      + Dispatches a SIRL_ALERT level message.
        bool sir_emerg (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_EMERG level message.
      + Dispatches a SIRL_EMERG level message.
        sirfileid sir_addfile (const char *path, sir_levels levels, sir_options opts)  Adds a log file and registers it to receive log output.
      @@ -175,7 +175,7 @@ bool sir_fileopts (sirfileid id, sir_options opts)  Set new formatting options for a log file already managed by libsir.
        -bool sir_settextstyle (sir_level level, sir_textattr attr, sir_textcolor fg, sir_textcolor bg) +bool sir_settextstyle (sir_level level, sir_textattr attr, sir_textcolor fg, sir_textcolor bg)  Set new text styling for stdio (stdout/stderr) destinations on a per-level basis.
        bool sir_resettextstyles (void) @@ -226,7 +226,7 @@

      The functions and types defined here comprise the entire set intended for use by an implementer of the library-unless modification is desired.

      Author
      Ryan M. Lederman <leder.nosp@m.man@.nosp@m.gmail.nosp@m..com>
      Date
      2018-2023
      -
      Version
      2.2.2
      +
      Version
      2.2.3

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      diff --git a/docs/sir_8h.html b/docs/sir_8h.html index 418a76f4e..a5556a9f4 100644 --- a/docs/sir_8h.html +++ b/docs/sir_8h.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -136,28 +136,28 @@  Retrieves information about the last error that occurred.
        bool sir_debug (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_DEBUG level message.
      + Dispatches a SIRL_DEBUG level message.
        bool sir_info (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_INFO level message.
      + Dispatches a SIRL_INFO level message.
        bool sir_notice (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_NOTICE level message.
      + Dispatches a SIRL_NOTICE level message.
        bool sir_warn (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_WARN level message.
      + Dispatches a SIRL_WARN level message.
        bool sir_error (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_ERROR level message.
      + Dispatches a SIRL_ERROR level message.
        bool sir_crit (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_CRIT level message.
      + Dispatches a SIRL_CRIT level message.
        bool sir_alert (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_ALERT level message.
      + Dispatches a SIRL_ALERT level message.
        bool sir_emerg (PRINTF_FORMAT const char *format,...) - Dispatches a SIRL_EMERG level message.
      + Dispatches a SIRL_EMERG level message.
        sirfileid sir_addfile (const char *path, sir_levels levels, sir_options opts)  Adds a log file and registers it to receive log output.
      @@ -177,7 +177,7 @@ bool sir_fileopts (sirfileid id, sir_options opts)  Set new formatting options for a log file already managed by libsir.
        -bool sir_settextstyle (sir_level level, sir_textattr attr, sir_textcolor fg, sir_textcolor bg) +bool sir_settextstyle (sir_level level, sir_textattr attr, sir_textcolor fg, sir_textcolor bg)  Set new text styling for stdio (stdout/stderr) destinations on a per-level basis.
        bool sir_resettextstyles (void) @@ -228,7 +228,7 @@

      The functions and types defined here comprise the entire set intended for use by an implementer of the library-unless modification is desired.

      Author
      Ryan M. Lederman <leder.nosp@m.man@.nosp@m.gmail.nosp@m..com>
      Date
      2018-2023
      -
      Version
      2.2.2
      +
      Version
      2.2.3

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      diff --git a/docs/sir_8h_source.html b/docs/sir_8h_source.html index be96a64d9..d7c097e18 100644 --- a/docs/sir_8h_source.html +++ b/docs/sir_8h_source.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -170,7 +170,7 @@
      454
      472bool sir_fileopts(sirfileid id, sir_options opts);
      473
      - +
      495 sir_textcolor bg);
      496
      512bool sir_resettextstyles(void);
      @@ -206,7 +206,7 @@
      785# endif
      786
      787#endif /* !_SIR_H_INCLUDED */
      -
      #define SIR_MAXERROR
      The maximum size, in characters, of an error message.
      Definition config.h:288
      +
      #define SIR_MAXERROR
      The maximum size, in characters, of an error message.
      Definition config.h:285
      bool sir_stderropts(sir_options opts)
      Set new formatting options for stderr.
      Definition sir.c:196
      bool sir_settextstyle(sir_level level, sir_textattr attr, sir_textcolor fg, sir_textcolor bg)
      Set new text styling for stdio (stdout/stderr) destinations on a per-level basis.
      Definition sir.c:155
      sirpluginid sir_loadplugin(const char *path)
      Loads a plugin module from disk.
      Definition sir.c:125
      @@ -240,14 +240,14 @@
      bool sir_fileopts(sirfileid id, sir_options opts)
      Set new formatting options for a log file already managed by libsir.
      Definition sir.c:149
      bool sir_isprerelease(void)
      Whether or not this is a pre-release version of libsir.
      Definition sir.c:252
      bool sir_emerg(PRINTF_FORMAT const char *format,...)
      Dispatches a SIRL_EMERG level message.
      Definition sir.c:110
      +
      uint16_t sir_level
      The sir_level type.
      Definition types.h:61
      uint32_t sirfileid
      Log file identifier type.
      Definition types.h:42
      -
      sir_textattr
      Attributes for stdio output.
      Definition types.h:92
      -
      sir_colormode
      Color mode selection.
      Definition types.h:84
      -
      sir_level
      Defines the available levels (severity/priority) of logging output.
      Definition types.h:48
      -
      uint16_t sir_levels
      sir_level bitmask type.
      Definition types.h:63
      +
      sir_textattr
      Attributes for stdio output.
      Definition types.h:94
      +
      sir_colormode
      Color mode selection.
      Definition types.h:86
      +
      uint16_t sir_levels
      sir_level bitmask type.
      Definition types.h:64
      uint32_t sir_textcolor
      stdio text color type.
      Definition types.h:128
      uint32_t sirpluginid
      Plugin module identifier type.
      Definition types.h:45
      -
      uint32_t sir_options
      sir_option bitmask type.
      Definition types.h:81
      +
      uint32_t sir_options
      sir_option bitmask type.
      Definition types.h:83
      libsir initialization and configuration data.
      Definition types.h:214
      diff --git a/docs/sircondition_8c.html b/docs/sircondition_8c.html index 1a4954967..99e0d227f 100644 --- a/docs/sircondition_8c.html +++ b/docs/sircondition_8c.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -130,15 +130,15 @@ bool _sir_conddestroy (sir_condition *cond)  Destroys a condition variable.
        - -bool _sir_condwait_timeout (sir_condition *cond, sir_mutex *mutex, sir_wait *howlong) - Waits a given amount of time for a condition variable to become signaled.
      -  + +bool _sir_condwait_timeout (sir_condition *cond, sir_mutex *mutex, const sir_wait *howlong) + Waits a given amount of time for a condition variable to become signaled.

      Detailed Description

      Author
      Ryan M. Lederman <leder.nosp@m.man@.nosp@m.gmail.nosp@m..com>
      Date
      2018-2023
      -
      Version
      2.2.2
      +
      Version
      2.2.3

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      diff --git a/docs/sircondition_8c.js b/docs/sircondition_8c.js index 0ab685754..e971f2302 100644 --- a/docs/sircondition_8c.js +++ b/docs/sircondition_8c.js @@ -3,5 +3,5 @@ var sircondition_8c = [ "_sir_condcreate", "sircondition_8c.html#ae93cd64b12a564792d3bb0a48a8ddc32", null ], [ "_sir_condbroadcast", "sircondition_8c.html#ae8d6edc94bcfb430cf584b27a91e4040", null ], [ "_sir_conddestroy", "sircondition_8c.html#a150dd1b33dee56d4b02442f2f30f09c5", null ], - [ "_sir_condwait_timeout", "sircondition_8c.html#ae902dcda8cca588f9ff54182e9c761f0", null ] + [ "_sir_condwait_timeout", "sircondition_8c.html#ad3a334d6709db41f5a96327c90b44e83", null ] ]; \ No newline at end of file diff --git a/docs/sources/changelog.md b/docs/sources/changelog.md index be0992412..260006ac5 100644 --- a/docs/sources/changelog.md +++ b/docs/sources/changelog.md @@ -1,5 +1,35 @@ # Changelog +## 2.2.3 + +### September 8, 2023 + +- Fixed a bug that caused some log file messages to be truncated. +- Changed maximum message length to 4 KiB (4096 bytes). +- Added support for additional compilers and platforms. +- Added Oracle Lint to CI pipeline. +- General portability improvements. +- General linter and static analyzer conformance improvements. +- Now utilizes `stdatomic.h` under MSVC on version 17.4+ using `/experimental:c11atomics`. +- Added two additional tests. +- Optimized the primary code path for some *really impressive* performance gains. Some samples: + +| Platform | Change vs. 2.2.2 | +| ------------------------ | ---------------- | +| macOS 13.5.2 (x86_64) | +361% ± 0.13﹪ | +| Arch 6.4.12 (x86_64) | +276% ± 0.07﹪ | +| RHEL 9 (x86_64) | +256% ± 0.03﹪ | +| Debian 12 (x86_64) | +217% ± 0.09﹪ | +| macOS 13.5.1 (AArch64) | +213% ± 0.12﹪ | +| Fedora 38 (x86_64) | +121% ± 0.05﹪ | +| AIX 7.3 (POWER9) | +119% ± 0.07﹪ | +| Debian 12 (AArch64) | +100% ± 0.04﹪ | +| Windows 11 (x64_64) | +87% ± 0.03﹪ | +| FreeBSD 13.2 (x86_x64) | +76% ± 0.06﹪ | +| Windows 11 (AArch64) | +67% ± 0.03﹪ | +| NetBSD 9.3 (ARM/A53) | +62% ± 0.18﹪ | +| OpenWrt 23 (MIPS32/74Kc) | +6% ± 3.14﹪ | + ## 2.2.2 ### August 18, 2023 diff --git a/docs/sources/sirtests.md b/docs/sources/sirtests.md index 2d1c3efd2..8cf86a80d 100644 --- a/docs/sources/sirtests.md +++ b/docs/sources/sirtests.md @@ -11,7 +11,7 @@ The simplest way to achieve this is simply to run `build/bin/sirtests` from the to the following: ~~~sh -done: all 26 libsir tests passed in 0.690sec! +done: all 32 libsir tests passed in 5.085sec! ~~~ ## Advanced usage @@ -22,11 +22,13 @@ You should see output similar to the following: ~~~txt Usage: - --perf Only run the performance measurement test. - --wait Wait for a keypress after running test(s) before exiting. - --only name [, name, ...] Only run the test(s) specified. - --list Prints a list of available test names for use with --only. - --help Shows this message. + --perf Only run the performance measurement test + --only name [, name, ...] Only run the test(s) specified + --list Prints a list of available test names for use with '--only' + --leave-logs Log files are not deleted so that they may be examined + --wait After running test(s), waits for a keypress before exiting + --version Prints the version of libsir that the test suite was built with + --help Shows this message ~~~ Of note here is the obvious one, `--perf`. The perf test is only run if you explicitly specify this flag. It is a good way to ensure that libsir is compiled correctly for deployment in a production environment. If you get a very slow (_or dubiously fast_) result, you should re-examine your configuration. @@ -36,14 +38,14 @@ The result includes a comparison to an equivalent raw `printf` call for the same Here is an example of the results of `--perf` on this development machine (_iMac Pro, 3.2GHz 8-core Xeon, 64GB 2666MHz DDR4, SSD_): ~~~txt -printf: 1000000 lines in 7.394sec (135239.0 lines/sec) -libsir(stdout): 1000000 lines in 8.116sec (123209.8 lines/sec) -libsir(log file): 1000000 lines in 7.978sec (125342.3 lines/sec) -timer resolution: ~1nsec +printf: 1000000 lines in 3.375sec (296296.3 lines/sec) +libsir (stdout): 1000000 lines in 5.427sec (184263.9 lines/sec) +libsir (file): 1000000 lines in 1.278sec (782472.6 lines/sec) +timer resolution: ~1000nsec ~~~ --- @remark The perf test only outputs to the debug level. If level switching were introduced where formatting options varied from level to level, a much slower elapsed time could be expected, since some of libsir's internal formatting buffers would need to be recalculated each time. -The other useful flags include `--list` and `--only` if you wish to narrow down a problem test or set of tests. Please let me know if you think of additional tests that should be performed by [opening a feature request](https://github.com/aremmell/libsir/issues/new?template=Feature_request.md). +The other useful flags include `--list` and `--only` if you wish to narrow down a problem test or set of tests. Please let us know if you think of additional tests that should be performed by [opening a feature request](https://github.com/aremmell/libsir/issues/new?template=Feature_request.md). diff --git a/docs/structsir__cl__arg.html b/docs/structsir__cl__arg.html new file mode 100644 index 000000000..8f24931cc --- /dev/null +++ b/docs/structsir__cl__arg.html @@ -0,0 +1,202 @@ + + + + + + + + + + +libsir: The Standard Incident Reporter Library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      libsir 2.2.3 +
      +
      Standard Incident Reporter
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      +
      + +
      + +
      sir_cl_arg Struct Reference
      +
      +
      + +

      A command line argument. + More...

      + + + + + + + + + + + +

      +Data Fields

      const char * flag
       The 'flag' (e.g.
       
      const char * usage
       Usage info (e.g.
       
      const char * desc
       Description (e.g.
       
      +

      Detailed Description

      +

      A command line argument.

      +

      Field Documentation

      + +

      ◆ flag

      + +
      +
      + + + + +
      const char* sir_cl_arg::flag
      +
      + +

      The 'flag' (e.g.

      +

      '–help').

      + +
      +
      + +

      ◆ usage

      + +
      +
      + + + + +
      const char* sir_cl_arg::usage
      +
      + +

      Usage info (e.g.

      +

      [foo, ...]).

      + +
      +
      + +

      ◆ desc

      + +
      +
      + + + + +
      const char* sir_cl_arg::desc
      +
      + +

      Description (e.g.

      +

      displays a purple dinosaur).

      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      +
      + + + + + diff --git a/docs/structsir__level__str__pair.html b/docs/structsir__level__str__pair.html index 983195224..9c70c424a 100644 --- a/docs/structsir__level__str__pair.html +++ b/docs/structsir__level__str__pair.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -116,13 +116,13 @@
      -

      sir_level <-> human-readable string form. +

      sir_level <-> human-readable string form. More...

      +const sir_level 

      Data Fields

      -const sir_level level
      level
       The level for which the string applies.
       
      @@ -131,7 +131,7 @@
       

      Detailed Description

      -

      sir_level <-> human-readable string form.

      +

      sir_level <-> human-readable string form.

      Field Documentation

      ◆ level

      @@ -140,7 +140,7 @@

      - +
      const sir_level sir_level_str_pair::levelconst sir_level sir_level_str_pair::level

      diff --git a/docs/structsir__level__style__tuple.html b/docs/structsir__level__style__tuple.html index 5f7ac8063..efe0f3c2c 100644 --- a/docs/structsir__level__style__tuple.html +++ b/docs/structsir__level__style__tuple.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -116,13 +116,13 @@
      -

      sir_level <-> sir_textstyle mapping. +

      sir_level <-> sir_textstyle mapping. More...

      +const sir_level 

      Data Fields

      -const sir_level level
      level
       The level for which the style applies.
       
      @@ -135,7 +135,7 @@
       

      Detailed Description

      -
      diff --git a/docs/structsir__plugin.html b/docs/structsir__plugin.html index c5fff1623..c2736feaa 100644 --- a/docs/structsir__plugin.html +++ b/docs/structsir__plugin.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsir__plugincache.html b/docs/structsir__plugincache.html index e8efda4b3..f126a9c54 100644 --- a/docs/structsir__plugincache.html +++ b/docs/structsir__plugincache.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsir__pluginifacev1.html b/docs/structsir__pluginifacev1.html index 3ac23ea8f..1017e706c 100644 --- a/docs/structsir__pluginifacev1.html +++ b/docs/structsir__pluginifacev1.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsir__plugininfo.html b/docs/structsir__plugininfo.html index 4de918abc..6f5494eee 100644 --- a/docs/structsir__plugininfo.html +++ b/docs/structsir__plugininfo.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsir__queue.html b/docs/structsir__queue.html index 485ce2d7d..c80401f76 100644 --- a/docs/structsir__queue.html +++ b/docs/structsir__queue.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsir__queue__node.html b/docs/structsir__queue__node.html index 5ed44321e..dba981ef5 100644 --- a/docs/structsir__queue__node.html +++ b/docs/structsir__queue__node.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsir__test.html b/docs/structsir__test.html index 310785558..7d068593b 100644 --- a/docs/structsir__test.html +++ b/docs/structsir__test.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsir__text__style__data.html b/docs/structsir__text__style__data.html index 679d5ec4f..07b2d078a 100644 --- a/docs/structsir__text__style__data.html +++ b/docs/structsir__text__style__data.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsir__thread__err.html b/docs/structsir__thread__err.html index 8dc6cb3e9..8f9ae36d5 100644 --- a/docs/structsir__thread__err.html +++ b/docs/structsir__thread__err.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -114,10 +114,10 @@
      -

      Error type. +

      Per-thread error type. More...

      Detailed Description

      -

      Error type.

      +

      Per-thread error type.


      The documentation for this struct was generated from the following file: diff --git a/docs/structsir__threadpool.html b/docs/structsir__threadpool.html index c287d608a..8e11e392f 100644 --- a/docs/structsir__threadpool.html +++ b/docs/structsir__threadpool.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsir__threadpool__job.html b/docs/structsir__threadpool__job.html index bdf818bb2..0a0498718 100644 --- a/docs/structsir__threadpool__job.html +++ b/docs/structsir__threadpool__job.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsir__time.html b/docs/structsir__time.html new file mode 100644 index 000000000..63e730927 --- /dev/null +++ b/docs/structsir__time.html @@ -0,0 +1,135 @@ + + + + + + + + + + +libsir: The Standard Incident Reporter Library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      libsir 2.2.3 +
      +
      Standard Incident Reporter
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      +
      + +
      +
      sir_time Struct Reference
      +
      +
      + +

      Internally-used time value type. + More...

      +

      Detailed Description

      +

      Internally-used time value type.

      +

      The documentation for this struct was generated from the following file: +
      +
      + + + + + diff --git a/docs/structsir__update__config__data.html b/docs/structsir__update__config__data.html index f8fa1af47..0edb626b0 100644 --- a/docs/structsir__update__config__data.html +++ b/docs/structsir__update__config__data.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsirbuf.html b/docs/structsirbuf.html index a5d7db92d..ed5cdd0e3 100644 --- a/docs/structsirbuf.html +++ b/docs/structsirbuf.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsirconfig.html b/docs/structsirconfig.html index a8b501368..c95e9b660 100644 --- a/docs/structsirconfig.html +++ b/docs/structsirconfig.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsirconfig_8state_8last.html b/docs/structsirconfig_8state_8last.html index 2dee66f17..2aaefcc57 100644 --- a/docs/structsirconfig_8state_8last.html +++ b/docs/structsirconfig_8state_8last.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsirerror.html b/docs/structsirerror.html index b175f1795..7759b319d 100644 --- a/docs/structsirerror.html +++ b/docs/structsirerror.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsirfcache.html b/docs/structsirfcache.html index 23ad80972..37d6bd3cb 100644 --- a/docs/structsirfcache.html +++ b/docs/structsirfcache.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structsirfile.html b/docs/structsirfile.html index 2f8b1be2c..080d513d8 100644 --- a/docs/structsirfile.html +++ b/docs/structsirfile.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/structthread__args.html b/docs/structthread__args.html index a4f317474..b91a2321f 100644 --- a/docs/structthread__args.html +++ b/docs/structthread__args.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      diff --git a/docs/tests_8h_source.html b/docs/tests_8h_source.html index 7e8e8a40b..8ae020ca4 100644 --- a/docs/tests_8h_source.html +++ b/docs/tests_8h_source.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -118,7 +118,7 @@
      3 *
      4 * Author: Ryan M. Lederman <lederman@gmail.com>
      5 * Copyright: Copyright (c) 2018-2023
      -
      6 * Version: 2.2.2
      +
      6 * Version: 2.2.3
      7 * License: The MIT License (MIT)
      8 *
      9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
      @@ -157,157 +157,150 @@
      42# if !defined(__ORANGEC__)
      43# include <dirent.h>
      44# endif
      -
      45# if defined(CLOCK_MONOTONIC_RAW)
      -
      46# define SIRTEST_CLOCK CLOCK_MONOTONIC_RAW
      -
      47# else
      -
      48# define SIRTEST_CLOCK CLOCK_MONOTONIC
      -
      49# endif
      -
      50# endif
      -
      51
      -
      52# define INIT_BASE(var, l_stdout, o_stdout, l_stderr, o_stderr, p_name, init) \
      -
      53 sirinit var = {0}; \
      -
      54 var.d_stdout.opts = (o_stdout) > 0 ? o_stdout : SIRO_DEFAULT; \
      -
      55 var.d_stdout.levels = l_stdout; \
      -
      56 var.d_stderr.opts = (o_stderr) > 0 ? o_stderr : SIRO_DEFAULT; \
      -
      57 var.d_stderr.levels = l_stderr; \
      -
      58 if (_sir_validstrnofail(p_name)) \
      -
      59 _sir_strncpy(var.name, SIR_MAXNAME, p_name, SIR_MAXNAME); \
      -
      60 bool var##_init = false; \
      -
      61 if (init) \
      -
      62 var##_init = sir_init(&var); \
      -
      63 else \
      -
      64 (void)var##_init
      +
      45# elif defined(__WIN__)
      +
      46# include <math.h>
      +
      47# endif
      +
      48
      +
      49# define INIT_BASE(var, l_stdout, o_stdout, l_stderr, o_stderr, p_name, init) \
      +
      50 sirinit var = {0}; \
      +
      51 var.d_stdout.opts = (o_stdout) > 0 ? (o_stdout) : SIRO_DEFAULT; \
      +
      52 var.d_stdout.levels = (l_stdout); \
      +
      53 var.d_stderr.opts = (o_stderr) > 0 ? (o_stderr) : SIRO_DEFAULT; \
      +
      54 var.d_stderr.levels = (l_stderr); \
      +
      55 if (_sir_validstrnofail(p_name)) \
      +
      56 _sir_strncpy(var.name, SIR_MAXNAME, (p_name), SIR_MAXNAME); \
      +
      57 bool var##_init = false; \
      +
      58 if (init) \
      +
      59 var##_init = sir_init(&var); \
      +
      60 else \
      +
      61 (void)var##_init
      +
      62
      +
      63# define INIT_N(var, l_stdout, o_stdout, l_stderr, o_stderr, name) \
      +
      64 INIT_BASE(var, l_stdout, o_stdout, l_stderr, o_stderr, name, true)
      65
      -
      66# define INIT_N(var, l_stdout, o_stdout, l_stderr, o_stderr, name) \
      -
      67 INIT_BASE(var, l_stdout, o_stdout, l_stderr, o_stderr, name, true)
      +
      66# define INIT_SL(var, l_stdout, o_stdout, l_stderr, o_stderr, name) \
      +
      67 INIT_BASE(var, l_stdout, o_stdout, l_stderr, o_stderr, name, false)
      68
      -
      69# define INIT_SL(var, l_stdout, o_stdout, l_stderr, o_stderr, name) \
      -
      70 INIT_BASE(var, l_stdout, o_stdout, l_stderr, o_stderr, name, false)
      +
      69# define INIT(var, l_stdout, o_stdout, l_stderr, o_stderr) \
      +
      70 INIT_N(var, l_stdout, o_stdout, l_stderr, o_stderr, "")
      71
      -
      72# define INIT(var, l_stdout, o_stdout, l_stderr, o_stderr) \
      -
      73 INIT_N(var, l_stdout, o_stdout, l_stderr, o_stderr, "")
      -
      74
      -
      75# define MAKE_LOG_NAME(name) "logs/" name
      -
      76
      -
      77# define TEST_S(n) ((n) > 1 ? ("test" "s") : "test")
      -
      78# define PRN_STR(str) ((str) ? (str) : RED("NULL"))
      -
      79# define PRN_PASS(pass) ((pass) ? GREENB("PASS") : REDB("FAIL"))
      -
      80# define INDENT_ITEM "\t " SIR_BULLET " "
      -
      81
      -
      82# define SIR_MAXTESTNAME 32
      -
      83# define SIR_MAXCLIFLAG 32
      -
      84# define SIR_MAXUSAGE 256
      -
      85
      -
      86# define SIR_TESTLOGDIR "./logs/"
      -
      87
      -
      101bool sirtest_threadrace(void);
      -
      102
      -
      107bool sirtest_exceedmaxsize(void);
      -
      108
      -
      113bool sirtest_failnooutputdest(void);
      -
      114
      -
      119bool sirtest_failnulls(void);
      -
      120
      -
      125bool sirtest_failemptymessage(void);
      -
      126
      -
      131bool sirtest_filecachesanity(void);
      -
      132
      - -
      138
      - -
      144
      -
      149bool sirtest_faildupefile(void);
      -
      150
      - -
      156
      - -
      162
      -
      167bool sirtest_failwithoutinit(void);
      -
      168
      -
      173bool sirtest_failinittwice(void);
      -
      174
      - -
      180
      -
      185bool sirtest_initcleanupinit(void);
      -
      186
      -
      191bool sirtest_initmakeinit(void);
      -
      192
      -
      197bool sirtest_failaftercleanup(void);
      -
      198
      -
      203bool sirtest_errorsanity(void);
      -
      204
      -
      209bool sirtest_textstylesanity(void);
      -
      210
      -
      215bool sirtest_optionssanity(void);
      -
      216
      -
      221bool sirtest_levelssanity(void);
      -
      222
      -
      227bool sirtest_mutexsanity(void);
      -
      228
      -
      233bool sirtest_perf(void);
      -
      234
      -
      239bool sirtest_updatesanity(void);
      -
      240
      -
      246bool sirtest_syslog(void);
      -
      247
      -
      253bool sirtest_os_log(void);
      -
      254
      -
      259char* sirtest_get_wineversion(void);
      -
      260
      -
      265bool sirtest_filesystem(void);
      -
      266
      -
      272bool sirtest_squelchspam(void);
      -
      273
      -
      279bool sirtest_pluginloader(void);
      -
      280
      -
      285bool sirtest_getversioninfo(void);
      -
      286
      -
      292bool sirtest_threadpool(void);
      -
      293
      -
      301/*
      -
      302 * Error macros and functions
      -
      303 */
      -
      304
      -
      305bool print_test_error(bool result, bool expected);
      -
      306# define print_expected_error() print_test_error(true, true)
      -
      307# define print_result_and_return(pass) print_test_error(pass, false)
      -
      308
      -
      309bool print_os_error(void);
      -
      310bool filter_error(bool pass, uint16_t err);
      -
      311
      -
      312# if !defined(__WIN__)
      -
      313# define handle_os_error(clib, fmt, ...) \
      -
      314 (void)clib; \
      -
      315 (void)_sir_handleerr(errno); \
      -
      316 fprintf(stderr, "\t" RED(fmt) ":\n", __VA_ARGS__); \
      -
      317 print_os_error();
      -
      318# else /* __WIN__ */
      -
      319# define handle_os_error(clib, fmt, ...) \
      -
      320 clib ? (void)_sir_handleerr(errno) : (void)_sir_handlewin32err(GetLastError()); \
      -
      321 fprintf(stderr, "\t" RED(fmt) ":\n", __VA_ARGS__); \
      -
      322 print_os_error();
      -
      323# endif
      -
      324
      -
      325/*
      -
      326 * Utility functions, macros, and types
      -
      327 */
      -
      328
      -
      330typedef bool (*sir_test_fn)(void);
      -
      331
      -
      336typedef struct {
      -
      337 const char* name;
      -
      338 sir_test_fn fn;
      -
      339 bool run;
      -
      340 bool pass;
      -
      341} sir_test;
      -
      342
      -
      344typedef struct {
      -
      345# if !defined(__WIN__) || defined(__ORANGEC__)
      -
      346 struct timespec ts;
      -
      347# else /* __WIN__ */
      -
      348 FILETIME ft;
      -
      349# endif
      -
      350} sir_timer;
      +
      72# define MAKE_LOG_NAME(name) "logs/" name
      +
      73
      +
      74# define TEST_S(n) ((n) > 1 ? ("test" "s") : "test")
      +
      75# define PRN_STR(str) ((str) ? (str) : RED("NULL"))
      +
      76# define PRN_PASS(pass) ((pass) ? GREENB("PASS") : REDB("FAIL"))
      +
      77# define INDENT_ITEM "\t " SIR_BULLET " "
      +
      78
      +
      79# define SIR_MAXTESTNAME 32
      +
      80# define SIR_MAXCLIFLAG 32
      +
      81# define SIR_MAXUSAGE 256
      +
      82
      +
      83# define SIR_TESTLOGDIR "./logs/"
      +
      84
      +
      98bool sirtest_threadrace(void);
      +
      99
      +
      104bool sirtest_exceedmaxsize(void);
      +
      105
      +
      110bool sirtest_logwritesanity(void);
      +
      111
      +
      116bool sirtest_failnooutputdest(void);
      +
      117
      +
      122bool sirtest_failnulls(void);
      +
      123
      +
      128bool sirtest_failemptymessage(void);
      +
      129
      +
      134bool sirtest_filecachesanity(void);
      +
      135
      + +
      141
      + +
      147
      +
      152bool sirtest_faildupefile(void);
      +
      153
      + +
      159
      + +
      165
      +
      170bool sirtest_failwithoutinit(void);
      +
      171
      +
      176bool sirtest_failinittwice(void);
      +
      177
      + +
      183
      +
      188bool sirtest_initcleanupinit(void);
      +
      189
      +
      194bool sirtest_initmakeinit(void);
      +
      195
      +
      200bool sirtest_failaftercleanup(void);
      +
      201
      +
      206bool sirtest_errorsanity(void);
      +
      207
      +
      212bool sirtest_textstylesanity(void);
      +
      213
      +
      218bool sirtest_optionssanity(void);
      +
      219
      +
      224bool sirtest_levelssanity(void);
      +
      225
      +
      230bool sirtest_mutexsanity(void);
      +
      231
      +
      236bool sirtest_perf(void);
      +
      237
      +
      242bool sirtest_updatesanity(void);
      +
      243
      +
      248bool sirtest_threadidsanity(void);
      +
      249
      +
      255bool sirtest_syslog(void);
      +
      256
      +
      262bool sirtest_os_log(void);
      +
      263
      +
      268char* sirtest_get_wineversion(void);
      +
      269
      +
      274bool sirtest_filesystem(void);
      +
      275
      +
      281bool sirtest_squelchspam(void);
      +
      282
      +
      288bool sirtest_pluginloader(void);
      +
      289
      +
      294bool sirtest_getversioninfo(void);
      +
      295
      +
      301bool sirtest_threadpool(void);
      +
      302
      +
      310/*
      +
      311 * Error macros and functions
      +
      312 */
      +
      313
      +
      314bool print_test_error(bool result, bool expected);
      +
      315# define print_expected_error() print_test_error(true, true)
      +
      316# define print_result_and_return(pass) print_test_error(pass, false)
      +
      317
      +
      318bool print_os_error(void);
      +
      319bool filter_error(bool pass, uint16_t err);
      +
      320
      +
      321# if !defined(__WIN__)
      +
      322# define handle_os_error(clib, fmt, ...) \
      +
      323 (void)clib; \
      +
      324 (void)_sir_handleerr(errno); \
      +
      325 (void)fprintf(stderr, "\t" RED(fmt) ":\n", __VA_ARGS__); \
      +
      326 print_os_error()
      +
      327# else /* __WIN__ */
      +
      328# define handle_os_error(clib, fmt, ...) \
      +
      329 clib ? (void)_sir_handleerr(errno) : (void)_sir_handlewin32err(GetLastError()); \
      +
      330 (void)fprintf(stderr, "\t" RED(fmt) ":\n", __VA_ARGS__); \
      +
      331 print_os_error()
      +
      332# endif
      +
      333
      +
      334/*
      +
      335 * Utility functions, macros, and types
      +
      336 */
      +
      337
      +
      339typedef bool (*sir_test_fn)(void);
      +
      340
      +
      345typedef struct {
      +
      346 const char* name;
      +
      347 sir_test_fn fn;
      +
      348 bool run;
      +
      349 bool pass;
      +
      350} sir_test;
      351
      353typedef struct {
      354 char log_file[SIR_MAXPATH];
      @@ -321,88 +314,100 @@
      364 return ((!upper_bound) ? true : getrand(upper_bound) % 2 == 0);
      365}
      366
      -
      368# define PRINT_PASS(pass, msg, ...) \
      -
      369 if (pass) \
      -
      370 printf(GREEN(msg), __VA_ARGS__); \
      -
      371 else \
      -
      372 printf(RED(msg), __VA_ARGS__);
      -
      373
      -
      374bool rmfile(const char* filename);
      -
      375void deletefiles(const char* search, const char* path, const char* filename, unsigned* data);
      -
      376void countfiles(const char* search, const char* path, const char* filename, unsigned* data);
      -
      377
      -
      378typedef void (*fileenumproc)(const char* search, const char* path, const char* filename,
      -
      379 unsigned* data);
      -
      380bool enumfiles(const char* path, const char* search, fileenumproc cb, unsigned* data);
      -
      381
      -
      382bool sirtimerstart(sir_timer* timer);
      -
      383float sirtimerelapsed(const sir_timer* timer); /* msec */
      -
      384long sirtimergetres(void); /* nsec */
      -
      385
      -
      386# if defined(SIR_OS_LOG_ENABLED)
      -
      387void os_log_parent_activity(void* ctx);
      -
      388void os_log_child_activity(void* ctx);
      -
      389# endif
      -
      390
      -
      391static const struct cl_arg {
      -
      392 const char* flag;
      -
      393 const char* usage;
      -
      394 const char* desc;
      -
      395 } _cl_arg_list[] = {
      -
      396 {"--perf", "", "Runs only the performance measurement test."},
      -
      397 {"--only", "" ULINE("name") " [, " ULINE("name") ", ...]", "Only run the test(s) specified."},
      -
      398 {"--list", "", "Prints a list of available test names for use with '" BOLD("--only") "'."},
      -
      399 {"--leave-logs", "", "Log files are not deleted so that they may be examined."},
      -
      400 {"--wait", "", "After running test(s), waits for a keypress before exiting."},
      -
      401 {"--version", "", "Prints the version of libsir that the test suite was built with."},
      -
      402 {"--help", "", "Shows this message."},
      -
      403 };
      -
      404
      -
      405bool mark_test_to_run(const char* name);
      -
      406
      -
      407void print_usage_info(void);
      -
      408void print_test_list(void);
      -
      409void print_libsir_version(void);
      -
      410
      -
      411#endif /* !_SIR_TESTS_H_INCLUDED */
      +
      368# define PRINT_PASS(pass, msg, ...) \
      +
      369 printf(pass ? GREEN(msg) : RED(msg), __VA_ARGS__)
      +
      370
      +
      371bool rmfile(const char* filename);
      +
      372void deletefiles(const char* search, const char* path, const char* filename, unsigned* data);
      +
      373void countfiles(const char* search, const char* path, const char* filename, unsigned* data);
      +
      374
      +
      375typedef void (*fileenumproc)(const char* search, const char* path, const char* filename,
      +
      376 unsigned* data);
      +
      377bool enumfiles(const char* path, const char* search, fileenumproc cb, unsigned* data);
      +
      378
      +
      379static inline
      +
      380void sir_timer_start(sir_time* timer) {
      +
      381 (void)_sir_msec_since(NULL, timer);
      +
      382}
      +
      383
      +
      384double sir_timer_elapsed(const sir_time* timer); /* msec */
      +
      385long sir_timer_getres(void); /* nsec */
      +
      386
      +
      387void sir_sleep_msec(uint32_t msec);
      +
      388size_t sir_readline(FILE* f, char* buf, size_t size);
      +
      389
      +
      390# if defined(SIR_OS_LOG_ENABLED)
      +
      391void os_log_parent_activity(void* ctx);
      +
      392void os_log_child_activity(void* ctx);
      +
      393# endif
      +
      394
      +
      396typedef struct {
      +
      397 const char* flag;
      +
      398 const char* usage;
      +
      399 const char* desc;
      +
      400} sir_cl_arg;
      +
      401
      +
      403static const sir_cl_arg _cl_arg_list[] = {
      +
      404 {"--perf", "", "Only run the performance measurement test"},
      +
      405 {"--only", "" ULINE("name") " [, " ULINE("name") ", ...]", "Only run the test(s) specified"},
      +
      406 {"--list", "", "Prints a list of available test names for use with '" BOLD("--only") "'"},
      +
      407 {"--leave-logs", "", "Log files are not deleted so that they may be examined"},
      +
      408 {"--wait", "", "After running test(s), waits for a keypress before exiting"},
      +
      409 {"--version", "", "Prints the version of libsir that the test suite was built with"},
      +
      410 {"--help", "", "Shows this message"},
      +
      411};
      +
      412
      +
      413bool mark_test_to_run(const char* name);
      +
      414
      +
      415void print_usage_info(void);
      +
      416void print_test_list(void);
      +
      417void print_libsir_version(void);
      +
      418
      +
      419#endif /* !_SIR_TESTS_H_INCLUDED */
      ANSI escape sequence macros.
      #define BOLD(s)
      Bold.
      Definition ansimacros.h:76
      #define ULINE(s)
      Underlined.
      Definition ansimacros.h:72
      -
      bool sirtest_textstylesanity(void)
      Definition tests.c:718
      -
      bool sirtest_rollandarchivefile(void)
      Definition tests.c:506
      -
      bool sirtest_pluginloader(void)
      Definition tests.c:1791
      -
      bool sirtest_errorsanity(void)
      Definition tests.c:671
      -
      bool sirtest_failinvalidinitdata(void)
      Definition tests.c:614
      -
      bool sirtest_faildupefile(void)
      Definition tests.c:423
      -
      bool sirtest_squelchspam(void)
      Definition tests.c:1723
      -
      bool sirtest_getversioninfo(void)
      Definition tests.c:1922
      -
      bool sirtest_levelssanity(void)
      Definition tests.c:939
      -
      bool sirtest_filecachesanity(void)
      Definition tests.c:309
      -
      bool sirtest_failwithoutinit(void)
      Definition tests.c:591
      -
      bool sirtest_os_log(void)
      Definition tests.c:1429
      -
      bool sirtest_perf(void)
      Definition tests.c:1091
      -
      bool sirtest_failremovebadfile(void)
      Definition tests.c:492
      -
      char * sirtest_get_wineversion(void)
      Definition tests.c:1439
      -
      bool sirtest_mutexsanity(void)
      Definition tests.c:1033
      -
      bool sirtest_failinvalidfilename(void)
      Definition tests.c:382
      -
      bool sirtest_syslog(void)
      Definition tests.c:1414
      -
      bool sirtest_failfilebadpermission(void)
      Definition tests.c:395
      -
      bool sirtest_exceedmaxsize(void)
      Definition tests.c:225
      -
      bool sirtest_failnooutputdest(void)
      Definition tests.c:239
      -
      bool sirtest_threadpool(void)
      Definition tests.c:1959
      -
      bool sirtest_initcleanupinit(void)
      Definition tests.c:630
      -
      bool sirtest_filesystem(void)
      Definition tests.c:1459
      -
      bool sirtest_initmakeinit(void)
      Definition tests.c:646
      -
      bool sirtest_failaftercleanup(void)
      Definition tests.c:658
      -
      bool sirtest_optionssanity(void)
      Definition tests.c:834
      -
      bool sirtest_threadrace(void)
      Definition tests.c:2001
      -
      bool sirtest_failnulls(void)
      Definition tests.c:270
      -
      bool sirtest_updatesanity(void)
      Definition tests.c:1182
      -
      bool sirtest_failinittwice(void)
      Definition tests.c:600
      -
      bool sirtest_failemptymessage(void)
      Definition tests.c:299
      +
      bool sirtest_textstylesanity(void)
      Definition tests.c:850
      +
      bool sirtest_rollandarchivefile(void)
      Definition tests.c:628
      +
      bool sirtest_pluginloader(void)
      Definition tests.c:1940
      +
      bool sirtest_errorsanity(void)
      Definition tests.c:803
      +
      bool sirtest_failinvalidinitdata(void)
      Definition tests.c:746
      +
      bool sirtest_faildupefile(void)
      Definition tests.c:545
      +
      bool sirtest_squelchspam(void)
      Definition tests.c:1872
      +
      bool sirtest_getversioninfo(void)
      Definition tests.c:2070
      +
      bool sirtest_levelssanity(void)
      Definition tests.c:1074
      +
      bool sirtest_filecachesanity(void)
      Definition tests.c:430
      +
      bool sirtest_failwithoutinit(void)
      Definition tests.c:723
      +
      bool sirtest_os_log(void)
      Definition tests.c:1578
      +
      bool sirtest_perf(void)
      Definition tests.c:1226
      +
      bool sirtest_failremovebadfile(void)
      Definition tests.c:614
      +
      char * sirtest_get_wineversion(void)
      Definition tests.c:1588
      +
      bool sirtest_mutexsanity(void)
      Definition tests.c:1168
      +
      bool sirtest_failinvalidfilename(void)
      Definition tests.c:504
      +
      bool sirtest_syslog(void)
      Definition tests.c:1563
      +
      bool sirtest_failfilebadpermission(void)
      Definition tests.c:517
      +
      bool sirtest_exceedmaxsize(void)
      Definition tests.c:201
      +
      bool sirtest_failnooutputdest(void)
      Definition tests.c:360
      +
      bool sirtest_threadpool(void)
      Definition tests.c:2110
      +
      bool sirtest_initcleanupinit(void)
      Definition tests.c:762
      +
      bool sirtest_filesystem(void)
      Definition tests.c:1608
      +
      bool sirtest_initmakeinit(void)
      Definition tests.c:778
      +
      bool sirtest_failaftercleanup(void)
      Definition tests.c:790
      +
      bool sirtest_optionssanity(void)
      Definition tests.c:970
      +
      bool sirtest_threadrace(void)
      Definition tests.c:2152
      +
      bool sirtest_logwritesanity(void)
      Definition tests.c:215
      +
      bool sirtest_failnulls(void)
      Definition tests.c:391
      +
      bool sirtest_updatesanity(void)
      Definition tests.c:1328
      +
      bool sirtest_failinittwice(void)
      Definition tests.c:732
      +
      bool sirtest_failemptymessage(void)
      Definition tests.c:420
      +
      bool sirtest_threadidsanity(void)
      Definition tests.c:275
      Public interface to libsir.
      -
      Map a test to a human-readable description.
      Definition tests.h:336
      -
      A simple timer type.
      Definition tests.h:344
      +
      A command line argument.
      Definition tests.h:396
      +
      const char * desc
      Description (e.g.
      Definition tests.h:399
      +
      const char * usage
      Usage info (e.g.
      Definition tests.h:398
      +
      const char * flag
      The 'flag' (e.g.
      Definition tests.h:397
      +
      Map a test to a human-readable description.
      Definition tests.h:345
      +
      Internally-used time value type.
      Definition types.h:251
      Arguments passed to worker threads.
      Definition tests.h:353
      diff --git a/docs/tests__malloc_8h_source.html b/docs/tests__malloc_8h_source.html new file mode 100644 index 000000000..38ce08162 --- /dev/null +++ b/docs/tests__malloc_8h_source.html @@ -0,0 +1,213 @@ + + + + + + + + + + +libsir: The Standard Incident Reporter Library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      libsir 2.2.3 +
      +
      Standard Incident Reporter
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      +
      + +
      +
      tests_malloc.h
      +
      +
      +
      1/*
      +
      2 * tests_malloc.h
      +
      3 *
      +
      4 * Author: Ryan M. Lederman <lederman@gmail.com>
      +
      5 * Copyright: Copyright (c) 2018-2023
      +
      6 * Version: 2.2.3
      +
      7 * License: The MIT License (MIT)
      +
      8 *
      +
      9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
      +
      10 * this software and associated documentation files (the "Software"), to deal in
      +
      11 * the Software without restriction, including without limitation the rights to
      +
      12 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
      +
      13 * the Software, and to permit persons to whom the Software is furnished to do so,
      +
      14 * subject to the following conditions:
      +
      15 *
      +
      16 * The above copyright notice and this permission notice shall be included in all
      +
      17 * copies or substantial portions of the Software.
      +
      18 *
      +
      19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      +
      20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
      +
      21 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
      +
      22 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
      +
      23 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
      +
      24 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      +
      25 */
      +
      26#ifndef _SIR_TESTS_MALLOC_H_INCLUDED
      +
      27# define _SIR_TESTS_MALLOC_H_INCLUDED
      +
      28
      +
      29# if defined(MTMALLOC)
      +
      30# include <mtmalloc.h>
      +
      31# if !defined(DEBUG)
      +
      32mallocctl(MTDOUBLEFREE, 0);
      +
      33# else
      +
      34mallocctl(MTDOUBLEFREE, 1);
      +
      35mallocctl(MTINITBUFFER, 1);
      +
      36mallocctl(MTDEBUGPATTERN, 1);
      +
      37# endif
      +
      38# endif
      +
      39
      +
      40# if defined(__OpenBSD__) && defined(DEBUG)
      +
      41extern char *malloc_options;
      +
      42malloc_options = "CFGRSU";
      +
      43# endif
      +
      44
      +
      45# if !defined(DEBUG_MALLOC_FILL_BYTE)
      +
      46# define DEBUG_MALLOC_FILL_BYTE 0x2E
      +
      47# endif
      +
      48
      +
      49# if defined(DUMA)
      +
      50# if defined(DUMA_EXPLICIT_INIT)
      +
      51duma_init();
      +
      52# endif
      +
      53# if defined(DUMA_MIN_ALIGNMENT)
      +
      54# if DUMA_MIN_ALIGNMENT > 0
      +
      55DUMA_SET_ALIGNMENT(DUMA_MIN_ALIGNMENT);
      +
      56# endif
      +
      57# endif
      +
      58DUMA_SET_FILL(DEBUG_MALLOC_FILL_BYTE);
      +
      59# endif
      +
      60
      +
      61# if defined(DEBUG)
      +
      62# if defined(__GLIBC__)
      +
      63# if !defined(_GNU_SOURCE)
      +
      64# define _GNU_SOURCE 1
      +
      65# endif
      +
      66# if !defined(DUMA)
      +
      67# include <malloc.h>
      +
      68# endif
      +
      69# if GLIBC_VERSION >= 20400 && defined(M_PERTURB)
      +
      70mallopt(M_PERTURB, DEBUG_MALLOC_FILL_BYTE);
      +
      71# endif
      +
      72# if defined(M_CHECK_ACTION)
      +
      73mallopt(M_CHECK_ACTION, 3);
      +
      74# endif
      +
      75# endif
      +
      76# endif
      +
      77
      +
      78# if defined(__WIN__) && defined(DEBUG) && defined(_DEBUG)
      +
      79# if defined(_CRTDBG_CHECK_ALWAYS_DF) && \
      +
      80 defined(_CRTDBG_DELAY_FREE_MEM_DF) && \
      +
      81 defined(_CRTDBG_LEAK_CHECK_DF)
      +
      82_CrtSetDbgFlag(_CRTDBG_CHECK_ALWAYS_DF | _CRTDBG_DELAY_FREE_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
      +
      83# endif
      +
      84# endif
      +
      85
      +
      86#endif /* !_SIR_TESTS_MALLOC_H_INCLUDED */
      +
      +
      + + + + + diff --git a/docs/textstyle_8h_source.html b/docs/textstyle_8h_source.html index 6c7456510..231adc68a 100644 --- a/docs/textstyle_8h_source.html +++ b/docs/textstyle_8h_source.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -118,7 +118,7 @@
      3 *
      4 * Author: Ryan M. Lederman <lederman@gmail.com>
      5 * Copyright: Copyright (c) 2018-2023
      -
      6 * Version: 2.2.2
      +
      6 * Version: 2.2.3
      7 * License: The MIT License (MIT)
      8 *
      9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
      @@ -145,11 +145,11 @@
      30
      31extern sir_text_style_data sir_text_style_section;
      32
      -
      34const char* _sir_gettextstyle(sir_level level);
      +
      34const char* _sir_gettextstyle(sir_level level);
      35
      -
      37bool _sir_settextstyle(sir_level level, sir_textstyle* style);
      +
      37bool _sir_settextstyle(sir_level level, const sir_textstyle* style);
      38
      -
      40const sir_textstyle* _sir_getdefstyle(sir_level level);
      +
      40const sir_textstyle* _sir_getdefstyle(sir_level level);
      41
      43bool _sir_resettextstyles(void);
      44
      @@ -161,11 +161,11 @@
      53bool _sir_setcolormode(sir_colormode mode);
      54
      55#endif /* !_SIR_TEXTSTYLE_H_INCLUDED */
      -
      #define SIR_MAXSTYLE
      The size, in characters, of the buffer used to hold a sequence of styling data in any color mode (the...
      Definition config.h:280
      -
      sir_colormode
      Color mode selection.
      Definition types.h:84
      -
      sir_level
      Defines the available levels (severity/priority) of logging output.
      Definition types.h:48
      +
      #define SIR_MAXSTYLE
      The size, in characters, of the buffer used to hold a sequence of styling data in any color mode (the...
      Definition config.h:277
      +
      uint16_t sir_level
      The sir_level type.
      Definition types.h:61
      +
      sir_colormode
      Color mode selection.
      Definition types.h:86
      Container for all the information associated with the appearance of text in the context of stdio.
      Definition types.h:139
      -
      Container for text style related data that is mutex protected.
      Definition types.h:389
      +
      Container for text style related data that is mutex protected.
      Definition types.h:409
      diff --git a/docs/threadpool_8h_source.html b/docs/threadpool_8h_source.html index ceff2c14f..a84826f4d 100644 --- a/docs/threadpool_8h_source.html +++ b/docs/threadpool_8h_source.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -118,7 +118,7 @@
      3 *
      4 * Author: Ryan M. Lederman <lederman@gmail.com>
      5 * Copyright: Copyright (c) 2018-2023
      -
      6 * Version: 2.2.2
      +
      6 * Version: 2.2.3
      7 * License: The MIT License (MIT)
      8 *
      9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
      @@ -143,13 +143,15 @@
      28
      29# include "sir/types.h"
      30
      -
      31bool _sir_threadpool_create(sir_threadpool** pool, size_t num);
      -
      32bool _sir_threadpool_add_job(sir_threadpool* pool, sir_threadpool_job* job);
      -
      33bool _sir_threadpool_destroy(sir_threadpool** pool);
      -
      34
      -
      35#endif /* !_SIR_THREADPOOL_H_INCLUDED */
      -
      Job used by a job queue.
      Definition types.h:351
      -
      Thread pool/job queue data container.
      Definition types.h:357
      +
      31# define SIR_THREADPOOL_MAX_THREADS 386
      +
      32
      +
      33bool _sir_threadpool_create(sir_threadpool** pool, size_t num);
      +
      34bool _sir_threadpool_add_job(sir_threadpool* pool, sir_threadpool_job* job);
      +
      35bool _sir_threadpool_destroy(sir_threadpool** pool);
      +
      36
      +
      37#endif /* !_SIR_THREADPOOL_H_INCLUDED */
      +
      Job used by a job queue.
      Definition types.h:371
      +
      Thread pool/job queue data container.
      Definition types.h:377
      diff --git a/docs/types_8h_source.html b/docs/types_8h_source.html index 111e0da62..d9fd4e459 100644 --- a/docs/types_8h_source.html +++ b/docs/types_8h_source.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -118,7 +118,7 @@
      3 *
      4 * Author: Ryan M. Lederman <lederman@gmail.com>
      5 * Copyright: Copyright (c) 2018-2023
      -
      6 * Version: 2.2.2
      +
      6 * Version: 2.2.3
      7 * License: The MIT License (MIT)
      8 *
      9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
      @@ -149,78 +149,74 @@
      43
      45typedef uint32_t sirpluginid;
      46
      -
      48typedef enum {
      -
      49 SIRL_NONE = 0x0000,
      -
      50 SIRL_EMERG = 0x0001,
      -
      51 SIRL_ALERT = 0x0002,
      -
      52 SIRL_CRIT = 0x0004,
      -
      53 SIRL_ERROR = 0x0008,
      -
      54 SIRL_WARN = 0x0010,
      -
      55 SIRL_NOTICE = 0x0020,
      -
      56 SIRL_INFO = 0x0040,
      -
      57 SIRL_DEBUG = 0x0080,
      -
      58 SIRL_ALL = 0x00ff,
      -
      59 SIRL_DEFAULT = 0x0100
      - -
      61
      -
      63typedef uint16_t sir_levels;
      -
      64
      -
      66typedef enum {
      -
      67 SIRO_ALL = 0x00000000,
      -
      68 SIRO_NOTIME = 0x00000100,
      -
      69 SIRO_NOMSEC = 0x00000200,
      -
      70 SIRO_NOHOST = 0x00000400,
      -
      71 SIRO_NOLEVEL = 0x00000800,
      -
      72 SIRO_NONAME = 0x00001000,
      -
      73 SIRO_NOPID = 0x00002000,
      -
      74 SIRO_NOTID = 0x00004000,
      -
      75 SIRO_NOHDR = 0x00010000,
      -
      76 SIRO_MSGONLY = 0x00007f00,
      -
      77 SIRO_DEFAULT = 0x00100000
      - -
      79
      -
      81typedef uint32_t sir_options;
      -
      82
      -
      84typedef enum {
      - - - -
      88 SIRCM_INVALID = 3
      - -
      90
      -
      92typedef enum {
      -
      93 /* attributes. */
      - - - - - - -
      100
      -
      102enum {
      -
      103 /* 4-bit (16-color). */
      - - - - - - - - - - - - - - - - -
      120 /* 8-bit (256-color) and 24-bit (RGB color) modes:
      -
      121 * use the numeric representation (16..255) instead of an enum.
      -
      122 * these colors do not have defined names like the above. */
      - -
      124 SIRTC_INVALID = 257
      - +
      48# define SIRL_NONE 0x0000U
      +
      49# define SIRL_EMERG 0x0001U
      +
      50# define SIRL_ALERT 0x0002U
      +
      51# define SIRL_CRIT 0x0004U
      +
      52# define SIRL_ERROR 0x0008U
      +
      53# define SIRL_WARN 0x0010U
      +
      54# define SIRL_NOTICE 0x0020U
      +
      55# define SIRL_INFO 0x0040U
      +
      56# define SIRL_DEBUG 0x0080U
      +
      57# define SIRL_ALL 0x00ffU
      +
      58# define SIRL_DEFAULT 0x0100U
      +
      61typedef uint16_t sir_level;
      +
      62
      +
      64typedef uint16_t sir_levels;
      +
      65
      +
      67# define SIRO_ALL 0x00000000U
      +
      68# define SIRO_NOTIME 0x00000100U
      +
      69# define SIRO_NOMSEC 0x00000200U
      +
      70# define SIRO_NOHOST 0x00000400U
      +
      71# define SIRO_NOLEVEL 0x00000800U
      +
      72# define SIRO_NONAME 0x00001000U
      +
      73# define SIRO_NOPID 0x00002000U
      +
      74# define SIRO_NOTID 0x00004000U
      +
      75# define SIRO_NOHDR 0x00010000U
      +
      76# define SIRO_MSGONLY 0x00007f00U
      +
      77# define SIRO_DEFAULT 0x00100000U
      +
      80typedef uint32_t sir_option;
      +
      81
      +
      83typedef uint32_t sir_options;
      +
      84
      +
      86typedef enum {
      + + + +
      90 SIRCM_INVALID = 3
      + +
      92
      +
      94typedef enum {
      + + + + + + +
      101
      +
      103enum {
      +
      104 /* 4-bit (16-color). */
      + + + + + + + + + + + + + + + + +
      121 /* 8-bit (256-color) and 24-bit (RGB color) modes:
      +
      122 * use the numeric representation (16..255) instead of an enum.
      +
      123 * these colors do not have defined names like the above. */
      +
      124 SIRTC_DEFAULT = 256
      +
      126
      128typedef uint32_t sir_textcolor;
      129
      @@ -254,214 +250,220 @@ -
      226 char name[SIR_MAXNAME];
      -
      227} sirinit;
      -
      228
      -
      235# define _SIR_MAGIC 0x60906090
      -
      236
      -
      237# if defined(__WIN__)
      -
      238typedef void (*invalparamfn)(const wchar_t*, const wchar_t*, const wchar_t*,
      -
      239 unsigned int, uintptr_t);
      -
      240# endif
      -
      241
      -
      243typedef struct {
      -
      244 sirinit si;
      -
      245 struct {
      -
      246 char hostname[SIR_MAXHOST];
      -
      247 time_t last_hname_chk;
      -
      248 char pidbuf[SIR_MAXPID];
      -
      249 pid_t pid;
      -
      250
      -
      252 struct {
      -
      253 bool squelch;
      -
      254 uint64_t hash;
      -
      255 char prefix[2];
      -
      256 size_t counter;
      -
      257 size_t threshold;
      -
      258 } last;
      -
      259 } state;
      -
      260} sirconfig;
      -
      261
      -
      263typedef struct {
      -
      264 uint32_t code;
      -
      265 const char* const message;
      -
      266} sirerror;
      -
      267
      -
      269typedef struct {
      -
      270 const char* path;
      -
      271 sir_levels levels;
      -
      272 sir_options opts;
      -
      273 FILE* f;
      -
      274 sirfileid id;
      -
      275} sirfile;
      -
      276
      -
      278typedef struct {
      -
      279 sirfile* files[SIR_MAXFILES];
      -
      280 size_t count;
      -
      281} sirfcache;
      -
      282
      -
      284typedef struct {
      -
      285 uint8_t iface_ver;
      -
      286 uint8_t maj_ver;
      -
      287 uint8_t min_ver;
      -
      288 uint8_t bld_ver;
      - - -
      291 const char* author;
      -
      292 const char* desc;
      -
      293 uint64_t caps;
      - -
      295
      -
      297# define SIR_PLUGIN_V1 1
      -
      298# define SIR_PLUGIN_VCURRENT SIR_PLUGIN_V1
      -
      299
      -
      301# define SIR_PLUGIN_EXPORT_QUERY "sir_plugin_query"
      -
      302# define SIR_PLUGIN_EXPORT_INIT "sir_plugin_init"
      -
      303# define SIR_PLUGIN_EXPORT_WRITE "sir_plugin_write"
      -
      304# define SIR_PLUGIN_EXPORT_CLEANUP "sir_plugin_cleanup"
      -
      305
      -
      307typedef bool (*sir_plugin_queryfn)(sir_plugininfo*);
      -
      308typedef bool (*sir_plugin_initfn)(void);
      -
      309typedef bool (*sir_plugin_writefn)(sir_level, const char*);
      -
      310typedef bool (*sir_plugin_cleanupfn)(void);
      -
      311
      -
      313typedef struct {
      -
      314 sir_plugin_queryfn query;
      -
      315 sir_plugin_initfn init;
      -
      316 sir_plugin_writefn write;
      -
      317 sir_plugin_cleanupfn cleanup;
      - +
      223 char name[SIR_MAXNAME];
      +
      224} sirinit;
      +
      225
      +
      232# define _SIR_MAGIC 0x60906090U
      +
      233
      +
      235# define SIRSL_IS_OPEN 0x00000001U
      +
      236# define SIRSL_LEVELS 0x00000002U
      +
      237# define SIRSL_OPTIONS 0x00000004U
      +
      238# define SIRSL_CATEGORY 0x00000008U
      +
      239# define SIRSL_IDENTITY 0x00000010U
      +
      240# define SIRSL_UPDATED 0x00000020U
      +
      241# define SIRSL_IS_INIT 0x00000040U
      +
      243# if defined(__WIN__)
      +
      246typedef void (*invalparamfn)(const wchar_t*, const wchar_t*, const wchar_t*,
      +
      247 unsigned int, uintptr_t);
      +
      248# endif
      +
      249
      +
      251typedef struct {
      +
      252# if !defined(__WIN__)
      +
      253 time_t sec;
      +
      254 long msec;
      +
      255# else /* __WIN__ */
      +
      256 LARGE_INTEGER counter;
      +
      257# endif
      +
      258} sir_time;
      +
      259
      +
      261typedef struct {
      +
      262 sirinit si;
      +
      263 struct {
      +
      264 char hostname[SIR_MAXHOST];
      +
      265 time_t last_hname_chk;
      +
      266 char pidbuf[SIR_MAXPID];
      +
      267 pid_t pid;
      +
      268 char timestamp[SIR_MAXTIME];
      +
      269
      +
      271 struct {
      +
      272 bool squelch;
      +
      273 uint64_t hash;
      +
      274 char prefix[2];
      +
      275 size_t counter;
      +
      276 size_t threshold;
      +
      277 } last;
      +
      278 } state;
      +
      279} sirconfig;
      +
      280
      +
      282typedef struct {
      +
      283 uint32_t code;
      +
      284 const char* const message;
      +
      285} sirerror;
      +
      286
      +
      288typedef struct {
      +
      289 const char* path;
      +
      290 sir_levels levels;
      +
      291 sir_options opts;
      +
      292 FILE* f;
      +
      293 sirfileid id;
      +
      294 int writes_since_size_chk;
      +
      295} sirfile;
      +
      296
      +
      298typedef struct {
      +
      299 sirfile* files[SIR_MAXFILES];
      +
      300 size_t count;
      +
      301} sirfcache;
      +
      302
      +
      304typedef struct {
      +
      305 uint8_t iface_ver;
      +
      306 uint8_t maj_ver;
      +
      307 uint8_t min_ver;
      +
      308 uint8_t bld_ver;
      + + +
      311 const char* author;
      +
      312 const char* desc;
      +
      313 uint64_t caps;
      + +
      315
      +
      317# define SIR_PLUGIN_V1 1
      +
      318# define SIR_PLUGIN_VCURRENT SIR_PLUGIN_V1
      319
      - -
      321
      -
      323typedef struct {
      -
      324 const char* path;
      -
      325 sir_pluginhandle handle;
      -
      326 sir_plugininfo info;
      -
      327 bool loaded;
      -
      328 bool valid;
      -
      329 sir_pluginiface iface;
      -
      330 sirpluginid id;
      -
      331} sir_plugin;
      -
      332
      -
      334typedef struct {
      -
      335 sir_plugin* plugins[SIR_MAXPLUGINS];
      -
      336 size_t count;
      - -
      338
      -
      340typedef struct _sir_queue_node {
      -
      341 struct _sir_queue_node* next;
      -
      342 void* data;
      - -
      344
      -
      346typedef struct {
      - -
      348} sir_queue;
      -
      349
      -
      351typedef struct {
      -
      352 bool (*fn)(void*);
      -
      353 void* data;
      - -
      355
      -
      357typedef struct {
      -
      358 sir_thread* threads;
      -
      359 size_t num_threads;
      - -
      361 sir_condition cond;
      -
      362 sir_mutex mutex;
      -
      363 bool cancel;
      - -
      365
      -
      367typedef struct {
      -
      368 char style[SIR_MAXSTYLE];
      -
      369 char timestamp[SIR_MAXTIME];
      -
      370 char msec[SIR_MAXMSEC];
      -
      371 const char* hostname;
      -
      372 const char* pid;
      -
      373 const char* level;
      -
      374 const char* name;
      -
      375 char tid[SIR_MAXPID];
      -
      376 char message[SIR_MAXMESSAGE];
      -
      377 char output[SIR_MAXOUTPUT];
      -
      378 size_t output_len;
      -
      379} sirbuf;
      -
      380
      -
      382typedef struct {
      - - -
      385 char str[SIR_MAXSTYLE];
      - -
      387
      -
      389typedef struct {
      - -
      391 sir_colormode* color_mode;
      - -
      393
      -
      395typedef struct {
      - -
      397 const char* fmt;
      - -
      399
      -
      401typedef enum {
      -
      402 SIRMI_CONFIG = 0,
      -
      403 SIRMI_FILECACHE,
      -
      404 SIRMI_PLUGINCACHE,
      -
      405 SIRMI_TEXTSTYLE,
      -
      406} sir_mutex_id;
      +
      321# define SIR_PLUGIN_EXPORT_QUERY "sir_plugin_query"
      +
      322# define SIR_PLUGIN_EXPORT_INIT "sir_plugin_init"
      +
      323# define SIR_PLUGIN_EXPORT_WRITE "sir_plugin_write"
      +
      324# define SIR_PLUGIN_EXPORT_CLEANUP "sir_plugin_cleanup"
      +
      325
      +
      327typedef bool (*sir_plugin_queryfn)(sir_plugininfo*);
      +
      328typedef bool (*sir_plugin_initfn)(void);
      +
      329typedef bool (*sir_plugin_writefn)(sir_level, const char*);
      +
      330typedef bool (*sir_plugin_cleanupfn)(void);
      +
      331
      +
      333typedef struct {
      +
      334 sir_plugin_queryfn query;
      +
      335 sir_plugin_initfn init;
      +
      336 sir_plugin_writefn write;
      +
      337 sir_plugin_cleanupfn cleanup;
      + +
      339
      + +
      341
      +
      343typedef struct {
      +
      344 const char* path;
      +
      345 sir_pluginhandle handle;
      +
      346 sir_plugininfo info;
      +
      347 bool loaded;
      +
      348 bool valid;
      +
      349 sir_pluginiface iface;
      +
      350 sirpluginid id;
      +
      351} sir_plugin;
      +
      352
      +
      354typedef struct {
      +
      355 sir_plugin* plugins[SIR_MAXPLUGINS];
      +
      356 size_t count;
      + +
      358
      +
      360typedef struct _sir_queue_node {
      +
      361 struct _sir_queue_node* next;
      +
      362 void* data;
      + +
      364
      +
      366typedef struct {
      + +
      368} sir_queue;
      +
      369
      +
      371typedef struct {
      +
      372 bool (*fn)(void*);
      +
      373 void* data;
      + +
      375
      +
      377typedef struct {
      +
      378 sir_thread* threads;
      +
      379 size_t num_threads;
      + +
      381 sir_condition cond;
      +
      382 sir_mutex mutex;
      +
      383 bool cancel;
      + +
      385
      +
      387typedef struct {
      +
      388 char style[SIR_MAXSTYLE];
      +
      389 char* timestamp;
      +
      390 char msec[SIR_MAXMSEC];
      +
      391 const char* hostname;
      +
      392 const char* pid;
      +
      393 const char* level;
      +
      394 const char* name;
      +
      395 char tid[SIR_MAXPID];
      +
      396 char message[SIR_MAXMESSAGE];
      +
      397 char output[SIR_MAXOUTPUT];
      +
      398 size_t output_len;
      +
      399} sirbuf;
      +
      400
      +
      402typedef struct {
      + + +
      405 char str[SIR_MAXSTYLE];
      +
      407
      -
      409typedef struct {
      -
      410 uint32_t lasterror;
      -
      411 int os_error;
      -
      412 char os_errmsg[SIR_MAXERROR];
      +
      409typedef struct {
      + +
      411 sir_colormode* color_mode;
      +
      413
      -
      414 struct {
      -
      415 const char* func;
      -
      416 const char* file;
      -
      417 uint32_t line;
      -
      418 } loc;
      - -
      420
      -
      422typedef enum {
      -
      423 SIRU_LEVELS = 0x00000001,
      -
      424 SIRU_OPTIONS = 0x00000002,
      -
      425 SIRU_SYSLOG_ID = 0x00000004,
      -
      426 SIRU_SYSLOG_CAT = 0x00000008,
      -
      427 SIRU_ALL = 0x0000000f
      -
      428} sir_config_data_field;
      -
      429
      -
      431typedef struct {
      -
      432 uint32_t fields;
      - - -
      435 const char* sl_identity;
      -
      436 const char* sl_category;
      - -
      438
      -
      440typedef enum {
      -
      441 SIRSL_IS_OPEN = 0x00000001,
      -
      442 SIRSL_LEVELS = 0x00000002,
      -
      443 SIRSL_OPTIONS = 0x00000004,
      -
      444 SIRSL_CATEGORY = 0x00000008,
      -
      445 SIRSL_IDENTITY = 0x00000010,
      -
      446 SIRSL_UPDATED = 0x00000020,
      -
      447 SIRSL_IS_INIT = 0x00000040
      -
      448} sir_syslog_state;
      -
      449
      -
      450#endif /* !_SIR_TYPES_H_INCLUDED */
      +
      415typedef struct {
      + +
      417 const char* fmt;
      + +
      419
      +
      421typedef enum {
      +
      422 SIRMI_CONFIG = 0,
      +
      423 SIRMI_FILECACHE,
      +
      424 SIRMI_PLUGINCACHE,
      +
      425 SIRMI_TEXTSTYLE,
      +
      426} sir_mutex_id;
      +
      427
      +
      429typedef struct {
      +
      430 uint32_t lasterror;
      +
      431 int os_error;
      +
      432 char os_errmsg[SIR_MAXERROR];
      +
      433
      +
      434 struct {
      +
      435 const char* func;
      +
      436 const char* file;
      +
      437 uint32_t line;
      +
      438 } loc;
      + +
      440
      +
      442typedef uint32_t sir_config_data_field;
      +
      443
      +
      444# define SIRU_LEVELS 0x00000001U
      +
      445# define SIRU_OPTIONS 0x00000002U
      +
      446# define SIRU_SYSLOG_ID 0x00000004U
      +
      447# define SIRU_SYSLOG_CAT 0x00000008U
      +
      448# define SIRU_ALL 0x0000000fU
      +
      451typedef struct {
      +
      452 uint32_t fields;
      + + +
      455 const char* sl_identity;
      +
      456 const char* sl_category;
      + +
      458
      +
      459#endif /* !_SIR_TYPES_H_INCLUDED */
      ANSI escape sequence macros.
      Compile-time configuration.
      #define SIR_MAX_SYSLOG_ID
      The size, in characters, of the buffer used to hold system logger identity strings.
      Definition config.h:261
      -
      #define SIR_MAXSTYLE
      The size, in characters, of the buffer used to hold a sequence of styling data in any color mode (the...
      Definition config.h:280
      +
      #define SIR_MAXSTYLE
      The size, in characters, of the buffer used to hold a sequence of styling data in any color mode (the...
      Definition config.h:277
      #define SIR_MAXMESSAGE
      The maximum number of characters allowable in one log message.
      Definition config.h:240
      -
      #define SIR_MAXPID
      The size, in characters, of the buffer used to hold process/thread IDs/names.
      Definition config.h:270
      #define SIR_MAXNAME
      The size, in characters, of the buffer used to hold process/appname format strings.
      Definition config.h:255
      #define SIR_MAXPLUGINS
      The maximum number of plugin modules that may be loaded at one time.
      Definition config.h:231
      #define SIR_MAXFILES
      The maximum number of log files that may be registered at one time.
      Definition config.h:228
      #define SIR_MAXMSEC
      The size, in characters, of the buffer used to hold millisecond strings.
      Definition config.h:246
      -
      #define SIR_MAXOUTPUT
      The maximum size, in characters, of final formatted output.
      Definition config.h:283
      +
      #define SIR_MAXOUTPUT
      The maximum size, in characters, of final formatted output.
      Definition config.h:280
      #define SIR_MAXTIME
      The size, in characters, of the buffer used to hold time format strings.
      Definition config.h:243
      #define SIR_MAX_SYSLOG_CAT
      The size, in characters, of the buffer used to hold system logger category strings.
      Definition config.h:267
      -
      #define SIR_MAXERROR
      The maximum size, in characters, of an error message.
      Definition config.h:288
      +
      #define SIR_MAXERROR
      The maximum size, in characters, of an error message.
      Definition config.h:285
      sir_levels levels
      sir_level bitmask defining levels to register for.
      Definition types.h:166
      sir_levels levels
      sir_level bitmask defining output levels to register for.
      Definition types.h:153
      sir_textcolor bg
      Background color.
      Definition types.h:142
      @@ -472,116 +474,94 @@
      sir_stdio_dest d_stderr
      stderr configuration.
      Definition types.h:216
      sir_textcolor fg
      Foreground color.
      Definition types.h:141
      sir_options opts
      sir_option bitmask defining the formatting of output.
      Definition types.h:182
      +
      uint16_t sir_level
      The sir_level type.
      Definition types.h:61
      uint32_t sirfileid
      Log file identifier type.
      Definition types.h:42
      -
      sir_textattr
      Attributes for stdio output.
      Definition types.h:92
      -
      sir_colormode
      Color mode selection.
      Definition types.h:84
      -
      sir_level
      Defines the available levels (severity/priority) of logging output.
      Definition types.h:48
      -
      uint16_t sir_levels
      sir_level bitmask type.
      Definition types.h:63
      -
      sir_option
      Formatting options for a destination.
      Definition types.h:66
      +
      sir_textattr
      Attributes for stdio output.
      Definition types.h:94
      +
      sir_colormode
      Color mode selection.
      Definition types.h:86
      +
      uint16_t sir_levels
      sir_level bitmask type.
      Definition types.h:64
      uint32_t sir_textcolor
      stdio text color type.
      Definition types.h:128
      +
      uint32_t sir_option
      The sir_option type.
      Definition types.h:80
      uint32_t sirpluginid
      Plugin module identifier type.
      Definition types.h:45
      -
      uint32_t sir_options
      sir_option bitmask type.
      Definition types.h:81
      -
      @ SIRTA_EMPH
      Italicized/emphasized text.
      Definition types.h:97
      -
      @ SIRTA_DIM
      Dimmed text.
      Definition types.h:96
      -
      @ SIRTA_ULINE
      Underlined text.
      Definition types.h:98
      -
      @ SIRTA_NORMAL
      Normal text.
      Definition types.h:94
      -
      @ SIRTA_BOLD
      Bold text.
      Definition types.h:95
      -
      @ SIRCM_16
      4-bit 16-color mode.
      Definition types.h:85
      -
      @ SIRCM_RGB
      24-bit RGB-color mode.
      Definition types.h:87
      -
      @ SIRCM_INVALID
      Represents the invalid color mode.
      Definition types.h:88
      -
      @ SIRCM_256
      8-bit 256-color mode.
      Definition types.h:86
      -
      @ SIRL_DEBUG
      Debugging/diagnostic output.
      Definition types.h:57
      -
      @ SIRL_ALL
      Include all logging levels.
      Definition types.h:58
      -
      @ SIRL_EMERG
      Nuclear war, Armageddon, etc.
      Definition types.h:50
      -
      @ SIRL_INFO
      Informational messages.
      Definition types.h:56
      -
      @ SIRL_NOTICE
      Normal but significant.
      Definition types.h:55
      -
      @ SIRL_NONE
      No output.
      Definition types.h:49
      -
      @ SIRL_CRIT
      Critical errors.
      Definition types.h:52
      -
      @ SIRL_ALERT
      Action required ASAP.
      Definition types.h:51
      -
      @ SIRL_WARN
      Warnings that could likely be ignored.
      Definition types.h:54
      -
      @ SIRL_ERROR
      Errors.
      Definition types.h:53
      -
      @ SIRL_DEFAULT
      Default levels for this type of destination.
      Definition types.h:59
      -
      @ SIRO_DEFAULT
      Default options for this type of destination.
      Definition types.h:77
      -
      @ SIRO_NOLEVEL
      Exclude human-readable logging level.
      Definition types.h:71
      -
      @ SIRO_NONAME
      Exclude process/app name.
      Definition types.h:72
      -
      @ SIRO_NOHDR
      Don't write header messages to log files.
      Definition types.h:75
      -
      @ SIRO_NOTID
      Exclude thread ID/name.
      Definition types.h:74
      -
      @ SIRO_ALL
      Include all formatting and functionality.
      Definition types.h:67
      -
      @ SIRO_NOPID
      Exclude process ID.
      Definition types.h:73
      -
      @ SIRO_MSGONLY
      Sets all other options except SIRO_NOHDR.
      Definition types.h:76
      -
      @ SIRO_NOMSEC
      Exclude millisecond-resolution in time stamps.
      Definition types.h:69
      -
      @ SIRO_NOTIME
      Exclude time stamps (implies SIRO_NOMSEC).
      Definition types.h:68
      -
      @ SIRO_NOHOST
      Exclude local hostname.
      Definition types.h:70
      -
      @ SIRTC_LGRAY
      Light gray.
      Definition types.h:111
      -
      @ SIRTC_BYELLOW
      Bright yellow.
      Definition types.h:115
      -
      @ SIRTC_CYAN
      Cyan.
      Definition types.h:110
      -
      @ SIRTC_YELLOW
      Yellow.
      Definition types.h:107
      -
      @ SIRTC_BLUE
      Blue.
      Definition types.h:108
      -
      @ SIRTC_BGREEN
      Bright green.
      Definition types.h:114
      -
      @ SIRTC_DEFAULT
      Represents the default color.
      Definition types.h:123
      -
      @ SIRTC_BLACK
      Black.
      Definition types.h:104
      -
      @ SIRTC_WHITE
      White.
      Definition types.h:119
      -
      @ SIRTC_BMAGENTA
      Bright magenta.
      Definition types.h:117
      -
      @ SIRTC_BCYAN
      Bright cyan.
      Definition types.h:118
      -
      @ SIRTC_MAGENTA
      Magenta.
      Definition types.h:109
      -
      @ SIRTC_RED
      Red.
      Definition types.h:105
      -
      @ SIRTC_BBLUE
      Bright blue.
      Definition types.h:116
      -
      @ SIRTC_BRED
      Bright red.
      Definition types.h:113
      -
      @ SIRTC_INVALID
      Represents the invalid color.
      Definition types.h:124
      -
      @ SIRTC_GREEN
      Green.
      Definition types.h:106
      -
      @ SIRTC_DGRAY
      Dark gray.
      Definition types.h:112
      +
      uint32_t sir_options
      sir_option bitmask type.
      Definition types.h:83
      +
      @ SIRTA_EMPH
      Italicized/emphasized text.
      Definition types.h:98
      +
      @ SIRTA_DIM
      Dimmed text.
      Definition types.h:97
      +
      @ SIRTA_ULINE
      Underlined text.
      Definition types.h:99
      +
      @ SIRTA_NORMAL
      Normal text.
      Definition types.h:95
      +
      @ SIRTA_BOLD
      Bold text.
      Definition types.h:96
      +
      @ SIRCM_16
      4-bit 16-color mode.
      Definition types.h:87
      +
      @ SIRCM_RGB
      24-bit RGB-color mode.
      Definition types.h:89
      +
      @ SIRCM_INVALID
      Represents the invalid color mode.
      Definition types.h:90
      +
      @ SIRCM_256
      8-bit 256-color mode.
      Definition types.h:88
      +
      @ SIRTC_LGRAY
      Light gray.
      Definition types.h:112
      +
      @ SIRTC_BYELLOW
      Bright yellow.
      Definition types.h:116
      +
      @ SIRTC_CYAN
      Cyan.
      Definition types.h:111
      +
      @ SIRTC_YELLOW
      Yellow.
      Definition types.h:108
      +
      @ SIRTC_BLUE
      Blue.
      Definition types.h:109
      +
      @ SIRTC_BGREEN
      Bright green.
      Definition types.h:115
      +
      @ SIRTC_DEFAULT
      Represents the default color.
      Definition types.h:124
      +
      @ SIRTC_BLACK
      Black.
      Definition types.h:105
      +
      @ SIRTC_WHITE
      White.
      Definition types.h:120
      +
      @ SIRTC_BMAGENTA
      Bright magenta.
      Definition types.h:118
      +
      @ SIRTC_BCYAN
      Bright cyan.
      Definition types.h:119
      +
      @ SIRTC_MAGENTA
      Magenta.
      Definition types.h:110
      +
      @ SIRTC_RED
      Red.
      Definition types.h:106
      +
      @ SIRTC_BBLUE
      Bright blue.
      Definition types.h:117
      +
      @ SIRTC_BRED
      Bright red.
      Definition types.h:114
      +
      @ SIRTC_GREEN
      Green.
      Definition types.h:107
      +
      @ SIRTC_DGRAY
      Dark gray.
      Definition types.h:113
      Configuration for stdio destinations (stdout and stderr).
      Definition types.h:151
      Configuration for the system logger destination.
      Definition types.h:165
      Container for all the information associated with the appearance of text in the context of stdio.
      Definition types.h:139
      libsir initialization and configuration data.
      Definition types.h:214
      -
      sir_level <-> human-readable string form.
      Definition types.h:395
      -
      const sir_level level
      The level for which the string applies.
      Definition types.h:396
      -
      const char * fmt
      The formatted string representation.
      Definition types.h:397
      -
      sir_level <-> sir_textstyle mapping.
      Definition types.h:382
      -
      sir_textstyle style
      The un-formatted representation.
      Definition types.h:384
      -
      const sir_level level
      The level for which the style applies.
      Definition types.h:383
      -
      Internally-used plugin module data.
      Definition types.h:323
      -
      Plugin module cache.
      Definition types.h:334
      -
      Plugin interface for v1.
      Definition types.h:313
      -
      sir_plugin_cleanupfn cleanup
      Address of sir_plugin_cleanup.
      Definition types.h:317
      -
      sir_plugin_queryfn query
      Address of sir_plugin_query.
      Definition types.h:314
      -
      sir_plugin_writefn write
      Address of sir_plugin_write.
      Definition types.h:316
      -
      sir_plugin_initfn init
      Address of sir_plugin_init.
      Definition types.h:315
      -
      The libsir-to-plugin query data structure.
      Definition types.h:284
      -
      uint8_t iface_ver
      Plugin interface version.
      Definition types.h:285
      -
      uint8_t bld_ver
      Build/patch version number.
      Definition types.h:288
      -
      uint8_t min_ver
      Minor version number.
      Definition types.h:287
      -
      uint64_t caps
      Plugin capabilities bitmask.
      Definition types.h:293
      -
      const char * desc
      Plugin description.
      Definition types.h:292
      -
      const char * author
      Plugin author information.
      Definition types.h:291
      -
      sir_levels levels
      Level registration bitmask.
      Definition types.h:289
      -
      uint8_t maj_ver
      Major version number.
      Definition types.h:286
      -
      sir_options opts
      Formatting options bitmask.
      Definition types.h:290
      -
      A node in a sir_queue.
      Definition types.h:340
      -
      FIFO queue.
      Definition types.h:346
      -
      sir_queue_node * head
      The first node in the linked list.
      Definition types.h:347
      -
      Container for text style related data that is mutex protected.
      Definition types.h:389
      -
      Error type.
      Definition types.h:409
      -
      Job used by a job queue.
      Definition types.h:351
      -
      void * data
      Data to pass to the callback.
      Definition types.h:353
      -
      Thread pool/job queue data container.
      Definition types.h:357
      -
      size_t num_threads
      The number of threads in the pool.
      Definition types.h:359
      -
      sir_queue * jobs
      A queue of jobs to run (FIFO).
      Definition types.h:360
      -
      sir_condition cond
      A condition which indicates that a job is ready.
      Definition types.h:361
      -
      sir_thread * threads
      A list of thread handles.
      Definition types.h:358
      -
      sir_mutex mutex
      A mutex to be paired with the condition variable.
      Definition types.h:362
      -
      bool cancel
      Causes threads in the pool to exit when true.
      Definition types.h:363
      -
      Encapsulates dynamic updating of current configuration.
      Definition types.h:431
      -
      const char * sl_identity
      System logger identity.
      Definition types.h:435
      -
      sir_levels * levels
      Level registrations.
      Definition types.h:433
      -
      sir_options * opts
      Formatting options.
      Definition types.h:434
      -
      const char * sl_category
      System logger category.
      Definition types.h:436
      -
      uint32_t fields
      sir_config_data_field bitmask.
      Definition types.h:432
      -
      Formatted output container.
      Definition types.h:367
      -
      Internally-used global config container.
      Definition types.h:243
      -
      Internally-used error type.
      Definition types.h:263
      -
      Log file cache.
      Definition types.h:278
      -
      Internally-used log file data.
      Definition types.h:269
      +
      sir_level <-> human-readable string form.
      Definition types.h:415
      +
      const sir_level level
      The level for which the string applies.
      Definition types.h:416
      +
      const char * fmt
      The formatted string representation.
      Definition types.h:417
      +
      sir_level <-> sir_textstyle mapping.
      Definition types.h:402
      +
      sir_textstyle style
      The un-formatted representation.
      Definition types.h:404
      +
      const sir_level level
      The level for which the style applies.
      Definition types.h:403
      +
      Internally-used plugin module data.
      Definition types.h:343
      +
      Plugin module cache.
      Definition types.h:354
      +
      Plugin interface for v1.
      Definition types.h:333
      +
      sir_plugin_cleanupfn cleanup
      Address of sir_plugin_cleanup.
      Definition types.h:337
      +
      sir_plugin_queryfn query
      Address of sir_plugin_query.
      Definition types.h:334
      +
      sir_plugin_writefn write
      Address of sir_plugin_write.
      Definition types.h:336
      +
      sir_plugin_initfn init
      Address of sir_plugin_init.
      Definition types.h:335
      +
      The libsir-to-plugin query data structure.
      Definition types.h:304
      +
      uint8_t iface_ver
      Plugin interface version.
      Definition types.h:305
      +
      uint8_t bld_ver
      Build/patch version number.
      Definition types.h:308
      +
      uint8_t min_ver
      Minor version number.
      Definition types.h:307
      +
      uint64_t caps
      Plugin capabilities bitmask.
      Definition types.h:313
      +
      const char * desc
      Plugin description.
      Definition types.h:312
      +
      const char * author
      Plugin author information.
      Definition types.h:311
      +
      sir_levels levels
      Level registration bitmask.
      Definition types.h:309
      +
      uint8_t maj_ver
      Major version number.
      Definition types.h:306
      +
      sir_options opts
      Formatting options bitmask.
      Definition types.h:310
      +
      A node in a sir_queue.
      Definition types.h:360
      +
      FIFO queue.
      Definition types.h:366
      +
      sir_queue_node * head
      The first node in the linked list.
      Definition types.h:367
      +
      Container for text style related data that is mutex protected.
      Definition types.h:409
      +
      Per-thread error type.
      Definition types.h:429
      +
      Job used by a job queue.
      Definition types.h:371
      +
      void * data
      Data to pass to the callback.
      Definition types.h:373
      +
      Thread pool/job queue data container.
      Definition types.h:377
      +
      size_t num_threads
      The number of threads in the pool.
      Definition types.h:379
      +
      sir_queue * jobs
      A queue of jobs to run (FIFO).
      Definition types.h:380
      +
      sir_condition cond
      A condition which indicates that a job is ready.
      Definition types.h:381
      +
      sir_thread * threads
      A list of thread handles.
      Definition types.h:378
      +
      sir_mutex mutex
      A mutex to be paired with the condition variable.
      Definition types.h:382
      +
      bool cancel
      Causes threads in the pool to exit when true.
      Definition types.h:383
      +
      Internally-used time value type.
      Definition types.h:251
      +
      Encapsulates dynamic updating of current configuration.
      Definition types.h:451
      +
      const char * sl_identity
      System logger identity.
      Definition types.h:455
      +
      sir_levels * levels
      Level registrations.
      Definition types.h:453
      +
      sir_options * opts
      Formatting options.
      Definition types.h:454
      +
      const char * sl_category
      System logger category.
      Definition types.h:456
      +
      uint32_t fields
      sir_config_data_field bitmask.
      Definition types.h:452
      +
      Formatted output container.
      Definition types.h:387
      +
      Internally-used global config container.
      Definition types.h:261
      +
      Internally-used error type.
      Definition types.h:282
      +
      Log file cache.
      Definition types.h:298
      +
      Internally-used log file data.
      Definition types.h:288
      diff --git a/docs/version_8h_source.html b/docs/version_8h_source.html index d0c007cbb..dbda1cf33 100644 --- a/docs/version_8h_source.html +++ b/docs/version_8h_source.html @@ -45,7 +45,7 @@ -
      libsir 2.2.2 +
      libsir 2.2.3
      Standard Incident Reporter
      @@ -118,7 +118,7 @@
      3 *
      4 * Author: Ryan M. Lederman <lederman@gmail.com>
      5 * Copyright: Copyright (c) 2018-2023
      -
      6 * Version: 2.2.2
      +
      6 * Version: 2.2.3
      7 * License: The MIT License (MIT)
      8 *
      9 * Permission is hereby granted, free of charge, to any person obtaining a copy of
      @@ -147,7 +147,7 @@
      33
      35# define SIR_VERSION_MINOR 2
      36
      -
      38# define SIR_VERSION_PATCH 2
      +
      38# define SIR_VERSION_PATCH 3
      39
      41# define SIR_VERSION_IS_RELEASE 1
      42
      diff --git a/include/sir/condition.h b/include/sir/condition.h index 8fdacc3dc..91adcd487 100644 --- a/include/sir/condition.h +++ b/include/sir/condition.h @@ -48,6 +48,7 @@ bool _sir_condwait(sir_condition* cond, sir_mutex* mutex); # endif /** Waits a given amount of time for a condition variable to become signaled. */ -bool _sir_condwait_timeout(sir_condition* cond, sir_mutex* mutex, sir_wait* how_long); +bool _sir_condwait_timeout(sir_condition* cond, sir_mutex* mutex, + const sir_wait* how_long); #endif /* !_SIR_CONDITION_H_INCLUDED */ diff --git a/include/sir/version.h b/include/sir/version.h index 4cfb86947..fca0756b6 100644 --- a/include/sir/version.h +++ b/include/sir/version.h @@ -38,10 +38,10 @@ # define SIR_VERSION_PATCH 3 /** 1 if this is a release version of libsir, 0 otherwise. */ -# define SIR_VERSION_IS_RELEASE 0 +# define SIR_VERSION_IS_RELEASE 1 /** The current libsir version suffix. */ -# define SIR_VERSION_SUFFIX "-dev" +# define SIR_VERSION_SUFFIX "" /** The current libsir version as a number. */ # define SIR_VERSION_HEX ((SIR_VERSION_MAJOR << 16) | \ diff --git a/src/sircondition.c b/src/sircondition.c index 7370b6529..907f3a849 100644 --- a/src/sircondition.c +++ b/src/sircondition.c @@ -27,37 +27,48 @@ #include "sir/internal.h" #include "sir/platform.h" -#if !defined(__WIN__) /* pthread implementation */ bool _sir_condcreate(sir_condition* cond) { bool valid = _sir_validptr(cond); if (valid) { +#if !defined(__WIN__) int op = pthread_cond_init(cond, NULL); valid = 0 == op ? true : _sir_handleerr(op); +#else + InitializeConditionVariable(cond); +#endif } return valid; } -# if 0 +#if 0 bool _sir_condsignal(sir_condition* cond) { bool valid = _sir_validptr(cond); if (valid) { +# if !defined(__WIN__) int op = pthread_cond_signal(cond); valid = 0 == op ? true : _sir_handleerr(op); +# else + WakeConditionVariable(cond); +# endif } return valid; } -# endif +#endif bool _sir_condbroadcast(sir_condition* cond) { bool valid = _sir_validptr(cond); if (valid) { +#if !defined(__WIN__) int op = pthread_cond_broadcast(cond); valid = 0 == op ? true : _sir_handleerr(op); +#else + WakeAllConditionVariable(cond); +#endif } return valid; @@ -67,85 +78,48 @@ bool _sir_conddestroy(sir_condition* cond) { bool valid = _sir_validptr(cond); if (valid) { +#if !defined(__WIN__) int op = pthread_cond_destroy(cond); valid = 0 == op ? true : _sir_handleerr(op); +#else + SIR_UNUSED(cond); +#endif } return valid; } -# if 0 +#if 0 bool _sir_condwait(sir_condition* cond, sir_mutex* mutex) { bool valid = _sir_validptr(cond) && _sir_validptr(mutex); if (valid) { +# if !defined(__WIN__) int op = pthread_cond_wait(cond, mutex); valid = 0 == op ? true : _sir_handleerr(op); +# else + DWORD howlong = INFINITE; + valid = _sir_condwait_timeout(cond, mutex, &howlong); +# endif } return valid; } -# endif +#endif -bool _sir_condwait_timeout(sir_condition* cond, sir_mutex* mutex, sir_wait* howlong) { +bool _sir_condwait_timeout(sir_condition* cond, sir_mutex* mutex, + const sir_wait* howlong) { bool valid = _sir_validptr(cond) && _sir_validptr(mutex) && _sir_validptr(howlong); if (valid) { +#if !defined(__WIN__) int op = pthread_cond_timedwait(cond, mutex, howlong); valid = 0 == op ? true : ETIMEDOUT == op ? false : _sir_handleerr(op); - } - - return valid; -} -#else /* __WIN__ */ -bool _sir_condcreate(sir_condition* cond) { - bool valid = _sir_validptr(cond); - - if (valid) - InitializeConditionVariable(cond); - - return valid; -} - -# if 0 -bool _sir_condsignal(sir_condition* cond) { - bool valid = _sir_validptr(cond); - - if (valid) - WakeConditionVariable(cond); - - return valid; -} -# endif - -bool _sir_condbroadcast(sir_condition* cond) { - bool valid = _sir_validptr(cond); - - if (valid) - WakeAllConditionVariable(cond); - - return valid; -} - -bool _sir_conddestroy(sir_condition* cond) { - SIR_UNUSED(cond); - return true; -} - -# if 0 -bool _sir_condwait(sir_condition* cond, sir_mutex* mutex) { - DWORD how_long = INFINITE; - return _sir_condwait_timeout(cond, mutex, &how_long); -} -# endif - -bool _sir_condwait_timeout(sir_condition* cond, sir_mutex* mutex, sir_wait* how_long) { - bool valid = _sir_validptr(cond) && _sir_validptr(mutex) && _sir_validptr(how_long); - - if (valid) - valid = (FALSE != SleepConditionVariableCS(cond, mutex, *how_long)) +#else + valid = (FALSE != SleepConditionVariableCS(cond, mutex, *howlong)) ? true : _sir_handlewin32err(GetLastError()); +#endif + } return valid; } -#endif