AUPARSE_NORMALIZE_FUNCTIONS(3)
β¨ AUPARSE_NORMALIZE_FUNCTIONS β¨
okay bestie, welcome to the Linux Audit API, auparse_normalize_functions edition π this is the part of the manual (section 3, for all my library-function girlies) where you get to access normalized fields after the normalization already did its thing. so you ran the normalizer, now what? now you read the tea. π΅
πΈ NAME πΈ
auparse_normalize_get_event_kind, auparse_normalize_subject_kind, auparse_normalize_get_action, auparse_normalize_object_kind, auparse_normalize_how, auparse_normalize_session, auparse_normalize_subject_primary, auparse_normalize_subject_secondary, auparse_normalize_subject_first_attribute, auparse_normalize_subject_next_attribute, auparse_normalize_object_primary, auparse_normalize_object_secondary, auparse_normalize_object_primary2, auparse_normalize_object_first_attribute, auparse_normalize_object_next_attribute, auparse_normalize_get_results, auparse_normalize_key β Access normalized fields π
π¦ SYNOPSIS π¦
#include <auparse.h>
π Metadata Functions (the "just tell me stuff" squad)
const char *auparse_normalize_get_event_kind(const auparse_state_t *au);
const char *auparse_normalize_subject_kind(const auparse_state_t *au);
const char *auparse_normalize_get_action(const auparse_state_t *au);
const char *auparse_normalize_object_kind(const auparse_state_t *au);
const char *auparse_normalize_how(const auparse_state_t *au);
π Positioning Functions (the "move the cursor for me" squad)
int auparse_normalize_session(auparse_state_t *au);
int auparse_normalize_subject_primary(auparse_state_t *au);
int auparse_normalize_subject_secondary(auparse_state_t *au);
int auparse_normalize_subject_first_attribute(auparse_state_t *au);
int auparse_normalize_subject_next_attribute(auparse_state_t *au);
int auparse_normalize_object_primary(auparse_state_t *au);
int auparse_normalize_object_secondary(auparse_state_t *au);
int auparse_normalize_object_primary2(auparse_state_t *au);
int auparse_normalize_object_first_attribute(auparse_state_t *au);
int auparse_normalize_object_next_attribute(auparse_state_t *au);
int auparse_normalize_get_results(auparse_state_t *au);
int auparse_normalize_key(auparse_state_t *au);
π DESCRIPTION π
so here's the vibe: after you call the auparse_normalize function, you're obviously gonna want to actually get at the audit event data, right? like, the normalizing happened, the data is sitting there being all normalized, and you're just supposed to... not look at it? no bestie. π
these functions are literally the access point to the results of the normalization. and there are 2 kinds of them, so pay attention:
- metadata functions π§
- positioning functions π―
β¨ the metadata girlies β¨
the metadata functions all return a pointer to a string that describes something about the event. plot twist: this data does not live inside the event itself β it's kept in lookup tables inside the auparse library. so it's giving "the event's whole personality lives in a table somewhere else". π
π₯ the positioning girlies π₯
the positioning functions are built different. they move the internal cursor of auparse to the record and field that contains the info you want. so then you use field accessor functions to retrieve the actual values. it's a two-step, and honestly? iconic. π
π RETURN VALUE π
- the positioning functions return
< 0on error,0if uninitialized, and1on success. (three moods fr fr) - the metadata functions return
NULLon error and a pointer to a string on success.
π SEE ALSO π
π AUTHOR π
Steve Grubb β yes, the legend himself. we stan. π«Ά
okay that's the whole page, you ate that, now go normalize some events bestie π β¨
this has been the Linux Audit API, brought to you by Red Hat, dated March 2017 β mwah, love u, bye πππ¦
π¦ where this page comes from
- alpine 3.23: audit-doc 4.1.2-r2 Β· LGPL-2.1-or-later
- alpine 3.24: audit-doc 4.1.2-r6 Β· LGPL-2.1-or-later
- arch rolling: audit 4.2.1-1 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- centos-stream 10: audit-libs-devel 4.2.1-3.el10 Β· LGPL-2.0-or-later
- fedora 43: audit-libs-devel 4.1.1-2.fc43 Β· LGPL-2.0-or-later
- fedora 43: audit-libs-devel 4.1.1-2.fc43 Β· LGPL-2.0-or-later
- fedora 43: audit-libs-devel 4.2.1-1.fc43 Β· LGPL-2.0-or-later
- fedora 43: audit-libs-devel 4.2.1-1.fc43 Β· LGPL-2.0-or-later
- fedora 44: audit-libs-devel 4.1.4-1.fc44 Β· LGPL-2.0-or-later
- fedora 44: audit-libs-devel 4.1.4-1.fc44 Β· LGPL-2.0-or-later
- fedora 44: audit-libs-devel 4.2.1-1.fc44 Β· LGPL-2.0-or-later
- fedora 44: audit-libs-devel 4.2.1-1.fc44 Β· LGPL-2.0-or-later
- nixpkgs unstable: audit 4.2.1
- ubuntu resolute: libauparse-dev 1:4.1.2-1build1 Β· GPL-2.0-only
- ubuntu resolute: libauparse-dev 1:4.1.2-1ubuntu0.1 Β· GPL-2.0-only
- ubuntu stonking: libauparse-dev 1:4.1.2-1ubuntu1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms