]> glassweightruler.freedombox.rocks Git - Ventoy.git/blob - vtoycli/fat_io_lib/release/example.c
update grub2 mod file
[Ventoy.git] / vtoycli / fat_io_lib / release / example.c
1 #include <stdio.h>
2 #include "fat_filelib.h"
3
4 int media_init()
5 {
6 // ...
7 return 1;
8 }
9
10 int media_read(unsigned long sector, unsigned char *buffer, unsigned long sector_count)
11 {
12 unsigned long i;
13
14 for (i=0;i<sector_count;i++)
15 {
16 // ...
17 // Add platform specific sector (512 bytes) read code here
18 //..
19
20 sector ++;
21 buffer += 512;
22 }
23
24 return 1;
25 }
26
27 int media_write(unsigned long sector, unsigned char *buffer, unsigned long sector_count)
28 {
29 unsigned long i;
30
31 for (i=0;i<sector_count;i++)
32 {
33 // ...
34 // Add platform specific sector (512 bytes) write code here
35 //..
36
37 sector ++;
38 buffer += 512;
39 }
40
41 return 1;
42 }
43
44 void main()
45 {
46 FL_FILE *file;
47
48 // Initialise media
49 media_init();
50
51 // Initialise File IO Library
52 fl_init();
53
54 // Attach media access functions to library
55 if (fl_attach_media(media_read, media_write) != FAT_INIT_OK)
56 {
57 printf("ERROR: Media attach failed\n");
58 return;
59 }
60
61 // List root directory
62 fl_listdirectory("/");
63
64 // Create File
65 file = fl_fopen("/file.bin", "w");
66 if (file)
67 {
68 // Write some data
69 unsigned char data[] = { 1, 2, 3, 4 };
70 if (fl_fwrite(data, 1, sizeof(data), file) != sizeof(data))
71 printf("ERROR: Write file failed\n");
72 }
73 else
74 printf("ERROR: Create file failed\n");
75
76 // Close file
77 fl_fclose(file);
78
79 // Delete File
80 if (fl_remove("/file.bin") < 0)
81 printf("ERROR: Delete file failed\n");
82
83 // List root directory
84 fl_listdirectory("/");
85
86 fl_shutdown();
87 }