23 #ifndef STORAGE_INTERFACE_H
24 #define STORAGE_INTERFACE_H
36 #include "storage/StorageVersion.h"
39 #define SWIG_OUTPUT( var_name ) var_name
41 #if defined(SWIGPYTHON) || defined(SWIGRUBY)
42 #define SWIG_OUTPUT( var_name ) OUTPUT
44 #define SWIG_OUTPUT( var_name ) REFERENCE
148 enum FsType { FSUNKNOWN, REISERFS, EXT2, EXT3, EXT4, BTRFS, VFAT, XFS, JFS, HFS, NTFS,
149 SWAP, HFSPLUS, NFS, NFS4, TMPFS, FSNONE };
151 enum PartitionType { PRIMARY, EXTENDED, LOGICAL, PTYPE_ANY };
153 enum MountByType { MOUNTBY_DEVICE, MOUNTBY_UUID, MOUNTBY_LABEL, MOUNTBY_ID, MOUNTBY_PATH };
155 enum EncryptType { ENC_NONE, ENC_TWOFISH, ENC_TWOFISH_OLD,
156 ENC_TWOFISH256_OLD, ENC_LUKS, ENC_UNKNOWN };
158 enum MdType { RAID_UNK, RAID0, RAID1, RAID5, RAID6, RAID10, MULTIPATH };
160 enum MdParity { PAR_DEFAULT, LEFT_ASYMMETRIC, LEFT_SYMMETRIC,
161 RIGHT_ASYMMETRIC, RIGHT_SYMMETRIC, PAR_FIRST, PAR_LAST,
162 LEFT_ASYMMETRIC_6, LEFT_SYMMETRIC_6, RIGHT_ASYMMETRIC_6,
163 RIGHT_SYMMETRIC_6, PAR_FIRST_6,
164 PAR_NEAR_2, PAR_OFFSET_2, PAR_FAR_2,
165 PAR_NEAR_3, PAR_OFFSET_3, PAR_FAR_3 };
167 enum MdArrayState { UNKNOWN, CLEAR, INACTIVE, SUSPENDED, READONLY, READ_AUTO,
168 CLEAN, ACTIVE, WRITE_PENDING, ACTIVE_IDLE };
170 enum UsedByType { UB_NONE, UB_LVM, UB_MD, UB_MDPART, UB_DM, UB_DMRAID, UB_DMMULTIPATH, UB_BTRFS };
172 enum CType { CUNKNOWN, DISK, MD, LOOP, LVM, DM, DMRAID, NFSC, DMMULTIPATH, MDPART, BTRFSC, TMPFSC };
174 enum Transport { TUNKNOWN, SBP, ATA, FC, ISCSI, SAS, SATA, SPI, USB, FCOE };
176 enum ImsmDriver { IMSM_UNDECIDED, IMSM_DMRAID, IMSM_MDADM };
178 enum MultipathAutostart { MPAS_UNDECIDED, MPAS_ON, MPAS_OFF };
180 enum PartAlign { ALIGN_OPTIMAL, ALIGN_CYLINDER };
187 typedef void (*CallbackProgressBar)(
const string& id,
unsigned cur,
unsigned max);
193 typedef void (*CallbackShowInstallInfo)(
const string& id);
199 typedef void (*CallbackInfoPopup)(
const string& text);
207 typedef bool (*CallbackYesNoPopup)(
const string& text);
214 typedef bool (*CallbackCommitErrorPopup)(
int error,
const string& last_action,
215 const string& extended_message);
222 typedef bool (*CallbackPasswordPopup)(
const string& device,
int attempts,
string& password);
232 bool isExtendableWhileMounted;
234 bool isReduceableWhileMounted;
237 bool labelWhileMounted;
238 unsigned int labelLength;
239 unsigned long long minimalFsSizeK;
249 bool extendedPossible;
251 unsigned long long maxSectors;
257 UsedByInfo(UsedByType type,
const string& device) : type(type), device(device) {}
265 SubvolInfo(
const string& path) : path(path) {}
272 ResizeInfo() : df_freeK(0), resize_freeK(0), usedK(0), resize_ok(
false) {}
273 unsigned long long df_freeK;
274 unsigned long long resize_freeK;
275 unsigned long long usedK;
282 ContentInfo() : windows(
false), efi(
false), homes(0) {}
300 list<UsedByInfo> usedBy;
301 UsedByType usedByType;
312 unsigned long long sizeK;
313 unsigned long long cylSize;
316 unsigned long sectors;
317 unsigned int sectorSize;
319 string orig_disklabel;
321 bool extendedPossible;
325 bool has_fake_partition;
335 unsigned long long sizeK;
336 unsigned long long peSizeK;
337 unsigned long peCount;
338 unsigned long peFree;
378 unsigned long long sizeK;
385 MountByType mount_by;
388 list<UsedByInfo> usedBy;
389 UsedByType usedByType;
392 string fstab_options;
396 string tunefs_options;
399 EncryptType encryption;
408 unsigned long long origSizeK;
415 unsigned long cylStart;
416 unsigned long cylSize;
417 PartitionType partitionType;
431 unsigned long cylStart;
432 unsigned long cylSize;
433 PartitionType partitionType;
446 unsigned stripeSizeK;
479 unsigned long chunkSizeK;
507 unsigned long chunkSizeK;
637 unsigned long cylStart;
638 unsigned long cylSize;
640 bool primaryPossible;
642 bool extendedPossible;
644 bool logicalPossible;
663 STORAGE_NO_ERROR = 0,
665 DISK_PARTITION_OVERLAPS_EXISTING = -1000,
666 DISK_PARTITION_EXCEEDS_DISK = -1001,
667 DISK_CREATE_PARTITION_EXT_ONLY_ONCE = -1002,
668 DISK_CREATE_PARTITION_EXT_IMPOSSIBLE = -1003,
669 DISK_PARTITION_NO_FREE_NUMBER = -1004,
670 DISK_CREATE_PARTITION_INVALID_VOLUME = -1005,
671 DISK_CREATE_PARTITION_INVALID_TYPE = -1006,
672 DISK_CREATE_PARTITION_PARTED_FAILED = -1007,
673 DISK_PARTITION_NOT_FOUND = -1008,
674 DISK_CREATE_PARTITION_LOGICAL_NO_EXT = -1009,
675 DISK_PARTITION_LOGICAL_OUTSIDE_EXT = -1010,
676 DISK_SET_TYPE_INVALID_VOLUME = -1011,
677 DISK_SET_TYPE_PARTED_FAILED = -1012,
678 DISK_SET_LABEL_PARTED_FAILED = -1013,
679 DISK_REMOVE_PARTITION_PARTED_FAILED = -1014,
680 DISK_REMOVE_PARTITION_INVALID_VOLUME = -1015,
681 DISK_REMOVE_PARTITION_LIST_ERASE = -1016,
682 DISK_DESTROY_TABLE_INVALID_LABEL = -1017,
683 DISK_PARTITION_ZERO_SIZE = -1018,
684 DISK_CHANGE_READONLY = -1019,
685 DISK_RESIZE_PARTITION_INVALID_VOLUME = -1020,
686 DISK_RESIZE_PARTITION_PARTED_FAILED = -1021,
687 DISK_RESIZE_NO_SPACE = -1022,
688 DISK_CHECK_RESIZE_INVALID_VOLUME = -1023,
689 DISK_REMOVE_PARTITION_CREATE_NOT_FOUND = -1024,
690 DISK_COMMIT_NOTHING_TODO = -1025,
691 DISK_CREATE_PARTITION_NO_SPACE = -1026,
692 DISK_REMOVE_USED_BY = -1027,
693 DISK_INIT_NOT_POSSIBLE = -1028,
694 DISK_INVALID_PARTITION_ID = -1029,
696 STORAGE_DISK_NOT_FOUND = -2000,
697 STORAGE_VOLUME_NOT_FOUND = -2001,
698 STORAGE_REMOVE_PARTITION_INVALID_CONTAINER = -2002,
699 STORAGE_CHANGE_PARTITION_ID_INVALID_CONTAINER = -2003,
700 STORAGE_CHANGE_READONLY = -2004,
701 STORAGE_DISK_USED_BY = -2005,
702 STORAGE_LVM_VG_EXISTS = -2006,
703 STORAGE_LVM_VG_NOT_FOUND = -2007,
704 STORAGE_LVM_INVALID_DEVICE = -2008,
705 STORAGE_CONTAINER_NOT_FOUND = -2009,
706 STORAGE_VG_INVALID_NAME = -2010,
707 STORAGE_REMOVE_USED_VOLUME = -2011,
708 STORAGE_REMOVE_USING_UNKNOWN_TYPE = -2012,
709 STORAGE_NOT_YET_IMPLEMENTED = -2013,
710 STORAGE_MD_INVALID_NAME = -2014,
711 STORAGE_MD_NOT_FOUND = -2015,
712 STORAGE_MEMORY_EXHAUSTED = -2016,
713 STORAGE_LOOP_NOT_FOUND = -2017,
714 STORAGE_CREATED_LOOP_NOT_FOUND = -2018,
715 STORAGE_CHANGE_AREA_INVALID_CONTAINER = -2023,
716 STORAGE_BACKUP_STATE_NOT_FOUND = -2024,
717 STORAGE_INVALID_FSTAB_VALUE = -2025,
718 STORAGE_NO_FSTAB_PTR = -2026,
719 STORAGE_DEVICE_NODE_NOT_FOUND = -2027,
720 STORAGE_DMRAID_CO_NOT_FOUND = -2028,
721 STORAGE_RESIZE_INVALID_CONTAINER = -2029,
722 STORAGE_DMMULTIPATH_CO_NOT_FOUND = -2030,
723 STORAGE_ZERO_DEVICE_FAILED = -2031,
724 STORAGE_INVALID_BACKUP_STATE_NAME = -2032,
725 STORAGE_MDPART_CO_NOT_FOUND = -2033,
726 STORAGE_DEVICE_NOT_FOUND = -2034,
727 STORAGE_BTRFS_CO_NOT_FOUND = -2035,
728 STORAGE_TMPFS_CO_NOT_FOUND = -2036,
729 STORAGE_VOLUME_NOT_ENCRYPTED = -2037,
730 STORAGE_DM_RENAME_FAILED = -2038,
732 VOLUME_COMMIT_UNKNOWN_STAGE = -3000,
733 VOLUME_FSTAB_EMPTY_MOUNT = -3001,
734 VOLUME_UMOUNT_FAILED = -3002,
735 VOLUME_MOUNT_FAILED = -3003,
736 VOLUME_FORMAT_UNKNOWN_FS = -3005,
737 VOLUME_FORMAT_FS_UNDETECTED = -3006,
738 VOLUME_FORMAT_FS_TOO_SMALL = -3007,
739 VOLUME_FORMAT_FAILED = -3008,
740 VOLUME_TUNE2FS_FAILED = -3009,
741 VOLUME_MKLABEL_FS_UNABLE = -3010,
742 VOLUME_MKLABEL_FAILED = -3011,
743 VOLUME_LOSETUP_NO_LOOP = -3012,
744 VOLUME_LOSETUP_FAILED = -3013,
745 VOLUME_CRYPT_NO_PWD = -3014,
746 VOLUME_CRYPT_PWD_TOO_SHORT = -3015,
747 VOLUME_CRYPT_NOT_DETECTED = -3016,
748 VOLUME_FORMAT_EXTENDED_UNSUPPORTED = -3017,
749 VOLUME_MOUNT_EXTENDED_UNSUPPORTED = -3018,
750 VOLUME_MOUNT_POINT_INVALID = -3019,
751 VOLUME_MOUNTBY_NOT_ENCRYPTED = -3020,
752 VOLUME_MOUNTBY_UNSUPPORTED_BY_FS = -3021,
753 VOLUME_LABEL_NOT_SUPPORTED = -3022,
754 VOLUME_LABEL_TOO_LONG = -3023,
755 VOLUME_LABEL_WHILE_MOUNTED = -3024,
756 VOLUME_RESIZE_UNSUPPORTED_BY_FS = -3025,
757 VOLUME_RESIZE_UNSUPPORTED_BY_CONTAINER = -3026,
758 VOLUME_RESIZE_FAILED = -3027,
759 VOLUME_ALREADY_IN_USE = -3028,
760 VOLUME_LOUNSETUP_FAILED = -3029,
761 VOLUME_DEVICE_NOT_PRESENT = -3030,
762 VOLUME_DEVICE_NOT_BLOCK = -3031,
763 VOLUME_MOUNTBY_UNSUPPORTED_BY_VOLUME = -3032,
764 VOLUME_CRYPTFORMAT_FAILED = -3033,
765 VOLUME_CRYPTSETUP_FAILED = -3034,
766 VOLUME_CRYPTUNSETUP_FAILED = -3035,
767 VOLUME_FORMAT_NOT_IMPLEMENTED = -3036,
768 VOLUME_FORMAT_IMPOSSIBLE = -3037,
769 VOLUME_CRYPT_NFS_IMPOSSIBLE = -3038,
770 VOLUME_REMOUNT_FAILED = -3039,
771 VOLUME_TUNEREISERFS_FAILED = -3040,
772 VOLUME_UMOUNT_NOT_MOUNTED = -3041,
773 VOLUME_BTRFS_ADD_FAILED = -3042,
774 VOLUME_CANNOT_TMP_MOUNT = -3043,
775 VOLUME_CANNOT_TMP_UMOUNT = -3044,
776 VOLUME_BTRFS_SUBVOL_INIT_FAILED = -3045,
777 VOLUME_BTRFS_SUBVOL_DETDEFAULT = -3046,
779 LVM_CREATE_PV_FAILED = -4000,
780 LVM_PV_ALREADY_CONTAINED = -4001,
781 LVM_PV_DEVICE_UNKNOWN = -4002,
782 LVM_PV_DEVICE_USED = -4003,
783 LVM_VG_HAS_NONE_PV = -4004,
784 LVM_LV_INVALID_NAME = -4005,
785 LVM_LV_DUPLICATE_NAME = -4006,
786 LVM_LV_NO_SPACE = -4007,
787 LVM_LV_UNKNOWN_NAME = -4008,
788 LVM_LV_NOT_IN_LIST = -4009,
789 LVM_VG_CREATE_FAILED = -4010,
790 LVM_VG_EXTEND_FAILED = -4011,
791 LVM_VG_REDUCE_FAILED = -4012,
792 LVM_VG_REMOVE_FAILED = -4013,
793 LVM_LV_CREATE_FAILED = -4014,
794 LVM_LV_REMOVE_FAILED = -4015,
795 LVM_LV_RESIZE_FAILED = -4016,
796 LVM_PV_STILL_ADDED = -4017,
797 LVM_PV_REMOVE_NOT_FOUND = -4018,
798 LVM_CREATE_LV_INVALID_VOLUME = -4019,
799 LVM_REMOVE_LV_INVALID_VOLUME = -4020,
800 LVM_RESIZE_LV_INVALID_VOLUME = -4021,
801 LVM_CHANGE_READONLY = -4022,
802 LVM_CHECK_RESIZE_INVALID_VOLUME = -4023,
803 LVM_COMMIT_NOTHING_TODO = -4024,
804 LVM_LV_REMOVE_USED_BY = -4025,
805 LVM_LV_ALREADY_ON_DISK = -4026,
806 LVM_LV_NO_STRIPE_SIZE = -4027,
807 LVM_LV_UNKNOWN_ORIGIN = -4028,
808 LVM_LV_NOT_ON_DISK = -4029,
809 LVM_LV_NOT_SNAPSHOT = -4030,
810 LVM_LV_HAS_SNAPSHOTS = -4031,
811 LVM_LV_IS_SNAPSHOT = -4032,
812 LVM_LIST_EMPTY = -4033,
813 LVM_LV_NO_POOL_OR_SNAP = -4034,
814 LVM_LV_NO_POOL = -4035,
815 LVM_LV_UNKNOWN_POOL = -4036,
816 LVM_LV_INVALID_CHUNK_SIZE = -4037,
817 LVM_LV_POOL_NO_FORMAT = -4038,
818 LVM_LV_POOL_NO_MOUNT = -4039,
820 FSTAB_ENTRY_NOT_FOUND = -5000,
821 FSTAB_CHANGE_PREFIX_IMPOSSIBLE = -5001,
822 FSTAB_REMOVE_ENTRY_NOT_FOUND = -5002,
823 FSTAB_UPDATE_ENTRY_NOT_FOUND = -5003,
824 FSTAB_ADD_ENTRY_FOUND = -5004,
826 MD_CHANGE_READONLY = -6000,
827 MD_DUPLICATE_NUMBER = -6001,
828 MD_TOO_FEW_DEVICES = -6002,
829 MD_DEVICE_UNKNOWN = -6003,
830 MD_DEVICE_USED = -6004,
831 MD_CREATE_INVALID_VOLUME = -6005,
832 MD_REMOVE_FAILED = -6006,
833 MD_NOT_IN_LIST = -6007,
834 MD_CREATE_FAILED = -6008,
835 MD_UNKNOWN_NUMBER = -6009,
836 MD_REMOVE_USED_BY = -6010,
837 MD_NUMBER_TOO_LARGE = -6011,
838 MD_REMOVE_INVALID_VOLUME = -6012,
839 MD_REMOVE_CREATE_NOT_FOUND = -6013,
840 MD_NO_RESIZE_ON_DISK = -6014,
841 MD_ADD_DUPLICATE = -6015,
842 MD_REMOVE_NONEXISTENT = -6016,
843 MD_NO_CHANGE_ON_DISK = -6017,
844 MD_NO_CREATE_UNKNOWN = -6018,
845 MD_STATE_NOT_ON_DISK = -6019,
846 MD_PARTITION_NOT_FOUND = -6020,
847 MD_INVALID_PARITY = -6021,
848 MD_TOO_MANY_SPARES = -6022,
849 MD_GET_STATE_FAILED = -6023,
851 MDPART_CHANGE_READONLY = -6100,
852 MDPART_INTERNAL_ERR = -6101,
853 MDPART_INVALID_VOLUME = -6012,
854 MDPART_PARTITION_NOT_FOUND = -6103,
855 MDPART_REMOVE_PARTITION_LIST_ERASE = -6104,
856 MDPART_COMMIT_NOTHING_TODO = -6105,
857 MDPART_NO_REMOVE = -6106,
858 MDPART_DEVICE_NOT_FOUND = -6107,
860 LOOP_CHANGE_READONLY = -7000,
861 LOOP_DUPLICATE_FILE = -7001,
862 LOOP_UNKNOWN_FILE = -7002,
863 LOOP_REMOVE_USED_BY = -7003,
864 LOOP_FILE_CREATE_FAILED = -7004,
865 LOOP_CREATE_INVALID_VOLUME = -7005,
866 LOOP_REMOVE_FILE_FAILED = -7006,
867 LOOP_REMOVE_INVALID_VOLUME = -7007,
868 LOOP_NOT_IN_LIST = -7008,
869 LOOP_REMOVE_CREATE_NOT_FOUND = -7009,
870 LOOP_MODIFY_EXISTING = -7010,
872 PEC_PE_SIZE_INVALID = -9000,
873 PEC_PV_NOT_FOUND = -9001,
874 PEC_REMOVE_PV_IN_USE = -9002,
875 PEC_REMOVE_PV_SIZE_NEEDED = -9003,
876 PEC_LV_NO_SPACE_STRIPED = -9004,
877 PEC_LV_NO_SPACE_SINGLE = -9005,
878 PEC_LV_PE_DEV_NOT_FOUND = -9006,
880 DM_CHANGE_READONLY = -10000,
881 DM_UNKNOWN_TABLE = -10001,
882 DM_REMOVE_USED_BY = -10002,
883 DM_REMOVE_CREATE_NOT_FOUND = -10003,
884 DM_REMOVE_INVALID_VOLUME = -10004,
885 DM_REMOVE_FAILED = -10005,
886 DM_NOT_IN_LIST = -10006,
888 DASD_NOT_POSSIBLE = -11000,
889 DASD_FDASD_FAILED = -11001,
890 DASD_DASDFMT_FAILED = -11002,
892 DMPART_CHANGE_READONLY = -12001,
893 DMPART_INTERNAL_ERR = -12002,
894 DMPART_INVALID_VOLUME = -12003,
895 DMPART_PARTITION_NOT_FOUND = -12004,
896 DMPART_REMOVE_PARTITION_LIST_ERASE = -12005,
897 DMPART_COMMIT_NOTHING_TODO = -12006,
898 DMPART_NO_REMOVE = -12007,
900 DMRAID_REMOVE_FAILED = -13001,
902 NFS_VOLUME_NOT_FOUND = -14001,
903 NFS_CHANGE_READONLY = -14002,
904 NFS_REMOVE_VOLUME_CREATE_NOT_FOUND = -14003,
905 NFS_REMOVE_VOLUME_LIST_ERASE = -14004,
906 NFS_REMOVE_INVALID_VOLUME = -14005,
908 BTRFS_COMMIT_INVALID_VOLUME = -15001,
909 BTRFS_CANNOT_TMP_MOUNT = -15002,
910 BTRFS_CANNOT_TMP_UMOUNT = -15003,
911 BTRFS_DELETE_SUBVOL_FAIL = -15004,
912 BTRFS_CREATE_SUBVOL_FAIL = -15005,
913 BTRFS_VOLUME_NOT_FOUND = -15006,
914 BTRFS_SUBVOL_EXISTS = -15007,
915 BTRFS_SUBVOL_NON_EXISTS = -15008,
916 BTRFS_REMOVE_NOT_FOUND = -15009,
917 BTRFS_REMOVE_NO_BTRFS = -15010,
918 BTRFS_REMOVE_INVALID_VOLUME = -15011,
919 BTRFS_CHANGE_READONLY = -15012,
920 BTRFS_DEV_ALREADY_CONTAINED = -15013,
921 BTRFS_DEVICE_UNKNOWN = -15014,
922 BTRFS_DEVICE_USED = -15015,
923 BTRFS_HAS_NONE_DEV = -15016,
924 BTRFS_DEV_NOT_FOUND = -15017,
925 BTRFS_EXTEND_FAIL = -15018,
926 BTRFS_REDUCE_FAIL = -15019,
927 BTRFS_LIST_EMPTY = -15020,
928 BTRFS_RESIZE_INVALID_VOLUME = -15021,
929 BTRFS_MULTIDEV_SHRINK_UNSUPPORTED = -15022,
931 TMPFS_REMOVE_INVALID_VOLUME = -16001,
932 TMPFS_REMOVE_NO_TMPFS = -16002,
933 TMPFS_REMOVE_NOT_FOUND = -16003,
935 CONTAINER_INTERNAL_ERROR = -99000,
936 CONTAINER_INVALID_VIRTUAL_CALL = -99001,
954 virtual void getContainers( deque<ContainerInfo>& infos) = 0;
1090 virtual void getVolumes( deque<VolumeInfo>& infos) = 0;
1109 deque<PartitionInfo>& plist ) = 0;
1119 deque<LvmLvInfo>& plist ) = 0;
1127 virtual int getMdInfo( deque<MdInfo>& plist ) = 0;
1137 deque<MdPartInfo>& plist ) = 0;
1145 virtual int getNfsInfo( deque<NfsInfo>& plist ) = 0;
1153 virtual int getLoopInfo( deque<LoopInfo>& plist ) = 0;
1161 virtual int getDmInfo( deque<DmInfo>& plist ) = 0;
1169 virtual int getBtrfsInfo( deque<BtrfsInfo>& plist ) = 0;
1177 virtual int getTmpfsInfo( deque<TmpfsInfo>& plist ) = 0;
1187 deque<DmraidInfo>& plist ) = 0;
1197 deque<DmmultipathInfo>& plist ) = 0;
1228 unsigned long startCyl,
1229 unsigned long sizeCyl,
1230 string& SWIG_OUTPUT(device) ) = 0;
1241 unsigned long sizeCyl ) = 0;
1252 unsigned long sizeCyl ) = 0;
1265 unsigned long startCyl,
1266 unsigned long sizeCyl ) = 0;
1277 unsigned long& freeCylsAfter) = 0;
1289 unsigned & SWIG_OUTPUT(nr),
1290 string& SWIG_OUTPUT(device) ) = 0;
1305 unsigned long long startK,
1306 unsigned long long sizeK,
1307 string& SWIG_OUTPUT(device) ) = 0;
1320 unsigned long long sizeK,
1321 string& SWIG_OUTPUT(device) ) = 0;
1334 string& SWIG_OUTPUT(device) ) = 0;
1343 virtual unsigned long long cylinderToKb(
const string& disk,
1344 unsigned long sizeCyl) = 0;
1353 virtual unsigned long kbToCylinder(
const string& disk,
1354 unsigned long long sizeK) = 0;
1429 virtual int initializeDisk(
const string& disk,
bool value ) = 0;
1486 virtual int changeMountPoint(
const string& device,
const string& mount ) = 0;
1496 string& SWIG_OUTPUT(mount) ) = 0;
1505 virtual int changeMountBy(
const string& device, MountByType mby ) = 0;
1514 virtual int getMountBy(
const string& device,
1515 MountByType& SWIG_OUTPUT(mby) ) = 0;
1537 string& SWIG_OUTPUT(options) ) = 0;
1548 virtual int addFstabOptions(
const string& device,
const string& options ) = 0;
1568 virtual int setCryptPassword(
const string& device,
const string& pwd ) = 0;
1586 string& SWIG_OUTPUT(pwd) ) = 0;
1597 const string& pwd,
bool erase ) = 0;
1614 virtual int setCrypt(
const string& device,
bool val ) = 0;
1624 virtual int setCryptType(
const string& device,
bool val, EncryptType typ ) = 0;
1633 virtual int getCrypt(
const string& device,
bool& SWIG_OUTPUT(val) ) = 0;
1644 virtual int setIgnoreFstab(
const string& device,
bool val ) = 0;
1653 virtual int getIgnoreFstab(
const string& device,
bool& SWIG_OUTPUT(val) ) = 0;
1664 virtual int changeDescText(
const string& device,
const string& txt ) = 0;
1680 virtual int addFstabEntry(
const string& device,
const string& mount,
1681 const string& vfs,
const string& options,
1682 unsigned freq,
unsigned passno ) = 0;
1692 virtual int resizeVolume(
const string& device,
unsigned long long newSizeK) = 0;
1701 virtual int resizeVolumeNoFs(
const string& device,
unsigned long long newSizeK) = 0;
1744 list<string>& using_devices) = 0;
1756 list<string>& usedby_devices) = 0;
1902 unsigned long long peSizeK,
bool lvm1,
1903 const deque<string>& devs ) = 0;
1912 virtual int removeLvmVg(
const string& name ) = 0;
1922 const deque<string>& devs ) = 0;
1932 const deque<string>& devs ) = 0;
1945 virtual int createLvmLv(
const string& vg,
const string& name,
1946 unsigned long long sizeK,
unsigned stripes,
1947 string& SWIG_OUTPUT(device) ) = 0;
1964 virtual int removeLvmLv(
const string& vg,
const string& name ) = 0;
1976 unsigned long stripes ) = 0;
1988 unsigned long long stripeSizeK) = 0;
2001 const string& name,
unsigned long long cowSizeK,
2002 string& SWIG_OUTPUT(device) ) = 0;
2036 unsigned long long sizeK,
2037 string& SWIG_OUTPUT(device) ) = 0;
2051 unsigned long long sizeK,
2052 string& SWIG_OUTPUT(device) ) = 0;
2064 unsigned long long chunkSizeK) = 0;
2073 virtual int nextFreeMd(
unsigned& SWIG_OUTPUT(nr),
2074 string& SWIG_OUTPUT(device)) = 0;
2085 virtual int createMd(
const string& name, MdType md_type,
const list<string>& devices,
2086 const list<string>& spares) = 0;
2097 virtual int createMdAny(MdType md_type,
const list<string>& devices,
2098 const list<string>& spares,
2099 string& SWIG_OUTPUT(device) ) = 0;
2109 virtual int removeMd(
const string& name,
bool destroySb ) = 0;
2120 virtual int extendMd(
const string& name,
const list<string>& devices,
2121 const list<string>& spares) = 0;
2132 virtual int updateMd(
const string& name,
const list<string>& devices,
2133 const list<string>& spares) = 0;
2144 virtual int shrinkMd(
const string& name,
const list<string>& devices,
2145 const list<string>& spares) = 0;
2155 virtual int changeMdType(
const string& name, MdType md_type) = 0;
2165 virtual int changeMdChunk(
const string& name,
unsigned long chunkSizeK) = 0;
2175 virtual int changeMdParity(
const string& name, MdParity ptype ) = 0;
2183 virtual int checkMd(
const string& name ) = 0;
2220 virtual int computeMdSize(MdType md_type,
const list<string>& devices,
2221 const list<string>& spares,
unsigned long long& sizeK) = 0;
2242 virtual int removeMdPartCo(
const string& name,
bool destroySb ) = 0;
2254 virtual int addNfsDevice(
const string& nfsDev,
const string& opts,
2255 unsigned long long sizeK,
const string& mp,
2267 virtual int checkNfsDevice(
const string& nfsDev,
const string& opts,
2268 bool nfs4,
unsigned long long& sizeK) = 0;
2286 virtual int createFileLoop(
const string& lname,
bool reuseExisting,
2287 unsigned long long sizeK,
2288 const string& mp,
const string& pwd,
2289 string& SWIG_OUTPUT(device) ) = 0;
2308 virtual int modifyFileLoop(
const string& device,
const string& lname,
2310 unsigned long long sizeK ) = 0;
2320 virtual int removeFileLoop(
const string& lname,
bool removeFile ) = 0;
2337 virtual bool existSubvolume(
const string& device,
const string& name ) = 0;
2346 virtual int createSubvolume(
const string& device,
const string& name ) = 0;
2355 virtual int removeSubvolume(
const string& device,
const string& name ) = 0;
2366 const deque<string>& devs ) = 0;
2377 const deque<string>& devs ) = 0;
2386 virtual int addTmpfsMount(
const string& mp,
const string& opts ) = 0;
2533 virtual int commit() = 0;
2573 bool verbose_log)
const = 0;
2617 virtual bool umountDeviceUns(
const string& device,
bool unsetup ) = 0;
2629 virtual bool mountDevice(
const string& device,
const string& mp ) = 0;
2655 const string& opts ) = 0;
2668 virtual bool mountDeviceRo(
const string& device,
const string& mp,
2669 const string& opts ) = 0;
2695 const string& new_name ) = 0;
2709 bool get_content,
ContentInfo& content_info,
bool use_cache) = 0;
2718 virtual bool readFstab(
const string& dir, deque<VolumeInfo>& infos) = 0;
2788 void initDefaultLogger();
2793 void initDefaultLogger(
const string& logdir );
2799 typedef void (*CallbackLogDo)(
int level,
const string& component,
const char* file,
2800 int line,
const char*
function,
const string& content );
2806 typedef bool (*CallbackLogQuery)(
int level,
const string& component );
2811 void setLogDoCallback( CallbackLogDo pfc );
2816 CallbackLogDo getLogDoCallback();
2821 void setLogQueryCallback( CallbackLogQuery pfc );
2826 CallbackLogQuery getLogQueryCallback();
2833 Environment(
bool readonly,
const string& logdr=
"/var/log/YaST2") : readonly(readonly), testmode(
false), autodetect(
true),
2834 instsys(
false), logdir(logdr), testdir(
"tmp")
2836 storage::initDefaultLogger( logdir );