0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 #ifndef _UAPI_LINUX_AUDIT_H_
0026 #define _UAPI_LINUX_AUDIT_H_
0027
0028 #include <linux/types.h>
0029 #include <linux/elf-em.h>
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054 #define AUDIT_GET 1000
0055 #define AUDIT_SET 1001
0056 #define AUDIT_LIST 1002
0057 #define AUDIT_ADD 1003
0058 #define AUDIT_DEL 1004
0059 #define AUDIT_USER 1005
0060 #define AUDIT_LOGIN 1006
0061 #define AUDIT_WATCH_INS 1007
0062 #define AUDIT_WATCH_REM 1008
0063 #define AUDIT_WATCH_LIST 1009
0064 #define AUDIT_SIGNAL_INFO 1010
0065 #define AUDIT_ADD_RULE 1011
0066 #define AUDIT_DEL_RULE 1012
0067 #define AUDIT_LIST_RULES 1013
0068 #define AUDIT_TRIM 1014
0069 #define AUDIT_MAKE_EQUIV 1015
0070 #define AUDIT_TTY_GET 1016
0071 #define AUDIT_TTY_SET 1017
0072 #define AUDIT_SET_FEATURE 1018
0073 #define AUDIT_GET_FEATURE 1019
0074
0075 #define AUDIT_FIRST_USER_MSG 1100
0076 #define AUDIT_USER_AVC 1107
0077 #define AUDIT_USER_TTY 1124
0078 #define AUDIT_LAST_USER_MSG 1199
0079 #define AUDIT_FIRST_USER_MSG2 2100
0080 #define AUDIT_LAST_USER_MSG2 2999
0081
0082 #define AUDIT_DAEMON_START 1200
0083 #define AUDIT_DAEMON_END 1201
0084 #define AUDIT_DAEMON_ABORT 1202
0085 #define AUDIT_DAEMON_CONFIG 1203
0086
0087 #define AUDIT_SYSCALL 1300
0088
0089 #define AUDIT_PATH 1302
0090 #define AUDIT_IPC 1303
0091 #define AUDIT_SOCKETCALL 1304
0092 #define AUDIT_CONFIG_CHANGE 1305
0093 #define AUDIT_SOCKADDR 1306
0094 #define AUDIT_CWD 1307
0095 #define AUDIT_EXECVE 1309
0096 #define AUDIT_IPC_SET_PERM 1311
0097 #define AUDIT_MQ_OPEN 1312
0098 #define AUDIT_MQ_SENDRECV 1313
0099 #define AUDIT_MQ_NOTIFY 1314
0100 #define AUDIT_MQ_GETSETATTR 1315
0101 #define AUDIT_KERNEL_OTHER 1316
0102 #define AUDIT_FD_PAIR 1317
0103 #define AUDIT_OBJ_PID 1318
0104 #define AUDIT_TTY 1319
0105 #define AUDIT_EOE 1320
0106 #define AUDIT_BPRM_FCAPS 1321
0107 #define AUDIT_CAPSET 1322
0108 #define AUDIT_MMAP 1323
0109 #define AUDIT_NETFILTER_PKT 1324
0110 #define AUDIT_NETFILTER_CFG 1325
0111 #define AUDIT_SECCOMP 1326
0112 #define AUDIT_PROCTITLE 1327
0113 #define AUDIT_FEATURE_CHANGE 1328
0114 #define AUDIT_REPLACE 1329
0115 #define AUDIT_KERN_MODULE 1330
0116 #define AUDIT_FANOTIFY 1331
0117 #define AUDIT_TIME_INJOFFSET 1332
0118 #define AUDIT_TIME_ADJNTPVAL 1333
0119 #define AUDIT_BPF 1334
0120 #define AUDIT_EVENT_LISTENER 1335
0121 #define AUDIT_URINGOP 1336
0122 #define AUDIT_OPENAT2 1337
0123 #define AUDIT_DM_CTRL 1338
0124 #define AUDIT_DM_EVENT 1339
0125
0126 #define AUDIT_AVC 1400
0127 #define AUDIT_SELINUX_ERR 1401
0128 #define AUDIT_AVC_PATH 1402
0129 #define AUDIT_MAC_POLICY_LOAD 1403
0130 #define AUDIT_MAC_STATUS 1404
0131 #define AUDIT_MAC_CONFIG_CHANGE 1405
0132 #define AUDIT_MAC_UNLBL_ALLOW 1406
0133 #define AUDIT_MAC_CIPSOV4_ADD 1407
0134 #define AUDIT_MAC_CIPSOV4_DEL 1408
0135 #define AUDIT_MAC_MAP_ADD 1409
0136 #define AUDIT_MAC_MAP_DEL 1410
0137 #define AUDIT_MAC_IPSEC_ADDSA 1411
0138 #define AUDIT_MAC_IPSEC_DELSA 1412
0139 #define AUDIT_MAC_IPSEC_ADDSPD 1413
0140 #define AUDIT_MAC_IPSEC_DELSPD 1414
0141 #define AUDIT_MAC_IPSEC_EVENT 1415
0142 #define AUDIT_MAC_UNLBL_STCADD 1416
0143 #define AUDIT_MAC_UNLBL_STCDEL 1417
0144 #define AUDIT_MAC_CALIPSO_ADD 1418
0145 #define AUDIT_MAC_CALIPSO_DEL 1419
0146
0147 #define AUDIT_FIRST_KERN_ANOM_MSG 1700
0148 #define AUDIT_LAST_KERN_ANOM_MSG 1799
0149 #define AUDIT_ANOM_PROMISCUOUS 1700
0150 #define AUDIT_ANOM_ABEND 1701
0151 #define AUDIT_ANOM_LINK 1702
0152 #define AUDIT_ANOM_CREAT 1703
0153 #define AUDIT_INTEGRITY_DATA 1800
0154 #define AUDIT_INTEGRITY_METADATA 1801
0155 #define AUDIT_INTEGRITY_STATUS 1802
0156 #define AUDIT_INTEGRITY_HASH 1803
0157 #define AUDIT_INTEGRITY_PCR 1804
0158 #define AUDIT_INTEGRITY_RULE 1805
0159 #define AUDIT_INTEGRITY_EVM_XATTR 1806
0160 #define AUDIT_INTEGRITY_POLICY_RULE 1807
0161
0162 #define AUDIT_KERNEL 2000
0163
0164
0165 #define AUDIT_FILTER_USER 0x00
0166 #define AUDIT_FILTER_TASK 0x01
0167 #define AUDIT_FILTER_ENTRY 0x02
0168 #define AUDIT_FILTER_WATCH 0x03
0169 #define AUDIT_FILTER_EXIT 0x04
0170 #define AUDIT_FILTER_EXCLUDE 0x05
0171 #define AUDIT_FILTER_TYPE AUDIT_FILTER_EXCLUDE
0172 #define AUDIT_FILTER_FS 0x06
0173 #define AUDIT_FILTER_URING_EXIT 0x07
0174
0175 #define AUDIT_NR_FILTERS 8
0176
0177 #define AUDIT_FILTER_PREPEND 0x10
0178
0179
0180 #define AUDIT_NEVER 0
0181 #define AUDIT_POSSIBLE 1
0182 #define AUDIT_ALWAYS 2
0183
0184
0185
0186 #define AUDIT_MAX_FIELDS 64
0187 #define AUDIT_MAX_KEY_LEN 256
0188 #define AUDIT_BITMASK_SIZE 64
0189 #define AUDIT_WORD(nr) ((__u32)((nr)/32))
0190 #define AUDIT_BIT(nr) (1 << ((nr) - AUDIT_WORD(nr)*32))
0191
0192 #define AUDIT_SYSCALL_CLASSES 16
0193 #define AUDIT_CLASS_DIR_WRITE 0
0194 #define AUDIT_CLASS_DIR_WRITE_32 1
0195 #define AUDIT_CLASS_CHATTR 2
0196 #define AUDIT_CLASS_CHATTR_32 3
0197 #define AUDIT_CLASS_READ 4
0198 #define AUDIT_CLASS_READ_32 5
0199 #define AUDIT_CLASS_WRITE 6
0200 #define AUDIT_CLASS_WRITE_32 7
0201 #define AUDIT_CLASS_SIGNAL 8
0202 #define AUDIT_CLASS_SIGNAL_32 9
0203
0204
0205
0206
0207
0208 #define AUDIT_UNUSED_BITS 0x07FFFC00
0209
0210
0211 #define AUDIT_COMPARE_UID_TO_OBJ_UID 1
0212 #define AUDIT_COMPARE_GID_TO_OBJ_GID 2
0213 #define AUDIT_COMPARE_EUID_TO_OBJ_UID 3
0214 #define AUDIT_COMPARE_EGID_TO_OBJ_GID 4
0215 #define AUDIT_COMPARE_AUID_TO_OBJ_UID 5
0216 #define AUDIT_COMPARE_SUID_TO_OBJ_UID 6
0217 #define AUDIT_COMPARE_SGID_TO_OBJ_GID 7
0218 #define AUDIT_COMPARE_FSUID_TO_OBJ_UID 8
0219 #define AUDIT_COMPARE_FSGID_TO_OBJ_GID 9
0220
0221 #define AUDIT_COMPARE_UID_TO_AUID 10
0222 #define AUDIT_COMPARE_UID_TO_EUID 11
0223 #define AUDIT_COMPARE_UID_TO_FSUID 12
0224 #define AUDIT_COMPARE_UID_TO_SUID 13
0225
0226 #define AUDIT_COMPARE_AUID_TO_FSUID 14
0227 #define AUDIT_COMPARE_AUID_TO_SUID 15
0228 #define AUDIT_COMPARE_AUID_TO_EUID 16
0229
0230 #define AUDIT_COMPARE_EUID_TO_SUID 17
0231 #define AUDIT_COMPARE_EUID_TO_FSUID 18
0232
0233 #define AUDIT_COMPARE_SUID_TO_FSUID 19
0234
0235 #define AUDIT_COMPARE_GID_TO_EGID 20
0236 #define AUDIT_COMPARE_GID_TO_FSGID 21
0237 #define AUDIT_COMPARE_GID_TO_SGID 22
0238
0239 #define AUDIT_COMPARE_EGID_TO_FSGID 23
0240 #define AUDIT_COMPARE_EGID_TO_SGID 24
0241 #define AUDIT_COMPARE_SGID_TO_FSGID 25
0242
0243 #define AUDIT_MAX_FIELD_COMPARE AUDIT_COMPARE_SGID_TO_FSGID
0244
0245
0246
0247
0248
0249 #define AUDIT_PID 0
0250 #define AUDIT_UID 1
0251 #define AUDIT_EUID 2
0252 #define AUDIT_SUID 3
0253 #define AUDIT_FSUID 4
0254 #define AUDIT_GID 5
0255 #define AUDIT_EGID 6
0256 #define AUDIT_SGID 7
0257 #define AUDIT_FSGID 8
0258 #define AUDIT_LOGINUID 9
0259 #define AUDIT_PERS 10
0260 #define AUDIT_ARCH 11
0261 #define AUDIT_MSGTYPE 12
0262 #define AUDIT_SUBJ_USER 13
0263 #define AUDIT_SUBJ_ROLE 14
0264 #define AUDIT_SUBJ_TYPE 15
0265 #define AUDIT_SUBJ_SEN 16
0266 #define AUDIT_SUBJ_CLR 17
0267 #define AUDIT_PPID 18
0268 #define AUDIT_OBJ_USER 19
0269 #define AUDIT_OBJ_ROLE 20
0270 #define AUDIT_OBJ_TYPE 21
0271 #define AUDIT_OBJ_LEV_LOW 22
0272 #define AUDIT_OBJ_LEV_HIGH 23
0273 #define AUDIT_LOGINUID_SET 24
0274 #define AUDIT_SESSIONID 25
0275 #define AUDIT_FSTYPE 26
0276
0277
0278
0279 #define AUDIT_DEVMAJOR 100
0280 #define AUDIT_DEVMINOR 101
0281 #define AUDIT_INODE 102
0282 #define AUDIT_EXIT 103
0283 #define AUDIT_SUCCESS 104
0284 #define AUDIT_WATCH 105
0285 #define AUDIT_PERM 106
0286 #define AUDIT_DIR 107
0287 #define AUDIT_FILETYPE 108
0288 #define AUDIT_OBJ_UID 109
0289 #define AUDIT_OBJ_GID 110
0290 #define AUDIT_FIELD_COMPARE 111
0291 #define AUDIT_EXE 112
0292 #define AUDIT_SADDR_FAM 113
0293
0294 #define AUDIT_ARG0 200
0295 #define AUDIT_ARG1 (AUDIT_ARG0+1)
0296 #define AUDIT_ARG2 (AUDIT_ARG0+2)
0297 #define AUDIT_ARG3 (AUDIT_ARG0+3)
0298
0299 #define AUDIT_FILTERKEY 210
0300
0301 #define AUDIT_NEGATE 0x80000000
0302
0303
0304
0305
0306
0307
0308
0309
0310
0311
0312
0313
0314
0315
0316
0317
0318 #define AUDIT_BIT_MASK 0x08000000
0319 #define AUDIT_LESS_THAN 0x10000000
0320 #define AUDIT_GREATER_THAN 0x20000000
0321 #define AUDIT_NOT_EQUAL 0x30000000
0322 #define AUDIT_EQUAL 0x40000000
0323 #define AUDIT_BIT_TEST (AUDIT_BIT_MASK|AUDIT_EQUAL)
0324 #define AUDIT_LESS_THAN_OR_EQUAL (AUDIT_LESS_THAN|AUDIT_EQUAL)
0325 #define AUDIT_GREATER_THAN_OR_EQUAL (AUDIT_GREATER_THAN|AUDIT_EQUAL)
0326 #define AUDIT_OPERATORS (AUDIT_EQUAL|AUDIT_NOT_EQUAL|AUDIT_BIT_MASK)
0327
0328 enum {
0329 Audit_equal,
0330 Audit_not_equal,
0331 Audit_bitmask,
0332 Audit_bittest,
0333 Audit_lt,
0334 Audit_gt,
0335 Audit_le,
0336 Audit_ge,
0337 Audit_bad
0338 };
0339
0340
0341
0342 #define AUDIT_STATUS_ENABLED 0x0001
0343 #define AUDIT_STATUS_FAILURE 0x0002
0344 #define AUDIT_STATUS_PID 0x0004
0345 #define AUDIT_STATUS_RATE_LIMIT 0x0008
0346 #define AUDIT_STATUS_BACKLOG_LIMIT 0x0010
0347 #define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0020
0348 #define AUDIT_STATUS_LOST 0x0040
0349 #define AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL 0x0080
0350
0351 #define AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT 0x00000001
0352 #define AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME 0x00000002
0353 #define AUDIT_FEATURE_BITMAP_EXECUTABLE_PATH 0x00000004
0354 #define AUDIT_FEATURE_BITMAP_EXCLUDE_EXTEND 0x00000008
0355 #define AUDIT_FEATURE_BITMAP_SESSIONID_FILTER 0x00000010
0356 #define AUDIT_FEATURE_BITMAP_LOST_RESET 0x00000020
0357 #define AUDIT_FEATURE_BITMAP_FILTER_FS 0x00000040
0358
0359 #define AUDIT_FEATURE_BITMAP_ALL (AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT | \
0360 AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME | \
0361 AUDIT_FEATURE_BITMAP_EXECUTABLE_PATH | \
0362 AUDIT_FEATURE_BITMAP_EXCLUDE_EXTEND | \
0363 AUDIT_FEATURE_BITMAP_SESSIONID_FILTER | \
0364 AUDIT_FEATURE_BITMAP_LOST_RESET | \
0365 AUDIT_FEATURE_BITMAP_FILTER_FS)
0366
0367
0368 #define AUDIT_VERSION_LATEST AUDIT_FEATURE_BITMAP_ALL
0369 #define AUDIT_VERSION_BACKLOG_LIMIT AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT
0370 #define AUDIT_VERSION_BACKLOG_WAIT_TIME AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME
0371
0372
0373 #define AUDIT_FAIL_SILENT 0
0374 #define AUDIT_FAIL_PRINTK 1
0375 #define AUDIT_FAIL_PANIC 2
0376
0377
0378
0379
0380
0381 #define __AUDIT_ARCH_CONVENTION_MASK 0x30000000
0382 #define __AUDIT_ARCH_CONVENTION_MIPS64_N32 0x20000000
0383
0384
0385 #define __AUDIT_ARCH_64BIT 0x80000000
0386 #define __AUDIT_ARCH_LE 0x40000000
0387
0388 #define AUDIT_ARCH_AARCH64 (EM_AARCH64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
0389 #define AUDIT_ARCH_ALPHA (EM_ALPHA|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
0390 #define AUDIT_ARCH_ARCOMPACT (EM_ARCOMPACT|__AUDIT_ARCH_LE)
0391 #define AUDIT_ARCH_ARCOMPACTBE (EM_ARCOMPACT)
0392 #define AUDIT_ARCH_ARCV2 (EM_ARCV2|__AUDIT_ARCH_LE)
0393 #define AUDIT_ARCH_ARCV2BE (EM_ARCV2)
0394 #define AUDIT_ARCH_ARM (EM_ARM|__AUDIT_ARCH_LE)
0395 #define AUDIT_ARCH_ARMEB (EM_ARM)
0396 #define AUDIT_ARCH_C6X (EM_TI_C6000|__AUDIT_ARCH_LE)
0397 #define AUDIT_ARCH_C6XBE (EM_TI_C6000)
0398 #define AUDIT_ARCH_CRIS (EM_CRIS|__AUDIT_ARCH_LE)
0399 #define AUDIT_ARCH_CSKY (EM_CSKY|__AUDIT_ARCH_LE)
0400 #define AUDIT_ARCH_FRV (EM_FRV)
0401 #define AUDIT_ARCH_H8300 (EM_H8_300)
0402 #define AUDIT_ARCH_HEXAGON (EM_HEXAGON)
0403 #define AUDIT_ARCH_I386 (EM_386|__AUDIT_ARCH_LE)
0404 #define AUDIT_ARCH_IA64 (EM_IA_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
0405 #define AUDIT_ARCH_M32R (EM_M32R)
0406 #define AUDIT_ARCH_M68K (EM_68K)
0407 #define AUDIT_ARCH_MICROBLAZE (EM_MICROBLAZE)
0408 #define AUDIT_ARCH_MIPS (EM_MIPS)
0409 #define AUDIT_ARCH_MIPSEL (EM_MIPS|__AUDIT_ARCH_LE)
0410 #define AUDIT_ARCH_MIPS64 (EM_MIPS|__AUDIT_ARCH_64BIT)
0411 #define AUDIT_ARCH_MIPS64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|\
0412 __AUDIT_ARCH_CONVENTION_MIPS64_N32)
0413 #define AUDIT_ARCH_MIPSEL64 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
0414 #define AUDIT_ARCH_MIPSEL64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE|\
0415 __AUDIT_ARCH_CONVENTION_MIPS64_N32)
0416 #define AUDIT_ARCH_NDS32 (EM_NDS32|__AUDIT_ARCH_LE)
0417 #define AUDIT_ARCH_NDS32BE (EM_NDS32)
0418 #define AUDIT_ARCH_NIOS2 (EM_ALTERA_NIOS2|__AUDIT_ARCH_LE)
0419 #define AUDIT_ARCH_OPENRISC (EM_OPENRISC)
0420 #define AUDIT_ARCH_PARISC (EM_PARISC)
0421 #define AUDIT_ARCH_PARISC64 (EM_PARISC|__AUDIT_ARCH_64BIT)
0422 #define AUDIT_ARCH_PPC (EM_PPC)
0423
0424 #define AUDIT_ARCH_PPC64 (EM_PPC64|__AUDIT_ARCH_64BIT)
0425 #define AUDIT_ARCH_PPC64LE (EM_PPC64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
0426 #define AUDIT_ARCH_RISCV32 (EM_RISCV|__AUDIT_ARCH_LE)
0427 #define AUDIT_ARCH_RISCV64 (EM_RISCV|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
0428 #define AUDIT_ARCH_S390 (EM_S390)
0429 #define AUDIT_ARCH_S390X (EM_S390|__AUDIT_ARCH_64BIT)
0430 #define AUDIT_ARCH_SH (EM_SH)
0431 #define AUDIT_ARCH_SHEL (EM_SH|__AUDIT_ARCH_LE)
0432 #define AUDIT_ARCH_SH64 (EM_SH|__AUDIT_ARCH_64BIT)
0433 #define AUDIT_ARCH_SHEL64 (EM_SH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
0434 #define AUDIT_ARCH_SPARC (EM_SPARC)
0435 #define AUDIT_ARCH_SPARC64 (EM_SPARCV9|__AUDIT_ARCH_64BIT)
0436 #define AUDIT_ARCH_TILEGX (EM_TILEGX|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
0437 #define AUDIT_ARCH_TILEGX32 (EM_TILEGX|__AUDIT_ARCH_LE)
0438 #define AUDIT_ARCH_TILEPRO (EM_TILEPRO|__AUDIT_ARCH_LE)
0439 #define AUDIT_ARCH_UNICORE (EM_UNICORE|__AUDIT_ARCH_LE)
0440 #define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
0441 #define AUDIT_ARCH_XTENSA (EM_XTENSA)
0442 #define AUDIT_ARCH_LOONGARCH32 (EM_LOONGARCH|__AUDIT_ARCH_LE)
0443 #define AUDIT_ARCH_LOONGARCH64 (EM_LOONGARCH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
0444
0445 #define AUDIT_PERM_EXEC 1
0446 #define AUDIT_PERM_WRITE 2
0447 #define AUDIT_PERM_READ 4
0448 #define AUDIT_PERM_ATTR 8
0449
0450
0451
0452
0453
0454 #define AUDIT_MESSAGE_TEXT_MAX 8560
0455
0456
0457 enum audit_nlgrps {
0458 AUDIT_NLGRP_NONE,
0459 AUDIT_NLGRP_READLOG,
0460 __AUDIT_NLGRP_MAX
0461 };
0462 #define AUDIT_NLGRP_MAX (__AUDIT_NLGRP_MAX - 1)
0463
0464 struct audit_status {
0465 __u32 mask;
0466 __u32 enabled;
0467 __u32 failure;
0468 __u32 pid;
0469 __u32 rate_limit;
0470 __u32 backlog_limit;
0471 __u32 lost;
0472 __u32 backlog;
0473 union {
0474 __u32 version;
0475 __u32 feature_bitmap;
0476 };
0477 __u32 backlog_wait_time;
0478 __u32 backlog_wait_time_actual;
0479
0480
0481 };
0482
0483 struct audit_features {
0484 #define AUDIT_FEATURE_VERSION 1
0485 __u32 vers;
0486 __u32 mask;
0487 __u32 features;
0488 __u32 lock;
0489 };
0490
0491 #define AUDIT_FEATURE_ONLY_UNSET_LOGINUID 0
0492 #define AUDIT_FEATURE_LOGINUID_IMMUTABLE 1
0493 #define AUDIT_LAST_FEATURE AUDIT_FEATURE_LOGINUID_IMMUTABLE
0494
0495 #define audit_feature_valid(x) ((x) >= 0 && (x) <= AUDIT_LAST_FEATURE)
0496 #define AUDIT_FEATURE_TO_MASK(x) (1 << ((x) & 31))
0497
0498 struct audit_tty_status {
0499 __u32 enabled;
0500 __u32 log_passwd;
0501 };
0502
0503 #define AUDIT_UID_UNSET (unsigned int)-1
0504 #define AUDIT_SID_UNSET ((unsigned int)-1)
0505
0506
0507
0508
0509
0510 struct audit_rule_data {
0511 __u32 flags;
0512 __u32 action;
0513 __u32 field_count;
0514 __u32 mask[AUDIT_BITMASK_SIZE];
0515 __u32 fields[AUDIT_MAX_FIELDS];
0516 __u32 values[AUDIT_MAX_FIELDS];
0517 __u32 fieldflags[AUDIT_MAX_FIELDS];
0518 __u32 buflen;
0519 char buf[];
0520 };
0521
0522 #endif