aboutsummaryrefslogtreecommitdiff
path: root/axe.h
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2022-08-29 16:11:13 -0400
committerB. Watson <urchlay@slackware.uk>2022-08-29 16:11:13 -0400
commite2ba8458a5cfdfacfaf103e7ba97d610afa6c970 (patch)
treecd665e602e6e2b636578a7d3d7894380605dafcc /axe.h
downloadbw-atari8-tools-e2ba8458a5cfdfacfaf103e7ba97d610afa6c970.tar.gz
initial commit
Diffstat (limited to 'axe.h')
-rw-r--r--axe.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/axe.h b/axe.h
new file mode 100644
index 0000000..1301d0c
--- /dev/null
+++ b/axe.h
@@ -0,0 +1,52 @@
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <dirent.h>
+
+extern char *optarg;
+extern int optind, optopt, opterr;
+
+/* struct atari_dirent {
+ unsigned char flag; // bit 7=deleted 6=normal 5=locked 0=open4write
+ unsigned char countlo;
+ unsigned char counthi;
+ unsigned char startlo;
+ unsigned char starthi;
+ char namelo[8];
+ char namehi[3];
+};
+*/
+
+#define TF_PRINT 1
+#define TF_DELETE 2
+
+int load_disk(unsigned char *disk, char *);
+int write_disk(unsigned char *disk, char *);
+
+int get_confirm(char *);
+void usage(char *);
+void print_entry(unsigned char *buf);
+/*void dump_links(unsigned char *disk,unsigned char *ent);*/
+void traverse_file(unsigned char *disk, unsigned char *ent, int ACTION);
+void dump_file(unsigned char *disk, unsigned char *ent, char *);
+int parse_filename(char *filename, char *result);
+int make_filename(char *filename, char *result);
+int make_dir(char *filename);
+void dump_sector(unsigned char *disk, int);
+void read_sector(unsigned char *disk, int, unsigned char *buf);
+void write_sector(unsigned char *disk, int, unsigned char *buf);
+void write_blank_disk(char *filename);
+void write_file(unsigned char *disk, char *filename);
+/*int check_dir(unsigned char *disk,char *filename);*/
+int get_dentry(unsigned char *disk);
+int get_free_sector(unsigned char *disk);
+void mark_used(unsigned char *vtoc_sector, int sector);
+void mark_free(unsigned char *vtoc_sector, int sector);
+int vtoc_byte(int sector);
+int vtoc_bit(int sector);