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

Da Gambas-it.org - Wikipedia.
Riga 30: Riga 30:
 
     Endif
 
     Endif
 
      
 
      
 +
  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
 +
 +
<FONT Color=gray>' ''struct fstab *getfsent (void)''
 +
' ''Parses the next line from the file.''</font>
 +
Private Extern getfsent() As Pointer
 +
 
 +
 +
'''Public''' Sub Main()
 +
 
 +
  Dim fs As New Fstab
 +
  Dim p As Pointer
 +
 
 +
  While True
 +
 
 +
    p = getfsent()
 +
    If IsNull(p) 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
 
   Wend
 
    
 
    
Riga 37: Riga 87:
  
 
==Leggere il file ''/etc/fstab'' mediante le risorse della libreria ''libMonoPosixHelper.so''==
 
==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'' .
+
Analogamente al paragrafo precedente, è possibile accedere al file ''/etc/fstab'' mediante le risorse della libreria: ''libMonoPosixHelper.so'' .
  
 
Mostriamo di seguito un semplice esempio pratico:
 
Mostriamo di seguito un semplice esempio pratico:
Riga 55: Riga 105:
 
  ' ''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)''
 
' ''Closes the file when required.''</font>
 
Private Extern endfsent()
 
 
 
   
 
   
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()
Riga 86: Riga 132:
 
   Wend
 
   Wend
 
    
 
    
  endfsent()
 
 
 
 
  '''End'''
 
  '''End'''
  

Versione delle 06:52, 22 dic 2015

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] Begins "#" Then
      ss.Remove(b)
    Else 
      Print ss[b]
      Print
      Inc b
    Endif
    
  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 IsNull(p) 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 IsNull(p) 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