4345 lines
		
	
	
		
			170 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			4345 lines
		
	
	
		
			170 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /// <reference path="./gio-2.0.d.ts" />
 | |
| /// <reference path="./gobject-2.0.d.ts" />
 | |
| /// <reference path="./glib-2.0.d.ts" />
 | |
| /// <reference path="./gmodule-2.0.d.ts" />
 | |
| 
 | |
| /**
 | |
|  * Type Definitions for Gjs (https://gjs.guide/)
 | |
|  *
 | |
|  * These type definitions are automatically generated, do not edit them by hand.
 | |
|  * If you found a bug fix it in `ts-for-gir` or create a bug report on https://github.com/gjsify/ts-for-gir
 | |
|  *
 | |
|  * The based EJS template file is used for the generated .d.ts file of each GIR module like Gtk-4.0, GObject-2.0, ...
 | |
|  */
 | |
| 
 | |
| declare module 'gi://BlockDev?version=3.0' {
 | |
|     // Module dependencies
 | |
|     import type Gio from 'gi://Gio?version=2.0';
 | |
|     import type GObject from 'gi://GObject?version=2.0';
 | |
|     import type GLib from 'gi://GLib?version=2.0';
 | |
|     import type GModule from 'gi://GModule?version=2.0';
 | |
| 
 | |
|     export namespace BlockDev {
 | |
|         /**
 | |
|          * BlockDev-3.0
 | |
|          */
 | |
| 
 | |
|         class BtrfsError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<BtrfsError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static DEVICE: number;
 | |
|             static PARSE: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace BtrfsTech {
 | |
|             export const $gtype: GObject.GType<BtrfsTech>;
 | |
|         }
 | |
| 
 | |
|         enum BtrfsTech {
 | |
|             FS,
 | |
|             MULTI_DEV,
 | |
|             SUBVOL,
 | |
|             SNAPSHOT,
 | |
|         }
 | |
|         class CryptoError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<CryptoError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static DEVICE: number;
 | |
|             static STATE: number;
 | |
|             static INVALID_SPEC: number;
 | |
|             static FORMAT_FAILED: number;
 | |
|             static RESIZE_FAILED: number;
 | |
|             static RESIZE_PERM: number;
 | |
|             static ADD_KEY: number;
 | |
|             static REMOVE_KEY: number;
 | |
|             static NO_KEY: number;
 | |
|             static KEY_SLOT: number;
 | |
|             static NSS_INIT_FAILED: number;
 | |
|             static CERT_DECODE: number;
 | |
|             static ESCROW_FAILED: number;
 | |
|             static INVALID_PARAMS: number;
 | |
|             static KEYRING: number;
 | |
|             static KEYFILE_FAILED: number;
 | |
|             static INVALID_CONTEXT: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace CryptoKeyslotContextType {
 | |
|             export const $gtype: GObject.GType<CryptoKeyslotContextType>;
 | |
|         }
 | |
| 
 | |
|         enum CryptoKeyslotContextType {
 | |
|             NONE,
 | |
|             PASSPHRASE,
 | |
|             KEYFILE,
 | |
|             KEYRING,
 | |
|             VOLUME_KEY,
 | |
|         }
 | |
| 
 | |
|         export namespace CryptoLUKSHWEncryptionType {
 | |
|             export const $gtype: GObject.GType<CryptoLUKSHWEncryptionType>;
 | |
|         }
 | |
| 
 | |
|         enum CryptoLUKSHWEncryptionType {
 | |
|             /**
 | |
|              * used for unknown/unsupported hardware encryption or when
 | |
|              *                                        error was detected when getting the information
 | |
|              */
 | |
|             UNKNOWN,
 | |
|             /**
 | |
|              * hardware encryption is not configured on this device
 | |
|              */
 | |
|             SW_ONLY,
 | |
|             /**
 | |
|              * only OPAL hardware encryption is configured on this device
 | |
|              */
 | |
|             OPAL_HW_ONLY,
 | |
|             /**
 | |
|              * both OPAL hardware encryption and software encryption
 | |
|              *                                               (using LUKS/dm-crypt) is configured on this device
 | |
|              */
 | |
|             OPAL_HW_AND_SW,
 | |
|         }
 | |
| 
 | |
|         export namespace CryptoLUKSVersion {
 | |
|             export const $gtype: GObject.GType<CryptoLUKSVersion>;
 | |
|         }
 | |
| 
 | |
|         enum CryptoLUKSVersion {
 | |
|             LUKS1,
 | |
|             LUKS2,
 | |
|         }
 | |
| 
 | |
|         export namespace CryptoTech {
 | |
|             export const $gtype: GObject.GType<CryptoTech>;
 | |
|         }
 | |
| 
 | |
|         enum CryptoTech {
 | |
|             LUKS,
 | |
|             TRUECRYPT,
 | |
|             ESCROW,
 | |
|             INTEGRITY,
 | |
|             BITLK,
 | |
|             KEYRING,
 | |
|             FVAULT2,
 | |
|             SED_OPAL,
 | |
|         }
 | |
|         class DMError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<DMError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static SYS: number;
 | |
|             static NOT_ROOT: number;
 | |
|             static TASK: number;
 | |
|             static RAID_FAIL: number;
 | |
|             static RAID_NO_DEVS: number;
 | |
|             static RAID_NO_EXIST: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace DMTech {
 | |
|             export const $gtype: GObject.GType<DMTech>;
 | |
|         }
 | |
| 
 | |
|         enum DMTech {
 | |
|             DM_TECH_MAP,
 | |
|         }
 | |
|         class FSError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<FSError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static INVAL: number;
 | |
|             static PARSE: number;
 | |
|             static FAIL: number;
 | |
|             static NOFS: number;
 | |
|             static PIPE: number;
 | |
|             static UNMOUNT_FAIL: number;
 | |
|             static NOT_SUPPORTED: number;
 | |
|             static NOT_MOUNTED: number;
 | |
|             static AUTH: number;
 | |
|             static LABEL_INVALID: number;
 | |
|             static UUID_INVALID: number;
 | |
|             static UNKNOWN_FS: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace FSTech {
 | |
|             export const $gtype: GObject.GType<FSTech>;
 | |
|         }
 | |
| 
 | |
|         enum FSTech {
 | |
|             GENERIC,
 | |
|             MOUNT,
 | |
|             EXT2,
 | |
|             EXT3,
 | |
|             EXT4,
 | |
|             XFS,
 | |
|             VFAT,
 | |
|             NTFS,
 | |
|             F2FS,
 | |
|             NILFS2,
 | |
|             EXFAT,
 | |
|             BTRFS,
 | |
|             UDF,
 | |
|         }
 | |
|         class InitError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<InitError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static FAILED: number;
 | |
|             static PLUGINS_FAILED: number;
 | |
|             static NOT_IMPLEMENTED: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace LVMCacheMode {
 | |
|             export const $gtype: GObject.GType<LVMCacheMode>;
 | |
|         }
 | |
| 
 | |
|         enum LVMCacheMode {
 | |
|             UNKNOWN,
 | |
|             WRITETHROUGH,
 | |
|             WRITEBACK,
 | |
|         }
 | |
|         class LVMError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<LVMError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static FAIL: number;
 | |
|             static PARSE: number;
 | |
|             static NOEXIST: number;
 | |
|             static DM_ERROR: number;
 | |
|             static NOT_ROOT: number;
 | |
|             static CACHE_INVAL: number;
 | |
|             static CACHE_NOCACHE: number;
 | |
|             static NOT_SUPPORTED: number;
 | |
|             static VDO_POLICY_INVAL: number;
 | |
|             static DEVICES_DISABLED: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace LVMTech {
 | |
|             export const $gtype: GObject.GType<LVMTech>;
 | |
|         }
 | |
| 
 | |
|         enum LVMTech {
 | |
|             BASIC,
 | |
|             BASIC_SNAP,
 | |
|             THIN,
 | |
|             CACHE,
 | |
|             CALCS,
 | |
|             THIN_CALCS,
 | |
|             CACHE_CALCS,
 | |
|             GLOB_CONF,
 | |
|             VDO,
 | |
|             WRITECACHE,
 | |
|             DEVICES,
 | |
|             SHARED,
 | |
|             CONFIG,
 | |
|         }
 | |
| 
 | |
|         export namespace LVMVDOCompressionState {
 | |
|             export const $gtype: GObject.GType<LVMVDOCompressionState>;
 | |
|         }
 | |
| 
 | |
|         enum LVMVDOCompressionState {
 | |
|             UNKNOWN,
 | |
|             ONLINE,
 | |
|             OFFLINE,
 | |
|         }
 | |
| 
 | |
|         export namespace LVMVDOIndexState {
 | |
|             export const $gtype: GObject.GType<LVMVDOIndexState>;
 | |
|         }
 | |
| 
 | |
|         enum LVMVDOIndexState {
 | |
|             UNKNOWN,
 | |
|             ERROR,
 | |
|             CLOSED,
 | |
|             OPENING,
 | |
|             CLOSING,
 | |
|             OFFLINE,
 | |
|             ONLINE,
 | |
|         }
 | |
| 
 | |
|         export namespace LVMVDOOperatingMode {
 | |
|             export const $gtype: GObject.GType<LVMVDOOperatingMode>;
 | |
|         }
 | |
| 
 | |
|         enum LVMVDOOperatingMode {
 | |
|             UNKNOWN,
 | |
|             RECOVERING,
 | |
|             READ_ONLY,
 | |
|             NORMAL,
 | |
|         }
 | |
| 
 | |
|         export namespace LVMVDOWritePolicy {
 | |
|             export const $gtype: GObject.GType<LVMVDOWritePolicy>;
 | |
|         }
 | |
| 
 | |
|         enum LVMVDOWritePolicy {
 | |
|             UNKNOWN,
 | |
|             AUTO,
 | |
|             SYNC,
 | |
|             ASYNC,
 | |
|         }
 | |
|         class LoopError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<LoopError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static FAIL: number;
 | |
|             static DEVICE: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace LoopTech {
 | |
|             export const $gtype: GObject.GType<LoopTech>;
 | |
|         }
 | |
| 
 | |
|         enum LoopTech {
 | |
|             LOOP_TECH_LOOP,
 | |
|         }
 | |
|         class MDError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<MDError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static FAIL: number;
 | |
|             static PARSE: number;
 | |
|             static BAD_FORMAT: number;
 | |
|             static NO_MATCH: number;
 | |
|             static INVAL: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace MDTech {
 | |
|             export const $gtype: GObject.GType<MDTech>;
 | |
|         }
 | |
| 
 | |
|         enum MDTech {
 | |
|             MD_TECH_MDRAID,
 | |
|         }
 | |
|         class MpathError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<MpathError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static INVAL: number;
 | |
|             static FLUSH: number;
 | |
|             static NOT_ROOT: number;
 | |
|             static DM_ERROR: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace MpathTech {
 | |
|             export const $gtype: GObject.GType<MpathTech>;
 | |
|         }
 | |
| 
 | |
|         enum MpathTech {
 | |
|             BASE,
 | |
|             FRIENDLY_NAMES,
 | |
|         }
 | |
|         class NVDIMMError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<NVDIMMError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static NAMESPACE_FAIL: number;
 | |
|             static NAMESPACE_PARSE: number;
 | |
|             static NAMESPACE_NOEXIST: number;
 | |
|             static NAMESPACE_MODE_INVAL: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace NVDIMMNamespaceMode {
 | |
|             export const $gtype: GObject.GType<NVDIMMNamespaceMode>;
 | |
|         }
 | |
| 
 | |
|         enum NVDIMMNamespaceMode {
 | |
|             RAW,
 | |
|             SECTOR,
 | |
|             MEMORY,
 | |
|             DAX,
 | |
|             FSDAX,
 | |
|             DEVDAX,
 | |
|             UNKNOWN,
 | |
|         }
 | |
| 
 | |
|         export namespace NVDIMMTech {
 | |
|             export const $gtype: GObject.GType<NVDIMMTech>;
 | |
|         }
 | |
| 
 | |
|         enum NVDIMMTech {
 | |
|             NVDIMM_TECH_NAMESPACE,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMEControllerType {
 | |
|             export const $gtype: GObject.GType<NVMEControllerType>;
 | |
|         }
 | |
| 
 | |
|         enum NVMEControllerType {
 | |
|             UNKNOWN,
 | |
|             IO,
 | |
|             DISCOVERY,
 | |
|             ADMIN,
 | |
|         }
 | |
|         class NVMEError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<NVMEError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static FAILED: number;
 | |
|             static BUSY: number;
 | |
|             static INVALID_ARGUMENT: number;
 | |
|             static WOULD_FORMAT_ALL_NS: number;
 | |
|             static SC_GENERIC: number;
 | |
|             static SC_CMD_SPECIFIC: number;
 | |
|             static SC_MEDIA: number;
 | |
|             static SC_PATH: number;
 | |
|             static SC_VENDOR_SPECIFIC: number;
 | |
|             static NO_MATCH: number;
 | |
|             static CONNECT: number;
 | |
|             static CONNECT_ALREADY: number;
 | |
|             static CONNECT_INVALID: number;
 | |
|             static CONNECT_ADDRINUSE: number;
 | |
|             static CONNECT_NODEV: number;
 | |
|             static CONNECT_OPNOTSUPP: number;
 | |
|             static CONNECT_REFUSED: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace NVMEFormatSecureErase {
 | |
|             export const $gtype: GObject.GType<NVMEFormatSecureErase>;
 | |
|         }
 | |
| 
 | |
|         enum NVMEFormatSecureErase {
 | |
|             NONE,
 | |
|             USER_DATA,
 | |
|             CRYPTO,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMELBAFormatRelativePerformance {
 | |
|             export const $gtype: GObject.GType<NVMELBAFormatRelativePerformance>;
 | |
|         }
 | |
| 
 | |
|         enum NVMELBAFormatRelativePerformance {
 | |
|             UNKNOWN,
 | |
|             BEST,
 | |
|             BETTER,
 | |
|             GOOD,
 | |
|             DEGRADED,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMESanitizeAction {
 | |
|             export const $gtype: GObject.GType<NVMESanitizeAction>;
 | |
|         }
 | |
| 
 | |
|         enum NVMESanitizeAction {
 | |
|             EXIT_FAILURE,
 | |
|             BLOCK_ERASE,
 | |
|             OVERWRITE,
 | |
|             CRYPTO_ERASE,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMESanitizeStatus {
 | |
|             export const $gtype: GObject.GType<NVMESanitizeStatus>;
 | |
|         }
 | |
| 
 | |
|         enum NVMESanitizeStatus {
 | |
|             NEVER_SANITIZED,
 | |
|             IN_PROGESS,
 | |
|             SUCCESS,
 | |
|             SUCCESS_NO_DEALLOC,
 | |
|             FAILED,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMESelfTestAction {
 | |
|             export const $gtype: GObject.GType<NVMESelfTestAction>;
 | |
|         }
 | |
| 
 | |
|         enum NVMESelfTestAction {
 | |
|             NOT_RUNNING,
 | |
|             SHORT,
 | |
|             EXTENDED,
 | |
|             VENDOR_SPECIFIC,
 | |
|             ABORT,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMESelfTestResult {
 | |
|             export const $gtype: GObject.GType<NVMESelfTestResult>;
 | |
|         }
 | |
| 
 | |
|         enum NVMESelfTestResult {
 | |
|             NO_ERROR,
 | |
|             ABORTED,
 | |
|             CTRL_RESET,
 | |
|             NS_REMOVED,
 | |
|             ABORTED_FORMAT,
 | |
|             FATAL_ERROR,
 | |
|             UNKNOWN_SEG_FAIL,
 | |
|             KNOWN_SEG_FAIL,
 | |
|             ABORTED_UNKNOWN,
 | |
|             ABORTED_SANITIZE,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMETech {
 | |
|             export const $gtype: GObject.GType<NVMETech>;
 | |
|         }
 | |
| 
 | |
|         enum NVMETech {
 | |
|             NVME,
 | |
|             FABRICS,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMETransportType {
 | |
|             export const $gtype: GObject.GType<NVMETransportType>;
 | |
|         }
 | |
| 
 | |
|         enum NVMETransportType {
 | |
|             UNSPECIFIED,
 | |
|             RDMA,
 | |
|             FC,
 | |
|             TCP,
 | |
|             LOOP,
 | |
|         }
 | |
| 
 | |
|         export namespace PartAlign {
 | |
|             export const $gtype: GObject.GType<PartAlign>;
 | |
|         }
 | |
| 
 | |
|         enum PartAlign {
 | |
|             NONE,
 | |
|             MINIMAL,
 | |
|             OPTIMAL,
 | |
|         }
 | |
|         class PartError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<PartError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static FAIL: number;
 | |
|             static INVAL: number;
 | |
|             static EXISTS: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace PartTableType {
 | |
|             export const $gtype: GObject.GType<PartTableType>;
 | |
|         }
 | |
| 
 | |
|         enum PartTableType {
 | |
|             MSDOS,
 | |
|             GPT,
 | |
|             UNDEF,
 | |
|         }
 | |
| 
 | |
|         export namespace PartTech {
 | |
|             export const $gtype: GObject.GType<PartTech>;
 | |
|         }
 | |
| 
 | |
|         enum PartTech {
 | |
|             MBR,
 | |
|             GPT,
 | |
|         }
 | |
| 
 | |
|         export namespace PartType {
 | |
|             export const $gtype: GObject.GType<PartType>;
 | |
|         }
 | |
| 
 | |
|         enum PartType {
 | |
|             NORMAL,
 | |
|             LOGICAL,
 | |
|             EXTENDED,
 | |
|             FREESPACE,
 | |
|             METADATA,
 | |
|             PROTECTED,
 | |
|         }
 | |
| 
 | |
|         export namespace PartTypeReq {
 | |
|             export const $gtype: GObject.GType<PartTypeReq>;
 | |
|         }
 | |
| 
 | |
|         enum PartTypeReq {
 | |
|             NORMAL,
 | |
|             LOGICAL,
 | |
|             EXTENDED,
 | |
|             NEXT,
 | |
|         }
 | |
| 
 | |
|         export namespace Plugin {
 | |
|             export const $gtype: GObject.GType<Plugin>;
 | |
|         }
 | |
| 
 | |
|         enum Plugin {
 | |
|             LVM,
 | |
|             BTRFS,
 | |
|             SWAP,
 | |
|             LOOP,
 | |
|             CRYPTO,
 | |
|             MPATH,
 | |
|             DM,
 | |
|             MDRAID,
 | |
|             S390,
 | |
|             PART,
 | |
|             FS,
 | |
|             NVDIMM,
 | |
|             NVME,
 | |
|             SMART,
 | |
|             UNDEF,
 | |
|         }
 | |
| 
 | |
|         export namespace SmartATAAttributeFlag {
 | |
|             export const $gtype: GObject.GType<SmartATAAttributeFlag>;
 | |
|         }
 | |
| 
 | |
|         enum SmartATAAttributeFlag {
 | |
|             PREFAILURE,
 | |
|             ONLINE,
 | |
|             PERFORMANCE,
 | |
|             ERROR_RATE,
 | |
|             EVENT_COUNT,
 | |
|             SELF_PRESERVING,
 | |
|             OTHER,
 | |
|         }
 | |
| 
 | |
|         export namespace SmartATAAttributeUnit {
 | |
|             export const $gtype: GObject.GType<SmartATAAttributeUnit>;
 | |
|         }
 | |
| 
 | |
|         enum SmartATAAttributeUnit {
 | |
|             UNKNOWN,
 | |
|             NONE,
 | |
|             MSECONDS,
 | |
|             SECTORS,
 | |
|             MKELVIN,
 | |
|             SMALL_PERCENT,
 | |
|             PERCENT,
 | |
|             MB,
 | |
|         }
 | |
| 
 | |
|         export namespace SmartATAOfflineDataCollectionCapabilities {
 | |
|             export const $gtype: GObject.GType<SmartATAOfflineDataCollectionCapabilities>;
 | |
|         }
 | |
| 
 | |
|         enum SmartATAOfflineDataCollectionCapabilities {
 | |
|             NOT_SUPPORTED,
 | |
|             EXEC_OFFLINE_IMMEDIATE,
 | |
|             OFFLINE_ABORT,
 | |
|             OFFLINE_SURFACE_SCAN,
 | |
|             SELF_TEST,
 | |
|             CONVEYANCE_SELF_TEST,
 | |
|             SELECTIVE_SELF_TEST,
 | |
|         }
 | |
| 
 | |
|         export namespace SmartATAOfflineDataCollectionStatus {
 | |
|             export const $gtype: GObject.GType<SmartATAOfflineDataCollectionStatus>;
 | |
|         }
 | |
| 
 | |
|         enum SmartATAOfflineDataCollectionStatus {
 | |
|             NEVER_STARTED,
 | |
|             NO_ERROR,
 | |
|             IN_PROGRESS,
 | |
|             SUSPENDED_INTR,
 | |
|             ABORTED_INTR,
 | |
|             ABORTED_ERROR,
 | |
|             VENDOR_SPECIFIC,
 | |
|             RESERVED,
 | |
|         }
 | |
| 
 | |
|         export namespace SmartATASelfTestStatus {
 | |
|             export const $gtype: GObject.GType<SmartATASelfTestStatus>;
 | |
|         }
 | |
| 
 | |
|         enum SmartATASelfTestStatus {
 | |
|             COMPLETED_NO_ERROR,
 | |
|             ABORTED_HOST,
 | |
|             INTR_HOST_RESET,
 | |
|             ERROR_FATAL,
 | |
|             ERROR_UNKNOWN,
 | |
|             ERROR_ELECTRICAL,
 | |
|             ERROR_SERVO,
 | |
|             ERROR_READ,
 | |
|             ERROR_HANDLING,
 | |
|             IN_PROGRESS,
 | |
|         }
 | |
|         class SmartError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<SmartError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static FAILED: number;
 | |
|             static INVALID_ARGUMENT: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace SmartSCSIBackgroundScanStatus {
 | |
|             export const $gtype: GObject.GType<SmartSCSIBackgroundScanStatus>;
 | |
|         }
 | |
| 
 | |
|         enum SmartSCSIBackgroundScanStatus {
 | |
|             NO_SCANS_ACTIVE,
 | |
|             SCAN_ACTIVE,
 | |
|             PRESCAN_ACTIVE,
 | |
|             HALTED_ERROR_FATAL,
 | |
|             HALTED_PATTERN_VENDOR_SPECIFIC,
 | |
|             HALTED_ERROR_PLIST,
 | |
|             HALTED_VENDOR_SPECIFIC,
 | |
|             HALTED_TEMPERATURE,
 | |
|             BMS_TIMER,
 | |
|         }
 | |
| 
 | |
|         export namespace SmartSCSIInformationalException {
 | |
|             export const $gtype: GObject.GType<SmartSCSIInformationalException>;
 | |
|         }
 | |
| 
 | |
|         enum SmartSCSIInformationalException {
 | |
|             NONE,
 | |
|             ABORTED_COMMAND,
 | |
|             TEMPERATURE_EXCEEDED,
 | |
|             ENCLOSURE_DEGRADED,
 | |
|             BACKGROUND_SELFTEST_FAILED,
 | |
|             BACKGROUND_PRESCAN_MEDIUM_ERROR,
 | |
|             BACKGROUND_SCAN_MEDIUM_ERROR,
 | |
|             NV_CACHE_VOLATILE,
 | |
|             NV_CACHE_DEGRADED_POWER,
 | |
|             POWER_LOSS_EXPECTED,
 | |
|             STATISTICS_NOTIFICATION,
 | |
|             HIGH_CRITICAL_TEMP,
 | |
|             LOW_CRITICAL_TEMP,
 | |
|             HIGH_OPERATING_TEMP,
 | |
|             LOW_OPERATING_TEMP,
 | |
|             HIGH_CRITICAL_HUMIDITY,
 | |
|             LOW_CRITICAL_HUMIDITY,
 | |
|             HIGH_OPERATING_HUMIDITY,
 | |
|             LOW_OPERATING_HUMIDITY,
 | |
|             MICROCODE_SECURITY_RISK,
 | |
|             MICROCODE_SIGNATURE_VALIDATION_FAILURE,
 | |
|             PHYSICAL_ELEMENT_STATUS_CHANGE,
 | |
|             FAILURE_PREDICTION_THRESH,
 | |
|             MEDIA_FAILURE_PREDICTION_THRESH,
 | |
|             LOGICAL_UNIT_FAILURE_PREDICTION_THRESH,
 | |
|             SPARE_EXHAUSTION_PREDICTION_THRESH,
 | |
|             HARDWARE_IMPENDING_FAILURE,
 | |
|             CONTROLLER_IMPENDING_FAILURE,
 | |
|             DATA_CHANNEL_IMPENDING_FAILURE,
 | |
|             SERVO_IMPENDING_FAILURE,
 | |
|             SPINDLE_IMPENDING_FAILURE,
 | |
|             FIRMWARE_IMPENDING_FAILURE,
 | |
|             MEDIA_ENDURANCE_LIMIT,
 | |
|             UNSPECIFIED,
 | |
|         }
 | |
| 
 | |
|         export namespace SmartSelfTestOp {
 | |
|             export const $gtype: GObject.GType<SmartSelfTestOp>;
 | |
|         }
 | |
| 
 | |
|         enum SmartSelfTestOp {
 | |
|             ABORT,
 | |
|             OFFLINE,
 | |
|             SHORT,
 | |
|             LONG,
 | |
|             CONVEYANCE,
 | |
|         }
 | |
| 
 | |
|         export namespace SmartTech {
 | |
|             export const $gtype: GObject.GType<SmartTech>;
 | |
|         }
 | |
| 
 | |
|         enum SmartTech {
 | |
|             ATA,
 | |
|             SCSI,
 | |
|         }
 | |
|         class SwapError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<SwapError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static TECH_UNAVAIL: number;
 | |
|             static UNKNOWN_STATE: number;
 | |
|             static ACTIVATE: number;
 | |
|             static ACTIVATE_OLD: number;
 | |
|             static ACTIVATE_SUSPEND: number;
 | |
|             static ACTIVATE_UNKNOWN: number;
 | |
|             static ACTIVATE_PAGESIZE: number;
 | |
|             static LABEL_INVALID: number;
 | |
|             static UUID_INVALID: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace SwapTech {
 | |
|             export const $gtype: GObject.GType<SwapTech>;
 | |
|         }
 | |
| 
 | |
|         enum SwapTech {
 | |
|             SWAP_TECH_SWAP,
 | |
|         }
 | |
|         class UtilsDBusError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<UtilsDBusError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static FAIL: number;
 | |
|             static NOEXIST: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class UtilsDevUtilsError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<UtilsDevUtilsError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static UTILS_DEV_UTILS_ERROR_FAILED: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class UtilsExecError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<UtilsExecError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static FAILED: number;
 | |
|             static NOOUT: number;
 | |
|             static INVAL_VER: number;
 | |
|             static UTIL_UNAVAILABLE: number;
 | |
|             static UTIL_UNKNOWN_VER: number;
 | |
|             static UTIL_LOW_VER: number;
 | |
|             static UTIL_CHECK_ERROR: number;
 | |
|             static UTIL_FEATURE_CHECK_ERROR: number;
 | |
|             static UTIL_FEATURE_UNAVAILABLE: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class UtilsModuleError extends GLib.Error {
 | |
|             static $gtype: GObject.GType<UtilsModuleError>;
 | |
| 
 | |
|             // Static fields
 | |
| 
 | |
|             static KMOD_INIT_FAIL: number;
 | |
|             static FAIL: number;
 | |
|             static NOEXIST: number;
 | |
|             static MODULE_CHECK_ERROR: number;
 | |
|             static INVALID_PLATFORM: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(options: { message: string; code: number });
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         export namespace UtilsProgStatus {
 | |
|             export const $gtype: GObject.GType<UtilsProgStatus>;
 | |
|         }
 | |
| 
 | |
|         enum UtilsProgStatus {
 | |
|             STARTED,
 | |
|             PROGRESS,
 | |
|             FINISHED,
 | |
|         }
 | |
|         const BTRFS_MAIN_VOLUME_ID: number;
 | |
|         const BTRFS_MIN_MEMBER_SIZE: number;
 | |
|         const MD_CHUNK_SIZE: number;
 | |
|         const MD_SUPERBLOCK_SIZE: number;
 | |
|         const UTILS_LOG_ALERT: number;
 | |
|         const UTILS_LOG_CRIT: number;
 | |
|         const UTILS_LOG_DEBUG: number;
 | |
|         const UTILS_LOG_EMERG: number;
 | |
|         const UTILS_LOG_ERR: number;
 | |
|         const UTILS_LOG_INFO: number;
 | |
|         const UTILS_LOG_NOTICE: number;
 | |
|         const UTILS_LOG_WARNING: number;
 | |
|         function btrfs_add_device(mountpoint: string, device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function btrfs_change_label(mountpoint: string, label: string): boolean;
 | |
|         function btrfs_check(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function btrfs_create_snapshot(source: string, dest: string, ro: boolean, extra?: ExtraArg[] | null): boolean;
 | |
|         function btrfs_create_subvolume(mountpoint: string, name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function btrfs_create_volume(
 | |
|             devices: string[],
 | |
|             label?: string | null,
 | |
|             data_level?: string | null,
 | |
|             md_level?: string | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function btrfs_delete_subvolume(mountpoint: string, name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function btrfs_error_quark(): GLib.Quark;
 | |
|         function btrfs_filesystem_info(device: string): BtrfsFilesystemInfo;
 | |
|         function btrfs_get_default_subvolume_id(mountpoint: string): number;
 | |
|         function btrfs_is_tech_avail(tech: BtrfsTech | null, mode: number): boolean;
 | |
|         function btrfs_list_devices(device: string): BtrfsDeviceInfo[];
 | |
|         function btrfs_list_subvolumes(mountpoint: string, snapshots_only: boolean): BtrfsSubvolumeInfo[];
 | |
|         function btrfs_mkfs(
 | |
|             devices: string[],
 | |
|             label?: string | null,
 | |
|             data_level?: string | null,
 | |
|             md_level?: string | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function btrfs_remove_device(mountpoint: string, device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function btrfs_repair(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function btrfs_resize(mountpoint: string, size: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function btrfs_set_default_subvolume(mountpoint: string, subvol_id: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function crypto_bitlk_close(bitlk_device: string): boolean;
 | |
|         /**
 | |
|          * Returns (transfer full): information about the `device` or %NULL in case of error
 | |
|          *
 | |
|          * Tech category: %BD_CRYPTO_TECH_BITLK-%BD_CRYPTO_TECH_MODE_QUERY
 | |
|          * @param device a device to get information about
 | |
|          */
 | |
|         function crypto_bitlk_info(device: string): CryptoBITLKInfo;
 | |
|         /**
 | |
|          * Supported `context` types for this function: passphrase, key file
 | |
|          * @param device the device to open
 | |
|          * @param name name for the BITLK device
 | |
|          * @param context key slot context (passphrase/keyfile/token...) for this BITLK device
 | |
|          * @param read_only whether to open as read-only or not (meaning read-write)
 | |
|          * @returns whether the @device was successfully opened or not Tech category: %BD_CRYPTO_TECH_BITLK-%BD_CRYPTO_TECH_MODE_OPEN_CLOSE
 | |
|          */
 | |
|         function crypto_bitlk_open(
 | |
|             device: string,
 | |
|             name: string,
 | |
|             context: CryptoKeyslotContext,
 | |
|             read_only: boolean,
 | |
|         ): boolean;
 | |
|         function crypto_device_is_luks(device: string): boolean;
 | |
|         /**
 | |
|          * Determines whether a block device seems to be encrypted.
 | |
|          *
 | |
|          * TCRYPT volumes are not easily identifiable, because they have no
 | |
|          * cleartext header, but are completely encrypted. This function is
 | |
|          * used to determine whether a block device is a candidate for being
 | |
|          * TCRYPT encrypted.
 | |
|          *
 | |
|          * To achieve this, we calculate the chi square value of the first
 | |
|          * 512 Bytes and treat devices with a chi square value between 136
 | |
|          * and 426 as candidates for being encrypted.
 | |
|          * For the reasoning, see: https://tails.boum.org/blueprint/veracrypt/
 | |
|          * @param device the queried device
 | |
|          * @returns %TRUE if the given @device seems to be encrypted or %FALSE if not or failed to determine (the @error) is populated with the error in such cases) Tech category: %BD_CRYPTO_TECH_TRUECRYPT-%BD_CRYPTO_TECH_MODE_QUERY
 | |
|          */
 | |
|         function crypto_device_seems_encrypted(device: string): boolean;
 | |
|         function crypto_error_quark(): GLib.Quark;
 | |
|         function crypto_escrow_device(
 | |
|             device: string,
 | |
|             passphrase: string,
 | |
|             cert_data: number[],
 | |
|             directory: string,
 | |
|             backup_passphrase?: string | null,
 | |
|         ): boolean;
 | |
|         function crypto_fvault2_close(fvault2_device: string): boolean;
 | |
|         /**
 | |
|          * Supported `context` types for this function: passphrase, key file
 | |
|          * @param device the device to open
 | |
|          * @param name name for the FVAULT2 device
 | |
|          * @param context key slot context (passphrase/keyfile/token...) for this FVAULT2 volume
 | |
|          * @param read_only whether to open as read-only or not (meaning read-write)
 | |
|          * @returns whether the @device was successfully opened or not Tech category: %BD_CRYPTO_TECH_FVAULT2-%BD_CRYPTO_TECH_MODE_OPEN_CLOSE
 | |
|          */
 | |
|         function crypto_fvault2_open(
 | |
|             device: string,
 | |
|             name: string,
 | |
|             context: CryptoKeyslotContext,
 | |
|             read_only: boolean,
 | |
|         ): boolean;
 | |
|         function crypto_generate_backup_passphrase(): string;
 | |
|         function crypto_integrity_close(integrity_device: string): boolean;
 | |
|         /**
 | |
|          * Formats the given `device` as integrity according to the other parameters given.
 | |
|          *
 | |
|          * Supported `context` types for this function: volume key
 | |
|          * @param device a device to format as integrity
 | |
|          * @param algorithm integrity algorithm specification (e.g. "crc32c" or "sha256")
 | |
|          * @param wipe whether to wipe the device after format; a device that is not initially wiped will contain invalid checksums
 | |
|          * @param context key slot context (passphrase/keyfile/token...) for this device
 | |
|          * @param extra extra arguments for integrity format creation
 | |
|          * @returns whether the given @device was successfully formatted as integrity or not (the @error) contains the error in such cases) Tech category: %BD_CRYPTO_TECH_INTEGRITY-%BD_CRYPTO_TECH_MODE_CREATE
 | |
|          */
 | |
|         function crypto_integrity_format(
 | |
|             device: string,
 | |
|             algorithm: string,
 | |
|             wipe: boolean,
 | |
|             context?: CryptoKeyslotContext | null,
 | |
|             extra?: CryptoIntegrityExtra | null,
 | |
|         ): boolean;
 | |
|         function crypto_integrity_info(device: string): CryptoIntegrityInfo;
 | |
|         /**
 | |
|          * Supported `context` types for this function: volume key
 | |
|          * @param device integrity device to open
 | |
|          * @param name name for the opened @device
 | |
|          * @param algorithm integrity algorithm specification (e.g. "crc32c" or "sha256")
 | |
|          * @param context key slot context (passphrase/keyfile/token...) for this device
 | |
|          * @param flags flags for the integrity device activation
 | |
|          * @param extra extra arguments for integrity open
 | |
|          * @returns whether the @device was successfully opened or not Tech category: %BD_CRYPTO_TECH_INTEGRITY-%BD_CRYPTO_TECH_MODE_OPEN_CLOSE
 | |
|          */
 | |
|         function crypto_integrity_open(
 | |
|             device: string,
 | |
|             name: string,
 | |
|             algorithm: string,
 | |
|             context: CryptoKeyslotContext | null,
 | |
|             flags: CryptoIntegrityOpenFlags | null,
 | |
|             extra?: CryptoIntegrityExtra | null,
 | |
|         ): boolean;
 | |
|         function crypto_is_tech_avail(tech: CryptoTech | null, mode: number): boolean;
 | |
|         function crypto_keyring_add_key(key_desc: string, key_data: Uint8Array | string): boolean;
 | |
|         /**
 | |
|          * Supported `context` types for this function: passphrase, key file
 | |
|          * @param device device to add new key to
 | |
|          * @param context key slot context (passphrase/keyfile/token...) to for this LUKS @device
 | |
|          * @param ncontext new key slot context (passphrase/keyfile/token...) to add to this LUKS @device
 | |
|          * @returns whether the @ncontext was successfully added to @device or not Tech category: %BD_CRYPTO_TECH_LUKS-%BD_CRYPTO_TECH_MODE_ADD_KEY
 | |
|          */
 | |
|         function crypto_luks_add_key(
 | |
|             device: string,
 | |
|             context: CryptoKeyslotContext,
 | |
|             ncontext: CryptoKeyslotContext,
 | |
|         ): boolean;
 | |
|         /**
 | |
|          * Supported `context` types for this function: passphrase, key file
 | |
|          * @param device device to change key of
 | |
|          * @param context key slot context (passphrase/keyfile/token...) for this LUKS @device
 | |
|          * @param ncontext new key slot context (passphrase/keyfile/token...) to add to this LUKS @device
 | |
|          * @returns whether the key was successfully changed or not Tech category: %BD_CRYPTO_TECH_LUKS-%BD_CRYPTO_TECH_MODE_ADD_KEY&%BD_CRYPTO_TECH_MODE_REMOVE_KEY
 | |
|          */
 | |
|         function crypto_luks_change_key(
 | |
|             device: string,
 | |
|             context: CryptoKeyslotContext,
 | |
|             ncontext: CryptoKeyslotContext,
 | |
|         ): boolean;
 | |
|         function crypto_luks_close(luks_device: string): boolean;
 | |
|         function crypto_luks_convert(device: string, target_version: CryptoLUKSVersion | null): boolean;
 | |
|         /**
 | |
|          * Formats the given `device` as LUKS according to the other parameters given. If
 | |
|          * `min_entropy` is specified (greater than 0), the function waits for enough
 | |
|          * entropy to be available in the random data pool (WHICH MAY POTENTIALLY TAKE
 | |
|          * FOREVER).
 | |
|          *
 | |
|          * Supported `context` types for this function: passphrase, key file
 | |
|          * @param device a device to format as LUKS
 | |
|          * @param cipher cipher specification (type-mode, e.g. "aes-xts-plain64") or %NULL to use the default
 | |
|          * @param key_size size of the volume key in bits or 0 to use the default
 | |
|          * @param context key slot context (passphrase/keyfile/token...) for this LUKS device
 | |
|          * @param min_entropy minimum random data entropy (in bits) required to format @device as LUKS
 | |
|          * @param luks_version whether to use LUKS v1 or LUKS v2
 | |
|          * @param extra extra arguments for LUKS format creation
 | |
|          * @returns whether the given @device was successfully formatted as LUKS or not (the @error) contains the error in such cases) Tech category: %BD_CRYPTO_TECH_LUKS-%BD_CRYPTO_TECH_MODE_CREATE
 | |
|          */
 | |
|         function crypto_luks_format(
 | |
|             device: string,
 | |
|             cipher: string | null,
 | |
|             key_size: number,
 | |
|             context: CryptoKeyslotContext,
 | |
|             min_entropy: number,
 | |
|             luks_version: CryptoLUKSVersion | null,
 | |
|             extra?: CryptoLUKSExtra | null,
 | |
|         ): boolean;
 | |
|         function crypto_luks_header_backup(device: string, backup_file: string): boolean;
 | |
|         function crypto_luks_header_restore(device: string, backup_file: string): boolean;
 | |
|         function crypto_luks_info(device: string): CryptoLUKSInfo;
 | |
|         /**
 | |
|          * Note: This can destroy last remaining keyslot without confirmation making
 | |
|          *       the LUKS device permanently inaccessible.
 | |
|          * @param device device to kill slot on
 | |
|          * @param slot keyslot to destroy
 | |
|          * @returns whether the given @slot was successfully destroyed or not Tech category: %BD_CRYPTO_TECH_LUKS-%BD_CRYPTO_TECH_MODE_REMOVE_KEY
 | |
|          */
 | |
|         function crypto_luks_kill_slot(device: string, slot: number): boolean;
 | |
|         /**
 | |
|          * Supported `context` types for this function: passphrase, key file, keyring
 | |
|          * @param device the device to open
 | |
|          * @param name name for the LUKS device
 | |
|          * @param context key slot context (passphrase/keyfile/token...) to open this LUKS @device
 | |
|          * @param read_only whether to open as read-only or not (meaning read-write)
 | |
|          * @returns whether the @device was successfully opened or not Tech category: %BD_CRYPTO_TECH_LUKS-%BD_CRYPTO_TECH_MODE_OPEN_CLOSE Example of using %bd_crypto_luks_open with %BDCryptoKeyslotContext: |[<!-- language="C" --> BDCryptoKeyslotContext *context = NULL; context = bd_crypto_keyslot_context_new_passphrase ("passphrase", 10, NULL); bd_crypto_luks_open ("/dev/vda1", "luks-device", context, FALSE, NULL); ]|
 | |
|          */
 | |
|         function crypto_luks_open(
 | |
|             device: string,
 | |
|             name: string,
 | |
|             context: CryptoKeyslotContext,
 | |
|             read_only: boolean,
 | |
|         ): boolean;
 | |
|         /**
 | |
|          * Supported `context` types for this function: passphrase, key file
 | |
|          * @param device device to add new key to
 | |
|          * @param context key slot context (passphrase/keyfile/token...) to remove from this LUKS @device
 | |
|          * @returns whether the key was successfully removed or not Tech category: %BD_CRYPTO_TECH_LUKS-%BD_CRYPTO_TECH_MODE_REMOVE_KEY
 | |
|          */
 | |
|         function crypto_luks_remove_key(device: string, context: CryptoKeyslotContext): boolean;
 | |
|         /**
 | |
|          * Supported `context` types for this function: passphrase, key file
 | |
|          * @param luks_device opened LUKS device to resize
 | |
|          * @param size requested size in sectors or 0 to adapt to the backing device
 | |
|          * @param context key slot context (passphrase/keyfile/token...) for this LUKS @device
 | |
|          * @returns whether the @luks_device was successfully resized or not You need to specify either @context for LUKS 2 devices that don't have verified key loaded in kernel. For LUKS 1 devices you can set @context %NULL. Tech category: %BD_CRYPTO_TECH_LUKS-%BD_CRYPTO_TECH_MODE_RESIZE
 | |
|          */
 | |
|         function crypto_luks_resize(luks_device: string, size: number, context?: CryptoKeyslotContext | null): boolean;
 | |
|         /**
 | |
|          * Supported `context` types for this function: passphrase, key file
 | |
|          * @param luks_device LUKS device to resume
 | |
|          * @param context key slot context (passphrase/keyfile/token...) for @luks_device
 | |
|          * @returns whether the given @luks_device was successfully resumed or not Tech category: %BD_CRYPTO_TECH_LUKS-%BD_CRYPTO_TECH_MODE_SUSPEND_RESUME
 | |
|          */
 | |
|         function crypto_luks_resume(luks_device: string, context?: CryptoKeyslotContext | null): boolean;
 | |
|         function crypto_luks_set_label(device: string, label?: string | null, subsystem?: string | null): boolean;
 | |
|         function crypto_luks_set_uuid(device: string, uuid?: string | null): boolean;
 | |
|         function crypto_luks_status(luks_device: string): string;
 | |
|         function crypto_luks_suspend(luks_device: string): boolean;
 | |
|         function crypto_luks_token_info(device: string): CryptoLUKSTokenInfo[];
 | |
|         /**
 | |
|          * Formats the given `device` as LUKS HW-OPAL according to the other parameters given. If
 | |
|          * `min_entropy` is specified (greater than 0), the function waits for enough
 | |
|          * entropy to be available in the random data pool (WHICH MAY POTENTIALLY TAKE
 | |
|          * FOREVER).
 | |
|          *
 | |
|          * Supported `context` types for this function: passphrase, key file
 | |
|          * Supported `opal_context` types for this function: passphrase
 | |
|          * @param device a device to format as LUKS HW-OPAL
 | |
|          * @param cipher cipher specification (type-mode, e.g. "aes-xts-plain64") or %NULL to use the default
 | |
|          * @param key_size size of the volume key in bits or 0 to use the default
 | |
|          * @param context key slot context (passphrase/keyfile/token...) for this LUKS device
 | |
|          * @param min_entropy minimum random data entropy (in bits) required to format @device as LUKS
 | |
|          * @param hw_encryption type of hardware encryption (SW+HW or HW only)
 | |
|          * @param opal_context OPAL admin passphrase
 | |
|          * @param extra extra arguments for LUKS format creation
 | |
|          * @returns whether the given @device was successfully formatted as LUKS HW-OPAL or not (the @error contains the error in such cases) Tech category: %BD_CRYPTO_TECH_LUKS-%BD_CRYPTO_TECH_MODE_CREATE
 | |
|          */
 | |
|         function crypto_opal_format(
 | |
|             device: string,
 | |
|             cipher: string | null,
 | |
|             key_size: number,
 | |
|             context: CryptoKeyslotContext,
 | |
|             min_entropy: number,
 | |
|             hw_encryption: CryptoLUKSHWEncryptionType | null,
 | |
|             opal_context: CryptoKeyslotContext,
 | |
|             extra?: CryptoLUKSExtra | null,
 | |
|         ): boolean;
 | |
|         function crypto_opal_is_supported(device: string): boolean;
 | |
|         function crypto_opal_reset_device(device: string, context: CryptoKeyslotContext): boolean;
 | |
|         function crypto_opal_wipe_device(device: string, context: CryptoKeyslotContext): boolean;
 | |
|         function crypto_tc_close(tc_device: string): boolean;
 | |
|         /**
 | |
|          * Supported `context` types for this function: passphrase
 | |
|          * @param device the device to open
 | |
|          * @param name name for the TrueCrypt/VeraCrypt device
 | |
|          * @param context passphrase key slot context for this TrueCrypt/VeraCrypt volume
 | |
|          * @param keyfiles paths to the keyfiles for the TrueCrypt/VeraCrypt volume
 | |
|          * @param hidden whether a hidden volume inside the volume should be opened
 | |
|          * @param system whether to try opening as an encrypted system (with boot loader)
 | |
|          * @param veracrypt whether to try VeraCrypt modes (TrueCrypt modes are tried anyway)
 | |
|          * @param veracrypt_pim VeraCrypt PIM value (only used if @veracrypt is %TRUE)
 | |
|          * @param read_only whether to open as read-only or not (meaning read-write)
 | |
|          * @returns whether the @device was successfully opened or not Tech category: %BD_CRYPTO_TECH_TRUECRYPT-%BD_CRYPTO_TECH_MODE_OPEN_CLOSE
 | |
|          */
 | |
|         function crypto_tc_open(
 | |
|             device: string,
 | |
|             name: string,
 | |
|             context: CryptoKeyslotContext | null,
 | |
|             keyfiles: string[] | null,
 | |
|             hidden: boolean,
 | |
|             system: boolean,
 | |
|             veracrypt: boolean,
 | |
|             veracrypt_pim: number,
 | |
|             read_only: boolean,
 | |
|         ): boolean;
 | |
|         function dm_create_linear(map_name: string, device: string, length: number, uuid?: string | null): boolean;
 | |
|         function dm_error_quark(): GLib.Quark;
 | |
|         function dm_get_subsystem_from_name(device_name: string): string;
 | |
|         function dm_is_tech_avail(tech: DMTech | null, mode: number): boolean;
 | |
|         function dm_map_exists(map_name: string, live_only: boolean, active_only: boolean): boolean;
 | |
|         function dm_name_from_node(dm_node: string): string;
 | |
|         function dm_node_from_name(map_name: string): string;
 | |
|         function dm_remove(map_name: string): boolean;
 | |
|         /**
 | |
|          * Checks the state of the library and if it is uninitialized or not all the
 | |
|          * `require_plugins` plugins are available, tries to (re)initialize it. Otherwise
 | |
|          * just returns early. The difference between:
 | |
|          *
 | |
|          *
 | |
|          * ```c
 | |
|          * if (!bd_is_initialized())
 | |
|          *     bd_init(None, None, &error);
 | |
|          * ```
 | |
|          *
 | |
|          *
 | |
|          * and this function is that this function does the check and init in an atomic
 | |
|          * way (holding the lock preventing other threads from doing changes in
 | |
|          * between).
 | |
|          * @param require_plugins %NULL-terminated list                 of plugins that should be loaded (if no so_name is specified                 for the plugin, the default is used) or %NULL to load all                 plugins
 | |
|          * @param log_func logging function to use
 | |
|          * @returns whether the library was successfully initialized with all the          required or default (see @require_plugins) plugins or not either          before or by this call
 | |
|          */
 | |
|         function ensure_init(require_plugins?: PluginSpec[] | null, log_func?: UtilsLogFunc | null): boolean;
 | |
|         /**
 | |
|          * Frees `args` and all its elements.
 | |
|          * @param args A list of %BDExtraArg to free
 | |
|          */
 | |
|         function extra_arg_list_free(args?: ExtraArg[] | null): void;
 | |
|         function fs_btrfs_check(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_btrfs_check_label(label: string): boolean;
 | |
|         function fs_btrfs_check_uuid(uuid: string): boolean;
 | |
|         function fs_btrfs_get_info(mpoint: string): FSBtrfsInfo;
 | |
|         function fs_btrfs_mkfs(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_btrfs_repair(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_btrfs_resize(mpoint: string, new_size: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_btrfs_set_label(mpoint: string, label: string): boolean;
 | |
|         function fs_btrfs_set_uuid(device: string, uuid?: string | null): boolean;
 | |
|         /**
 | |
|          * Searches for the required utility to check the given filesystem and returns whether
 | |
|          * it is installed.
 | |
|          * Unknown filesystems or filesystems which do not support checking result in errors.
 | |
|          * @param type the filesystem type to be tested for installed consistency check support
 | |
|          * @returns whether filesystem check is available Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_can_check(type: string): [boolean, string];
 | |
|         /**
 | |
|          * Searches for the required utility to get free space of the given filesystem and
 | |
|          * returns whether it is installed.
 | |
|          * Unknown filesystems or filesystems which do not support free space querying result in errors.
 | |
|          * @param type the filesystem type to be tested for installed free space querying support
 | |
|          * @returns whether getting filesystem free space is available Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_can_get_free_space(type: string): [boolean, string];
 | |
|         /**
 | |
|          * Searches for the required utility to get info of the given filesystem and
 | |
|          * returns whether it is installed.
 | |
|          * Unknown filesystems or filesystems which do not support info querying result in errors.
 | |
|          * @param type the filesystem type to be tested for info querying support
 | |
|          * @returns whether getting filesystem info is available Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_can_get_info(type: string): [boolean, string];
 | |
|         /**
 | |
|          * Searches for the required utility to get minimum size of the given filesystem and
 | |
|          * returns whether it is installed.
 | |
|          * Unknown filesystems or filesystems which do not support minimum size querying result in errors.
 | |
|          * @param type the filesystem type to be tested for installed minimum size querying support
 | |
|          * @returns whether getting filesystem size is available Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_can_get_min_size(type: string): [boolean, string];
 | |
|         /**
 | |
|          * Searches for the required utility to get size of the given filesystem and
 | |
|          * returns whether it is installed.
 | |
|          * Unknown filesystems or filesystems which do not support size querying result in errors.
 | |
|          * @param type the filesystem type to be tested for installed size querying support
 | |
|          * @returns whether getting filesystem size is available Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_can_get_size(type: string): [boolean, string];
 | |
|         /**
 | |
|          * Searches for the required utility to create the given filesystem and returns whether
 | |
|          * it is installed. The options flags indicate what additional options can be specified for `type`.
 | |
|          * Unknown filesystems result in errors.
 | |
|          * @param type the filesystem type to be tested for installed mkfs support
 | |
|          * @returns whether filesystem mkfs tool is available Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_can_mkfs(type: string): [boolean, FSMkfsOptionsFlags, string];
 | |
|         /**
 | |
|          * Searches for the required utility to repair the given filesystem and returns whether
 | |
|          * it is installed.
 | |
|          * Unknown filesystems or filesystems which do not support reparing result in errors.
 | |
|          * @param type the filesystem type to be tested for installed repair support
 | |
|          * @returns whether filesystem repair is available Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_can_repair(type: string): [boolean, string];
 | |
|         /**
 | |
|          * Searches for the required utility to resize the given filesystem and returns whether
 | |
|          * it is installed. The mode flags indicate if growing and/or shrinking resize is available if
 | |
|          * mounted/unmounted.
 | |
|          * Unknown filesystems or filesystems which do not support resizing result in errors.
 | |
|          * @param type the filesystem type to be tested for installed resize support
 | |
|          * @returns whether filesystem resize is available Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_can_resize(type: string): [boolean, FSResizeFlags, string];
 | |
|         /**
 | |
|          * Searches for the required utility to set the label of the given filesystem and returns whether
 | |
|          * it is installed.
 | |
|          * Unknown filesystems or filesystems which do not support setting the label result in errors.
 | |
|          * @param type the filesystem type to be tested for installed label support
 | |
|          * @returns whether setting filesystem label is available Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_can_set_label(type: string): [boolean, string];
 | |
|         /**
 | |
|          * Searches for the required utility to set the UUID of the given filesystem and returns whether
 | |
|          * it is installed.
 | |
|          * Unknown filesystems or filesystems which do not support setting the UUID result in errors.
 | |
|          * @param type the filesystem type to be tested for installed UUID support
 | |
|          * @returns whether setting filesystem UUID is available Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_can_set_uuid(type: string): [boolean, string];
 | |
|         /**
 | |
|          * Check filesystem on `device` avoiding any modifications or repairs.
 | |
|          * This calls other fs check functions from this plugin based on detected
 | |
|          * filesystem (e.g. bd_fs_xfs_check for XFS). This function will return
 | |
|          * an error for unknown/unsupported filesystems.
 | |
|          *
 | |
|          * Note that depending on a corresponding filesystem type and configured
 | |
|          * features running this function on a mounted filesystem may result
 | |
|          * in false errors reported.
 | |
|          * @param device the device the file system of which to check
 | |
|          * @param fstype the filesystem type on @device or %NULL to detect
 | |
|          * @returns whether the file system on @device passed the consistency check or not Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_CHECK
 | |
|          */
 | |
|         function fs_check(device: string, fstype?: string | null): boolean;
 | |
|         /**
 | |
|          * This calls other fs check label functions from this plugin based on the provided
 | |
|          * filesystem (e.g. bd_fs_xfs_check_label for XFS). This function will return
 | |
|          * an error for unknown/unsupported filesystems.
 | |
|          * @param fstype the filesystem type to check @label for
 | |
|          * @param label label to check
 | |
|          * @returns whether @label is a valid label for the @fstype file system or not          (reason is provided in @error) Tech category: always available
 | |
|          */
 | |
|         function fs_check_label(fstype: string, label: string): boolean;
 | |
|         /**
 | |
|          * This calls other fs check uuid functions from this plugin based on the provided
 | |
|          * filesystem (e.g. bd_fs_xfs_check_uuid for XFS). This function will return
 | |
|          * an error for unknown/unsupported filesystems.
 | |
|          * @param fstype the filesystem type to check @uuid for
 | |
|          * @param uuid uuid to check
 | |
|          * @returns whether @uuid is a valid UUID for the @fstype file system or not          (reason is provided in @error) Tech category: always available
 | |
|          */
 | |
|         function fs_check_uuid(fstype: string, uuid: string): boolean;
 | |
|         /**
 | |
|          * Clean all signatures from `device`.
 | |
|          * Difference between this and bd_fs_wipe() is that this function doesn't
 | |
|          * return error if `device` is already empty. This will also always remove
 | |
|          * all signatures from `device,` not only the first one.
 | |
|          * @param device the device to clean
 | |
|          * @param force whether to wipe signatures on a mounted @device
 | |
|          * @returns whether @device was successfully cleaned or not Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_WIPE
 | |
|          */
 | |
|         function fs_clean(device: string, force: boolean): boolean;
 | |
|         function fs_error_quark(): GLib.Quark;
 | |
|         function fs_exfat_check(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_exfat_check_label(label: string): boolean;
 | |
|         function fs_exfat_check_uuid(uuid: string): boolean;
 | |
|         function fs_exfat_get_info(device: string): FSExfatInfo;
 | |
|         function fs_exfat_mkfs(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_exfat_repair(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_exfat_set_label(device: string, label: string): boolean;
 | |
|         function fs_exfat_set_uuid(device: string, uuid?: string | null): boolean;
 | |
|         function fs_ext2_check(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext2_check_label(label: string): boolean;
 | |
|         function fs_ext2_check_uuid(uuid: string): boolean;
 | |
|         function fs_ext2_get_info(device: string): FSExt2Info;
 | |
|         function fs_ext2_get_min_size(device: string): number;
 | |
|         function fs_ext2_mkfs(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext2_repair(device: string, unsafe: boolean, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext2_resize(device: string, new_size: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext2_set_label(device: string, label: string): boolean;
 | |
|         function fs_ext2_set_uuid(device: string, uuid?: string | null): boolean;
 | |
|         function fs_ext3_check(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext3_check_label(label: string): boolean;
 | |
|         function fs_ext3_check_uuid(uuid: string): boolean;
 | |
|         function fs_ext3_get_info(device: string): FSExt3Info;
 | |
|         function fs_ext3_get_min_size(device: string): number;
 | |
|         function fs_ext3_mkfs(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext3_repair(device: string, unsafe: boolean, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext3_resize(device: string, new_size: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext3_set_label(device: string, label: string): boolean;
 | |
|         function fs_ext3_set_uuid(device: string, uuid?: string | null): boolean;
 | |
|         function fs_ext4_check(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext4_check_label(label: string): boolean;
 | |
|         function fs_ext4_check_uuid(uuid: string): boolean;
 | |
|         function fs_ext4_get_info(device: string): FSExt4Info;
 | |
|         function fs_ext4_get_min_size(device: string): number;
 | |
|         function fs_ext4_mkfs(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext4_repair(device: string, unsafe: boolean, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext4_resize(device: string, new_size: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ext4_set_label(device: string, label: string): boolean;
 | |
|         function fs_ext4_set_uuid(device: string, uuid?: string | null): boolean;
 | |
|         function fs_f2fs_check(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_f2fs_check_label(label: string): boolean;
 | |
|         function fs_f2fs_get_info(device: string): FSF2FSInfo;
 | |
|         function fs_f2fs_mkfs(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_f2fs_repair(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_f2fs_resize(device: string, new_size: number, safe: boolean, extra?: ExtraArg[] | null): boolean;
 | |
|         /**
 | |
|          * Returns (transfer-none): features supported by `fstype,` see %BDFSFeatures for more information.
 | |
|          *
 | |
|          * Tech category: always available
 | |
|          * @param fstype name of the filesystem to get features for (e.g. "ext4")
 | |
|          */
 | |
|         function fs_features(fstype: string): FSFeatures;
 | |
|         /**
 | |
|          * Freezes filesystem mounted on `mountpoint`. The filesystem must
 | |
|          * support freezing.
 | |
|          * @param mountpoint mountpoint of the device (filesystem) to freeze
 | |
|          * @returns whether @mountpoint was successfully freezed or not
 | |
|          */
 | |
|         function fs_freeze(mountpoint: string): boolean;
 | |
|         /**
 | |
|          * Get free space for filesystem on `device`. This calls other fs info functions from this
 | |
|          * plugin based on detected filesystem (e.g. bd_fs_ext4_get_info for ext4). This
 | |
|          * function will return an error for unknown/unsupported filesystems.
 | |
|          * @param device the device with file system to get free space for
 | |
|          * @param fstype the filesystem type on @device or %NULL to detect
 | |
|          * @returns free space of filesystem on @device, 0 in case of error. Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_get_free_space(device: string, fstype?: string | null): number;
 | |
|         /**
 | |
|          * Get first signature on `device` as a string.
 | |
|          * @param device the device to probe
 | |
|          * @returns type of filesystem found on @device, %NULL in case                           no signature has been detected or in case of error                           (@error is set in this case) Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_get_fstype(device: string): string;
 | |
|         /**
 | |
|          * Get minimum size for filesystem on `device`. This calls other fs info functions from this
 | |
|          * plugin based on detected filesystem (e.g. bd_fs_ext4_get_min_size for ext4). This
 | |
|          * function will return an error for unknown/unsupported filesystems.
 | |
|          * @param device the device with file system to get minimum size for
 | |
|          * @param fstype the filesystem type on @device or %NULL to detect
 | |
|          * @returns minimum size of filesystem on @device, 0 in case of error. Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_RESIZE
 | |
|          */
 | |
|         function fs_get_min_size(device: string, fstype?: string | null): number;
 | |
|         /**
 | |
|          * Get mountpoint for `device`. If `device` is mounted multiple times only
 | |
|          * one mountpoint will be returned.
 | |
|          * @param device device to find mountpoint for
 | |
|          * @returns mountpoint for @device, %NULL in case device is                           not mounted or in case of an error (@error is set                           in this case) Tech category: %BD_FS_TECH_MOUNT (no mode, ignored)
 | |
|          */
 | |
|         function fs_get_mountpoint(device: string): string;
 | |
|         /**
 | |
|          * Get size for filesystem on `device`. This calls other fs info functions from this
 | |
|          * plugin based on detected filesystem (e.g. bd_fs_xfs_get_info for XFS). This
 | |
|          * function will return an error for unknown/unsupported filesystems.
 | |
|          *
 | |
|          * Note: This function will mount `device` for filesystems that need to be mounted
 | |
|          *       to gather information (like btrfs).
 | |
|          * @param device the device with file system to get size for
 | |
|          * @param fstype the filesystem type on @device or %NULL to detect
 | |
|          * @returns size of filesystem on @device, 0 in case of error. Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_QUERY
 | |
|          */
 | |
|         function fs_get_size(device: string, fstype?: string | null): number;
 | |
|         function fs_is_mountpoint(path: string): boolean;
 | |
|         function fs_is_tech_avail(tech: FSTech | null, mode: number): boolean;
 | |
|         /**
 | |
|          * This is a helper function for creating filesystems with extra options.
 | |
|          * This is the same as running a filesystem-specific function like %bd_fs_ext4_mkfs
 | |
|          * and manually specifying the extra command line options. %BDFSMkfsOptions
 | |
|          * removes the need to specify supported options for selected filesystems,
 | |
|          * make sure to check whether `fstype` supports these options (see %bd_fs_can_mkfs)
 | |
|          * for details.
 | |
|          *
 | |
|          * When specifying additional mkfs options using `extra,` it's caller's
 | |
|          * responsibility to make sure these options do not conflict with options
 | |
|          * specified using `options`. Extra options are added after the `options` and
 | |
|          * there are no additional checks for duplicate and/or conflicting options.
 | |
|          * @param device the device to create the new filesystem on
 | |
|          * @param fstype name of the filesystem to create (e.g. "ext4")
 | |
|          * @param options additional options like label or UUID for the filesystem
 | |
|          * @param extra extra mkfs options not provided in @options
 | |
|          * @returns whether @fstype was successfully created on @device or not. Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_MKFS
 | |
|          */
 | |
|         function fs_mkfs(device: string, fstype: string, options: FSMkfsOptions, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_mount(
 | |
|             device?: string | null,
 | |
|             mountpoint?: string | null,
 | |
|             fstype?: string | null,
 | |
|             options?: string | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function fs_nilfs2_check_label(label: string): boolean;
 | |
|         function fs_nilfs2_check_uuid(uuid: string): boolean;
 | |
|         function fs_nilfs2_get_info(device: string): FSNILFS2Info;
 | |
|         function fs_nilfs2_mkfs(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_nilfs2_resize(device: string, new_size: number): boolean;
 | |
|         function fs_nilfs2_set_label(device: string, label: string): boolean;
 | |
|         function fs_nilfs2_set_uuid(device: string, uuid?: string | null): boolean;
 | |
|         function fs_ntfs_check(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ntfs_check_label(label: string): boolean;
 | |
|         function fs_ntfs_check_uuid(uuid: string): boolean;
 | |
|         function fs_ntfs_get_info(device: string): FSNtfsInfo;
 | |
|         function fs_ntfs_get_min_size(device: string): number;
 | |
|         function fs_ntfs_mkfs(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ntfs_repair(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_ntfs_resize(device: string, new_size: number): boolean;
 | |
|         function fs_ntfs_set_label(device: string, label: string): boolean;
 | |
|         function fs_ntfs_set_uuid(device: string, uuid?: string | null): boolean;
 | |
|         /**
 | |
|          * Repair filesystem on `device`. This calls other fs repair functions from this
 | |
|          * plugin based on detected filesystem (e.g. bd_fs_xfs_repair for XFS). This
 | |
|          * function will return an error for unknown/unsupported filesystems.
 | |
|          *
 | |
|          * Most filesystem tools typically require the filesystem not to be mounted.
 | |
|          * @param device the device the file system of which to repair
 | |
|          * @param fstype the filesystem type on @device or %NULL to detect
 | |
|          * @returns whether the file system on @device was successfully repaired or not Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_REPAIR
 | |
|          */
 | |
|         function fs_repair(device: string, fstype?: string | null): boolean;
 | |
|         /**
 | |
|          * Resize filesystem on `device`. This calls other fs resize functions from this
 | |
|          * plugin based on provides or detected filesystem (e.g. bd_fs_xfs_resize for XFS).
 | |
|          * This function will return an error for unknown/unsupported filesystems.
 | |
|          *
 | |
|          * Note: This function will mount `device` for filesystems that can be resized only
 | |
|          *       when mounted (like XFS or Btrfs).
 | |
|          * @param device the device the file system of which to resize
 | |
|          * @param new_size new requested size for the file system (if 0, the file system is            adapted to the underlying block device)
 | |
|          * @param fstype the filesystem type on @device or %NULL to detect
 | |
|          * @returns whether the file system on @device was successfully resized or not Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_RESIZE
 | |
|          */
 | |
|         function fs_resize(device: string, new_size: number, fstype?: string | null): boolean;
 | |
|         /**
 | |
|          * Set label for filesystem on `device`. This calls other fs label functions from this
 | |
|          * plugin based on detected filesystem (e.g. bd_fs_xfs_set_label for XFS). This
 | |
|          * function will return an error for unknown/unsupported filesystems.
 | |
|          *
 | |
|          * Note: This function will mount `device` for filesystems that need to be mounted
 | |
|          *       to set label (like btrfs).
 | |
|          * @param device the device with file system to set the label for
 | |
|          * @param label label to set
 | |
|          * @param fstype the filesystem type on @device or %NULL to detect
 | |
|          * @returns whether the file system on @device was successfully relabeled or not Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_SET_LABEL
 | |
|          */
 | |
|         function fs_set_label(device: string, label: string, fstype?: string | null): boolean;
 | |
|         /**
 | |
|          * Set UUID for filesystem on `device`. This calls other fs UUID functions from this
 | |
|          * plugin based on detected filesystem (e.g. bd_fs_xfs_set_uuid for XFS). This
 | |
|          * function will return an error for unknown/unsupported filesystems.
 | |
|          * @param device the device with file system to set the UUID for
 | |
|          * @param uuid UUID to set or %NULL to generate a new one
 | |
|          * @param fstype the filesystem type on @device or %NULL to detect
 | |
|          * @returns whether the UUID on the file system on @device was successfully changed or not Tech category: %BD_FS_TECH_GENERIC-%BD_FS_TECH_MODE_SET_UUID
 | |
|          */
 | |
|         function fs_set_uuid(device: string, uuid?: string | null, fstype?: string | null): boolean;
 | |
|         function fs_supported_filesystems(): string[];
 | |
|         /**
 | |
|          * Note: This checks only whether `label` adheres the length limits for Logical Volume Identifier,
 | |
|          *       not the stricter limits for Volume Identifier.
 | |
|          * @param label label to check
 | |
|          * @returns whether @label is a valid label for the UDF file system or not          (reason is provided in @error) Tech category: always available
 | |
|          */
 | |
|         function fs_udf_check_label(label: string): boolean;
 | |
|         function fs_udf_check_uuid(uuid: string): boolean;
 | |
|         function fs_udf_get_info(device: string): FSUdfInfo;
 | |
|         function fs_udf_mkfs(
 | |
|             device: string,
 | |
|             media_type: string | null,
 | |
|             revision: string | null,
 | |
|             block_size: number,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         /**
 | |
|          * Note: This sets both Volume Identifier and Logical Volume Identifier. Volume Identifier
 | |
|          *       is truncated to 30 or 15 characters to accommodate to the different length limits
 | |
|          *       of these labels.
 | |
|          * @param device the device containing the file system to set label for
 | |
|          * @param label label to set
 | |
|          * @returns whether the label of UDF file system on the @device was          successfully set or not Tech category: %BD_FS_TECH_UDF-%BD_FS_TECH_MODE_SET_LABEL
 | |
|          */
 | |
|         function fs_udf_set_label(device: string, label: string): boolean;
 | |
|         function fs_udf_set_uuid(device: string, uuid?: string | null): boolean;
 | |
|         /**
 | |
|          * Un-freezes filesystem mounted on `mountpoint`. The filesystem must
 | |
|          * support freezing.
 | |
|          * @param mountpoint mountpoint of the device (filesystem) to un-freeze
 | |
|          * @returns whether @mountpoint was successfully unfreezed or not
 | |
|          */
 | |
|         function fs_unfreeze(mountpoint: string): boolean;
 | |
|         function fs_unmount(spec: string, lazy: boolean, force: boolean, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_vfat_check(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_vfat_check_label(label: string): boolean;
 | |
|         function fs_vfat_check_uuid(uuid: string): boolean;
 | |
|         function fs_vfat_get_info(device: string): FSVfatInfo;
 | |
|         /**
 | |
|          * Please remember that FAT labels should always be uppercase.
 | |
|          * @param device the device to create a new vfat fs on
 | |
|          * @param extra extra options for the creation (right now                                                 passed to the 'mkfs.vfat' utility)
 | |
|          * @returns whether a new vfat fs was successfully created on @device or not Tech category: %BD_FS_TECH_VFAT-%BD_FS_TECH_MODE_MKFS
 | |
|          */
 | |
|         function fs_vfat_mkfs(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_vfat_repair(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_vfat_resize(device: string, new_size: number): boolean;
 | |
|         function fs_vfat_set_label(device: string, label: string): boolean;
 | |
|         function fs_vfat_set_uuid(device: string, uuid?: string | null): boolean;
 | |
|         function fs_wipe(device: string, all: boolean, force: boolean): boolean;
 | |
|         function fs_xfs_check(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_xfs_check_label(label: string): boolean;
 | |
|         function fs_xfs_check_uuid(uuid: string): boolean;
 | |
|         function fs_xfs_get_info(device: string): FSXfsInfo;
 | |
|         function fs_xfs_mkfs(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_xfs_repair(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_xfs_resize(mpoint: string, new_size: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function fs_xfs_set_label(device: string, label: string): boolean;
 | |
|         function fs_xfs_set_uuid(device: string, uuid?: string | null): boolean;
 | |
|         function get_available_plugin_names(): string[];
 | |
|         function get_plugin_name(plugin: Plugin | null): string;
 | |
|         function get_plugin_soname(plugin: Plugin | null): string;
 | |
|         function init(require_plugins?: PluginSpec[] | null, log_func?: UtilsLogFunc | null): boolean;
 | |
|         function is_initialized(): boolean;
 | |
|         function is_plugin_available(plugin: Plugin | null): boolean;
 | |
|         function loop_error_quark(): GLib.Quark;
 | |
|         function loop_get_loop_name(file: string): string;
 | |
|         function loop_info(loop: string): LoopInfo;
 | |
|         function loop_is_tech_avail(tech: LoopTech | null, mode: number): boolean;
 | |
|         function loop_set_autoclear(loop: string, autoclear: boolean): boolean;
 | |
|         function loop_setup(
 | |
|             file: string,
 | |
|             offset: number,
 | |
|             size: number,
 | |
|             read_only: boolean,
 | |
|             part_scan: boolean,
 | |
|             sector_size: number,
 | |
|         ): [boolean, string];
 | |
|         function loop_setup_from_fd(
 | |
|             fd: number,
 | |
|             offset: number,
 | |
|             size: number,
 | |
|             read_only: boolean,
 | |
|             part_scan: boolean,
 | |
|             sector_size: number,
 | |
|         ): [boolean, string];
 | |
|         function loop_teardown(loop: string): boolean;
 | |
|         function lvm_add_lv_tags(vg_name: string, lv_name: string, tags: string[]): boolean;
 | |
|         function lvm_add_pv_tags(device: string, tags: string[]): boolean;
 | |
|         function lvm_add_vg_tags(vg_name: string, tags: string[]): boolean;
 | |
|         function lvm_cache_attach(
 | |
|             vg_name: string,
 | |
|             data_lv: string,
 | |
|             cache_pool_lv: string,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_cache_create_cached_lv(
 | |
|             vg_name: string,
 | |
|             lv_name: string,
 | |
|             data_size: number,
 | |
|             cache_size: number,
 | |
|             md_size: number,
 | |
|             mode: LVMCacheMode | null,
 | |
|             flags: LVMCachePoolFlags | null,
 | |
|             slow_pvs: string[],
 | |
|             fast_pvs: string[],
 | |
|         ): boolean;
 | |
|         function lvm_cache_create_pool(
 | |
|             vg_name: string,
 | |
|             pool_name: string,
 | |
|             pool_size: number,
 | |
|             md_size: number,
 | |
|             mode: LVMCacheMode | null,
 | |
|             flags: LVMCachePoolFlags | null,
 | |
|             fast_pvs: string[],
 | |
|         ): boolean;
 | |
|         function lvm_cache_detach(
 | |
|             vg_name: string,
 | |
|             cached_lv: string,
 | |
|             destroy: boolean,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_cache_get_default_md_size(cache_size: number): number;
 | |
|         function lvm_cache_get_mode_from_str(mode_str: string): LVMCacheMode;
 | |
|         function lvm_cache_get_mode_str(mode: LVMCacheMode | null): string;
 | |
|         /**
 | |
|          * Converts the `data_lv` and `metadata_lv` into a new cache pool in the `vg_name`
 | |
|          * VG.
 | |
|          * @param vg_name name of the VG to create the new thin pool in
 | |
|          * @param data_lv name of the LV that should become the data part of the new pool
 | |
|          * @param metadata_lv name of the LV that should become the metadata part of the new pool
 | |
|          * @param name name for the thin pool (if %NULL, the name @data_lv is inherited)
 | |
|          * @param extra extra options for the thin pool creation                                                 (just passed to LVM as is)
 | |
|          * @returns whether the new cache pool was successfully created from @data_lv and          @metadata_lv or not Tech category: %BD_LVM_TECH_CACHE-%BD_LVM_TECH_MODE_CREATE
 | |
|          */
 | |
|         function lvm_cache_pool_convert(
 | |
|             vg_name: string,
 | |
|             data_lv: string,
 | |
|             metadata_lv: string,
 | |
|             name?: string | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_cache_pool_name(vg_name: string, cached_lv: string): string;
 | |
|         function lvm_cache_stats(vg_name: string, cached_lv: string): LVMCacheStats;
 | |
|         function lvm_config_get(
 | |
|             section: string | null,
 | |
|             setting: string | null,
 | |
|             type: string,
 | |
|             values_only: boolean,
 | |
|             global_config: boolean,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): string;
 | |
|         function lvm_delete_lv_tags(vg_name: string, lv_name: string, tags: string[]): boolean;
 | |
|         function lvm_delete_pv_tags(device: string, tags: string[]): boolean;
 | |
|         function lvm_delete_vg_tags(vg_name: string, tags: string[]): boolean;
 | |
|         function lvm_devices_add(device: string, devices_file?: string | null, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_devices_delete(device: string, devices_file?: string | null, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_error_quark(): GLib.Quark;
 | |
|         function lvm_get_devices_filter(): string[];
 | |
|         function lvm_get_global_config(): string;
 | |
|         function lvm_get_lv_physical_size(lv_size: number, pe_size: number): number;
 | |
|         function lvm_get_max_lv_size(): number;
 | |
|         function lvm_get_supported_pe_sizes(): number[];
 | |
|         /**
 | |
|          * Note: This function will be changed in 3.0: the `n_snapshots` parameter
 | |
|          *       is currently not used and will be removed.
 | |
|          * @param size size of the thin pool
 | |
|          * @param chunk_size chunk size of the thin pool or 0 to use the default
 | |
|          * @param n_snapshots ignored
 | |
|          * @returns recommended size of the metadata space for the specified pool Tech category: %BD_LVM_TECH_THIN_CALCS no mode (it is ignored)
 | |
|          */
 | |
|         function lvm_get_thpool_meta_size(size: number, chunk_size: number, n_snapshots: number): number;
 | |
|         function lvm_get_thpool_padding(size: number, pe_size: number, included: boolean): number;
 | |
|         function lvm_get_vdo_compression_state_str(state: LVMVDOCompressionState | null): string;
 | |
|         function lvm_get_vdo_index_state_str(state: LVMVDOIndexState | null): string;
 | |
|         function lvm_get_vdo_operating_mode_str(mode: LVMVDOOperatingMode | null): string;
 | |
|         function lvm_get_vdo_write_policy_from_str(policy_str: string): LVMVDOWritePolicy;
 | |
|         function lvm_get_vdo_write_policy_str(policy: LVMVDOWritePolicy | null): string;
 | |
|         function lvm_is_supported_pe_size(size: number): boolean;
 | |
|         function lvm_is_tech_avail(tech: LVMTech | null, mode: number): boolean;
 | |
|         function lvm_is_valid_thpool_chunk_size(size: number, discard: boolean): boolean;
 | |
|         function lvm_is_valid_thpool_md_size(size: number): boolean;
 | |
|         function lvm_lvactivate(
 | |
|             vg_name: string,
 | |
|             lv_name: string,
 | |
|             ignore_skip: boolean,
 | |
|             shared: boolean,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_lvcreate(
 | |
|             vg_name: string,
 | |
|             lv_name: string,
 | |
|             size: number,
 | |
|             type?: string | null,
 | |
|             pv_list?: string[] | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_lvdeactivate(vg_name: string, lv_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_lvinfo(vg_name: string, lv_name: string): LVMLVdata;
 | |
|         /**
 | |
|          * This function will fill out the data_lvs, metadata_lvs, and segs fields as well.
 | |
|          * @param vg_name name of the VG that contains the LV to get information about
 | |
|          * @param lv_name name of the LV to get information about
 | |
|          * @returns information about the @vg_name/@lv_name LV or %NULL in case of error (the @error) gets populated in those cases) Tech category: %BD_LVM_TECH_BASIC-%BD_LVM_TECH_MODE_QUERY
 | |
|          */
 | |
|         function lvm_lvinfo_tree(vg_name: string, lv_name: string): LVMLVdata;
 | |
|         function lvm_lvorigin(vg_name: string, lv_name: string): string;
 | |
|         function lvm_lvremove(vg_name: string, lv_name: string, force: boolean, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_lvrename(vg_name: string, lv_name: string, new_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_lvrepair(vg_name: string, lv_name: string, pv_list: string[], extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_lvresize(vg_name: string, lv_name: string, size: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_lvs(vg_name?: string | null): LVMLVdata[];
 | |
|         /**
 | |
|          * This function will fill out the data_lvs, metadata_lvs, and segs fields as well.
 | |
|          * @param vg_name name of the VG to get information about LVs from
 | |
|          * @returns information about LVs found in the given @vg_name VG or in system if @vg_name is %NULL. Tech category: %BD_LVM_TECH_BASIC-%BD_LVM_TECH_MODE_QUERY
 | |
|          */
 | |
|         function lvm_lvs_tree(vg_name?: string | null): LVMLVdata[];
 | |
|         function lvm_lvsnapshotcreate(
 | |
|             vg_name: string,
 | |
|             origin_name: string,
 | |
|             snapshot_name: string,
 | |
|             size: number,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_lvsnapshotmerge(vg_name: string, snapshot_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_pvcreate(
 | |
|             device: string,
 | |
|             data_alignment: number,
 | |
|             metadata_size: number,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_pvinfo(device: string): LVMPVdata;
 | |
|         function lvm_pvmove(src: string, dest?: string | null, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_pvremove(device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_pvresize(device: string, size: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_pvs(): LVMPVdata[];
 | |
|         function lvm_pvscan(device: string | null, update_cache: boolean, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_round_size_to_pe(size: number, pe_size: number, roundup: boolean): number;
 | |
|         function lvm_set_devices_filter(devices?: string[] | null): boolean;
 | |
|         /**
 | |
|          * Note: This function sets configuration options for LVM calls internally
 | |
|          *       in libblockdev, it doesn't change the global lvm.conf config file.
 | |
|          *       Calling this function with `backup {backup=0 archive=0}` for example
 | |
|          *       means `--config=backup {backup=0 archive=0}"` will be added to all
 | |
|          *       calls libblockdev makes.
 | |
|          * @param new_config string representation of the new global libblockdev LVM                          configuration to set or %NULL to reset to default
 | |
|          * @returns whether the new requested global config @new_config was successfully          set or not Tech category: %BD_LVM_TECH_GLOB_CONF no mode (it is ignored)
 | |
|          */
 | |
|         function lvm_set_global_config(new_config?: string | null): boolean;
 | |
|         function lvm_thlvcreate(
 | |
|             vg_name: string,
 | |
|             pool_name: string,
 | |
|             lv_name: string,
 | |
|             size: number,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_thlvpoolname(vg_name: string, lv_name: string): string;
 | |
|         /**
 | |
|          * Converts the `data_lv` and `metadata_lv` into a new thin pool in the `vg_name`
 | |
|          * VG.
 | |
|          * @param vg_name name of the VG to create the new thin pool in
 | |
|          * @param data_lv name of the LV that should become the data part of the new pool
 | |
|          * @param metadata_lv name of the LV that should become the metadata part of the new pool
 | |
|          * @param name name for the thin pool (if %NULL, the name @data_lv is inherited)
 | |
|          * @param extra extra options for the thin pool creation                                                 (just passed to LVM as is)
 | |
|          * @returns whether the new thin pool was successfully created from @data_lv and          @metadata_lv or not Tech category: %BD_LVM_TECH_THIN-%BD_LVM_TECH_MODE_CREATE
 | |
|          */
 | |
|         function lvm_thpool_convert(
 | |
|             vg_name: string,
 | |
|             data_lv: string,
 | |
|             metadata_lv: string,
 | |
|             name?: string | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_thpoolcreate(
 | |
|             vg_name: string,
 | |
|             lv_name: string,
 | |
|             size: number,
 | |
|             md_size: number,
 | |
|             chunk_size: number,
 | |
|             profile?: string | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_thsnapshotcreate(
 | |
|             vg_name: string,
 | |
|             origin_name: string,
 | |
|             snapshot_name: string,
 | |
|             pool_name?: string | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_vdo_disable_compression(vg_name: string, pool_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vdo_disable_deduplication(vg_name: string, pool_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vdo_enable_compression(vg_name: string, pool_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vdo_enable_deduplication(vg_name: string, pool_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vdo_get_stats(vg_name: string, pool_name: string): LVMVDOStats;
 | |
|         function lvm_vdo_get_stats_full(vg_name: string, pool_name: string): GLib.HashTable<string, string>;
 | |
|         function lvm_vdo_info(vg_name: string, lv_name: string): LVMVDOPooldata;
 | |
|         /**
 | |
|          * Converts the `pool_lv` into a new VDO pool LV in the `vg_name` VG and creates a new
 | |
|          * `name` VDO LV with size `virtual_size`.
 | |
|          *
 | |
|          * Note: All data on `pool_lv` will be irreversibly destroyed.
 | |
|          * @param vg_name name of the VG that contains @pool_lv
 | |
|          * @param pool_lv name of the LV that should become the new VDO pool LV
 | |
|          * @param name name for the VDO LV or %NULL for default name
 | |
|          * @param virtual_size virtual size for the new VDO LV
 | |
|          * @param index_memory amount of index memory (in bytes) or 0 for default
 | |
|          * @param compression whether to enable compression or not
 | |
|          * @param deduplication whether to enable deduplication or not
 | |
|          * @param write_policy write policy for the volume
 | |
|          * @param extra extra options for the VDO pool creation                                                 (just passed to LVM as is)
 | |
|          * @returns whether the new VDO pool LV was successfully created from @pool_lv and or not Tech category: %BD_LVM_TECH_VDO-%BD_LVM_TECH_MODE_CREATE&%BD_LVM_TECH_MODE_MODIFY
 | |
|          */
 | |
|         function lvm_vdo_pool_convert(
 | |
|             vg_name: string,
 | |
|             pool_lv: string,
 | |
|             name: string | null,
 | |
|             virtual_size: number,
 | |
|             index_memory: number,
 | |
|             compression: boolean,
 | |
|             deduplication: boolean,
 | |
|             write_policy: LVMVDOWritePolicy | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_vdo_pool_create(
 | |
|             vg_name: string,
 | |
|             lv_name: string,
 | |
|             pool_name: string | null,
 | |
|             data_size: number,
 | |
|             virtual_size: number,
 | |
|             index_memory: number,
 | |
|             compression: boolean,
 | |
|             deduplication: boolean,
 | |
|             write_policy: LVMVDOWritePolicy | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_vdo_pool_resize(
 | |
|             vg_name: string,
 | |
|             pool_name: string,
 | |
|             size: number,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_vdo_resize(vg_name: string, lv_name: string, size: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vdolvpoolname(vg_name: string, lv_name: string): string;
 | |
|         function lvm_vgactivate(vg_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vgcreate(name: string, pv_list: string[], pe_size: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vgdeactivate(vg_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vgextend(vg_name: string, device: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vginfo(vg_name: string): LVMVGdata;
 | |
|         function lvm_vglock_start(vg_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vglock_stop(vg_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vgreduce(vg_name: string, device?: string | null, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vgremove(vg_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vgrename(old_vg_name: string, new_vg_name: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function lvm_vgs(): LVMVGdata[];
 | |
|         function lvm_writecache_attach(
 | |
|             vg_name: string,
 | |
|             data_lv: string,
 | |
|             cache_lv: string,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function lvm_writecache_create_cached_lv(
 | |
|             vg_name: string,
 | |
|             lv_name: string,
 | |
|             data_size: number,
 | |
|             cache_size: number,
 | |
|             slow_pvs: string[],
 | |
|             fast_pvs: string[],
 | |
|         ): boolean;
 | |
|         function lvm_writecache_detach(
 | |
|             vg_name: string,
 | |
|             cached_lv: string,
 | |
|             destroy: boolean,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function md_activate(
 | |
|             raid_spec: string | null,
 | |
|             members: string[] | null,
 | |
|             uuid: string | null,
 | |
|             start_degraded: boolean,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function md_add(raid_spec: string, device: string, raid_devs: number, extra?: ExtraArg[] | null): boolean;
 | |
|         function md_canonicalize_uuid(uuid: string): string;
 | |
|         function md_create(
 | |
|             device_name: string,
 | |
|             level: string,
 | |
|             disks: string[],
 | |
|             spares: number,
 | |
|             version: string | null,
 | |
|             bitmap: string | null,
 | |
|             chunk_size: number,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function md_deactivate(raid_spec: string): boolean;
 | |
|         function md_denominate(device: string): boolean;
 | |
|         function md_destroy(device: string): boolean;
 | |
|         function md_detail(raid_spec: string): MDDetailData;
 | |
|         function md_error_quark(): GLib.Quark;
 | |
|         function md_examine(device: string): MDExamineData;
 | |
|         function md_get_bitmap_location(raid_spec: string): string;
 | |
|         function md_get_md_uuid(uuid: string): string;
 | |
|         function md_get_status(raid_spec: string): string;
 | |
|         function md_get_superblock_size(member_size: number, version?: string | null): number;
 | |
|         function md_is_tech_avail(tech: MDTech | null, mode: number): boolean;
 | |
|         function md_name_from_node(node: string): string;
 | |
|         function md_node_from_name(name: string): string;
 | |
|         function md_nominate(device: string): boolean;
 | |
|         function md_remove(raid_spec: string, device: string, fail: boolean, extra?: ExtraArg[] | null): boolean;
 | |
|         function md_request_sync_action(raid_spec: string, action: string): boolean;
 | |
|         function md_run(raid_spec: string): boolean;
 | |
|         function md_set_bitmap_location(raid_spec: string, location: string): boolean;
 | |
|         function mpath_error_quark(): GLib.Quark;
 | |
|         function mpath_flush_mpaths(): boolean;
 | |
|         function mpath_get_mpath_members(): string[];
 | |
|         function mpath_is_mpath_member(device: string): boolean;
 | |
|         function mpath_is_tech_avail(tech: MpathTech | null, mode: number): boolean;
 | |
|         function mpath_set_friendly_names(enabled: boolean): boolean;
 | |
|         function nvdimm_error_quark(): GLib.Quark;
 | |
|         function nvdimm_is_tech_avail(tech: NVDIMMTech | null, mode: number): boolean;
 | |
|         function nvdimm_list_namespaces(
 | |
|             bus: string | null,
 | |
|             region: string | null,
 | |
|             idle: boolean,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): NVDIMMNamespaceInfo[];
 | |
|         function nvdimm_namespace_disable(namespace: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function nvdimm_namespace_enable(namespace: string, extra?: ExtraArg[] | null): boolean;
 | |
|         function nvdimm_namespace_get_devname(device: string): string;
 | |
|         function nvdimm_namespace_get_mode_from_str(mode_str: string): NVDIMMNamespaceMode;
 | |
|         function nvdimm_namespace_get_mode_str(mode: NVDIMMNamespaceMode | null): string;
 | |
|         function nvdimm_namespace_get_supported_sector_sizes(mode: NVDIMMNamespaceMode | null): number[];
 | |
|         function nvdimm_namespace_info(namespace: string, extra?: ExtraArg[] | null): NVDIMMNamespaceInfo;
 | |
|         function nvdimm_namespace_reconfigure(
 | |
|             namespace: string,
 | |
|             mode: NVDIMMNamespaceMode | null,
 | |
|             force: boolean,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         /**
 | |
|          * Creates a transport connection to a remote system (specified by `transport_addr` and `transport_svcid)`
 | |
|          * and creates a NVMe over Fabrics controller for the NVMe subsystem specified by the `subsysnqn` option.
 | |
|          *
 | |
|          * Valid values for `transport` include:
 | |
|          * - `"rdma"`: An rdma network (RoCE, iWARP, Infiniband, basic rdma, etc.)
 | |
|          * - `"fc"`: A Fibre Channel network.
 | |
|          * - `"tcp"`: A TCP/IP network.
 | |
|          * - `"loop"`: A NVMe over Fabrics target on the local host.
 | |
|          *
 | |
|          * In addition to the primary options it's possible to supply `extra` arguments:
 | |
|          * - `"config"`: Use the specified JSON configuration file instead of the default file (see below) or
 | |
|          *               specify `"none"` to avoid reading any configuration file.
 | |
|          * - `"dhchap_key"`: NVMe In-band authentication secret in ASCII format as described
 | |
|          *                      in the NVMe 2.0 specification. When not specified, the secret is by default read
 | |
|          *                      from `/etc/nvme/hostkey`. In case that file does not exist no in-band authentication
 | |
|          *                      is attempted.
 | |
|          * - `"dhchap_ctrl_key"`: NVMe In-band authentication controller secret for bi-directional authentication.
 | |
|          *                        When not specified, no bi-directional authentication is attempted.
 | |
|          * - `"nr_io_queues"`: The number of I/O queues.
 | |
|          * - `"nr_write_queues"`: Number of additional queues that will be used for write I/O.
 | |
|          * - `"nr_poll_queues"`: Number of additional queues that will be used for polling latency sensitive I/O.
 | |
|          * - `"queue_size"`: Number of elements in the I/O queues.
 | |
|          * - `"keep_alive_tmo"`: The keep alive timeout (in seconds).
 | |
|          * - `"reconnect_delay"`: The delay (in seconds) before reconnect is attempted after a connect loss.
 | |
|          * - `"ctrl_loss_tmo"`: The controller loss timeout period (in seconds). A special value of `-1` will cause reconnecting forever.
 | |
|          * - `"fast_io_fail_tmo"`: Fast I/O Fail timeout (in seconds).
 | |
|          * - `"tos"`: Type of service.
 | |
|          * - `"duplicate_connect"`: Allow duplicated connections between same transport host and subsystem port. Boolean value.
 | |
|          * - `"disable_sqflow"`: Disables SQ flow control to omit head doorbell update for submission queues when sending nvme completions. Boolean value.
 | |
|          * - `"hdr_digest"`: Generates/verifies header digest (TCP). Boolean value.
 | |
|          * - `"data_digest"`: Generates/verifies data digest (TCP). Boolean value.
 | |
|          * - `"tls"`: Enable TLS encryption (TCP). Boolean value.
 | |
|          * - `"hostsymname"`: TP8010: NVMe host symbolic name.
 | |
|          * - `"keyring"`: Keyring to store and lookup keys. String value.
 | |
|          * - `"tls_key"`: TLS PSK for the connection. String value.
 | |
|          *
 | |
|          * Boolean values can be expressed by "0"/"1", "on"/"off" or "True"/"False" case-insensitive
 | |
|          * strings. Failed numerical or boolean string conversions will result in the option being ignored.
 | |
|          *
 | |
|          * By default additional options are read from the default configuration file `/etc/nvme/config.json`.
 | |
|          * This follows the default behaviour of `nvme-cli`. Use the `extra` `"config"` argument
 | |
|          * to either specify a different config file or disable use of it. The JSON configuration
 | |
|          * file format is documented in [https://raw.githubusercontent.com/linux-nvme/libnvme/master/doc/config-schema.json](https://raw.githubusercontent.com/linux-nvme/libnvme/master/doc/config-schema.json).
 | |
|          * As a rule `extra` key names are kept consistent with the JSON config file schema.
 | |
|          * Any `extra` option generally overrides particular option specified in a configuration file.
 | |
|          * @param subsysnqn The name for the NVMe subsystem to connect to.
 | |
|          * @param transport The network fabric used for a NVMe-over-Fabrics network.
 | |
|          * @param transport_addr The network address of the Controller. For transports using IP addressing (e.g. `rdma`) this should be an IP-based address.
 | |
|          * @param transport_svcid The transport service id.  For transports using IP addressing (e.g. `rdma`) this field is the port number. By default, the IP port number for the `RDMA` transport is `4420`.
 | |
|          * @param host_traddr The network address used on the host to connect to the Controller. For TCP, this sets the source address on the socket.
 | |
|          * @param host_iface The network interface used on the host to connect to the Controller (e.g. IP `eth1`, `enp2s0`). This forces the connection to be made on a specific interface instead of letting the system decide.
 | |
|          * @param host_nqn Overrides the default Host NQN that identifies the NVMe Host. If this option is %NULL, the default is read from `/etc/nvme/hostnqn` first.                        If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next. The Host NQN uniquely identifies the NVMe Host.
 | |
|          * @param host_id User-defined host UUID or %NULL to use default (as defined in `/etc/nvme/hostid`)
 | |
|          * @param extra Additional arguments.
 | |
|          * @returns %TRUE if the subsystem was connected successfully, %FALSE otherwise with @error set. Tech category: %BD_NVME_TECH_FABRICS-%BD_NVME_TECH_MODE_INITIATOR
 | |
|          */
 | |
|         function nvme_connect(
 | |
|             subsysnqn: string,
 | |
|             transport: string,
 | |
|             transport_addr?: string | null,
 | |
|             transport_svcid?: string | null,
 | |
|             host_traddr?: string | null,
 | |
|             host_iface?: string | null,
 | |
|             host_nqn?: string | null,
 | |
|             host_id?: string | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         /**
 | |
|          * Initiates or aborts the Device Self-test operation on the controller or a namespace,
 | |
|          * distinguished by the `device` path specified. In case a controller device
 | |
|          * is specified then the self-test operation would include all active namespaces.
 | |
|          *
 | |
|          * To abort a running operation, pass #BD_NVME_SELF_TEST_ACTION_ABORT as `action`.
 | |
|          * To retrieve progress of a current running operation, check the self-test log using
 | |
|          * bd_nvme_get_self_test_log().
 | |
|          * @param device a NVMe controller or namespace device (e.g. `/dev/nvme0`)
 | |
|          * @param action self-test action to take.
 | |
|          * @returns %TRUE if the device self-test command was issued successfully,          %FALSE otherwise with @error set. Tech category: %BD_NVME_TECH_NVME-%BD_NVME_TECH_MODE_MANAGE
 | |
|          */
 | |
|         function nvme_device_self_test(device: string, action: NVMESelfTestAction | null): boolean;
 | |
|         /**
 | |
|          * Disconnects and removes one or more existing NVMe over Fabrics controllers.
 | |
|          * This may disconnect multiple controllers with matching `subsysnqn` and %TRUE
 | |
|          * is only returned when all controllers were disconnected successfully.
 | |
|          * @param subsysnqn The name of the NVMe subsystem to disconnect.
 | |
|          * @returns %TRUE if all matching controllers were disconnected successfully, %FALSE with @error          set in case of a disconnect error or when no matching controllers were found. Tech category: %BD_NVME_TECH_FABRICS-%BD_NVME_TECH_MODE_INITIATOR
 | |
|          */
 | |
|         function nvme_disconnect(subsysnqn: string): boolean;
 | |
|         /**
 | |
|          * Disconnects and removes a NVMe over Fabrics controller represented
 | |
|          * by a block device path.
 | |
|          * @param path NVMe controller device to disconnect (e.g. `/dev/nvme0`).
 | |
|          * @returns %TRUE if the controller was disconnected successfully,          %FALSE otherwise with @error set. Tech category: %BD_NVME_TECH_FABRICS-%BD_NVME_TECH_MODE_INITIATOR
 | |
|          */
 | |
|         function nvme_disconnect_by_path(path: string): boolean;
 | |
|         function nvme_error_quark(): GLib.Quark;
 | |
|         /**
 | |
|          * A convenient utility function to look up all controllers associated
 | |
|          *  with a NVMe subsystem the specified namespace is part of.
 | |
|          * @param ns_sysfs_path NVMe namespace device file.
 | |
|          * @param subsysnqn Limit matching to the specified subsystem NQN.
 | |
|          * @param host_nqn Limit matching to the specified host NQN.
 | |
|          * @param host_id Limit matching to the specified host ID.
 | |
|          * @returns list of controller sysfs paths          or %NULL in case of an error (with @error set). Tech category: %BD_NVME_TECH_FABRICS-%BD_NVME_TECH_MODE_INITIATOR
 | |
|          */
 | |
|         function nvme_find_ctrls_for_ns(
 | |
|             ns_sysfs_path: string,
 | |
|             subsysnqn?: string | null,
 | |
|             host_nqn?: string | null,
 | |
|             host_id?: string | null,
 | |
|         ): string[];
 | |
|         /**
 | |
|          * Performs low level format of the NVM media, destroying all data and metadata for either
 | |
|          * a specific namespace or all attached namespaces to the controller. Use this command
 | |
|          * to change LBA sector size. Optional secure erase method can be specified as well.
 | |
|          *
 | |
|          * Supported LBA data sizes for a given namespace can be listed using the bd_nvme_get_namespace_info()
 | |
|          * call. In case of a special value `0` the current LBA format for a given namespace will be
 | |
|          * retained. When called on a controller device the first namespace is used as a reference.
 | |
|          *
 | |
|          * Note that the NVMe controller may define a Format NVM attribute indicating that the format
 | |
|          * operation would apply to all namespaces and a format (excluding secure erase) of any
 | |
|          * namespace results in a format of all namespaces in the NVM subsystem. In such case and
 | |
|          * when `device` is a namespace block device the #BD_NVME_ERROR_WOULD_FORMAT_ALL_NS error
 | |
|          * is returned to prevent further damage. This is then supposed to be handled by the caller
 | |
|          * and bd_nvme_format() is supposed to be called on a controller device instead.
 | |
|          *
 | |
|          * This call blocks until the format operation has finished. To retrieve progress
 | |
|          * of a current running operation, check the namespace info using bd_nvme_get_namespace_info().
 | |
|          * @param device NVMe namespace or controller device to format (e.g. `/dev/nvme0n1`)
 | |
|          * @param lba_data_size desired LBA data size (i.e. a sector size) in bytes or `0` to keep current. See #BDNVMELBAFormat and bd_nvme_get_namespace_info().
 | |
|          * @param metadata_size desired metadata size in bytes or `0` for default. See #BDNVMELBAFormat and bd_nvme_get_namespace_info().
 | |
|          * @param secure_erase optional secure erase action to take.
 | |
|          * @returns %TRUE if the format command finished successfully, %FALSE otherwise with @error set. Tech category: %BD_NVME_TECH_NVME-%BD_NVME_TECH_MODE_MANAGE
 | |
|          */
 | |
|         function nvme_format(
 | |
|             device: string,
 | |
|             lba_data_size: number,
 | |
|             metadata_size: number,
 | |
|             secure_erase: NVMEFormatSecureErase | null,
 | |
|         ): boolean;
 | |
|         /**
 | |
|          * Compute new Host NQN (NVM Qualified Name) value for the current system. This
 | |
|          * takes in account various system identifiers (DMI, device tree) with the goal
 | |
|          * of a stable unique identifier whenever feasible.
 | |
|          * @returns the Host NQN string or %NULL with @error set. Tech category: %BD_NVME_TECH_FABRICS-%BD_NVME_TECH_MODE_INITIATOR
 | |
|          */
 | |
|         function nvme_generate_host_nqn(): string;
 | |
|         /**
 | |
|          * Retrieves information about the NVMe controller (the Identify Controller command)
 | |
|          * as specified by the `device` block device path.
 | |
|          * @param device a NVMe controller device (e.g. `/dev/nvme0`)
 | |
|          * @returns information about given controller or %NULL in case of an error (with @error set). Tech category: %BD_NVME_TECH_NVME-%BD_NVME_TECH_MODE_INFO
 | |
|          */
 | |
|         function nvme_get_controller_info(device: string): NVMEControllerInfo;
 | |
|         /**
 | |
|          * Retrieves Error Information Log (Log Identifier `01h`) entries, used to describe
 | |
|          * extended error information for a command that completed with error or to report
 | |
|          * an error that is not specific to a particular command. This log is global to the
 | |
|          * controller. The ordering of the entries is based on the time when the error
 | |
|          * occurred, with the most recent error being returned as the first log entry.
 | |
|          * As the number of entries is typically limited by the drive implementation, only
 | |
|          * most recent entries are provided.
 | |
|          * @param device a NVMe controller device (e.g. `/dev/nvme0`)
 | |
|          * @returns null-terminated list          of error entries or %NULL in case of an error (with @error set). Tech category: %BD_NVME_TECH_NVME-%BD_NVME_TECH_MODE_INFO
 | |
|          */
 | |
|         function nvme_get_error_log_entries(device: string): NVMEErrorLogEntry[];
 | |
|         /**
 | |
|          * Reads the Host ID value from the global `/etc/nvme/hostid` file. An empty
 | |
|          * string is an indication that no Host ID has been set.
 | |
|          * @returns the Host ID string or an empty string if none set. Tech category: %BD_NVME_TECH_FABRICS-%BD_NVME_TECH_MODE_INITIATOR
 | |
|          */
 | |
|         function nvme_get_host_id(): string;
 | |
|         /**
 | |
|          * Reads the Host NQN (NVM Qualified Name) value from the global `/etc/nvme/hostnqn`
 | |
|          * file. An empty string is an indication that no Host NQN has been set.
 | |
|          * @returns the Host NQN string or an empty string if none set. Tech category: %BD_NVME_TECH_FABRICS-%BD_NVME_TECH_MODE_INITIATOR
 | |
|          */
 | |
|         function nvme_get_host_nqn(): string;
 | |
|         /**
 | |
|          * Retrieves information about the NVMe namespace (the Identify Namespace command)
 | |
|          * as specified by the `device` block device path.
 | |
|          * @param device a NVMe namespace device (e.g. `/dev/nvme0n1`)
 | |
|          * @returns information about given namespace or %NULL in case of an error (with @error set). Tech category: %BD_NVME_TECH_NVME-%BD_NVME_TECH_MODE_INFO
 | |
|          */
 | |
|         function nvme_get_namespace_info(device: string): NVMENamespaceInfo;
 | |
|         /**
 | |
|          * Retrieves the drive sanitize status log (Log Identifier `81h`) that includes information
 | |
|          * about the most recent sanitize operation and the sanitize operation time estimates.
 | |
|          *
 | |
|          * As advised in the NVMe specification whitepaper the host should limit polling
 | |
|          * to retrieve progress of a running sanitize operations (e.g. to at most once every
 | |
|          * several minutes) to avoid interfering with the progress of the sanitize operation itself.
 | |
|          * @param device a NVMe controller device (e.g. `/dev/nvme0`)
 | |
|          * @returns sanitize log data or %NULL in case of an error (with @error set). Tech category: %BD_NVME_TECH_NVME-%BD_NVME_TECH_MODE_INFO
 | |
|          */
 | |
|         function nvme_get_sanitize_log(device: string): NVMESanitizeLog;
 | |
|         /**
 | |
|          * Retrieves drive self-test log (Log Identifier `06h`). Provides the status of a self-test operation
 | |
|          * in progress and the percentage complete of that operation, along with the results of the last
 | |
|          * 20 device self-test operations.
 | |
|          * @param device a NVMe controller device (e.g. `/dev/nvme0`)
 | |
|          * @returns self-test log data or %NULL in case of an error (with @error set). Tech category: %BD_NVME_TECH_NVME-%BD_NVME_TECH_MODE_INFO
 | |
|          */
 | |
|         function nvme_get_self_test_log(device: string): NVMESelfTestLog;
 | |
|         /**
 | |
|          * Retrieves drive SMART and general health information (Log Identifier `02h`).
 | |
|          * The information provided is over the life of the controller and is retained across power cycles.
 | |
|          * @param device a NVMe controller device (e.g. `/dev/nvme0`)
 | |
|          * @returns health log data or %NULL in case of an error (with @error set). Tech category: %BD_NVME_TECH_NVME-%BD_NVME_TECH_MODE_INFO
 | |
|          */
 | |
|         function nvme_get_smart_log(device: string): NVMESmartLog;
 | |
|         function nvme_is_tech_avail(tech: NVMETech | null, mode: number): boolean;
 | |
|         /**
 | |
|          * Starts a sanitize operation or recovers from a previously failed sanitize operation.
 | |
|          * By definition, a sanitize operation alters all user data in the NVM subsystem such
 | |
|          * that recovery of any previous user data from any cache, the non-volatile media,
 | |
|          * or any Controller Memory Buffer is not possible. The scope of a sanitize operation
 | |
|          * is all locations in the NVM subsystem that are able to contain user data, including
 | |
|          * caches, Persistent Memory Regions, and unallocated or deallocated areas of the media.
 | |
|          *
 | |
|          * Once started, a sanitize operation is not able to be aborted and continues after
 | |
|          * a Controller Level Reset including across power cycles. Once the sanitize operation
 | |
|          * has run the media affected may not be immediately ready for use unless additional
 | |
|          * media modification mechanism is run. This is often vendor specific and also depends
 | |
|          * on the sanitize method (`action)` used. Callers to this sanitize operation should
 | |
|          * set `no_dealloc` to %TRUE for the added convenience.
 | |
|          *
 | |
|          * The controller also ignores Critical Warning(s) in the SMART / Health Information
 | |
|          * log page (e.g., read only mode) and attempts to complete the sanitize operation requested.
 | |
|          *
 | |
|          * This call returns immediately and the actual sanitize operation is performed
 | |
|          * in the background. Use bd_nvme_get_sanitize_log() to retrieve status and progress
 | |
|          * of a running sanitize operation. In case a sanitize operation fails the controller
 | |
|          * may restrict its operation until a subsequent sanitize operation is started
 | |
|          * (i.e. retried) or an #BD_NVME_SANITIZE_ACTION_EXIT_FAILURE action is used
 | |
|          * to acknowledge the failure explicitly.
 | |
|          *
 | |
|          * The `overwrite_pass_count,` `overwrite_pattern` and `overwrite_invert_pattern`
 | |
|          * arguments are only valid when `action` is #BD_NVME_SANITIZE_ACTION_OVERWRITE.
 | |
|          *
 | |
|          * The sanitize operation is set to run under the Allow Unrestricted Sanitize Exit
 | |
|          * mode.
 | |
|          * @param device NVMe namespace or controller device to format (e.g. `/dev/nvme0n1`)
 | |
|          * @param action the sanitize action to perform.
 | |
|          * @param no_dealloc instruct the controller to not deallocate the affected media area.
 | |
|          * @param overwrite_pass_count number of overwrite passes [1-15] or 0 for the default (16 passes).
 | |
|          * @param overwrite_pattern a 32-bit pattern used for the Overwrite sanitize operation.
 | |
|          * @param overwrite_invert_pattern invert the overwrite pattern between passes.
 | |
|          * @returns %TRUE if the format command finished successfully, %FALSE otherwise with @error set. Tech category: %BD_NVME_TECH_NVME-%BD_NVME_TECH_MODE_MANAGE
 | |
|          */
 | |
|         function nvme_sanitize(
 | |
|             device: string,
 | |
|             action: NVMESanitizeAction | null,
 | |
|             no_dealloc: boolean,
 | |
|             overwrite_pass_count: number,
 | |
|             overwrite_pattern: number,
 | |
|             overwrite_invert_pattern: boolean,
 | |
|         ): boolean;
 | |
|         function nvme_self_test_result_to_string(result: NVMESelfTestResult | null): string;
 | |
|         /**
 | |
|          * Writes the Host ID value to the system `/etc/nvme/hostid` file.
 | |
|          * No validation of the string is performed.
 | |
|          * @param host_id The Host ID.
 | |
|          * @returns %TRUE if the value was set successfully or %FALSE otherwise with @error set. Tech category: %BD_NVME_TECH_FABRICS-%BD_NVME_TECH_MODE_INITIATOR
 | |
|          */
 | |
|         function nvme_set_host_id(host_id: string): boolean;
 | |
|         /**
 | |
|          * Writes the Host NQN (NVM Qualified Name) value to the system `/etc/nvme/hostnqn` file.
 | |
|          * No validation of the string is performed.
 | |
|          * @param host_nqn The Host NVM Qualified Name.
 | |
|          * @returns %TRUE if the value was set successfully or %FALSE otherwise with @error set. Tech category: %BD_NVME_TECH_FABRICS-%BD_NVME_TECH_MODE_INITIATOR
 | |
|          */
 | |
|         function nvme_set_host_nqn(host_nqn: string): boolean;
 | |
|         function part_create_part(
 | |
|             disk: string,
 | |
|             type: PartTypeReq | null,
 | |
|             start: number,
 | |
|             size: number,
 | |
|             align: PartAlign | null,
 | |
|         ): PartSpec;
 | |
|         function part_create_table(disk: string, type: PartTableType | null, ignore_existing: boolean): boolean;
 | |
|         function part_delete_part(disk: string, part: string): boolean;
 | |
|         function part_error_quark(): GLib.Quark;
 | |
|         function part_get_best_free_region(disk: string, type: PartType | null, size: number): PartSpec;
 | |
|         function part_get_disk_free_regions(disk: string): PartSpec[];
 | |
|         function part_get_disk_parts(disk: string): PartSpec[];
 | |
|         function part_get_disk_spec(disk: string): PartDiskSpec;
 | |
|         function part_get_part_by_pos(disk: string, position: number): PartSpec;
 | |
|         function part_get_part_spec(disk: string, part: string): PartSpec;
 | |
|         function part_get_part_table_type_str(type: PartTableType | null): string;
 | |
|         function part_get_type_str(type: PartType | null): string;
 | |
|         function part_is_tech_avail(tech: PartTech | null, mode: number): boolean;
 | |
|         function part_resize_part(disk: string, part: string, size: number, align: PartAlign | null): boolean;
 | |
|         function part_set_part_attributes(disk: string, part: string, attrs: number): boolean;
 | |
|         function part_set_part_bootable(disk: string, part: string, bootable: boolean): boolean;
 | |
|         function part_set_part_id(disk: string, part: string, part_id: string): boolean;
 | |
|         function part_set_part_name(disk: string, part: string, name: string): boolean;
 | |
|         function part_set_part_type(disk: string, part: string, type_guid: string): boolean;
 | |
|         function part_set_part_uuid(disk: string, part: string, uuid: string): boolean;
 | |
|         function reinit(require_plugins: PluginSpec[] | null, reload: boolean, log_func?: UtilsLogFunc | null): boolean;
 | |
|         /**
 | |
|          * Retrieve SMART information from the drive.
 | |
|          * @param device device to check.
 | |
|          * @param extra extra options to pass through.
 | |
|          * @returns ATA SMART log or %NULL in case of an error (with @error set). Tech category: %BD_SMART_TECH_ATA-%BD_SMART_TECH_MODE_INFO
 | |
|          */
 | |
|         function smart_ata_get_info(device: string, extra?: ExtraArg[] | null): SmartATA;
 | |
|         /**
 | |
|          * Retrieve SMART information from the supplied data.
 | |
|          * @param data binary data to parse.
 | |
|          * @returns ATA SMART log or %NULL in case of an error (with @error set). Tech category: %BD_SMART_TECH_ATA-%BD_SMART_TECH_MODE_INFO
 | |
|          */
 | |
|         function smart_ata_get_info_from_data(data: Uint8Array | string): SmartATA;
 | |
|         /**
 | |
|          * Executes or aborts device self-test.
 | |
|          * @param device device to trigger the test on.
 | |
|          * @param operation #BDSmartSelfTestOp self-test operation.
 | |
|          * @param extra extra options to pass through.
 | |
|          * @returns %TRUE when the self-test was triggered successfully or %FALSE in case of an error (with @error set). Tech category: %BD_SMART_TECH_ATA-%BD_SMART_TECH_MODE_SELFTEST
 | |
|          */
 | |
|         function smart_device_self_test(
 | |
|             device: string,
 | |
|             operation: SmartSelfTestOp | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function smart_error_quark(): GLib.Quark;
 | |
|         function smart_is_tech_avail(tech: SmartTechMode | null, mode: number): boolean;
 | |
|         /**
 | |
|          * Retrieve SMART information from SCSI or SAS-compliant drive.
 | |
|          * @param device device to check.
 | |
|          * @param extra extra options to pass through.
 | |
|          * @returns SCSI SMART log or %NULL in case of an error (with @error set). Tech category: %BD_SMART_TECH_SCSI-%BD_SMART_TECH_MODE_INFO
 | |
|          */
 | |
|         function smart_scsi_get_info(device: string, extra?: ExtraArg[] | null): SmartSCSI;
 | |
|         /**
 | |
|          * Enables or disables SMART functionality on device.
 | |
|          * @param device SMART-capable device.
 | |
|          * @param enabled whether to enable or disable the SMART functionality
 | |
|          * @param extra extra options to pass through.
 | |
|          * @returns %TRUE when the functionality was set successfully or %FALSE in case of an error (with @error set). Tech category: %BD_SMART_TECH_ATA-%BD_SMART_TECH_MODE_INFO
 | |
|          */
 | |
|         function smart_set_enabled(device: string, enabled: boolean, extra?: ExtraArg[] | null): boolean;
 | |
|         function swap_check_label(label: string): boolean;
 | |
|         function swap_check_uuid(uuid: string): boolean;
 | |
|         function swap_error_quark(): GLib.Quark;
 | |
|         function swap_is_tech_avail(tech: SwapTech | null, mode: number): boolean;
 | |
|         function swap_mkswap(
 | |
|             device: string,
 | |
|             label?: string | null,
 | |
|             uuid?: string | null,
 | |
|             extra?: ExtraArg[] | null,
 | |
|         ): boolean;
 | |
|         function swap_set_label(device: string, label: string): boolean;
 | |
|         function swap_set_uuid(device: string, uuid: string): boolean;
 | |
|         function swap_swapoff(device: string): boolean;
 | |
|         function swap_swapon(device: string, priority: number): boolean;
 | |
|         function swap_swapstatus(device: string): boolean;
 | |
|         function try_init(
 | |
|             request_plugins?: PluginSpec[] | null,
 | |
|             log_func?: UtilsLogFunc | null,
 | |
|         ): [boolean, string[] | null];
 | |
|         function try_reinit(
 | |
|             require_plugins: PluginSpec[] | null,
 | |
|             reload: boolean,
 | |
|             log_func?: UtilsLogFunc | null,
 | |
|         ): [boolean, string[] | null];
 | |
|         /**
 | |
|          * Checks whether the currently running linux kernel version is equal or higher
 | |
|          * than the specified required `major`.`minor`.`micro` version.
 | |
|          * @param major Minimal major linux kernel version.
 | |
|          * @param minor Minimal minor linux kernel version.
 | |
|          * @param micro Minimal micro linux kernel version.
 | |
|          * @returns an integer less than, equal to, or greater than zero, if detected version is <, == or > than the specified @major.@minor.@micro version.
 | |
|          */
 | |
|         function utils_check_linux_version(major: number, minor: number, micro: number): number;
 | |
|         /**
 | |
|          * Note: Both supplied `version` and parsed result using `version_regexp` must be in format
 | |
|          *       `X[.Y[.Z[.Z2[.Z3...[-R]]]]]` where all components are natural numbers, see
 | |
|          *       %bd_utils_version_cmp for details.
 | |
|          * @param util name of the utility to check
 | |
|          * @param version minimum required version of the utility or %NULL           if no version is required
 | |
|          * @param version_arg argument to use with the @util to get version               info or %NULL to use "--version"
 | |
|          * @param version_regexp regexp to extract version from the version                  info or %NULL if only version is printed by "$ @util @version_arg"
 | |
|          * @returns whether the @util is available in a version >= @version or not          (@error is set in such case).
 | |
|          */
 | |
|         function utils_check_util_version(
 | |
|             util: string,
 | |
|             version?: string | null,
 | |
|             version_arg?: string | null,
 | |
|             version_regexp?: string | null,
 | |
|         ): boolean;
 | |
|         function utils_dbus_service_available(
 | |
|             connection: Gio.DBusConnection | null,
 | |
|             bus_type: Gio.BusType | null,
 | |
|             bus_name: string,
 | |
|             obj_prefix: string,
 | |
|         ): boolean;
 | |
|         function utils_echo_str_to_file(str: string, file_path: string): boolean;
 | |
|         /**
 | |
|          * Note that any NULL bytes read from standard output and standard error
 | |
|          * output will be discarded.
 | |
|          * @param argv the argv array for the call
 | |
|          * @param extra extra arguments
 | |
|          * @returns whether the @argv was successfully executed capturing the output or not
 | |
|          */
 | |
|         function utils_exec_and_capture_output(argv: string[], extra: ExtraArg[] | null): [boolean, string];
 | |
|         function utils_exec_and_capture_output_no_progress(
 | |
|             argv: string[],
 | |
|             extra: ExtraArg[] | null,
 | |
|         ): [boolean, string, string, number];
 | |
|         function utils_exec_and_report_error(argv: string[], extra?: ExtraArg[] | null): boolean;
 | |
|         function utils_exec_and_report_error_no_progress(argv: string[], extra?: ExtraArg[] | null): boolean;
 | |
|         /**
 | |
|          * Note that any NULL bytes read from standard output and standard error
 | |
|          * output are treated as separators similar to newlines and `prog_extract`
 | |
|          * will be called with the respective chunk.
 | |
|          * @param argv the argv array for the call
 | |
|          * @param extra extra arguments
 | |
|          * @param prog_extract function for extracting progress information
 | |
|          * @returns whether the @argv was successfully executed (no error and exit code 0) or not
 | |
|          */
 | |
|         function utils_exec_and_report_progress(
 | |
|             argv: string[],
 | |
|             extra: ExtraArg[] | null,
 | |
|             prog_extract: UtilsProgExtract | null,
 | |
|         ): [boolean, number];
 | |
|         function utils_exec_and_report_status_error(argv: string[], extra: ExtraArg[] | null): [boolean, number];
 | |
|         function utils_exec_with_input(argv: string[], input?: string | null, extra?: ExtraArg[] | null): boolean;
 | |
|         function utils_get_device_symlinks(dev_spec: string): string[];
 | |
|         /**
 | |
|          * Retrieves version of currently running Linux kernel. Acts also as an initializer for statically cached data.
 | |
|          * @returns Detected Linux kernel version or %NULL in case of an error. The returned value belongs to the library, do not free.
 | |
|          */
 | |
|         function utils_get_linux_version(): UtilsLinuxVersion;
 | |
|         function utils_get_next_task_id(): number;
 | |
|         function utils_have_kernel_module(module_name: string): boolean;
 | |
|         function utils_init_logging(new_log_func?: UtilsLogFunc | null): boolean;
 | |
|         function utils_init_prog_reporting(new_prog_func?: UtilsProgFunc | null): boolean;
 | |
|         function utils_init_prog_reporting_thread(new_prog_func?: UtilsProgFunc | null): boolean;
 | |
|         function utils_load_kernel_module(module_name: string, options?: string | null): boolean;
 | |
|         function utils_log(level: number, msg: string): void;
 | |
|         /**
 | |
|          * Convenient function for logging to stdout. Can be used as #BDUtilsLogFunc.
 | |
|          * @param level log level
 | |
|          * @param msg log message
 | |
|          */
 | |
|         function utils_log_stdout(level: number, msg: string): void;
 | |
|         function utils_log_task_status(task_id: number, msg: string): void;
 | |
|         function utils_mute_prog_reporting_thread(): boolean;
 | |
|         function utils_prog_reporting_initialized(): boolean;
 | |
|         function utils_report_finished(task_id: number, msg: string): void;
 | |
|         function utils_report_progress(task_id: number, completion: number, msg: string): void;
 | |
|         function utils_report_started(msg: string): number;
 | |
|         function utils_resolve_device(dev_spec: string): string;
 | |
|         /**
 | |
|          * Level of messages to log. Only messages with level <= `level` will be logged.
 | |
|          * For example using with #BD_UTILS_LOG_WARNING (default value) only messages
 | |
|          * with log levels #BD_UTILS_LOG_WARNING, #BD_UTILS_LOG_ERR, ..., #BD_UTILS_LOG_EMERG
 | |
|          * will be logged.
 | |
|          *
 | |
|          * Note: #BD_UTILS_LOG_DEBUG level messages are always skipped unless compiled
 | |
|          *       with `--enable-debug` configure option.
 | |
|          * @param level log level
 | |
|          */
 | |
|         function utils_set_log_level(level: number): void;
 | |
|         function utils_unload_kernel_module(module_name: string): boolean;
 | |
|         function utils_version_cmp(ver_string1: string, ver_string2: string): number;
 | |
|         interface UtilsLogFunc {
 | |
|             (level: number, msg: string): void;
 | |
|         }
 | |
|         interface UtilsProgExtract {
 | |
|             (line: string): boolean;
 | |
|         }
 | |
|         interface UtilsProgFunc {
 | |
|             (task_id: number, status: UtilsProgStatus, completion: number, msg?: string | null): void;
 | |
|         }
 | |
| 
 | |
|         export namespace BtrfsTechMode {
 | |
|             export const $gtype: GObject.GType<BtrfsTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum BtrfsTechMode {
 | |
|             CREATE,
 | |
|             DELETE,
 | |
|             MODIFY,
 | |
|             QUERY,
 | |
|         }
 | |
| 
 | |
|         export namespace CryptoIntegrityOpenFlags {
 | |
|             export const $gtype: GObject.GType<CryptoIntegrityOpenFlags>;
 | |
|         }
 | |
| 
 | |
|         enum CryptoIntegrityOpenFlags {
 | |
|             NO_JOURNAL,
 | |
|             RECOVERY,
 | |
|             NO_JOURNAL_BITMAP,
 | |
|             RECALCULATE,
 | |
|             RECALCULATE_RESET,
 | |
|             ALLOW_DISCARDS,
 | |
|         }
 | |
| 
 | |
|         export namespace CryptoTechMode {
 | |
|             export const $gtype: GObject.GType<CryptoTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum CryptoTechMode {
 | |
|             CREATE,
 | |
|             OPEN_CLOSE,
 | |
|             QUERY,
 | |
|             ADD_KEY,
 | |
|             REMOVE_KEY,
 | |
|             RESIZE,
 | |
|             SUSPEND_RESUME,
 | |
|             BACKUP_RESTORE,
 | |
|             MODIFY,
 | |
|         }
 | |
| 
 | |
|         export namespace DMTechMode {
 | |
|             export const $gtype: GObject.GType<DMTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum DMTechMode {
 | |
|             CREATE_ACTIVATE,
 | |
|             REMOVE_DEACTIVATE,
 | |
|             QUERY,
 | |
|         }
 | |
| 
 | |
|         export namespace FSConfigureFlags {
 | |
|             export const $gtype: GObject.GType<FSConfigureFlags>;
 | |
|         }
 | |
| 
 | |
|         enum FSConfigureFlags {
 | |
|             LABEL,
 | |
|             UUID,
 | |
|         }
 | |
| 
 | |
|         export namespace FSF2FSFeature {
 | |
|             export const $gtype: GObject.GType<FSF2FSFeature>;
 | |
|         }
 | |
| 
 | |
|         enum FSF2FSFeature {
 | |
|             ENCRYPT,
 | |
|             BLKZONED,
 | |
|             ATOMIC_WRITE,
 | |
|             EXTRA_ATTR,
 | |
|             PRJQUOTA,
 | |
|             INODE_CHKSUM,
 | |
|             FLEXIBLE_INLINE_XATTR,
 | |
|             QUOTA_INO,
 | |
|             INODE_CRTIME,
 | |
|             LOST_FOUND,
 | |
|             VERITY,
 | |
|             SB_CHKSUM,
 | |
|         }
 | |
| 
 | |
|         export namespace FSFeatureFlags {
 | |
|             export const $gtype: GObject.GType<FSFeatureFlags>;
 | |
|         }
 | |
| 
 | |
|         enum FSFeatureFlags {
 | |
|             OWNERS,
 | |
|             PARTITION_TABLE,
 | |
|         }
 | |
| 
 | |
|         export namespace FSFsckFlags {
 | |
|             export const $gtype: GObject.GType<FSFsckFlags>;
 | |
|         }
 | |
| 
 | |
|         enum FSFsckFlags {
 | |
|             CHECK,
 | |
|             REPAIR,
 | |
|         }
 | |
|         /**
 | |
|          * Flags indicating mkfs options are available for given filesystem type.
 | |
|          */
 | |
| 
 | |
|         /**
 | |
|          * Flags indicating mkfs options are available for given filesystem type.
 | |
|          */
 | |
|         export namespace FSMkfsOptionsFlags {
 | |
|             export const $gtype: GObject.GType<FSMkfsOptionsFlags>;
 | |
|         }
 | |
| 
 | |
|         enum FSMkfsOptionsFlags {
 | |
|             LABEL,
 | |
|             UUID,
 | |
|             DRY_RUN,
 | |
|             NODISCARD,
 | |
|             FORCE,
 | |
|             NOPT,
 | |
|         }
 | |
|         /**
 | |
|          * Flags indicating whether a filesystem resize action supports growing and/or
 | |
|          * shrinking if mounted or unmounted.
 | |
|          */
 | |
| 
 | |
|         /**
 | |
|          * Flags indicating whether a filesystem resize action supports growing and/or
 | |
|          * shrinking if mounted or unmounted.
 | |
|          */
 | |
|         export namespace FSResizeFlags {
 | |
|             export const $gtype: GObject.GType<FSResizeFlags>;
 | |
|         }
 | |
| 
 | |
|         enum FSResizeFlags {
 | |
|             OFFLINE_SHRINK,
 | |
|             OFFLINE_GROW,
 | |
|             ONLINE_SHRINK,
 | |
|             ONLINE_GROW,
 | |
|         }
 | |
| 
 | |
|         export namespace FSTechMode {
 | |
|             export const $gtype: GObject.GType<FSTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum FSTechMode {
 | |
|             MKFS,
 | |
|             WIPE,
 | |
|             CHECK,
 | |
|             REPAIR,
 | |
|             SET_LABEL,
 | |
|             QUERY,
 | |
|             RESIZE,
 | |
|             SET_UUID,
 | |
|         }
 | |
| 
 | |
|         export namespace LVMCachePoolFlags {
 | |
|             export const $gtype: GObject.GType<LVMCachePoolFlags>;
 | |
|         }
 | |
| 
 | |
|         enum LVMCachePoolFlags {
 | |
|             STRIPED,
 | |
|             RAID1,
 | |
|             RAID5,
 | |
|             RAID6,
 | |
|             RAID10,
 | |
|             META_STRIPED,
 | |
|             META_RAID1,
 | |
|             META_RAID5,
 | |
|             META_RAID6,
 | |
|             META_RAID10,
 | |
|         }
 | |
| 
 | |
|         export namespace LVMTechMode {
 | |
|             export const $gtype: GObject.GType<LVMTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum LVMTechMode {
 | |
|             CREATE,
 | |
|             REMOVE,
 | |
|             MODIFY,
 | |
|             QUERY,
 | |
|         }
 | |
| 
 | |
|         export namespace LoopTechMode {
 | |
|             export const $gtype: GObject.GType<LoopTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum LoopTechMode {
 | |
|             CREATE,
 | |
|             DESTROY,
 | |
|             MODIFY,
 | |
|             QUERY,
 | |
|         }
 | |
| 
 | |
|         export namespace MDTechMode {
 | |
|             export const $gtype: GObject.GType<MDTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum MDTechMode {
 | |
|             CREATE,
 | |
|             DELETE,
 | |
|             MODIFY,
 | |
|             QUERY,
 | |
|         }
 | |
| 
 | |
|         export namespace MpathTechMode {
 | |
|             export const $gtype: GObject.GType<MpathTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum MpathTechMode {
 | |
|             QUERY,
 | |
|             MODIFY,
 | |
|         }
 | |
| 
 | |
|         export namespace NVDIMMTechMode {
 | |
|             export const $gtype: GObject.GType<NVDIMMTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum NVDIMMTechMode {
 | |
|             CREATE,
 | |
|             REMOVE,
 | |
|             ACTIVATE_DEACTIVATE,
 | |
|             QUERY,
 | |
|             RECONFIGURE,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMEControllerFeature {
 | |
|             export const $gtype: GObject.GType<NVMEControllerFeature>;
 | |
|         }
 | |
| 
 | |
|         enum NVMEControllerFeature {
 | |
|             MULTIPORT,
 | |
|             MULTICTRL,
 | |
|             SRIOV,
 | |
|             ANA_REPORTING,
 | |
|             FORMAT,
 | |
|             FORMAT_ALL_NS,
 | |
|             NS_MGMT,
 | |
|             SELFTEST,
 | |
|             SELFTEST_SINGLE,
 | |
|             SANITIZE_CRYPTO,
 | |
|             SANITIZE_BLOCK,
 | |
|             SANITIZE_OVERWRITE,
 | |
|             SECURE_ERASE_ALL_NS,
 | |
|             SECURE_ERASE_CRYPTO,
 | |
|             STORAGE_DEVICE,
 | |
|             ENCLOSURE,
 | |
|             MGMT_PCIE,
 | |
|             MGMT_SMBUS,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMENamespaceFeature {
 | |
|             export const $gtype: GObject.GType<NVMENamespaceFeature>;
 | |
|         }
 | |
| 
 | |
|         enum NVMENamespaceFeature {
 | |
|             THIN,
 | |
|             MULTIPATH_SHARED,
 | |
|             FORMAT_PROGRESS,
 | |
|             ROTATIONAL,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMESmartCriticalWarning {
 | |
|             export const $gtype: GObject.GType<NVMESmartCriticalWarning>;
 | |
|         }
 | |
| 
 | |
|         enum NVMESmartCriticalWarning {
 | |
|             SPARE,
 | |
|             TEMPERATURE,
 | |
|             DEGRADED,
 | |
|             READONLY,
 | |
|             VOLATILE_MEM,
 | |
|             PMR_READONLY,
 | |
|         }
 | |
| 
 | |
|         export namespace NVMETechMode {
 | |
|             export const $gtype: GObject.GType<NVMETechMode>;
 | |
|         }
 | |
| 
 | |
|         enum NVMETechMode {
 | |
|             INFO,
 | |
|             MANAGE,
 | |
|             INITIATOR,
 | |
|         }
 | |
| 
 | |
|         export namespace PartTechMode {
 | |
|             export const $gtype: GObject.GType<PartTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum PartTechMode {
 | |
|             CREATE_TABLE,
 | |
|             MODIFY_TABLE,
 | |
|             QUERY_TABLE,
 | |
|             MODIFY_PART,
 | |
|             QUERY_PART,
 | |
|         }
 | |
| 
 | |
|         export namespace SmartATACapabilities {
 | |
|             export const $gtype: GObject.GType<SmartATACapabilities>;
 | |
|         }
 | |
| 
 | |
|         enum SmartATACapabilities {
 | |
|             ATTRIBUTE_AUTOSAVE,
 | |
|             AUTOSAVE_TIMER,
 | |
|             ERROR_LOGGING,
 | |
|             GP_LOGGING,
 | |
|         }
 | |
| 
 | |
|         export namespace SmartTechMode {
 | |
|             export const $gtype: GObject.GType<SmartTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum SmartTechMode {
 | |
|             INFO,
 | |
|             SELFTEST,
 | |
|         }
 | |
| 
 | |
|         export namespace SwapTechMode {
 | |
|             export const $gtype: GObject.GType<SwapTechMode>;
 | |
|         }
 | |
| 
 | |
|         enum SwapTechMode {
 | |
|             CREATE,
 | |
|             ACTIVATE_DEACTIVATE,
 | |
|             QUERY,
 | |
|             SET_LABEL,
 | |
|             SET_UUID,
 | |
|         }
 | |
|         class BtrfsDeviceInfo {
 | |
|             static $gtype: GObject.GType<BtrfsDeviceInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             id: number;
 | |
|             path: string;
 | |
|             size: number;
 | |
|             used: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     id: number;
 | |
|                     path: string;
 | |
|                     size: number;
 | |
|                     used: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class BtrfsFilesystemInfo {
 | |
|             static $gtype: GObject.GType<BtrfsFilesystemInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             num_devices: number;
 | |
|             used: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     num_devices: number;
 | |
|                     used: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class BtrfsSubvolumeInfo {
 | |
|             static $gtype: GObject.GType<BtrfsSubvolumeInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             id: number;
 | |
|             parent_id: number;
 | |
|             path: string;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     id: number;
 | |
|                     parent_id: number;
 | |
|                     path: string;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class CryptoBITLKInfo {
 | |
|             static $gtype: GObject.GType<CryptoBITLKInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             cipher: string;
 | |
|             mode: string;
 | |
|             uuid: string;
 | |
|             backing_device: string;
 | |
|             sector_size: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     cipher: string;
 | |
|                     mode: string;
 | |
|                     uuid: string;
 | |
|                     backing_device: string;
 | |
|                     sector_size: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class CryptoIntegrityExtra {
 | |
|             static $gtype: GObject.GType<CryptoIntegrityExtra>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             sector_size: number;
 | |
|             journal_size: number;
 | |
|             journal_watermark: number;
 | |
|             journal_commit_time: number;
 | |
|             interleave_sectors: number;
 | |
|             tag_size: number;
 | |
|             buffer_sectors: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     sector_size: number;
 | |
|                     journal_size: number;
 | |
|                     journal_watermark: number;
 | |
|                     journal_commit_time: number;
 | |
|                     interleave_sectors: number;
 | |
|                     tag_size: number;
 | |
|                     buffer_sectors: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
| 
 | |
|             static ['new'](
 | |
|                 sector_size: number,
 | |
|                 journal_size: number,
 | |
|                 journal_watermark: number,
 | |
|                 journal_commit_time: number,
 | |
|                 interleave_sectors: number,
 | |
|                 tag_size: number,
 | |
|                 buffer_sectors: number,
 | |
|             ): CryptoIntegrityExtra;
 | |
|         }
 | |
| 
 | |
|         class CryptoIntegrityInfo {
 | |
|             static $gtype: GObject.GType<CryptoIntegrityInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             algorithm: string;
 | |
|             key_size: number;
 | |
|             sector_size: number;
 | |
|             tag_size: number;
 | |
|             interleave_sectors: number;
 | |
|             journal_size: number;
 | |
|             journal_crypt: string;
 | |
|             journal_integrity: string;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     algorithm: string;
 | |
|                     key_size: number;
 | |
|                     sector_size: number;
 | |
|                     tag_size: number;
 | |
|                     interleave_sectors: number;
 | |
|                     journal_size: number;
 | |
|                     journal_crypt: string;
 | |
|                     journal_integrity: string;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class CryptoKeyslotContext {
 | |
|             static $gtype: GObject.GType<CryptoKeyslotContext>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             type: CryptoKeyslotContextType;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(keyfile: string, keyfile_offset: number, key_size: number);
 | |
|             _init(...args: any[]): void;
 | |
| 
 | |
|             static new_keyfile(keyfile: string, keyfile_offset: number, key_size: number): CryptoKeyslotContext;
 | |
| 
 | |
|             static new_keyring(key_desc: string): CryptoKeyslotContext;
 | |
| 
 | |
|             static new_passphrase(pass_data: Uint8Array | string): CryptoKeyslotContext;
 | |
| 
 | |
|             static new_volume_key(volume_key: Uint8Array | string): CryptoKeyslotContext;
 | |
|         }
 | |
| 
 | |
|         class CryptoLUKSExtra {
 | |
|             static $gtype: GObject.GType<CryptoLUKSExtra>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             data_alignment: number;
 | |
|             data_device: string;
 | |
|             integrity: string;
 | |
|             sector_size: number;
 | |
|             label: string;
 | |
|             subsystem: string;
 | |
|             pbkdf: CryptoLUKSPBKDF;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     data_alignment: number;
 | |
|                     data_device: string;
 | |
|                     integrity: string;
 | |
|                     sector_size: number;
 | |
|                     label: string;
 | |
|                     subsystem: string;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
| 
 | |
|             static ['new'](
 | |
|                 data_alignment: number,
 | |
|                 data_device: string | null,
 | |
|                 integrity: string | null,
 | |
|                 sector_size: number,
 | |
|                 label?: string | null,
 | |
|                 subsystem?: string | null,
 | |
|                 pbkdf?: CryptoLUKSPBKDF | null,
 | |
|             ): CryptoLUKSExtra;
 | |
|         }
 | |
| 
 | |
|         class CryptoLUKSInfo {
 | |
|             static $gtype: GObject.GType<CryptoLUKSInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             version: CryptoLUKSVersion;
 | |
|             cipher: string;
 | |
|             mode: string;
 | |
|             uuid: string;
 | |
|             backing_device: string;
 | |
|             sector_size: number;
 | |
|             metadata_size: number;
 | |
|             label: string;
 | |
|             subsystem: string;
 | |
|             hw_encryption: CryptoLUKSHWEncryptionType;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class CryptoLUKSPBKDF {
 | |
|             static $gtype: GObject.GType<CryptoLUKSPBKDF>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             type: string;
 | |
|             hash: string;
 | |
|             max_memory_kb: number;
 | |
|             iterations: number;
 | |
|             time_ms: number;
 | |
|             parallel_threads: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     type: string;
 | |
|                     hash: string;
 | |
|                     max_memory_kb: number;
 | |
|                     iterations: number;
 | |
|                     time_ms: number;
 | |
|                     parallel_threads: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
| 
 | |
|             static ['new'](
 | |
|                 type: string | null,
 | |
|                 hash: string | null,
 | |
|                 max_memory_kb: number,
 | |
|                 iterations: number,
 | |
|                 time_ms: number,
 | |
|                 parallel_threads: number,
 | |
|             ): CryptoLUKSPBKDF;
 | |
|         }
 | |
| 
 | |
|         class CryptoLUKSTokenInfo {
 | |
|             static $gtype: GObject.GType<CryptoLUKSTokenInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             id: number;
 | |
|             type: string;
 | |
|             keyslot: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     id: number;
 | |
|                     type: string;
 | |
|                     keyslot: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         /**
 | |
|          * See bd_extra_arg_new() for an example on how to construct the extra args.
 | |
|          */
 | |
|         class ExtraArg {
 | |
|             static $gtype: GObject.GType<ExtraArg>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             opt: string;
 | |
|             val: string;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     opt: string;
 | |
|                     val: string;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
| 
 | |
|             static ['new'](opt: string, val: string): ExtraArg;
 | |
| 
 | |
|             // Static methods
 | |
| 
 | |
|             /**
 | |
|              * Frees `args` and all its elements.
 | |
|              * @param args A list of %BDExtraArg to free
 | |
|              */
 | |
|             static list_free(args?: ExtraArg[] | null): void;
 | |
| 
 | |
|             // Methods
 | |
| 
 | |
|             /**
 | |
|              * Creates a new copy of `arg`.
 | |
|              */
 | |
|             copy(): ExtraArg;
 | |
|             /**
 | |
|              * Frees `arg`.
 | |
|              */
 | |
|             free(): void;
 | |
|         }
 | |
| 
 | |
|         class FSBtrfsInfo {
 | |
|             static $gtype: GObject.GType<FSBtrfsInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             size: number;
 | |
|             free_space: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     size: number;
 | |
|                     free_space: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSExfatInfo {
 | |
|             static $gtype: GObject.GType<FSExfatInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             sector_size: number;
 | |
|             sector_count: number;
 | |
|             cluster_count: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     sector_size: number;
 | |
|                     sector_count: number;
 | |
|                     cluster_count: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSExt2Info {
 | |
|             static $gtype: GObject.GType<FSExt2Info>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             state: string;
 | |
|             block_size: number;
 | |
|             block_count: number;
 | |
|             free_blocks: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     state: string;
 | |
|                     block_size: number;
 | |
|                     block_count: number;
 | |
|                     free_blocks: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSExt3Info {
 | |
|             static $gtype: GObject.GType<FSExt3Info>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             state: string;
 | |
|             block_size: number;
 | |
|             block_count: number;
 | |
|             free_blocks: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     state: string;
 | |
|                     block_size: number;
 | |
|                     block_count: number;
 | |
|                     free_blocks: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSExt4Info {
 | |
|             static $gtype: GObject.GType<FSExt4Info>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             state: string;
 | |
|             block_size: number;
 | |
|             block_count: number;
 | |
|             free_blocks: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     state: string;
 | |
|                     block_size: number;
 | |
|                     block_count: number;
 | |
|                     free_blocks: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSExtInfo {
 | |
|             static $gtype: GObject.GType<FSExtInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             state: string;
 | |
|             block_size: number;
 | |
|             block_count: number;
 | |
|             free_blocks: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     state: string;
 | |
|                     block_size: number;
 | |
|                     block_count: number;
 | |
|                     free_blocks: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSF2FSInfo {
 | |
|             static $gtype: GObject.GType<FSF2FSInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             sector_size: number;
 | |
|             sector_count: number;
 | |
|             features: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     sector_size: number;
 | |
|                     sector_count: number;
 | |
|                     features: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSFeatures {
 | |
|             static $gtype: GObject.GType<FSFeatures>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             resize: FSResizeFlags;
 | |
|             mkfs: FSMkfsOptionsFlags;
 | |
|             fsck: FSFsckFlags;
 | |
|             configure: FSConfigureFlags;
 | |
|             features: FSFeatureFlags;
 | |
|             partition_id: string;
 | |
|             partition_type: string;
 | |
|             min_size: number;
 | |
|             max_size: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSMkfsOptions {
 | |
|             static $gtype: GObject.GType<FSMkfsOptions>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             dry_run: boolean;
 | |
|             no_discard: boolean;
 | |
|             force: boolean;
 | |
|             no_pt: boolean;
 | |
|             reserve: Uint8Array;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     dry_run: boolean;
 | |
|                     no_discard: boolean;
 | |
|                     force: boolean;
 | |
|                     no_pt: boolean;
 | |
|                     reserve: Uint8Array;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSNILFS2Info {
 | |
|             static $gtype: GObject.GType<FSNILFS2Info>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             size: number;
 | |
|             block_size: number;
 | |
|             free_blocks: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     size: number;
 | |
|                     block_size: number;
 | |
|                     free_blocks: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSNtfsInfo {
 | |
|             static $gtype: GObject.GType<FSNtfsInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             size: number;
 | |
|             free_space: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     size: number;
 | |
|                     free_space: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSUdfInfo {
 | |
|             static $gtype: GObject.GType<FSUdfInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             revision: string;
 | |
|             lvid: string;
 | |
|             vid: string;
 | |
|             block_size: number;
 | |
|             block_count: number;
 | |
|             free_blocks: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     revision: string;
 | |
|                     lvid: string;
 | |
|                     vid: string;
 | |
|                     block_size: number;
 | |
|                     block_count: number;
 | |
|                     free_blocks: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSVfatInfo {
 | |
|             static $gtype: GObject.GType<FSVfatInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             cluster_size: number;
 | |
|             cluster_count: number;
 | |
|             free_cluster_count: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     cluster_size: number;
 | |
|                     cluster_count: number;
 | |
|                     free_cluster_count: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class FSXfsInfo {
 | |
|             static $gtype: GObject.GType<FSXfsInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             label: string;
 | |
|             uuid: string;
 | |
|             block_size: number;
 | |
|             block_count: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     label: string;
 | |
|                     uuid: string;
 | |
|                     block_size: number;
 | |
|                     block_count: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class LVMCacheStats {
 | |
|             static $gtype: GObject.GType<LVMCacheStats>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             block_size: number;
 | |
|             cache_size: number;
 | |
|             cache_used: number;
 | |
|             md_block_size: number;
 | |
|             md_size: number;
 | |
|             md_used: number;
 | |
|             read_hits: number;
 | |
|             read_misses: number;
 | |
|             write_hits: number;
 | |
|             write_misses: number;
 | |
|             mode: LVMCacheMode;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         /**
 | |
|          * The `segs,` `data_lvs,` and `metadata_lvs` fields are only filled by a
 | |
|          * call to bd_lvm_lvinfo_tree or bd_lvm_lvs_tree.  They are all NULL
 | |
|          * normally.  If they are filled, they follow these rules:
 | |
|          *
 | |
|          * A LV is either stored directly on physical volumes, or is made up
 | |
|          * of sub-LVs.  If it is stored on PVs, the `segs` list is non-empty
 | |
|          * and the `data_lvs` and `metadata_lvs` fields are both NULL.  If it is
 | |
|          * made up of sub-LVs, then `segs` is NULL, `data_lvs` is non-empty and
 | |
|          * `metadata_lvs` might or might not be empty but is non-NULL.  The
 | |
|          * sub-LVs contained in `data_lv` and `metadata_lv` are always included
 | |
|          * in `data_lvs` and `metadata_lvs,` respectively.
 | |
|          *
 | |
|          * For a partial LV, the `segs` list might not be complete; i.e., the
 | |
|          * sum of the sizes of the listed segments might not be equal to the
 | |
|          * size reported for the LV itself.
 | |
|          *
 | |
|          * Also, the order of entries in `segs` must be assumed to be random;
 | |
|          * it does not correspond to the order of segments in the logical
 | |
|          * volume itself.
 | |
|          */
 | |
|         class LVMLVdata {
 | |
|             static $gtype: GObject.GType<LVMLVdata>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             lv_name: string;
 | |
|             vg_name: string;
 | |
|             uuid: string;
 | |
|             size: number;
 | |
|             attr: string;
 | |
|             segtype: string;
 | |
|             origin: string;
 | |
|             pool_lv: string;
 | |
|             data_lv: string;
 | |
|             metadata_lv: string;
 | |
|             roles: string;
 | |
|             move_pv: string;
 | |
|             data_percent: number;
 | |
|             metadata_percent: number;
 | |
|             copy_percent: number;
 | |
|             lv_tags: string[];
 | |
|             data_lvs: string[];
 | |
|             metadata_lvs: string[];
 | |
|             segs: LVMSEGdata[];
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     lv_name: string;
 | |
|                     vg_name: string;
 | |
|                     uuid: string;
 | |
|                     size: number;
 | |
|                     attr: string;
 | |
|                     segtype: string;
 | |
|                     origin: string;
 | |
|                     pool_lv: string;
 | |
|                     data_lv: string;
 | |
|                     metadata_lv: string;
 | |
|                     roles: string;
 | |
|                     move_pv: string;
 | |
|                     data_percent: number;
 | |
|                     metadata_percent: number;
 | |
|                     copy_percent: number;
 | |
|                     lv_tags: string[];
 | |
|                     data_lvs: string[];
 | |
|                     metadata_lvs: string[];
 | |
|                     segs: LVMSEGdata[];
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class LVMPVdata {
 | |
|             static $gtype: GObject.GType<LVMPVdata>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             pv_name: string;
 | |
|             pv_uuid: string;
 | |
|             pv_free: number;
 | |
|             pv_size: number;
 | |
|             pe_start: number;
 | |
|             vg_name: string;
 | |
|             vg_uuid: string;
 | |
|             vg_size: number;
 | |
|             vg_free: number;
 | |
|             vg_extent_size: number;
 | |
|             vg_extent_count: number;
 | |
|             vg_free_count: number;
 | |
|             vg_pv_count: number;
 | |
|             pv_tags: string[];
 | |
|             missing: boolean;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     pv_name: string;
 | |
|                     pv_uuid: string;
 | |
|                     pv_free: number;
 | |
|                     pv_size: number;
 | |
|                     pe_start: number;
 | |
|                     vg_name: string;
 | |
|                     vg_uuid: string;
 | |
|                     vg_size: number;
 | |
|                     vg_free: number;
 | |
|                     vg_extent_size: number;
 | |
|                     vg_extent_count: number;
 | |
|                     vg_free_count: number;
 | |
|                     vg_pv_count: number;
 | |
|                     pv_tags: string[];
 | |
|                     missing: boolean;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class LVMSEGdata {
 | |
|             static $gtype: GObject.GType<LVMSEGdata>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             size_pe: number;
 | |
|             pv_start_pe: number;
 | |
|             pvdev: string;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     size_pe: number;
 | |
|                     pv_start_pe: number;
 | |
|                     pvdev: string;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class LVMVDOPooldata {
 | |
|             static $gtype: GObject.GType<LVMVDOPooldata>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             operating_mode: LVMVDOOperatingMode;
 | |
|             compression_state: LVMVDOCompressionState;
 | |
|             index_state: LVMVDOIndexState;
 | |
|             write_policy: LVMVDOWritePolicy;
 | |
|             used_size: number;
 | |
|             saving_percent: number;
 | |
|             index_memory_size: number;
 | |
|             deduplication: boolean;
 | |
|             compression: boolean;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class LVMVDOStats {
 | |
|             static $gtype: GObject.GType<LVMVDOStats>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             block_size: number;
 | |
|             logical_block_size: number;
 | |
|             physical_blocks: number;
 | |
|             data_blocks_used: number;
 | |
|             overhead_blocks_used: number;
 | |
|             logical_blocks_used: number;
 | |
|             used_percent: number;
 | |
|             saving_percent: number;
 | |
|             write_amplification_ratio: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     block_size: number;
 | |
|                     logical_block_size: number;
 | |
|                     physical_blocks: number;
 | |
|                     data_blocks_used: number;
 | |
|                     overhead_blocks_used: number;
 | |
|                     logical_blocks_used: number;
 | |
|                     used_percent: number;
 | |
|                     saving_percent: number;
 | |
|                     write_amplification_ratio: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class LVMVGdata {
 | |
|             static $gtype: GObject.GType<LVMVGdata>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             name: string;
 | |
|             uuid: string;
 | |
|             size: number;
 | |
|             extent_size: number;
 | |
|             extent_count: number;
 | |
|             free_count: number;
 | |
|             pv_count: number;
 | |
|             exported: boolean;
 | |
|             vg_tags: string[];
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     name: string;
 | |
|                     uuid: string;
 | |
|                     size: number;
 | |
|                     free: number;
 | |
|                     extent_size: number;
 | |
|                     extent_count: number;
 | |
|                     free_count: number;
 | |
|                     pv_count: number;
 | |
|                     exported: boolean;
 | |
|                     vg_tags: string[];
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class LoopInfo {
 | |
|             static $gtype: GObject.GType<LoopInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             backing_file: string;
 | |
|             offset: number;
 | |
|             autoclear: boolean;
 | |
|             direct_io: boolean;
 | |
|             part_scan: boolean;
 | |
|             read_only: boolean;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     backing_file: string;
 | |
|                     offset: number;
 | |
|                     autoclear: boolean;
 | |
|                     direct_io: boolean;
 | |
|                     part_scan: boolean;
 | |
|                     read_only: boolean;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class MDDetailData {
 | |
|             static $gtype: GObject.GType<MDDetailData>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             device: string;
 | |
|             metadata: string;
 | |
|             creation_time: string;
 | |
|             level: string;
 | |
|             name: string;
 | |
|             array_size: number;
 | |
|             use_dev_size: number;
 | |
|             raid_devices: number;
 | |
|             total_devices: number;
 | |
|             active_devices: number;
 | |
|             working_devices: number;
 | |
|             failed_devices: number;
 | |
|             spare_devices: number;
 | |
|             clean: boolean;
 | |
|             uuid: string;
 | |
|             container: string;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     device: string;
 | |
|                     metadata: string;
 | |
|                     creation_time: string;
 | |
|                     level: string;
 | |
|                     name: string;
 | |
|                     array_size: number;
 | |
|                     use_dev_size: number;
 | |
|                     raid_devices: number;
 | |
|                     total_devices: number;
 | |
|                     active_devices: number;
 | |
|                     working_devices: number;
 | |
|                     failed_devices: number;
 | |
|                     spare_devices: number;
 | |
|                     clean: boolean;
 | |
|                     uuid: string;
 | |
|                     container: string;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class MDExamineData {
 | |
|             static $gtype: GObject.GType<MDExamineData>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             device: string;
 | |
|             level: string;
 | |
|             num_devices: number;
 | |
|             name: string;
 | |
|             size: number;
 | |
|             uuid: string;
 | |
|             update_time: number;
 | |
|             dev_uuid: string;
 | |
|             events: number;
 | |
|             metadata: string;
 | |
|             chunk_size: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     device: string;
 | |
|                     level: string;
 | |
|                     num_devices: number;
 | |
|                     name: string;
 | |
|                     size: number;
 | |
|                     uuid: string;
 | |
|                     update_time: number;
 | |
|                     dev_uuid: string;
 | |
|                     events: number;
 | |
|                     metadata: string;
 | |
|                     chunk_size: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class NVDIMMNamespaceInfo {
 | |
|             static $gtype: GObject.GType<NVDIMMNamespaceInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             dev: string;
 | |
|             mode: number;
 | |
|             size: number;
 | |
|             uuid: string;
 | |
|             sector_size: number;
 | |
|             blockdev: string;
 | |
|             enabled: boolean;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     dev: string;
 | |
|                     mode: number;
 | |
|                     size: number;
 | |
|                     uuid: string;
 | |
|                     sector_size: number;
 | |
|                     blockdev: string;
 | |
|                     enabled: boolean;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class NVMEControllerInfo {
 | |
|             static $gtype: GObject.GType<NVMEControllerInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             pci_vendor_id: number;
 | |
|             pci_subsys_vendor_id: number;
 | |
|             ctrl_id: number;
 | |
|             fguid: string;
 | |
|             model_number: string;
 | |
|             serial_number: string;
 | |
|             firmware_ver: string;
 | |
|             nvme_ver: string;
 | |
|             features: number;
 | |
|             controller_type: NVMEControllerType;
 | |
|             selftest_ext_time: number;
 | |
|             hmb_pref_size: number;
 | |
|             hmb_min_size: number;
 | |
|             size_total: number;
 | |
|             size_unalloc: number;
 | |
|             num_namespaces: number;
 | |
|             subsysnqn: string;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class NVMEErrorLogEntry {
 | |
|             static $gtype: GObject.GType<NVMEErrorLogEntry>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             error_count: number;
 | |
|             command_id: number;
 | |
|             command_specific: number;
 | |
|             command_status: number;
 | |
|             command_error: GLib.Error;
 | |
|             lba: number;
 | |
|             nsid: number;
 | |
|             transport_type: NVMETransportType;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         /**
 | |
|          * Namespace LBA Format Data Structure.
 | |
|          */
 | |
|         class NVMELBAFormat {
 | |
|             static $gtype: GObject.GType<NVMELBAFormat>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             data_size: number;
 | |
|             metadata_size: number;
 | |
|             relative_performance: NVMELBAFormatRelativePerformance;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class NVMENamespaceInfo {
 | |
|             static $gtype: GObject.GType<NVMENamespaceInfo>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             nsid: number;
 | |
|             eui64: string;
 | |
|             uuid: string;
 | |
|             nguid: string;
 | |
|             nsize: number;
 | |
|             ncap: number;
 | |
|             nuse: number;
 | |
|             features: number;
 | |
|             format_progress_remaining: number;
 | |
|             write_protected: boolean;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class NVMESanitizeLog {
 | |
|             static $gtype: GObject.GType<NVMESanitizeLog>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             sanitize_progress: number;
 | |
|             sanitize_status: NVMESanitizeStatus;
 | |
|             global_data_erased: boolean;
 | |
|             overwrite_passes: number;
 | |
|             time_for_overwrite: number;
 | |
|             time_for_block_erase: number;
 | |
|             time_for_crypto_erase: number;
 | |
|             time_for_overwrite_nd: number;
 | |
|             time_for_block_erase_nd: number;
 | |
|             time_for_crypto_erase_nd: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class NVMESelfTestLog {
 | |
|             static $gtype: GObject.GType<NVMESelfTestLog>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             current_operation: NVMESelfTestAction;
 | |
|             current_operation_completion: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class NVMESelfTestLogEntry {
 | |
|             static $gtype: GObject.GType<NVMESelfTestLogEntry>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             result: NVMESelfTestResult;
 | |
|             action: NVMESelfTestAction;
 | |
|             segment: number;
 | |
|             power_on_hours: number;
 | |
|             nsid: number;
 | |
|             failing_lba: number;
 | |
|             status_code_error: GLib.Error;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class NVMESmartLog {
 | |
|             static $gtype: GObject.GType<NVMESmartLog>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             critical_warning: number;
 | |
|             avail_spare: number;
 | |
|             spare_thresh: number;
 | |
|             percent_used: number;
 | |
|             total_data_read: number;
 | |
|             total_data_written: number;
 | |
|             ctrl_busy_time: number;
 | |
|             power_cycles: number;
 | |
|             power_on_hours: number;
 | |
|             unsafe_shutdowns: number;
 | |
|             media_errors: number;
 | |
|             num_err_log_entries: number;
 | |
|             temperature: number;
 | |
|             temp_sensors: number[];
 | |
|             wctemp: number;
 | |
|             cctemp: number;
 | |
|             warning_temp_time: number;
 | |
|             critical_temp_time: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     critical_warning: number;
 | |
|                     avail_spare: number;
 | |
|                     spare_thresh: number;
 | |
|                     percent_used: number;
 | |
|                     total_data_read: number;
 | |
|                     total_data_written: number;
 | |
|                     ctrl_busy_time: number;
 | |
|                     power_cycles: number;
 | |
|                     power_on_hours: number;
 | |
|                     unsafe_shutdowns: number;
 | |
|                     media_errors: number;
 | |
|                     num_err_log_entries: number;
 | |
|                     temperature: number;
 | |
|                     temp_sensors: number[];
 | |
|                     wctemp: number;
 | |
|                     cctemp: number;
 | |
|                     warning_temp_time: number;
 | |
|                     critical_temp_time: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class PartDiskSpec {
 | |
|             static $gtype: GObject.GType<PartDiskSpec>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             path: string;
 | |
|             table_type: PartTableType;
 | |
|             size: number;
 | |
|             sector_size: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
| 
 | |
|             // Methods
 | |
| 
 | |
|             copy(): PartDiskSpec;
 | |
|             free(): void;
 | |
|         }
 | |
| 
 | |
|         class PartSpec {
 | |
|             static $gtype: GObject.GType<PartSpec>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             path: string;
 | |
|             name: string;
 | |
|             uuid: string;
 | |
|             id: string;
 | |
|             type_guid: string;
 | |
|             type: number;
 | |
|             start: number;
 | |
|             size: number;
 | |
|             bootable: boolean;
 | |
|             attrs: number;
 | |
|             type_name: string;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     path: string;
 | |
|                     name: string;
 | |
|                     uuid: string;
 | |
|                     id: string;
 | |
|                     type_guid: string;
 | |
|                     type: number;
 | |
|                     start: number;
 | |
|                     size: number;
 | |
|                     bootable: boolean;
 | |
|                     attrs: number;
 | |
|                     type_name: string;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
| 
 | |
|             // Methods
 | |
| 
 | |
|             copy(): PartSpec;
 | |
|             free(): void;
 | |
|         }
 | |
| 
 | |
|         class PluginSpec {
 | |
|             static $gtype: GObject.GType<PluginSpec>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             name: Plugin;
 | |
|             so_name: string;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(name: Plugin, so_name?: string | null);
 | |
|             _init(...args: any[]): void;
 | |
| 
 | |
|             static ['new'](name: Plugin, so_name?: string | null): PluginSpec;
 | |
|         }
 | |
| 
 | |
|         class SmartATA {
 | |
|             static $gtype: GObject.GType<SmartATA>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             smart_supported: boolean;
 | |
|             smart_enabled: boolean;
 | |
|             overall_status_passed: boolean;
 | |
|             offline_data_collection_status: SmartATAOfflineDataCollectionStatus;
 | |
|             auto_offline_data_collection_enabled: boolean;
 | |
|             offline_data_collection_completion: number;
 | |
|             offline_data_collection_capabilities: number;
 | |
|             self_test_status: SmartATASelfTestStatus;
 | |
|             self_test_percent_remaining: number;
 | |
|             self_test_polling_short: number;
 | |
|             self_test_polling_extended: number;
 | |
|             self_test_polling_conveyance: number;
 | |
|             smart_capabilities: number;
 | |
|             power_on_time: number;
 | |
|             power_cycle_count: number;
 | |
|             temperature: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
| 
 | |
|             // Static methods
 | |
| 
 | |
|             /**
 | |
|              * Retrieve SMART information from the drive.
 | |
|              * @param device device to check.
 | |
|              * @param extra extra options to pass through.
 | |
|              */
 | |
|             static get_info(device: string, extra?: ExtraArg[] | null): SmartATA;
 | |
|             /**
 | |
|              * Retrieve SMART information from the supplied data.
 | |
|              * @param data binary data to parse.
 | |
|              */
 | |
|             static get_info_from_data(data: Uint8Array | string): SmartATA;
 | |
|         }
 | |
| 
 | |
|         class SmartATAAttribute {
 | |
|             static $gtype: GObject.GType<SmartATAAttribute>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             id: number;
 | |
|             name: string;
 | |
|             well_known_name: string;
 | |
|             value: number;
 | |
|             worst: number;
 | |
|             threshold: number;
 | |
|             failed_past: boolean;
 | |
|             failing_now: boolean;
 | |
|             value_raw: number;
 | |
|             flags: number;
 | |
|             pretty_value: number;
 | |
|             pretty_value_unit: SmartATAAttributeUnit;
 | |
|             pretty_value_string: string;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         class SmartSCSI {
 | |
|             static $gtype: GObject.GType<SmartSCSI>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             smart_supported: boolean;
 | |
|             smart_enabled: boolean;
 | |
|             overall_status_passed: boolean;
 | |
|             scsi_ie: SmartSCSIInformationalException;
 | |
|             scsi_ie_asc: number;
 | |
|             scsi_ie_ascq: number;
 | |
|             scsi_ie_string: string;
 | |
|             background_scan_status: SmartSCSIBackgroundScanStatus;
 | |
|             background_scan_progress: number;
 | |
|             background_scan_runs: number;
 | |
|             background_medium_scan_runs: number;
 | |
|             read_errors_corrected_eccfast: number;
 | |
|             read_errors_corrected_eccdelayed: number;
 | |
|             read_errors_corrected_rereads: number;
 | |
|             read_errors_corrected_total: number;
 | |
|             read_errors_uncorrected: number;
 | |
|             read_processed_bytes: number;
 | |
|             write_errors_corrected_eccfast: number;
 | |
|             write_errors_corrected_eccdelayed: number;
 | |
|             write_errors_corrected_rewrites: number;
 | |
|             write_errors_corrected_total: number;
 | |
|             write_errors_uncorrected: number;
 | |
|             write_processed_bytes: number;
 | |
|             start_stop_cycle_count: number;
 | |
|             start_stop_cycle_lifetime: number;
 | |
|             load_unload_cycle_count: number;
 | |
|             load_unload_cycle_lifetime: number;
 | |
|             scsi_grown_defect_list: number;
 | |
|             power_on_time: number;
 | |
|             temperature_warning_enabled: boolean;
 | |
|             temperature: number;
 | |
|             temperature_drive_trip: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             _init(...args: any[]): void;
 | |
| 
 | |
|             // Static methods
 | |
| 
 | |
|             /**
 | |
|              * Retrieve SMART information from SCSI or SAS-compliant drive.
 | |
|              * @param device device to check.
 | |
|              * @param extra extra options to pass through.
 | |
|              */
 | |
|             static get_info(device: string, extra?: ExtraArg[] | null): SmartSCSI;
 | |
|         }
 | |
| 
 | |
|         class UtilsLinuxVersion {
 | |
|             static $gtype: GObject.GType<UtilsLinuxVersion>;
 | |
| 
 | |
|             // Fields
 | |
| 
 | |
|             major: number;
 | |
|             minor: number;
 | |
|             micro: number;
 | |
| 
 | |
|             // Constructors
 | |
| 
 | |
|             constructor(
 | |
|                 properties?: Partial<{
 | |
|                     major: number;
 | |
|                     minor: number;
 | |
|                     micro: number;
 | |
|                 }>,
 | |
|             );
 | |
|             _init(...args: any[]): void;
 | |
|         }
 | |
| 
 | |
|         /**
 | |
|          * Name of the imported GIR library
 | |
|          * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L188
 | |
|          */
 | |
|         const __name__: string;
 | |
|         /**
 | |
|          * Version of the imported GIR library
 | |
|          * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L189
 | |
|          */
 | |
|         const __version__: string;
 | |
|     }
 | |
| 
 | |
|     export default BlockDev;
 | |
| }
 | |
| 
 | |
| declare module 'gi://BlockDev' {
 | |
|     import BlockDev30 from 'gi://BlockDev?version=3.0';
 | |
|     export default BlockDev30;
 | |
| }
 | |
| // END
 |