diff options
author | Leandro A. F. Pereira <leandro@hardinfo.org> | 2006-05-22 12:11:05 +0000 |
---|---|---|
committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2006-05-22 12:11:05 +0000 |
commit | ccfcc4622733b446d103146acb704ab73fbfbfe4 (patch) | |
tree | 5f2496b74bc9c579c7ebe8b05487c5cf54e40275 | |
parent | d056982a830fbebe98966876697ec724d01c14a6 (diff) |
Add NFS shares information
-rw-r--r-- | hardinfo2/arch/linux/common/nfs.h | 26 | ||||
-rw-r--r-- | hardinfo2/arch/linux/common/samba.h | 16 | ||||
l--------- | hardinfo2/arch/linux/m68k/nfs.h | 1 | ||||
l--------- | hardinfo2/arch/linux/mips/nfs.h | 1 | ||||
l--------- | hardinfo2/arch/linux/parisc/nfs.h | 1 | ||||
l--------- | hardinfo2/arch/linux/ppc/nfs.h | 1 | ||||
l--------- | hardinfo2/arch/linux/sparc/nfs.h | 1 | ||||
l--------- | hardinfo2/arch/linux/x86/nfs.h | 1 | ||||
-rw-r--r-- | hardinfo2/computer.c | 8 |
9 files changed, 46 insertions, 10 deletions
diff --git a/hardinfo2/arch/linux/common/nfs.h b/hardinfo2/arch/linux/common/nfs.h new file mode 100644 index 00000000..675bc851 --- /dev/null +++ b/hardinfo2/arch/linux/common/nfs.h @@ -0,0 +1,26 @@ +static gchar *nfs_shares_list = NULL; +void +scan_nfs_shared_directories(void) +{ + FILE *exports; + gchar buf[512]; + + if (nfs_shares_list) { + g_free(nfs_shares_list); + } + + nfs_shares_list = g_strdup(""); + + exports = fopen("/etc/exports", "r"); + while (fgets(buf, 512, exports)) { + if (buf[0] != '/') + continue; + + strend(buf, ' '); + strend(buf, '\t'); + + nfs_shares_list = g_strconcat(nfs_shares_list, buf, "=\n", NULL); + } + fclose(exports); +} + diff --git a/hardinfo2/arch/linux/common/samba.h b/hardinfo2/arch/linux/common/samba.h index 538659a6..9da8518b 100644 --- a/hardinfo2/arch/linux/common/samba.h +++ b/hardinfo2/arch/linux/common/samba.h @@ -16,9 +16,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -static gchar *shares_list = NULL; +static gchar *smb_shares_list = NULL; void -scan_shared_directories(void) +scan_samba_shared_directories(void) { GKeyFile *keyfile; GError *error = NULL; @@ -26,14 +26,14 @@ scan_shared_directories(void) gchar *smbconf; gsize length; - if (shares_list) { - g_free(shares_list); + if (smb_shares_list) { + g_free(smb_shares_list); } keyfile = g_key_file_new(); if (!g_file_get_contents("/etc/samba/smb.conf", &smbconf, &length, &error)) { - shares_list = g_strdup("Cannot open /etc/samba/smb.conf=\n"); + smb_shares_list = g_strdup("Cannot open /etc/samba/smb.conf=\n"); g_error_free(error); goto cleanup; } @@ -43,12 +43,12 @@ scan_shared_directories(void) if (*_smbconf == ';') *_smbconf = '\0'; if (!g_key_file_load_from_data(keyfile, smbconf, length, 0, &error)) { - shares_list = g_strdup("Cannot parse smb.conf=\n"); + smb_shares_list = g_strdup("Cannot parse smb.conf=\n"); g_error_free(error); goto cleanup; } - shares_list = g_strdup(""); + smb_shares_list = g_strdup(""); groups = g_key_file_get_groups(keyfile, NULL); gchar **_groups = groups; @@ -60,7 +60,7 @@ scan_shared_directories(void) if (g_str_equal(available, "yes")) { gchar *path = g_key_file_get_string(keyfile, *groups, "path", NULL); - shares_list = g_strconcat(shares_list, *groups, "=", + smb_shares_list = g_strconcat(smb_shares_list, *groups, "=", path, "\n", NULL); g_free(path); } diff --git a/hardinfo2/arch/linux/m68k/nfs.h b/hardinfo2/arch/linux/m68k/nfs.h new file mode 120000 index 00000000..3d1048da --- /dev/null +++ b/hardinfo2/arch/linux/m68k/nfs.h @@ -0,0 +1 @@ +../../linux/common/nfs.h
\ No newline at end of file diff --git a/hardinfo2/arch/linux/mips/nfs.h b/hardinfo2/arch/linux/mips/nfs.h new file mode 120000 index 00000000..3d1048da --- /dev/null +++ b/hardinfo2/arch/linux/mips/nfs.h @@ -0,0 +1 @@ +../../linux/common/nfs.h
\ No newline at end of file diff --git a/hardinfo2/arch/linux/parisc/nfs.h b/hardinfo2/arch/linux/parisc/nfs.h new file mode 120000 index 00000000..3d1048da --- /dev/null +++ b/hardinfo2/arch/linux/parisc/nfs.h @@ -0,0 +1 @@ +../../linux/common/nfs.h
\ No newline at end of file diff --git a/hardinfo2/arch/linux/ppc/nfs.h b/hardinfo2/arch/linux/ppc/nfs.h new file mode 120000 index 00000000..3d1048da --- /dev/null +++ b/hardinfo2/arch/linux/ppc/nfs.h @@ -0,0 +1 @@ +../../linux/common/nfs.h
\ No newline at end of file diff --git a/hardinfo2/arch/linux/sparc/nfs.h b/hardinfo2/arch/linux/sparc/nfs.h new file mode 120000 index 00000000..3d1048da --- /dev/null +++ b/hardinfo2/arch/linux/sparc/nfs.h @@ -0,0 +1 @@ +../../linux/common/nfs.h
\ No newline at end of file diff --git a/hardinfo2/arch/linux/x86/nfs.h b/hardinfo2/arch/linux/x86/nfs.h new file mode 120000 index 00000000..3d1048da --- /dev/null +++ b/hardinfo2/arch/linux/x86/nfs.h @@ -0,0 +1 @@ +../../linux/common/nfs.h
\ No newline at end of file diff --git a/hardinfo2/computer.c b/hardinfo2/computer.c index f672f0e3..e2ee3ee6 100644 --- a/hardinfo2/computer.c +++ b/hardinfo2/computer.c @@ -71,6 +71,7 @@ static GHashTable *moreinfo = NULL; #include <arch/this/os.h> #include <arch/this/filesystem.h> #include <arch/this/samba.h> +#include <arch/this/nfs.h> #include <arch/this/sensors.h> #include <arch/this/net.h> #include <arch/common/users.h> @@ -111,7 +112,8 @@ computer_get_info(void) scan_filesystems(); shell_status_update("Getting shared directories..."); - scan_shared_directories(); + scan_samba_shared_directories(); + scan_nfs_shared_directories(); shell_status_update("Reading sensors..."); read_sensors(); @@ -219,7 +221,9 @@ hi_info(gint entry) "%s", sensors); case COMPUTER_SHARES: return g_strdup_printf("[SAMBA]\n" - "%s", shares_list); + "%s\n" + "[NFS]\n" + "%s", smb_shares_list, nfs_shares_list); case COMPUTER_FILESYSTEMS: return g_strdup_printf("[$ShellParam$]\n" "ViewType=1\n" |