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

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Il file di configurazione di sistema "''/etc/fstab''" contiene informazioni relative ai vari tipi di ''filesystem'' presenti nel sistema. ==Leggere il file ''/etc/fstab'' me...")
 
 
(7 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
 
Il file di configurazione di sistema "''/etc/fstab''" contiene informazioni relative ai vari tipi di ''filesystem'' presenti nel sistema.
 
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 fs, ss, tt As String[]
 +
  Dim fstab As String
 +
  Dim b, c As Byte
 +
 +
  fs = ["<file system>", "<mount point>", "<type>", "<options>", "<dump>", "<pass>"]
 +
 +
  fstab = Trim(File.Load("/etc/fstab"))
 +
 +
  ss = Split(fstab, "\n")
 +
 +
  For b = 0 To ss.Max
 +
    If ss[b] Not Begins "#" Then
 +
      tt = Scan(ss[b], "* * * * * *")
 +
      For c = 0 To tt.Max
 +
        Print "\e[31m"; fs[c]; "\e[0m  "; tt[c]
 +
      Next
 +
      Print
 +
    Endif
 +
  Next
 +
 +
End
  
==Leggere il file ''/etc/fstab'' mediante le risorse della libreria ''libMonoPosixHelper.so''==
+
 
E' possibile accedere al file ''/etc/fstab'', e dunque alle informazioni di sistema in esso contenute, mediante le risorse della libreria: ''libMonoPosixHelper.so'' .
+
==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:
 
Mostriamo di seguito un semplice esempio pratico:
  Library "libMonoPosixHelper"
+
  Library "libc:6"
 
   
 
   
  Public Struct Fstab
+
  Public Struct fstab
 
   fs_spec As Pointer
 
   fs_spec As Pointer
 
   fs_file As Pointer
 
   fs_file As Pointer
Riga 21: Riga 48:
 
  ' ''Parses the next line from the file.''</font>
 
  ' ''Parses the next line from the file.''</font>
 
  Private Extern getfsent() As Pointer
 
  Private Extern getfsent() As Pointer
 +
 
 
   
 
   
  <FONT Color=gray>' ''void endfsent(void)''
+
  Public Sub Main()
' ''Closes the file when required.''</font>
 
Private Extern endfsent()
 
 
 
'''Public''' Sub Main()
 
 
    
 
    
 
   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)
 +
      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
+
End
      Print "Dispositivo:        ", String@(.fs_spec)
+
 
      Print "Punto di montaggio: ", String@(.fs_file)
+
 
      Print "Tipo di filesystem: ", String@(.fs_vfstype)
+
==Leggere il file ''/etc/fstab'' mediante le risorse della libreria ''libMonoPosixHelper.so''==
      Print "Opzioni montaggio:  ", String@(.fs_mntops)
+
Analogamente al paragrafo precedente, è possibile accedere al file ''/etc/fstab'' mediante le risorse della libreria: ''libMonoPosixHelper.so'' .
      Print "Tipo di montaggio: ", String@(.fs_type)
+
 
      Print "Uso comando Dump:  ", .fs_freq
+
Mostriamo di seguito un semplice esempio pratico:
      Print "Ordine di Controllo:", .fs_passno
+
Library "libMonoPosixHelper"
    End With
+
   
    Print
+
Public Struct fstab
    
+
  fs_spec As Pointer
   Wend
+
  fs_file As Pointer
    
+
  fs_vfstype As Pointer
   endfsent()
+
   fs_mntops As Pointer
 +
   fs_type As Pointer
 +
   fs_freq As Integer
 +
   fs_passno As Integer
 +
End Struct
 +
 +
<FONT Color=gray>' ''struct fstab *getfsent (void)''
 +
' ''Parses the next line from the file.''</font>
 +
Private Extern getfsent() As Pointer
 
    
 
    
  '''End'''
+
   
 +
Public Sub Main()
 +
 
 +
  Dim fs As New Fstab
 +
  Dim p As Pointer
 +
 +
  Do
 +
    p = getfsent()
 +
    If p == 0 Then Break
 +
    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
 +
  Loop
 +
 +
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 attuale delle 17:14, 14 gen 2024

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 fs, ss, tt As String[]
 Dim fstab As String
 Dim b, c As Byte

 fs = ["<file system>", "<mount point>", "<type>", "<options>", "<dump>", "<pass>"]

 fstab = Trim(File.Load("/etc/fstab"))

 ss = Split(fstab, "\n")

 For b = 0 To ss.Max
   If ss[b] Not Begins "#" Then 
     tt = Scan(ss[b], "* * * * * *")
     For c = 0 To tt.Max
       Print "\e[31m"; fs[c]; "\e[0m  "; tt[c]
     Next
     Print
   Endif
 Next

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

 Do
   p = getfsent()
   If p == 0 Then Break
   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
 Loop

End


Riferimenti