# HG changeset patch # User nenolod # Date 1163703201 28800 # Node ID 9f6c17f1cc93c53d1432f329162ee4e40697189c # Parent b067ca382dd015cf26e2207fa31bffc83a74092d [svn] - define VFSConstructor diff -r b067ca382dd0 -r 9f6c17f1cc93 ChangeLog --- a/ChangeLog Tue Nov 14 12:37:14 2006 -0800 +++ b/ChangeLog Thu Nov 16 10:53:21 2006 -0800 @@ -1,3 +1,11 @@ +2006-11-14 20:37:14 +0000 William Pitcock + revision [2923] + - reseek to 0 on a newvfs FD for each probe pass + + trunk/audacious/input.c | 2 ++ + 1 file changed, 2 insertions(+) + + 2006-11-13 02:41:41 +0000 Yoshiki Yazawa revision [2921] - in particular X environment, double size caused a bad match X error. diff -r b067ca382dd0 -r 9f6c17f1cc93 libaudacious/vfs.h --- a/libaudacious/vfs.h Tue Nov 14 12:37:14 2006 -0800 +++ b/libaudacious/vfs.h Thu Nov 16 10:53:21 2006 -0800 @@ -1,3 +1,22 @@ +/* + * Audacious + * Copyright (c) 2006 Audacious team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + #ifndef VFS_H #define VFS_H @@ -6,6 +25,23 @@ typedef struct _VFSFile VFSFile; +struct _VFSConstructor { + gchar *uri_id; + VFSFile *(*vfs_fopen_impl)(const gchar *path, + const gchar *mode); + gint (*vfs_fclose_impl)(VFSFile * file); + size_t (*vfs_fread_impl)(gpointer ptr, size_t size, + size_t nmemb, VFSFile *file); + gint (*vfs_ungetc_impl)(gint c, VFSFile *stream); + gint (*vfs_fseek_impl)(VFSFile *file, glong offset, gint whence); + void (*vfs_rewind_impl)(VFSFile *file); + glong (*vfs_ftell_impl)(VFSFile *file); + gboolean (*vfs_feof_impl)(VFSFile *file); + gboolean (*vfs_truncate_impl)(VFSFile *file, glong length); +}; + +typedef struct _VFSConstructor VFSConstructor; + G_BEGIN_DECLS /* Reserved for private use by BMP */