Differenze tra le versioni di "Leggere il file fstab per avere informazioni sui vari filesystem montati"

Da Gambas-it.org - Wikipedia.
Riga 13: Riga 13:
 
   Dim b As Byte
 
   Dim b As Byte
 
    
 
    
  fstab = File.Load("/etc/fstab")
+
  fstab = File.Load("/etc/fstab")
   
 
  ss = Split(fstab, "\n")
 
   
 
  Print "<file system>                            <mount point>  <type>  <options>      <dump>  <pass>\n"
 
   
 
  While True
 
     
 
    If IsNull(ss[b]) Then Break
 
    If ss[b] Not Begins "#" Then Print ss[b]
 
    Inc b
 
   
 
  Wend
 
 
    
 
    
 +
  ss = Split(fstab, "\n")
 +
 
 +
  Print "<file system>                            <mount point>  <type>  <options>      <dump>  <pass>\n"
 +
 
 +
  While True
 +
    If IsNull(ss[b]) Then Break
 +
    If ss[b] Not Begins "#" Then Print ss[b]
 +
    Inc b
 +
  Wend
 +
 
  '''End'''
 
  '''End'''
 
  
  
Riga 57: Riga 54:
 
   Dim p As Pointer
 
   Dim p As Pointer
 
    
 
    
  While True
+
  While True
 
+
    p = getfsent()
    p = getfsent()
+
    If p == 0 Then Exit
    If IsNull(p) Then Exit
+
    fs = p
   
+
    With fs
    fs = p
+
      Print "Dispositivo:        ", String@(.fs_spec)
 +
      Print "Punto di montaggio: ", String@(.fs_file)
 +
      Print "Tipo di filesystem: ", String@(.fs_vfstype)
 +
      Print "Opzioni montaggio:  ", String@(.fs_mntops)
 +
      Print "Tipo di montaggio:  ", String@(.fs_type)
 +
      Print "Uso comando Dump:  ", .fs_freq
 +
      Print "Ordine di Controllo:", .fs_passno
 +
    End With
 +
    Print
 +
  Wend
 
    
 
    
    With fs
 
      Print "Dispositivo:        ", String@(.fs_spec)
 
      Print "Punto di montaggio: ", String@(.fs_file)
 
      Print "Tipo di filesystem: ", String@(.fs_vfstype)
 
      Print "Opzioni montaggio:  ", String@(.fs_mntops)
 
      Print "Tipo di montaggio:  ", String@(.fs_type)
 
      Print "Uso comando Dump:  ", .fs_freq
 
      Print "Ordine di Controllo:", .fs_passno
 
    End With
 
    Print
 
 
 
  Wend
 
 
 
 
  '''End'''
 
  '''End'''
 
  
  
Riga 106: Riga 98:
 
   Dim fs As New Fstab
 
   Dim fs As New Fstab
 
   Dim p As Pointer
 
   Dim p As Pointer
    
+
  While True
+
   While True
 
+
    p = getfsent()
    p = getfsent()
+
    If p == 0 Then Exit
    If IsNull(p) Then Exit
+
    fs = p
   
+
    With fs  
    fs = p
+
      Print "Dispositivo:        ", String@(.fs_spec)
 
+
      Print "Punto di montaggio: ", String@(.fs_file)
    With fs  
+
      Print "Tipo di filesystem: ", String@(.fs_vfstype)
      Print "Dispositivo:        ", String@(.fs_spec)
+
      Print "Opzioni montaggio:  ", String@(.fs_mntops)
      Print "Punto di montaggio: ", String@(.fs_file)
+
      Print "Tipo di montaggio:  ", String@(.fs_type)
      Print "Tipo di filesystem: ", String@(.fs_vfstype)
+
      Print "Uso comando Dump:  ", .fs_freq
      Print "Opzioni montaggio:  ", String@(.fs_mntops)
+
      Print "Ordine di Controllo:", .fs_passno
      Print "Tipo di montaggio:  ", String@(.fs_type)
+
    End With
      Print "Uso comando Dump:  ", .fs_freq
+
    Print
      Print "Ordine di Controllo:", .fs_passno
+
  Wend
    End With
