* 03-jun 2005 (eric williams) entered into versioning
*/
+
+/* this is based on BUF_FILEHASH, but we were not getting unique hashes */
+#define FID_HASH_FN(fidp) ((((fidp)->vnode + \
+ ((fidp)->unique << 13) + ((fidp)->unique >> (32-13)) + \
+ (fidp)->volume + \
+ (fidp)->cell)))
+
+
+/* dirent information */
+struct readdir_data
+ {
+ LARGE_INTEGER cookie;
+ long offset;
+ LARGE_INTEGER creation, access, write, change, size;
+ ULONG attribs, name_length; /* chars */
+ CCHAR short_name_length; /* chars */
+ WCHAR short_name[14];
+ WCHAR name[];
+ };
+typedef struct readdir_data readdir_data_t;
+
+
/* error codes */
#define IFSL_SUCCESS_BASE 0x00000000
#define IFSL_FAIL_BASE 0x80000000
#define IFSL_NOT_EMPTY (IFSL_FAIL_BASE + 22)
#define IFSL_RPC_TIMEOUT (IFSL_FAIL_BASE + 23)
#define IFSL_OVERQUOTA (IFSL_FAIL_BASE + 24)
-#define IFSL_UNSPEC (IFSL_FAIL_BASE + 25)
+#define IFSL_MEMORY (IFSL_FAIL_BASE + 25)
+#define IFSL_UNSPEC (IFSL_FAIL_BASE + 26)
/* ioctl codes */
uc_trunc(ULONG fid, LARGE_INTEGER size);
uc_read(ULONG fid, LARGE_INTEGER offset, ULONG length, ULONG *read, char *data);
uc_write(ULONG fid, LARGE_INTEGER offset, ULONG length, ULONG *written, char *data);
-/*#ifdef RPC_KERN
-uc_read_mdl(ULONG fid, LARGE_INTEGER offset, ULONG length, ULONG *read, MDL *data);
-uc_write_mdl(ULONG fid, LARGE_INTEGER offset, ULONG length, ULONG *written, MDL *mdl);
-#endif*/
uc_readdir(ULONG fid, LARGE_INTEGER cookie_in, WCHAR *filter, ULONG *count, char *data, ULONG *len);
uc_close(ULONG fid);
uc_unlink(WCHAR *name);
uc_ioctl_write(ULONG length, char *data, ULONG *key);
uc_ioctl_read(ULONG key, ULONG *length, char *data);
uc_rename(ULONG fid, WCHAR *curr, WCHAR *new_dir, WCHAR *new_name, ULONG *new_fid);
+uc_flush(ULONG fid);
+
/* downcalls */
dc_break_callback(ULONG fid);
+dc_release_hooks();