diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2015-04-14 10:29:03 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2015-04-23 23:54:21 -0400 |
commit | 8bb3626dac93c0157989fb87afe0212958d7dbb4 (patch) | |
tree | 3b56e100d88fde36759a88c6424e5fa7cf85b313 /src/journal/audit-type.h | |
parent | 4733607eec54034d2083534ebff2dad89c28574e (diff) |
journal: use audit event names instead of numbers
<audit-1400> is replaced by AVC, etc.
A fallback mechanism is provided for unlisted event types.
Occasionally new types are added to the kernel, but not too often.
Add a simple "test", which simply prints the mapping.
Diffstat (limited to 'src/journal/audit-type.h')
-rw-r--r-- | src/journal/audit-type.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/journal/audit-type.h b/src/journal/audit-type.h index 9f37716cd6..fa5284e027 100644 --- a/src/journal/audit-type.h +++ b/src/journal/audit-type.h @@ -21,6 +21,19 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ +#include "macro.h" const char *audit_type_to_string(int type); int audit_type_from_string(const char *s); + +/* This is inspired by DNS TYPEnnn formatting */ +#define audit_type_name_alloca(type) \ + ({ \ + const char *_s_; \ + _s_ = audit_type_to_string(type); \ + if (!_s_) { \ + _s_ = alloca(strlen("AUDIT") + DECIMAL_STR_MAX(int)); \ + sprintf((char*) _s_, "AUDIT%04i", type); \ + } \ + _s_; \ + }) |