+int copyFile(char *filename_from, char *filename_to)
+{
+ File *file_from, *file_to;
+
+ if ((file_from = openFile(filename_from, MODE_READ)) == NULL)
+ {
+ return -1;
+ }
+
+ if ((file_to = openFile(filename_to, MODE_WRITE)) == NULL)
+ {
+ closeFile(file_from);
+
+ return -1;
+ }
+
+ while (!checkEndOfFile(file_from))
+ {
+ byte buffer[MAX_BUFFER_SIZE];
+ size_t bytes_read = readFile(file_from, buffer, 1, MAX_BUFFER_SIZE);
+
+ writeFile(file_to, buffer, 1, bytes_read);
+ }
+
+ closeFile(file_from);
+ closeFile(file_to);
+
+ return 0;
+}
+