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

📄 security.h

📁 Axis 221 camera embedded programing interface
💻 H
📖 第 1 页 / 共 5 页
字号:
 *	@type contains the type of action. *	Return 0 if permission is granted. * @settime: *	Check permission to change the system time. *	struct timespec and timezone are defined in include/linux/time.h *	@ts contains new time *	@tz contains new timezone *	Return 0 if permission is granted. * @vm_enough_memory: *	Check permissions for allocating a new virtual mapping. *      @pages contains the number of pages. *	Return 0 if permission is granted. * * @register_security: * 	allow module stacking. * 	@name contains the name of the security module being stacked. * 	@ops contains a pointer to the struct security_operations of the module to stack. * @unregister_security: *	remove a stacked module. *	@name contains the name of the security module being unstacked. *	@ops contains a pointer to the struct security_operations of the module to unstack. *  * @secid_to_secctx: *	Convert secid to security context. *	@secid contains the security ID. *	@secdata contains the pointer that stores the converted security context. * * @release_secctx: *	Release the security context. *	@secdata contains the security context. *	@seclen contains the length of the security context. * * This is the main security structure. */struct security_operations {	int (*ptrace) (struct task_struct * parent, struct task_struct * child);	int (*capget) (struct task_struct * target,		       kernel_cap_t * effective,		       kernel_cap_t * inheritable, kernel_cap_t * permitted);	int (*capset_check) (struct task_struct * target,			     kernel_cap_t * effective,			     kernel_cap_t * inheritable,			     kernel_cap_t * permitted);	void (*capset_set) (struct task_struct * target,			    kernel_cap_t * effective,			    kernel_cap_t * inheritable,			    kernel_cap_t * permitted);	int (*capable) (struct task_struct * tsk, int cap);	int (*acct) (struct file * file);	int (*sysctl) (struct ctl_table * table, int op);	int (*quotactl) (int cmds, int type, int id, struct super_block * sb);	int (*quota_on) (struct dentry * dentry);	int (*syslog) (int type);	int (*settime) (struct timespec *ts, struct timezone *tz);	int (*vm_enough_memory) (long pages);	int (*bprm_alloc_security) (struct linux_binprm * bprm);	void (*bprm_free_security) (struct linux_binprm * bprm);	void (*bprm_apply_creds) (struct linux_binprm * bprm, int unsafe);	void (*bprm_post_apply_creds) (struct linux_binprm * bprm);	int (*bprm_set_security) (struct linux_binprm * bprm);	int (*bprm_check_security) (struct linux_binprm * bprm);	int (*bprm_secureexec) (struct linux_binprm * bprm);	int (*sb_alloc_security) (struct super_block * sb);	void (*sb_free_security) (struct super_block * sb);	int (*sb_copy_data)(struct file_system_type *type,			    void *orig, void *copy);	int (*sb_kern_mount) (struct super_block *sb, void *data);	int (*sb_statfs) (struct dentry *dentry);	int (*sb_mount) (char *dev_name, struct nameidata * nd,			 char *type, unsigned long flags, void *data);	int (*sb_check_sb) (struct vfsmount * mnt, struct nameidata * nd);	int (*sb_umount) (struct vfsmount * mnt, int flags);	void (*sb_umount_close) (struct vfsmount * mnt);	void (*sb_umount_busy) (struct vfsmount * mnt);	void (*sb_post_remount) (struct vfsmount * mnt,				 unsigned long flags, void *data);	void (*sb_post_mountroot) (void);	void (*sb_post_addmount) (struct vfsmount * mnt,				  struct nameidata * mountpoint_nd);	int (*sb_pivotroot) (struct nameidata * old_nd,			     struct nameidata * new_nd);	void (*sb_post_pivotroot) (struct nameidata * old_nd,				   struct nameidata * new_nd);	int (*inode_alloc_security) (struct inode *inode);		void (*inode_free_security) (struct inode *inode);	int (*inode_init_security) (struct inode *inode, struct inode *dir,				    char **name, void **value, size_t *len);	int (*inode_create) (struct inode *dir,	                     struct dentry *dentry, int mode);	int (*inode_link) (struct dentry *old_dentry,	                   struct inode *dir, struct dentry *new_dentry);	int (*inode_unlink) (struct inode *dir, struct dentry *dentry);	int (*inode_symlink) (struct inode *dir,	                      struct dentry *dentry, const char *old_name);	int (*inode_mkdir) (struct inode *dir, struct dentry *dentry, int mode);	int (*inode_rmdir) (struct inode *dir, struct dentry *dentry);	int (*inode_mknod) (struct inode *dir, struct dentry *dentry,	                    int mode, dev_t dev);	int (*inode_rename) (struct inode *old_dir, struct dentry *old_dentry,	                     struct inode *new_dir, struct dentry *new_dentry);	int (*inode_readlink) (struct dentry *dentry);	int (*inode_follow_link) (struct dentry *dentry, struct nameidata *nd);	int (*inode_permission) (struct inode *inode, int mask, struct nameidata *nd);	int (*inode_setattr)	(struct dentry *dentry, struct iattr *attr);	int (*inode_getattr) (struct vfsmount *mnt, struct dentry *dentry);        void (*inode_delete) (struct inode *inode);	int (*inode_setxattr) (struct dentry *dentry, char *name, void *value,			       size_t size, int flags);	void (*inode_post_setxattr) (struct dentry *dentry, char *name, void *value,				     size_t size, int flags);	int (*inode_getxattr) (struct dentry *dentry, char *name);	int (*inode_listxattr) (struct dentry *dentry);	int (*inode_removexattr) (struct dentry *dentry, char *name);	const char *(*inode_xattr_getsuffix) (void);  	int (*inode_getsecurity)(const struct inode *inode, const char *name, void *buffer, size_t size, int err);  	int (*inode_setsecurity)(struct inode *inode, const char *name, const void *value, size_t size, int flags);  	int (*inode_listsecurity)(struct inode *inode, char *buffer, size_t buffer_size);	int (*file_permission) (struct file * file, int mask);	int (*file_alloc_security) (struct file * file);	void (*file_free_security) (struct file * file);	int (*file_ioctl) (struct file * file, unsigned int cmd,			   unsigned long arg);	int (*file_mmap) (struct file * file,			  unsigned long reqprot,			  unsigned long prot, unsigned long flags);	int (*file_mprotect) (struct vm_area_struct * vma,			      unsigned long reqprot,			      unsigned long prot);	int (*file_lock) (struct file * file, unsigned int cmd);	int (*file_fcntl) (struct file * file, unsigned int cmd,			   unsigned long arg);	int (*file_set_fowner) (struct file * file);	int (*file_send_sigiotask) (struct task_struct * tsk,				    struct fown_struct * fown, int sig);	int (*file_receive) (struct file * file);	int (*task_create) (unsigned long clone_flags);	int (*task_alloc_security) (struct task_struct * p);	void (*task_free_security) (struct task_struct * p);	int (*task_setuid) (uid_t id0, uid_t id1, uid_t id2, int flags);	int (*task_post_setuid) (uid_t old_ruid /* or fsuid */ ,				 uid_t old_euid, uid_t old_suid, int flags);	int (*task_setgid) (gid_t id0, gid_t id1, gid_t id2, int flags);	int (*task_setpgid) (struct task_struct * p, pid_t pgid);	int (*task_getpgid) (struct task_struct * p);	int (*task_getsid) (struct task_struct * p);	void (*task_getsecid) (struct task_struct * p, u32 * secid);	int (*task_setgroups) (struct group_info *group_info);	int (*task_setnice) (struct task_struct * p, int nice);	int (*task_setioprio) (struct task_struct * p, int ioprio);	int (*task_getioprio) (struct task_struct * p);	int (*task_setrlimit) (unsigned int resource, struct rlimit * new_rlim);	int (*task_setscheduler) (struct task_struct * p, int policy,				  struct sched_param * lp);	int (*task_getscheduler) (struct task_struct * p);	int (*task_movememory) (struct task_struct * p);	int (*task_kill) (struct task_struct * p,			  struct siginfo * info, int sig, u32 secid);	int (*task_wait) (struct task_struct * p);	int (*task_prctl) (int option, unsigned long arg2,			   unsigned long arg3, unsigned long arg4,			   unsigned long arg5);	void (*task_reparent_to_init) (struct task_struct * p);	void (*task_to_inode)(struct task_struct *p, struct inode *inode);	int (*ipc_permission) (struct kern_ipc_perm * ipcp, short flag);	int (*msg_msg_alloc_security) (struct msg_msg * msg);	void (*msg_msg_free_security) (struct msg_msg * msg);	int (*msg_queue_alloc_security) (struct msg_queue * msq);	void (*msg_queue_free_security) (struct msg_queue * msq);	int (*msg_queue_associate) (struct msg_queue * msq, int msqflg);	int (*msg_queue_msgctl) (struct msg_queue * msq, int cmd);	int (*msg_queue_msgsnd) (struct msg_queue * msq,				 struct msg_msg * msg, int msqflg);	int (*msg_queue_msgrcv) (struct msg_queue * msq,				 struct msg_msg * msg,				 struct task_struct * target,				 long type, int mode);	int (*shm_alloc_security) (struct shmid_kernel * shp);	void (*shm_free_security) (struct shmid_kernel * shp);	int (*shm_associate) (struct shmid_kernel * shp, int shmflg);	int (*shm_shmctl) (struct shmid_kernel * shp, int cmd);	int (*shm_shmat) (struct shmid_kernel * shp, 			  char __user *shmaddr, int shmflg);	int (*sem_alloc_security) (struct sem_array * sma);	void (*sem_free_security) (struct sem_array * sma);	int (*sem_associate) (struct sem_array * sma, int semflg);	int (*sem_semctl) (struct sem_array * sma, int cmd);	int (*sem_semop) (struct sem_array * sma, 			  struct sembuf * sops, unsigned nsops, int alter);	int (*netlink_send) (struct sock * sk, struct sk_buff * skb);	int (*netlink_recv) (struct sk_buff * skb, int cap);	/* allow module stacking */	int (*register_security) (const char *name,	                          struct security_operations *ops);	int (*unregister_security) (const char *name,	                            struct security_operations *ops);	void (*d_instantiate) (struct dentry *dentry, struct inode *inode); 	int (*getprocattr)(struct task_struct *p, char *name, void *value, size_t size); 	int (*setprocattr)(struct task_struct *p, char *name, void *value, size_t size);	int (*secid_to_secctx)(u32 secid, char **secdata, u32 *seclen);	void (*release_secctx)(char *secdata, u32 seclen);#ifdef CONFIG_SECURITY_NETWORK	int (*unix_stream_connect) (struct socket * sock,				    struct socket * other, struct sock * newsk);	int (*unix_may_send) (struct socket * sock, struct socket * other);	int (*socket_create) (int family, int type, int protocol, int kern);	int (*socket_post_create) (struct socket * sock, int family,				   int type, int protocol, int kern);	int (*socket_bind) (struct socket * sock,			    struct sockaddr * address, int addrlen);	int (*socket_connect) (struct socket * sock,			       struct sockaddr * address, int addrlen);	int (*socket_listen) (struct socket * sock, int backlog);	int (*socket_accept) (struct socket * sock, struct socket * newsock);	void (*socket_post_accept) (struct socket * sock,				    struct socket * newsock);	int (*socket_sendmsg) (struct socket * sock,			       struct msghdr * msg, int size);	int (*socket_recvmsg) (struct socket * sock,			       struct msghdr * msg, int size, int flags);	int (*socket_getsockname) (struct socket * sock);	int (*socket_getpeername) (struct socket * sock);	int (*socket_getsockopt) (struct socket * sock, int level, int optname);	int (*socket_setsockopt) (struct socket * sock, int level, int optname);	int (*socket_shutdown) (struct socket * sock, int how);	int (*socket_sock_rcv_skb) (struct sock * sk, struct sk_buff * skb);	int (*socket_getpeersec_stream) (struct socket *sock, char __user *optval, int __user *optlen, unsigned len);	int (*socket_getpeersec_dgram) (struct socket *sock, struct sk_buff *skb, u32 *secid);	int (*sk_alloc_security) (struct sock *sk, int family, gfp_t priority);	void (*sk_free_security) (struct sock *sk);	void (*sk_clone_security) (const struct sock *sk, struct sock *newsk);	void (*sk_getsecid) (struct sock *sk, u32 *secid);	void (*sock_graft)(struct sock* sk, struct socket *parent);	int (*inet_conn_request)(struct sock *sk, struct sk_buff *skb,					struct request_sock *req);	void (*inet_csk_clone)(struct sock *newsk, const struct request_sock *req);	void (*inet_conn_established)(struct sock *sk, struct sk_buff *skb);	void (*req_classify_flow)(const struct request_sock *req, struct flowi *fl);#endif	/* CONFIG_SECURITY_NETWORK */#ifdef CONFIG_SECURITY_NETWORK_XFRM	int (*xfrm_policy_alloc_security) (struct xfrm_policy *xp,			struct xfrm_user_sec_ctx *sec_ctx);	int (*xfrm_policy_clone_security) (struct xfrm_policy *old, struct xfrm_policy *new);	void (*xfrm_policy_free_security) (struct xfrm_policy *xp);	int (*xfrm_policy_delete_security) (struct xfrm_policy *xp);	int (*xfrm_state_alloc_security) (struct xfrm_state *x,		struct xfrm_user_sec_ctx *sec_ctx,		u32 secid);	void (*xfrm_state_free_security) (struct xfrm_state *x);	int (*xfrm_state_delete_security) (struct xfrm_state *x);	int (*xfrm_policy_lookup)(struct xfrm_policy *xp, u32 fl_secid, u8 dir);	int (*xfrm_state_pol_flow_match)(struct xfrm_state *x,			struct xfrm_policy *xp, struct flowi *fl);	int (*xfrm_decode_session)(struct sk_buff *skb, u32 *secid, int ckall);#endif	/* CONFIG_SECURITY_NETWORK_XFRM */	/* key management security hooks */#ifdef CONFIG_KEYS	int (*key_alloc)(struct key *key, struct task_struct *tsk, unsigned long flags);	void (*key_free)(struct key *key);	int (*key_permission)(key_ref_t key_ref,			      struct task_st

⌨️ 快捷键说明

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