Leggere il file fstab per avere informazioni sui vari filesystem montati
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