1/* ntfsdir.h - directory functions 2 * 3 * Copyright (c) 2006 Troeglazov Gerasim (3dEyes**) 4 * 5 * This program/include file is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License as published 7 * by the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program/include file is distributed in the hope that it will be 11 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty 12 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program (in the main directory of the Linux-NTFS 17 * distribution in the file COPYING); if not, write to the Free Software 18 * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 */ 20#ifndef NTFSDIR_H 21#define NTFSDIR_H 22 23 24#include "ntfs.h" 25 26 27typedef struct cache_entry { 28 struct dirent *ent; 29 struct cache_entry *next; 30} cache_entry; 31 32 33typedef struct dircookie { 34 u64 pos; 35 dev_t dev_id; 36 BOOL show_sys_files; 37 cache_entry *cache_root; 38 cache_entry *entry; 39} dircookie; 40 41 42status_t fs_closedir(fs_volume *volume, fs_vnode *vnode, void *cookie); 43status_t fs_free_dircookie(fs_volume *volume, fs_vnode *vnode, void *cookie); 44status_t fs_opendir(fs_volume *volume, fs_vnode *vnode, void** cookie); 45status_t fs_readdir(fs_volume *volume, fs_vnode *vnode, void *_cookie, 46 struct dirent *buf, size_t bufsize, uint32 *num ); 47status_t fs_rewinddir(fs_volume *volume, fs_vnode *vnode, void *cookie); 48 49void fs_ntfs_update_times(fs_volume *vol, ntfs_inode *ni, 50 ntfs_time_update_flags mask); 51 52#endif // NTFSDIR_H 53 54