⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 audit.h

📁 Axis 221 camera embedded programing interface
💻 H
📖 第 1 页 / 共 2 页
字号:
#define AUDIT_ARCH_S390		(EM_S390)#define AUDIT_ARCH_S390X	(EM_S390|__AUDIT_ARCH_64BIT)#define AUDIT_ARCH_SH		(EM_SH)#define AUDIT_ARCH_SHEL		(EM_SH|__AUDIT_ARCH_LE)#define AUDIT_ARCH_SH64		(EM_SH|__AUDIT_ARCH_64BIT)#define AUDIT_ARCH_SHEL64	(EM_SH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)#define AUDIT_ARCH_SPARC	(EM_SPARC)#define AUDIT_ARCH_SPARC64	(EM_SPARCV9|__AUDIT_ARCH_64BIT)#define AUDIT_ARCH_V850		(EM_V850|__AUDIT_ARCH_LE)#define AUDIT_ARCH_X86_64	(EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)#define AUDIT_PERM_EXEC		1#define AUDIT_PERM_WRITE	2#define AUDIT_PERM_READ		4#define AUDIT_PERM_ATTR		8struct audit_status {	__u32		mask;		/* Bit mask for valid entries */	__u32		enabled;	/* 1 = enabled, 0 = disabled */	__u32		failure;	/* Failure-to-log action */	__u32		pid;		/* pid of auditd process */	__u32		rate_limit;	/* messages rate limit (per second) */	__u32		backlog_limit;	/* waiting messages limit */	__u32		lost;		/* messages lost */	__u32		backlog;	/* messages waiting in queue */};/* audit_rule_data supports filter rules with both integer and string * fields.  It corresponds with AUDIT_ADD_RULE, AUDIT_DEL_RULE and * AUDIT_LIST_RULES requests. */struct audit_rule_data {	__u32		flags;	/* AUDIT_PER_{TASK,CALL}, AUDIT_PREPEND */	__u32		action;	/* AUDIT_NEVER, AUDIT_POSSIBLE, AUDIT_ALWAYS */	__u32		field_count;	__u32		mask[AUDIT_BITMASK_SIZE]; /* syscall(s) affected */	__u32		fields[AUDIT_MAX_FIELDS];	__u32		values[AUDIT_MAX_FIELDS];	__u32		fieldflags[AUDIT_MAX_FIELDS];	__u32		buflen;	/* total length of string fields */	char		buf[0];	/* string fields buffer */};/* audit_rule is supported to maintain backward compatibility with * userspace.  It supports integer fields only and corresponds to * AUDIT_ADD, AUDIT_DEL and AUDIT_LIST requests. */struct audit_rule {		/* for AUDIT_LIST, AUDIT_ADD, and AUDIT_DEL */	__u32		flags;	/* AUDIT_PER_{TASK,CALL}, AUDIT_PREPEND */	__u32		action;	/* AUDIT_NEVER, AUDIT_POSSIBLE, AUDIT_ALWAYS */	__u32		field_count;	__u32		mask[AUDIT_BITMASK_SIZE];	__u32		fields[AUDIT_MAX_FIELDS];	__u32		values[AUDIT_MAX_FIELDS];};#ifdef __KERNEL__#include <linux/sched.h>struct audit_sig_info {	uid_t		uid;	pid_t		pid;	char		ctx[0];};struct audit_buffer;struct audit_context;struct inode;struct netlink_skb_parms;struct linux_binprm;struct mq_attr;struct mqstat;#define AUDITSC_INVALID 0#define AUDITSC_SUCCESS 1#define AUDITSC_FAILURE 2#define AUDITSC_RESULT(x) ( ((long)(x))<0?AUDITSC_FAILURE:AUDITSC_SUCCESS )extern int __init audit_register_class(int class, unsigned *list);extern int audit_classify_syscall(int abi, unsigned syscall);#ifdef CONFIG_AUDITSYSCALL/* These are defined in auditsc.c */				/* Public API */extern int  audit_alloc(struct task_struct *task);extern void audit_free(struct task_struct *task);extern void audit_syscall_entry(int arch,				int major, unsigned long a0, unsigned long a1,				unsigned long a2, unsigned long a3);extern void audit_syscall_exit(int failed, long return_code);extern void __audit_getname(const char *name);extern void audit_putname(const char *name);extern void __audit_inode(const char *name, const struct inode *inode);extern void __audit_inode_child(const char *dname, const struct inode *inode,				const struct inode *parent);extern void __audit_inode_update(const struct inode *inode);static inline int audit_dummy_context(void){	void *p = current->audit_context;	return !p || *(int *)p;}static inline void audit_getname(const char *name){	if (unlikely(!audit_dummy_context()))		__audit_getname(name);}static inline void audit_inode(const char *name, const struct inode *inode) {	if (unlikely(!audit_dummy_context()))		__audit_inode(name, inode);}static inline void audit_inode_child(const char *dname, 				     const struct inode *inode,				     const struct inode *parent) {	if (unlikely(!audit_dummy_context()))		__audit_inode_child(dname, inode, parent);}static inline void audit_inode_update(const struct inode *inode) {	if (unlikely(!audit_dummy_context()))		__audit_inode_update(inode);}				/* Private API (for audit.c only) */extern unsigned int audit_serial(void);extern void auditsc_get_stamp(struct audit_context *ctx,			      struct timespec *t, unsigned int *serial);extern int  audit_set_loginuid(struct task_struct *task, uid_t loginuid);extern uid_t audit_get_loginuid(struct audit_context *ctx);extern void audit_log_task_context(struct audit_buffer *ab);extern int __audit_ipc_obj(struct kern_ipc_perm *ipcp);extern int __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode);extern int audit_bprm(struct linux_binprm *bprm);extern int audit_socketcall(int nargs, unsigned long *args);extern int audit_sockaddr(int len, void *addr);extern int audit_avc_path(struct dentry *dentry, struct vfsmount *mnt);extern int audit_set_macxattr(const char *name);extern int __audit_mq_open(int oflag, mode_t mode, struct mq_attr __user *u_attr);extern int __audit_mq_timedsend(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, const struct timespec __user *u_abs_timeout);extern int __audit_mq_timedreceive(mqd_t mqdes, size_t msg_len, unsigned int __user *u_msg_prio, const struct timespec __user *u_abs_timeout);extern int __audit_mq_notify(mqd_t mqdes, const struct sigevent __user *u_notification);extern int __audit_mq_getsetattr(mqd_t mqdes, struct mq_attr *mqstat);static inline int audit_ipc_obj(struct kern_ipc_perm *ipcp){	if (unlikely(!audit_dummy_context()))		return __audit_ipc_obj(ipcp);	return 0;}static inline int audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode){	if (unlikely(!audit_dummy_context()))		return __audit_ipc_set_perm(qbytes, uid, gid, mode);	return 0;}static inline int audit_mq_open(int oflag, mode_t mode, struct mq_attr __user *u_attr){	if (unlikely(!audit_dummy_context()))		return __audit_mq_open(oflag, mode, u_attr);	return 0;}static inline int audit_mq_timedsend(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, const struct timespec __user *u_abs_timeout){	if (unlikely(!audit_dummy_context()))		return __audit_mq_timedsend(mqdes, msg_len, msg_prio, u_abs_timeout);	return 0;}static inline int audit_mq_timedreceive(mqd_t mqdes, size_t msg_len, unsigned int __user *u_msg_prio, const struct timespec __user *u_abs_timeout){	if (unlikely(!audit_dummy_context()))		return __audit_mq_timedreceive(mqdes, msg_len, u_msg_prio, u_abs_timeout);	return 0;}static inline int audit_mq_notify(mqd_t mqdes, const struct sigevent __user *u_notification){	if (unlikely(!audit_dummy_context()))		return __audit_mq_notify(mqdes, u_notification);	return 0;}static inline int audit_mq_getsetattr(mqd_t mqdes, struct mq_attr *mqstat){	if (unlikely(!audit_dummy_context()))		return __audit_mq_getsetattr(mqdes, mqstat);	return 0;}extern int audit_n_rules;#else#define audit_alloc(t) ({ 0; })#define audit_free(t) do { ; } while (0)#define audit_syscall_entry(ta,a,b,c,d,e) do { ; } while (0)#define audit_syscall_exit(f,r) do { ; } while (0)#define audit_dummy_context() 1#define audit_getname(n) do { ; } while (0)#define audit_putname(n) do { ; } while (0)#define __audit_inode(n,i) do { ; } while (0)#define __audit_inode_child(d,i,p) do { ; } while (0)#define __audit_inode_update(i) do { ; } while (0)#define audit_inode(n,i) do { ; } while (0)#define audit_inode_child(d,i,p) do { ; } while (0)#define audit_inode_update(i) do { ; } while (0)#define auditsc_get_stamp(c,t,s) do { BUG(); } while (0)#define audit_get_loginuid(c) ({ -1; })#define audit_log_task_context(b) do { ; } while (0)#define audit_ipc_obj(i) ({ 0; })#define audit_ipc_set_perm(q,u,g,m) ({ 0; })#define audit_bprm(p) ({ 0; })#define audit_socketcall(n,a) ({ 0; })#define audit_sockaddr(len, addr) ({ 0; })#define audit_avc_path(dentry, mnt) ({ 0; })#define audit_set_macxattr(n) do { ; } while (0)#define audit_mq_open(o,m,a) ({ 0; })#define audit_mq_timedsend(d,l,p,t) ({ 0; })#define audit_mq_timedreceive(d,l,p,t) ({ 0; })#define audit_mq_notify(d,n) ({ 0; })#define audit_mq_getsetattr(d,s) ({ 0; })#define audit_n_rules 0#endif#ifdef CONFIG_AUDIT/* These are defined in audit.c */				/* Public API */extern void		    audit_log(struct audit_context *ctx, gfp_t gfp_mask,				      int type, const char *fmt, ...)				      __attribute__((format(printf,4,5)));extern struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask, int type);extern void		    audit_log_format(struct audit_buffer *ab,					     const char *fmt, ...)			    __attribute__((format(printf,2,3)));extern void		    audit_log_end(struct audit_buffer *ab);extern void		    audit_log_hex(struct audit_buffer *ab,					  const unsigned char *buf,					  size_t len);extern const char *	    audit_log_untrustedstring(struct audit_buffer *ab,						      const char *string);extern const char *	    audit_log_n_untrustedstring(struct audit_buffer *ab,							size_t n,							const char *string);extern void		    audit_log_d_path(struct audit_buffer *ab,					     const char *prefix,					     struct dentry *dentry,					     struct vfsmount *vfsmnt);				/* Private API (for audit.c only) */extern int audit_filter_user(struct netlink_skb_parms *cb, int type);extern int audit_filter_type(int type);extern int  audit_receive_filter(int type, int pid, int uid, int seq,			 void *data, size_t datasz, uid_t loginuid, u32 sid);#else#define audit_log(c,g,t,f,...) do { ; } while (0)#define audit_log_start(c,g,t) ({ NULL; })#define audit_log_vformat(b,f,a) do { ; } while (0)#define audit_log_format(b,f,...) do { ; } while (0)#define audit_log_end(b) do { ; } while (0)#define audit_log_hex(a,b,l) do { ; } while (0)#define audit_log_untrustedstring(a,s) do { ; } while (0)#define audit_log_n_untrustedstring(a,n,s) do { ; } while (0)#define audit_log_d_path(b,p,d,v) do { ; } while (0)#endif#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -