-
Notifications
You must be signed in to change notification settings - Fork 0
/
cache.h
33 lines (32 loc) · 943 Bytes
/
cache.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once
bool in_cache(char*fn, unsigned long offset, ULONG len);
long cache_read(char*fn, unsigned long offset, LPVOID buf, ULONG len, bool paging = false);
int cache_save(char*ftpdir, char*fn, unsigned long offset, unsigned long size, char*buffer);
bool cache_write(long offset, LPVOID buf, ULONG len, int*hits, bool unsaved);
unsigned long highcacheoffset(char*fn);
unsigned long seqcacheoffset(char*fn);
void cache_clear(void);
int cache_seq_reads(void);
void cache_list(void);
unsigned long nextcacheoffset(char*fn, unsigned long offset);
typedef struct
{
unsigned long offset;
unsigned long len;
LPVOID buf;
unsigned long changed;
DWORD lastaccessed;
bool unsaved;
DWORD opid;
int updates;
int hits;
char fn[255];
char ftppath[255];
unsigned long size;
unsigned long bufsize;
unsigned long fetchedsize;
unsigned long cacheleft;
bool nowcaching;
unsigned long nowcachingoffset;
unsigned long nowcachinglen;
}CACHE;