From 9382f127ccebdd59917c97c61d008ed0e127cd75 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Sat, 28 Nov 2009 13:11:51 +0100 Subject: Engine and VFS API cleanup Also enable symlink resolving by default. --- common/vfs_types.h | 162 ----------------------------------------------------- 1 file changed, 162 deletions(-) delete mode 100644 common/vfs_types.h (limited to 'common/vfs_types.h') diff --git a/common/vfs_types.h b/common/vfs_types.h deleted file mode 100644 index 49c62e9..0000000 --- a/common/vfs_types.h +++ /dev/null @@ -1,162 +0,0 @@ -/* Tux Commander VFS: Virtual File System types and definitions - * - prototypes functions and types - * draft version 3 - * - * Copyright (C) 2003 Radek Cervinka - * Copyright (C) 2008 Tomas Bzatek - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __VFS_TYPES_H__ -#define __VFS_TYPES_H__ - - -#include -#include -#include - -typedef int TVFSResult; - -/* Compatible with gio/GAskPasswordFlags */ -typedef enum { - VFS_ASK_PASSWORD_NEED_PASSWORD = 1<<0, - VFS_ASK_PASSWORD_NEED_USERNAME = 1<<1, - VFS_ASK_PASSWORD_NEED_DOMAIN = 1<<2, - VFS_ASK_PASSWORD_SAVING_SUPPORTED = 1<<3, - VFS_ASK_PASSWORD_ANONYMOUS_SUPPORTED = 1<<4, - VFS_ASK_PASSWORD_SAVE_INTERNAL = 1<<14, - VFS_ASK_PASSWORD_ARCHIVE_MODE = 1<<15 -} TVFSAskPasswordFlags; - -/* Compatible with gio/GPasswordSave */ -typedef enum { - VFS_PASSWORD_SAVE_NEVER, - VFS_PASSWORD_SAVE_FOR_SESSION, - VFS_PASSWORD_SAVE_PERMANENTLY -} TVFSPasswordSave; - - -typedef void (* TVFSLogFunc)(const char *s); -typedef void *TVFSFileDes; - - -/* Return FALSE to break the operation */ -typedef int (* TVFSProgressCallback) - (u_int64_t position, - u_int64_t max, - void *user_data); - -/* Return index of the choice selected or negative number when dialog has been cancelled */ -typedef void (* TVFSAskQuestionCallback) - (const char *message, - const char **choices, - int *choice, - int cancel_choice, - void *user_data); - -typedef int (* TVFSAskPasswordCallback) - (const char *message, - const char *default_user, - const char *default_domain, - const char *default_password, - TVFSAskPasswordFlags flags, - char **username, - char **password, - int *anonymous, - char **domain, - TVFSPasswordSave *password_save, - void *user_data); - - -static const int cVFSVersion = 5; // current version of the VFS API - -// Capabilities -static const int capVFS_nil = 0; -static const int capVFS_List = 1 << 0; -static const int capVFS_CopyOut = 1 << 1; -static const int capVFS_CopyIn = 1 << 2; -static const int capVFS_MkDir = 1 << 3; -static const int capVFS_RmDir = 1 << 4; -static const int capVFS_Multiple = 1 << 5; // support multiple files = background copy & thread safe -static const int capVFS_Delete = 1 << 6; -static const int capVFS_Rename = 1 << 7; -static const int capVFS_Execute = 1 << 8; -static const int capVFS_Append = 1 << 9; - -// Error codes (TVFSResult) -enum { - cVFS_OK = 0, - cVFS_Failed = 1, // also No such file - cVFS_Cancelled = 2, - cVFS_Not_Supported = 3, - cVFS_No_More_Files = 4, - cVFS_ReadErr = 5, - cVFS_WriteErr = 6, // also Readonly FileSystem - cVFS_LoginFailed = 7, - cVFS_PermissionDenied = 8, - cVFS_NoSpaceLeft = 9, - cVFS_mallocFailed = 10, - cVFS_BadPassword = 11, - cVFS_MissingVolume = 12, - cVFS_CorruptedArchive = 13 -}; - - -// Open modes -enum { - cVFS_OpenRead, - cVFS_OpenWrite, - cVFS_OpenAppend -}; - - -// Item Type enum -enum TVFSItemType { - vRegular = 0, - vSymlink = 1, - vChardev = 2, - vBlockdev = 3, - vDirectory = 4, - vFifo = 5, - vSock = 6, - vOther = 7 -}; - - -struct TVFSItem { - char *FName; - char *FDisplayName; // valid UTF-8 string - int64_t iSize; - int64_t iPackedSize; // set to -1 if plugin doesn't support this feature - __time_t m_time; // numbers should be located before the other variables (bug?) - __time_t a_time; - __time_t c_time; - __mode_t iMode; - char *sLinkTo; - __uid_t iUID; - __gid_t iGID; - enum TVFSItemType ItemType; -}; - -struct TVFSInfo { - char *ID; // unique identifier, not shown in GUI - char *Name; // plugin name, GUI string (UTF-8) - char *About; // GUI string (UTF-8) - char *Copyright; // GUI string (UTF-8) -}; - - -#endif /* __VFS_TYPES_H__ */ -- cgit v1.2.3