XMMS2
statfs_bsd.c
Go to the documentation of this file.
1 /* XMMS2 - X Music Multiplexer System
2  * Copyright (C) 2003-2011 XMMS2 Team
3  *
4  * PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  */
16 
17 
18 /** @file
19  * BSD statfs
20  */
21 
22 #include <stdio.h>
23 #include <unistd.h>
24 #include <stdlib.h>
25 #include <glib.h>
26 
27 
28 #include <sys/param.h>
29 #include <sys/mount.h>
30 
31 #include "xmms/xmms_log.h"
32 #include "xmmspriv/xmms_statfs.h"
33 
34 /**
35  * This function uses the statfs() call to
36  * check if the path is on a remote filesystem
37  * or not.
38  *
39  * @returns TRUE if path is on a remote filesystem
40  */
41 gboolean
42 xmms_statfs_is_remote (const gchar *path)
43 {
44  struct statfs st;
45 
46  if (statfs (path, &st) == -1) {
47  xmms_log_error ("Failed to run statfs, will not guess.");
48  return FALSE;
49  }
50 
51  if ((g_ascii_strcasecmp (st.f_fstypename, "nfs") == 0) ||
52  (g_ascii_strcasecmp (st.f_fstypename, "smb") == 0)) {
53  return TRUE;
54  }
55 
56  return FALSE;
57 }
#define xmms_log_error(fmt,...)
Definition: xmms_log.h:35
gboolean xmms_statfs_is_remote(const gchar *path)
This function uses the statfs() call to check if the path is on a remote filesystem or not...
Definition: statfs_bsd.c:42