Powiązane rozszerzenia:
Dzięki Nikola Bozovic możemy dostarczyć Ci niemal pełną strukturę pliku formatu JCD. Ten format pliku jest zapisywany w wersji FlashGet 1.73 build 128.
Struktura formatu JCD
LEGENDA
UBYTE - bajt bez znaku (8 bitów)
UINT - int bez znaku (32 bity)
ArrayOf(TYPE) - tablica elementów TYPE
OleString - spakowany element łańcucha znaków o długości 1 bajt (8 bitów) jako N oraz N bajtów (znaków) następujących po nim
enum - bitfield (32 bity)
USHORT - short bez znaku (16 bitów)
CTime - data i czas spakowane jako mfc CTime (1/1/1970)
Struktura pliku
|
rozmiar w bajtach |
typ danych |
nazwa |
komentarz |
|---|---|---|---|
|
1 |
UBYTE |
Podpis |
0x48 |
|
4 |
UINT |
RecordsCount |
łączna liczba rekordów w db |
|
0+N |
ArrayOf(RCATEGORY lub RFILE) |
Records |
tablica rekordów |
Struktura RCATEGORY
|
rozmiar w bajtach |
typ danych |
nazwa |
komentarz |
|---|---|---|---|
|
4 |
UINT |
type |
definiuje typ rekordu (1, 5) |
|
4 |
UINT |
ID |
unikalny identyfikator rekordu |
|
4 |
UINT |
_u01 |
* nieznane |
|
4 |
UINT |
_u02 |
* nieznane |
|
4 |
UINT |
_u03 |
* nieznane |
|
4 |
UINT |
_u04 |
* nieznane |
|
4 |
UINT |
_u05 |
* nieznane |
|
1+N |
OleString |
Name |
Nazwa kategorii |
|
1+N |
OleString |
Path |
Ścieżka folderu kategorii |
Struktura RFILE
|
rozmiar w bajtach |
typ danych |
nazwa |
komentarz |
|---|---|---|---|
|
4 |
UINT |
type |
definiuje typ rekordu (2) |
|
4 |
UINT |
ID |
unikalny identyfikator rekordu |
|
4 |
UINT |
_u03 |
* nieznane (6) |
|
4 |
UINT |
_u04 |
* nieznane (2) |
|
4 |
UINT |
IDDirCurrent |
rejestry bieżącej kategorii |
|
4 |
UINT |
_u06 |
* nieznane (0) |
|
4 |
UINT |
_u07 |
* nieznane (79) |
|
1+N |
OleString |
Url |
adres URL pobierania pliku |
|
4 |
enum |
Flags |
bity flag [patrz *1] |
|
1+N |
OleString |
ServerUsername |
nazwa użytkownika logowania na serwer |
|
1+N |
OleString |
ServerPassword |
hasło logowania na serwer |
|
4 |
UINT |
IDDirTarget |
kategoria docelowa dla kompletnego pobrania |
|
1+N |
OleString |
Filename |
nazwa pliku do pobrania |
|
4 |
UINT |
NumOfCnn |
liczba połączeń |
|
1+N |
OleString |
Folder |
folder do pobrania |
|
1+N |
OleString |
Comment |
komentarz |
|
4 |
UINT |
_u11 |
* nieznane (1 / 65537) |
|
4 |
enum |
State |
1 - wstrzymane, 2 - rozpoczęte, 4 - ukończone, 8 - błąd |
|
4 |
INT |
FileSize |
rozmiar pliku z serwera, -1 dla nieznanego rozmiaru pliku |
|
1+N |
OleString? |
_s01 |
* nieznane (0) być może byte ? |
|
4 |
CTime |
FileDate |
data pliku pobrana z serwera |
|
4 |
CTime |
CreateTime |
czas utworzenia rekordu pliku |
|
4 |
CTime |
CompleteTime |
data ukończenia pobierania, data i czas ostatniego zapisu |
|
1+N |
OleString |
Referer |
referer URL |
|
4 |
UINT |
TotalTime |
całkowity czas w sekundach potrzebny na pobranie |
|
2 |
USHORT |
_us18 |
* nieznane (0) |
|
4 |
UINT |
AltUrlCount |
liczba alternatywnych adresów URL |
|
0+N |
ArrayOf(ALTURL) |
AltUrls |
tablica alternatywnych adresów URL (może mieć rozmiar równy zero) |
|
4 |
UINT |
JetCount |
liczba pobrań „jet” |
|
0+N |
ArrayOf(JETITEM) |
JetItems |
tablica elementów „jet” (może mieć rozmiar równy zero) |
|
4 |
UINT |
_u21 |
* nieznane (0) |
Struktura ALTURL
|
rozmiar w bajtach |
typ danych |
nazwa |
komentarz |
|---|---|---|---|
|
1+N |
OleString |
Url |
alternatywny adres URL |
|
4 |
UINT |
_u01 |
* nieznane (0) |
Struktura JETITEM
|
rozmiar w bajtach |
typ danych |
nazwa |
komentarz |
|---|---|---|---|
|
4 |
UINT |
start |
początek adresu pliku zakończonego pobierania „jet” |
|
4 |
UINT |
end |
koniec adresu pliku zakończonego pobierania „jet” |
// Bit field [*1]
[Flags]
public enum JCDFileFlags : uint
{
bit1 = 1, /* incoplete download */
bit2 = 2, /* incoplete download */
LoginToServer = 4,
bit4 = 8,
bit5 = 0x10,
bit6 = 0x20,
bit7 = 0x40,
bit8 = 0x80,
bit9 = 0x100, /* incoplete download */
bit10 = 0x200, /* incoplete download */
bit11 = 0x400,
FtpDownloadSubDirs = 0x800,
CreateSubDirsLocally = 0x1000,
CreateCategory = 0x2000,
bit15 = 0x4000,
bit16 = 0x8000,
bit17 = 0x10000,
bit18 = 0x20000,
bit19 = 0x40000,
bit20 = 0x80000,
bit21 = 0x100000,
bit22 = 0x200000,
bit23 = 0x400000,
bit24 = 0x800000,
bit25 = 0x1000000,
bit26 = 0x2000000,
bit27 = 0x4000000,
bit28 = 0x8000000,
bit29 = 0x10000000,
bit30 = 0x20000000,
bit31 = 0x40000000,
bit32 = 0x80000000
}