00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <stdio.h>
00023 #include <unistd.h>
00024 #include <stdlib.h>
00025 #include <glib.h>
00026
00027
00028 #include <sys/param.h>
00029 #include <sys/mount.h>
00030
00031 #include "xmms/xmms_log.h"
00032 #include "xmmspriv/xmms_statfs.h"
00033
00034
00035
00036
00037
00038
00039
00040
00041 gboolean
00042 xmms_statfs_is_remote (const gchar *path)
00043 {
00044 struct statfs st;
00045
00046 if (statfs (path, &st) == -1) {
00047 xmms_log_error ("Failed to run statfs, will not guess.");
00048 return FALSE;
00049 }
00050
00051 if ((g_ascii_strcasecmp (st.f_fstypename, "nfs") == 0) ||
00052 (g_ascii_strcasecmp (st.f_fstypename, "smb") == 0)) {
00053 return TRUE;
00054 }
00055
00056 return FALSE;
00057 }