CS350 COS
COS
Loading...
Searching...
No Matches
bufcache.h
Go to the documentation of this file.
1
2
#ifndef __SYS_BUFCACHE_H__
3
#define __SYS_BUFCACHE_H__
4
5
#include <sys/queue.h>
6
7
typedef
struct
BufCacheEntry
{
8
Disk
*
disk
;
9
uint64_t
diskOffset
;
10
uint64_t
refCount
;
11
void
*
buffer
;
12
TAILQ_ENTRY
(
BufCacheEntry
) htEntry;
13
TAILQ_ENTRY
(
BufCacheEntry
) lruEntry;
14
}
BufCacheEntry
;
15
16
void
BufCache_Init
();
17
int
BufCache_Alloc
(
Disk
*disk,
uint64_t
diskOffset
,
BufCacheEntry
**entry);
18
void
BufCache_Release
(
BufCacheEntry
*entry);
19
int
BufCache_Read
(
Disk
*disk,
uint64_t
diskOffset
,
BufCacheEntry
**entry);
20
int
BufCache_Write
(
BufCacheEntry
*entry);
21
22
#endif
/* __SYS_BUFCACHE_H__ */
23
BufCache_Write
int BufCache_Write(BufCacheEntry *entry)
Definition:
bufcache.c:273
BufCache_Init
void BufCache_Init()
BufCache_Read
int BufCache_Read(Disk *disk, uint64_t diskOffset, BufCacheEntry **entry)
Definition:
bufcache.c:229
BufCache_Release
void BufCache_Release(BufCacheEntry *entry)
Definition:
bufcache.c:205
BufCache_Alloc
int BufCache_Alloc(Disk *disk, uint64_t diskOffset, BufCacheEntry **entry)
Definition:
bufcache.c:178
diskOffset
uint64_t diskOffset
Definition:
newfs_o2fs.c:28
BufCacheEntry
Definition:
bufcache.h:7
BufCacheEntry::buffer
void * buffer
Definition:
bufcache.h:11
BufCacheEntry::TAILQ_ENTRY
TAILQ_ENTRY(BufCacheEntry) lruEntry
BufCacheEntry::disk
Disk * disk
Definition:
bufcache.h:8
BufCacheEntry::diskOffset
uint64_t diskOffset
Definition:
bufcache.h:9
BufCacheEntry::TAILQ_ENTRY
TAILQ_ENTRY(BufCacheEntry) htEntry
BufCacheEntry::refCount
uint64_t refCount
Definition:
bufcache.h:10
Disk
Definition:
disk.h:11
uint64_t
unsigned long uint64_t
Definition:
types.h:13
sys
include
bufcache.h
Generated by
1.9.6