From 76017250df80f32bb1ac5e487cbc006a097121fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 2 Feb 2005 06:17:58 +0000 Subject: [PATCH] Added some more and better cache notifications. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11203 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/kernel/file_cache.h | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/headers/private/kernel/file_cache.h b/headers/private/kernel/file_cache.h index 7766320543..4e8918fb87 100644 --- a/headers/private/kernel/file_cache.h +++ b/headers/private/kernel/file_cache.h @@ -1,5 +1,5 @@ /* - * Copyright 2004, Axel Dörfler, axeld@pinc-software.de. + * Copyright 2004-2005, Axel Dörfler, axeld@pinc-software.de. * Distributed under the terms of the MIT License. */ #ifndef _KERNEL_FILE_CACHE_H @@ -19,19 +19,29 @@ #define CACHE_MODULES_NAME "file_cache" +#define FILE_CACHE_SEQUENTIAL_ACCESS 0x01 +#define FILE_CACHE_LOADED_COMPLETELY 0x02 +#define FILE_CACHE_NO_IO 0x04 + struct cache_module_info { module_info info; - void (*node_opened)(mount_id mountID, vnode_id vnodeID, off_t size); - void (*node_closed)(mount_id mountID, vnode_id vnodeID); + void (*node_opened)(void *vnode, int32 fdType, mount_id mountID, vnode_id parentID, + vnode_id vnodeID, const char *name, off_t size); + void (*node_closed)(void *vnode, int32 fdType, mount_id mountID, vnode_id vnodeID, + int32 accessType); + void (*node_launched)(size_t argCount, char * const *args); }; #ifdef __cplusplus extern "C" { #endif -extern void cache_node_opened(vm_cache_ref *cache, mount_id mountID, vnode_id vnodeID); -extern void cache_node_closed(vm_cache_ref *cache, mount_id mountID, vnode_id vnodeID); +extern void cache_node_opened(void *vnode, int32 fdType, vm_cache_ref *cache, + mount_id mountID, vnode_id parentID, vnode_id vnodeID, const char *name); +extern void cache_node_closed(void *vnode, int32 fdType, vm_cache_ref *cache, + mount_id mountID, vnode_id vnodeID); +extern void cache_node_launched(size_t argCount, char * const *args); extern void cache_prefetch(mount_id mountID, vnode_id vnodeID); extern status_t file_cache_init(void);