00001
00008
00009
00010
00011
00012 #ifndef __L4VFS_INCLUDE_VOLUMES_H_
00013 #define __L4VFS_INCLUDE_VOLUMES_H_
00014
00015 #include <l4/sys/compiler.h>
00016 #include <l4/l4vfs/types.h>
00017
00018 #define NAME_SERVER_MAX_VOLUMES 32
00019
00020 typedef struct
00021 {
00022 volume_id_t volume_id;
00023 l4_threadid_t server_id;
00024 } volume_entry_t;
00025
00026 extern volume_entry_t volume_entries[NAME_SERVER_MAX_VOLUMES];
00027
00028 EXTERN_C_BEGIN
00029
00030 void init_volume_entries(void);
00031 l4_threadid_t server_for_volume(volume_id_t volume_id);
00032 int index_for_volume(volume_id_t volume_id);
00033 int insert_volume_server(volume_id_t volume_id, l4_threadid_t server_id);
00034 int remove_volume_server(volume_id_t volume_id, l4_threadid_t server_id);
00035 int first_empty_volume_entry(void);
00036 int vol_resolve_thread_for_volume_id(volume_id_t v_id, l4_threadid_t * srv);
00037
00038 EXTERN_C_END
00039
00040 #endif