xref: /spdk/module/bdev/nvme/vbdev_opal.h (revision a6dbe3721eb3b5990707fc3e378c95e505dd8ab5)
1488570ebSJim Harris /*   SPDX-License-Identifier: BSD-3-Clause
2*a6dbe372Spaul luse  *   Copyright (C) 2019 Intel Corporation.
38466e2c6SChunyang Hui  *   All rights reserved.
48466e2c6SChunyang Hui  */
5*a6dbe372Spaul luse 
68466e2c6SChunyang Hui #ifndef SPDK_VBDEV_OPAL_H
78466e2c6SChunyang Hui #define SPDK_VBDEV_OPAL_H
88466e2c6SChunyang Hui 
98466e2c6SChunyang Hui #include "spdk/bdev_module.h"
108466e2c6SChunyang Hui #include "bdev_nvme.h"
118466e2c6SChunyang Hui 
12b95421d4SSeth Howell int vbdev_opal_create(const char *nvme_ctrlr_name, uint32_t nsid, uint8_t locking_range_id,
138466e2c6SChunyang Hui 		      uint64_t range_start, uint64_t range_length, const char *password);
148466e2c6SChunyang Hui 
15b95421d4SSeth Howell struct spdk_opal_locking_range_info *vbdev_opal_get_info_from_bdev(const char *opal_bdev_name,
1636c9ac2dSChunyang Hui 		const char *password);
1736c9ac2dSChunyang Hui 
18b95421d4SSeth Howell int vbdev_opal_destruct(const char *bdev_name, const char *password);
198466e2c6SChunyang Hui 
20b95421d4SSeth Howell int vbdev_opal_enable_new_user(const char *bdev_name, const char *admin_password,
21bc40f5f6SChunyang Hui 			       uint16_t user_id, const char *user_password);
22bc40f5f6SChunyang Hui 
23b95421d4SSeth Howell int vbdev_opal_set_lock_state(const char *bdev_name, uint16_t user_id, const char *password,
24bc40f5f6SChunyang Hui 			      const char *lock_state);
25bc40f5f6SChunyang Hui 
268466e2c6SChunyang Hui #endif
27