mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 11:24:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
(*****************************************************************************
 | 
						|
*   This program is free software;  you can redistribute it and/or modify
 | 
						|
*   it under the terms of the GNU General Public License as published by
 | 
						|
*   the Free Software Foundation; either version 2 of the License, or
 | 
						|
*   (at your option) any later version.
 | 
						|
*
 | 
						|
*   This program is distributed in the hope that it will be useful,
 | 
						|
*   but WITHOUT ANY WARRANTY;  without even the implied warranty of
 | 
						|
*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
 | 
						|
*   the GNU General Public License for more details.
 | 
						|
*
 | 
						|
*   You should have received a copy of the GNU General Public License
 | 
						|
*   along with this program;  if not, write to the Free Software
 | 
						|
*   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 | 
						|
*   MA 02110-1301, USA.
 | 
						|
*****************************************************************************)
 | 
						|
uses lvm;
 | 
						|
 | 
						|
// lvmtest.cpp, program to test the LVM library
 | 
						|
//
 | 
						|
// By John Martin Alfredsson, jma@jmast.se
 | 
						|
// Pascal conversion by Yuri Prokushev
 | 
						|
 | 
						|
var
 | 
						|
  vca: Volume_Control_Array;
 | 
						|
  vir: Volume_Information_Record;
 | 
						|
  iCounter: integer;
 | 
						|
const
 | 
						|
  Error_Code: CARDINAL32 = 99999;
 | 
						|
begin
 | 
						|
  Open_LVM_Engine(True, addr(Error_Code));
 | 
						|
  if Error_Code<>0 then
 | 
						|
  begin
 | 
						|
    writeln('Open_LVM_Engine Error !!');
 | 
						|
    halt(1);
 | 
						|
  end;
 | 
						|
 | 
						|
  vca:=Get_Volume_Control_Data(addr(Error_Code));
 | 
						|
  if Error_Code<>0 then
 | 
						|
  begin
 | 
						|
    writeln('Get_Volume_Control_Data Error !!');
 | 
						|
    halt(1);
 | 
						|
  end;
 | 
						|
 | 
						|
  for iCounter:=0 to vca.Count-1 do
 | 
						|
  begin
 | 
						|
    writeln('--------------------------------------');
 | 
						|
    vir:=Get_Volume_Information(vca.Volume_Control_Data[iCounter].Volume_Handle, addr(Error_Code));
 | 
						|
    writeln('Volname      : [', vir.Current_Drive_Letter, ':] ', vir.Volume_Name);
 | 
						|
    writeln('FileSystem   : ', vir.File_System_Name);
 | 
						|
    case vir.Status of
 | 
						|
      0: writeln('Status       : None');
 | 
						|
      1: writeln('Status       : Bootable');
 | 
						|
      2: writeln('Status       : Startable');
 | 
						|
      3: writeln('Status       : Installable');
 | 
						|
    end;
 | 
						|
 | 
						|
    if vca.Volume_Control_Data[iCounter].Compatibility_Volume then
 | 
						|
      writeln('Volume type  : Compatibility Volume')
 | 
						|
    else
 | 
						|
      writeln('Volume type  : LVM Volume');
 | 
						|
  end;
 | 
						|
 | 
						|
  writeln('--------------------------------------');
 | 
						|
 | 
						|
  Free_Engine_Memory(vca.Volume_Control_Data);
 | 
						|
  Close_LVM_Engine;
 | 
						|
end.
 |