+
    Print
 
 
 
  Wend
 
 
 
 
  '''End'''
 
  '''End'''
  
  
  
----
 
 
=Riferimenti=
 
=Riferimenti=
 
* http://www.gnu.org/software/libc/manual/html_node/fstab.html
 
* http://www.gnu.org/software/libc/manual/html_node/fstab.html
 
* http://www.freebsd.org/cgi/man.cgi?fstab%285%29
 
* http://www.freebsd.org/cgi/man.cgi?fstab%285%29

Versione delle 10:39, 25 dic 2021

Il file di configurazione di sistema "/etc/fstab" contiene informazioni relative ai vari tipi di filesystem presenti nel sistema.


Leggere il file /etc/fstab mediante le sole risorse di Gambas

E' possibile accedere al file /etc/fstab, e dunque alle informazioni di sistema in esso contenute, semplicemente utilizzando le risorse di Gambas.

Mostriamo un semplice esempio:

Public Sub Main()
 
 Dim fstab As String
 Dim ss As String[]
 Dim b As Byte
 
 fstab = File.Load("/etc/fstab")
  
 ss = Split(fstab, "\n")
  
 Print "<file system>                             <mount point>   <type>  <options>       <dump>  <pass>\n"
  
 While True
   If IsNull(ss[b]) Then Break
   If ss[b] Not Begins "#" Then Print ss[b]
   Inc b
 Wend

End


Leggere il file /etc/fstab mediante le risorse della libreria libc.so.6

E' possibile accedere al file /etc/fstab, e dunque alle informazioni di sistema in esso contenute, mediante le risorse della libreria /usr/include/fstab.h. Si utilizzerà in Gambas la libreria libc.so.6 .

Mostriamo di seguito un semplice esempio pratico:

Library "libc:6"

Public Struct fstab
  fs_spec As Pointer
  fs_file As Pointer
  fs_vfstype As Pointer
  fs_mntops As Pointer
  fs_type As Pointer
  fs_freq As Integer
  fs_passno As Integer
End Struct

' struct fstab *getfsent (void)
' Parses the next line from the file.
Private Extern getfsent() As Pointer
 

Public Sub Main()
 
 Dim fs As New Fstab
 Dim p As Pointer
 
 While True
   p = getfsent()
   If p == 0 Then Exit
   fs = p
   With fs 
     Print "Dispositivo:        ", String@(.fs_spec)
     Print "Punto di montaggio: ", String@(.fs_file)
     Print "Tipo di filesystem: ", String@(.fs_vfstype)
     Print "Opzioni montaggio:  ", String@(.fs_mntops)
     Print "Tipo di montaggio:  ", String@(.fs_type)
     Print "Uso comando Dump:   ", .fs_freq
     Print "Ordine di Controllo:", .fs_passno
   End With
   Print
 Wend
 
End


Leggere il file /etc/fstab mediante le risorse della libreria libMonoPosixHelper.so

Analogamente al paragrafo precedente, è possibile accedere al file /etc/fstab mediante le risorse della libreria: libMonoPosixHelper.so .

Mostriamo di seguito un semplice esempio pratico:

Library "libMonoPosixHelper"

Public Struct fstab
  fs_spec As Pointer
  fs_file As Pointer
  fs_vfstype As Pointer
  fs_mntops As Pointer
  fs_type As Pointer
  fs_freq As Integer
  fs_passno As Integer
End Struct

' struct fstab *getfsent (void)
' Parses the next line from the file.
Private Extern getfsent() As Pointer
 

Public Sub Main()
 
 Dim fs As New Fstab
 Dim p As Pointer

 While True
   p = getfsent()
   If p == 0 Then Exit
   fs = p
   With fs 
     Print "Dispositivo:        ", String@(.fs_spec)
     Print "Punto di montaggio: ", String@(.fs_file)
     Print "Tipo di filesystem: ", String@(.fs_vfstype)
     Print "Opzioni montaggio:  ", String@(.fs_mntops)
     Print "Tipo di montaggio:  ", String@(.fs_type)
     Print "Uso comando Dump:   ", .fs_freq
     Print "Ordine di Controllo:", .fs_passno
   End With
   Print
 Wend

End


Riferimenti