#ifndef _KERNEL_PROC_RESOURCE_H #define _KERNEL_PROC_RESOURCE_H #include #include #include #include #include #define PR_MUTEX 1 struct proc; struct procgroup; struct proc_resource { int type; int rid; spin_lock_t lock; struct rb_node_link resource_tree_link; union { struct proc_mutex mutex; } u; struct { bool (*cleanup) (struct proc_resource* resource); } ops; }; struct proc_resource* proc_find_resource (struct procgroup* procgroup, int rid); struct proc_resource* proc_create_resource_mutex (struct procgroup* procgroup, int rid); bool proc_delete_resource (struct proc_resource* resource); #endif // _KERNEL_PROC_RESOURCE_H