1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef LINUX_PR_H 3*4882a593Smuzhiyun #define LINUX_PR_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <uapi/linux/pr.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun struct pr_ops { 8*4882a593Smuzhiyun int (*pr_register)(struct block_device *bdev, u64 old_key, u64 new_key, 9*4882a593Smuzhiyun u32 flags); 10*4882a593Smuzhiyun int (*pr_reserve)(struct block_device *bdev, u64 key, 11*4882a593Smuzhiyun enum pr_type type, u32 flags); 12*4882a593Smuzhiyun int (*pr_release)(struct block_device *bdev, u64 key, 13*4882a593Smuzhiyun enum pr_type type); 14*4882a593Smuzhiyun int (*pr_preempt)(struct block_device *bdev, u64 old_key, u64 new_key, 15*4882a593Smuzhiyun enum pr_type type, bool abort); 16*4882a593Smuzhiyun int (*pr_clear)(struct block_device *bdev, u64 key); 17*4882a593Smuzhiyun }; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #endif /* LINUX_PR_H */ 20