const char *audit_type_to_string(int type) {
        switch (type) {
        case AUDIT_GET: return "GET";
        case AUDIT_SET: return "SET";
        case AUDIT_LIST: return "LIST";
        case AUDIT_ADD: return "ADD";
        case AUDIT_DEL: return "DEL";
        case AUDIT_USER: return "USER";
        case AUDIT_LOGIN: return "LOGIN";
        case AUDIT_WATCH_INS: return "WATCH_INS";
        case AUDIT_WATCH_REM: return "WATCH_REM";
        case AUDIT_WATCH_LIST: return "WATCH_LIST";
        case AUDIT_SIGNAL_INFO: return "SIGNAL_INFO";
        case AUDIT_ADD_RULE: return "ADD_RULE";
        case AUDIT_DEL_RULE: return "DEL_RULE";
        case AUDIT_LIST_RULES: return "LIST_RULES";
        case AUDIT_TRIM: return "TRIM";
        case AUDIT_MAKE_EQUIV: return "MAKE_EQUIV";
        case AUDIT_TTY_GET: return "TTY_GET";
        case AUDIT_TTY_SET: return "TTY_SET";
        case AUDIT_SET_FEATURE: return "SET_FEATURE";
        case AUDIT_GET_FEATURE: return "GET_FEATURE";
        case AUDIT_USER_AVC: return "USER_AVC";
        case AUDIT_USER_TTY: return "USER_TTY";
        case AUDIT_SERVICE_START: return "SERVICE_START";
        case AUDIT_SERVICE_STOP: return "SERVICE_STOP";
        case AUDIT_DAEMON_START: return "DAEMON_START";
        case AUDIT_DAEMON_END: return "DAEMON_END";
        case AUDIT_DAEMON_ABORT: return "DAEMON_ABORT";
        case AUDIT_DAEMON_CONFIG: return "DAEMON_CONFIG";
        case AUDIT_SYSCALL: return "SYSCALL";
        case AUDIT_PATH: return "PATH";
        case AUDIT_IPC: return "IPC";
        case AUDIT_SOCKETCALL: return "SOCKETCALL";
        case AUDIT_CONFIG_CHANGE: return "CONFIG_CHANGE";
        case AUDIT_SOCKADDR: return "SOCKADDR";
        case AUDIT_CWD: return "CWD";
        case AUDIT_EXECVE: return "EXECVE";
        case AUDIT_IPC_SET_PERM: return "IPC_SET_PERM";
        case AUDIT_MQ_OPEN: return "MQ_OPEN";
        case AUDIT_MQ_SENDRECV: return "MQ_SENDRECV";
        case AUDIT_MQ_NOTIFY: return "MQ_NOTIFY";
        case AUDIT_MQ_GETSETATTR: return "MQ_GETSETATTR";
        case AUDIT_KERNEL_OTHER: return "KERNEL_OTHER";
        case AUDIT_FD_PAIR: return "FD_PAIR";
        case AUDIT_OBJ_PID: return "OBJ_PID";
        case AUDIT_TTY: return "TTY";
        case AUDIT_EOE: return "EOE";
        case AUDIT_BPRM_FCAPS: return "BPRM_FCAPS";
        case AUDIT_CAPSET: return "CAPSET";
        case AUDIT_MMAP: return "MMAP";
        case AUDIT_NETFILTER_PKT: return "NETFILTER_PKT";
        case AUDIT_NETFILTER_CFG: return "NETFILTER_CFG";
        case AUDIT_SECCOMP: return "SECCOMP";
        case AUDIT_PROCTITLE: return "PROCTITLE";
        case AUDIT_FEATURE_CHANGE: return "FEATURE_CHANGE";
        case AUDIT_REPLACE: return "REPLACE";
        case AUDIT_KERN_MODULE: return "KERN_MODULE";
        case AUDIT_FANOTIFY: return "FANOTIFY";
        case AUDIT_TIME_INJOFFSET: return "TIME_INJOFFSET";
        case AUDIT_TIME_ADJNTPVAL: return "TIME_ADJNTPVAL";
        case AUDIT_BPF: return "BPF";
        case AUDIT_EVENT_LISTENER: return "EVENT_LISTENER";
        case AUDIT_URINGOP: return "URINGOP";
        case AUDIT_OPENAT2: return "OPENAT2";
        case AUDIT_DM_CTRL: return "DM_CTRL";
        case AUDIT_DM_EVENT: return "DM_EVENT";
        case AUDIT_AVC: return "AVC";
        case AUDIT_SELINUX_ERR: return "SELINUX_ERR";
        case AUDIT_AVC_PATH: return "AVC_PATH";
        case AUDIT_MAC_POLICY_LOAD: return "MAC_POLICY_LOAD";
        case AUDIT_MAC_STATUS: return "MAC_STATUS";
        case AUDIT_MAC_CONFIG_CHANGE: return "MAC_CONFIG_CHANGE";
        case AUDIT_MAC_UNLBL_ALLOW: return "MAC_UNLBL_ALLOW";
        case AUDIT_MAC_CIPSOV4_ADD: return "MAC_CIPSOV4_ADD";
        case AUDIT_MAC_CIPSOV4_DEL: return "MAC_CIPSOV4_DEL";
        case AUDIT_MAC_MAP_ADD: return "MAC_MAP_ADD";
        case AUDIT_MAC_MAP_DEL: return "MAC_MAP_DEL";
        case AUDIT_MAC_IPSEC_ADDSA: return "MAC_IPSEC_ADDSA";
        case AUDIT_MAC_IPSEC_DELSA: return "MAC_IPSEC_DELSA";
        case AUDIT_MAC_IPSEC_ADDSPD: return "MAC_IPSEC_ADDSPD";
        case AUDIT_MAC_IPSEC_DELSPD: return "MAC_IPSEC_DELSPD";
        case AUDIT_MAC_IPSEC_EVENT: return "MAC_IPSEC_EVENT";
        case AUDIT_MAC_UNLBL_STCADD: return "MAC_UNLBL_STCADD";
        case AUDIT_MAC_UNLBL_STCDEL: return "MAC_UNLBL_STCDEL";
        case AUDIT_MAC_CALIPSO_ADD: return "MAC_CALIPSO_ADD";
        case AUDIT_MAC_CALIPSO_DEL: return "MAC_CALIPSO_DEL";
        case AUDIT_ANOM_PROMISCUOUS: return "ANOM_PROMISCUOUS";
        case AUDIT_ANOM_ABEND: return "ANOM_ABEND";
        case AUDIT_ANOM_LINK: return "ANOM_LINK";
        case AUDIT_ANOM_CREAT: return "ANOM_CREAT";
        case AUDIT_INTEGRITY_DATA: return "INTEGRITY_DATA";
        case AUDIT_INTEGRITY_METADATA: return "INTEGRITY_METADATA";
        case AUDIT_INTEGRITY_STATUS: return "INTEGRITY_STATUS";
        case AUDIT_INTEGRITY_HASH: return "INTEGRITY_HASH";
        case AUDIT_INTEGRITY_PCR: return "INTEGRITY_PCR";
        case AUDIT_INTEGRITY_RULE: return "INTEGRITY_RULE";
        case AUDIT_INTEGRITY_EVM_XATTR: return "INTEGRITY_EVM_XATTR";
        case AUDIT_INTEGRITY_POLICY_RULE: return "INTEGRITY_POLICY_RULE";
        case AUDIT_KERNEL: return "KERNEL";
        case AUDIT_MESSAGE_TEXT_MAX: return "MESSAGE_TEXT_MAX";
        default: return NULL;
        }
}
