]> glassweightruler.freedombox.rocks Git - Ventoy.git/blob - Vlnk/src/vlnk.h
Correct some spelling and grammar in BuildVentoyFromSource.txt (#2491)
[Ventoy.git] / Vlnk / src / vlnk.h
1
2 #ifndef __VLNK_H__
3 #define __VLNK_H__
4
5 #define VLNK_FILE_LEN 32768
6
7 #define VLNK_NAME_MAX 384
8
9 #define VENTOY_GUID { 0x77772020, 0x2e77, 0x6576, { 0x6e, 0x74, 0x6f, 0x79, 0x2e, 0x6e, 0x65, 0x74 }}
10
11 #pragma pack(1)
12
13 typedef struct ventoy_guid
14 {
15 uint32_t data1;
16 uint16_t data2;
17 uint16_t data3;
18 uint8_t data4[8];
19 }ventoy_guid;
20
21 typedef struct ventoy_vlnk
22 {
23 ventoy_guid guid; // VENTOY_GUID
24 uint32_t crc32; // crc32
25 uint32_t disk_signature;
26 uint64_t part_offset; // in bytes
27 char filepath[VLNK_NAME_MAX];
28 uint8_t reserverd[96];
29 }ventoy_vlnk;
30 #pragma pack()
31
32 uint32_t ventoy_getcrc32c (uint32_t crc, const void *buf, int size);
33 int ventoy_create_vlnk(uint32_t disksig, uint64_t partoffset, const char *path, ventoy_vlnk *vlnk);
34 int CheckVlnkData(ventoy_vlnk *vlnk);
35 int IsSupportedImgSuffix(char *suffix);
36
37 #endif
38