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"
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 */
41gboolean
42xmms_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}
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
#define xmms_log_error(fmt,...)
Definition: xmms_log.h:35