X-Git-Url: http://git.jankratochvil.net/?a=blobdiff_plain;f=src%2Flibcaptive%2Finclude%2Fcaptive%2Fclient-directory.h;h=82f34aeac1e0ab705b29915163673e53051a933b;hb=a2dd38f86df22c46ae18f3ad7d9850eaacb02b92;hp=6b1049e604a24aafabcd56257116f55a369b0a76;hpb=bb768096ac86e6bba7bd523ea6267336b5b86422;p=captive.git diff --git a/src/libcaptive/include/captive/client-directory.h b/src/libcaptive/include/captive/client-directory.h index 6b1049e..82f34ae 100644 --- a/src/libcaptive/include/captive/client-directory.h +++ b/src/libcaptive/include/captive/client-directory.h @@ -23,9 +23,8 @@ #include #include -#include "reactos/ntos/types.h" /* for HANDLE */ -#include "reactos/ntos/zwtypes.h" /* for FILE_ID_BOTH_DIR_INFORMATION */ #include /* for GnomeVFSFileInfo */ +#include "captive/client-vfs.h" G_BEGIN_DECLS @@ -38,36 +37,15 @@ G_BEGIN_DECLS #define CAPTIVE_DIRECTORY_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj),CAPTIVE_DIRECTORY_TYPE_OBJECT,CaptiveDirectoryObjectClass)) typedef struct _CaptiveDirectoryObject CaptiveDirectoryObject; typedef struct _CaptiveDirectoryObjectClass CaptiveDirectoryObjectClass; -struct _CaptiveDirectoryObject { - GObject parent_instance; - /*< private >*/ - HANDLE dir_Handle; - gboolean read_first; - /* 'QueryDirectory_buf' for NtQueryDirectoryFile() must be persistent - * to keep the state if !read_first. - * Both types of 'QueryDirectory_buf' MUST NOT be 'union' as we convert - * them by copying one to other. - */ - struct { - char FileIdBothDirInformation[sizeof(FILE_ID_BOTH_DIR_INFORMATION) - +0x1000 /* max 'FileName' length, 255 should be enough */ * sizeof(WCHAR /* *FILE_ID_BOTH_DIR_INFORMATION.FileName */ )]; - char FileBothDirInformation[sizeof(FILE_BOTH_DIR_INFORMATION) - +0x1000 /* max 'FileName' length, 255 should be enough */ * sizeof(WCHAR /* *FILE_ID_BOTH_DIR_INFORMATION.FileName */ )]; - } QueryDirectory_buf; - enum { - CaptiveDirectoryObject_QueryDirectory_type_FileIdBothDirInformation, - CaptiveDirectoryObject_QueryDirectory_type_FileBothDirInformation, - } CaptiveDirectoryObject_QueryDirectory_type; - }; -struct _CaptiveDirectoryObjectClass { - GObjectClass parent_class; - }; GType captive_directory_object_get_type(void); -GnomeVFSResult captive_directory_new_open(CaptiveDirectoryObject **captive_directory_object_return,const gchar *pathname); -GnomeVFSResult captive_directory_new_make(CaptiveDirectoryObject **captive_directory_object_return,const gchar *pathname,guint perm); +GnomeVFSResult captive_directory_new_open(CaptiveDirectoryObject **captive_directory_object_return, + CaptiveVfsObject *captive_vfs_object,const gchar *pathname); +GnomeVFSResult captive_directory_new_make(CaptiveDirectoryObject **captive_directory_object_return, + CaptiveVfsObject *captive_vfs_object,const gchar *pathname,guint perm); +CaptiveVfsObject *captive_directory_ref_vfs(CaptiveDirectoryObject *captive_directory_object); GnomeVFSResult captive_directory_read(CaptiveDirectoryObject *captive_directory_object,GnomeVFSFileInfo *file_info); GnomeVFSResult captive_directory_remove(CaptiveDirectoryObject *captive_directory_object);