-O okey=val: offset into key (useful for block device keys, such as USB sticks).
[tfcrypt.git] / tfcrypt.h
index 5c68552ebeaa92cc5d6d1de7b01e8027e69576e0..bf0d6d66e82886e4ee03e8ea3b160026d262f78d 100644 (file)
--- a/tfcrypt.h
+++ b/tfcrypt.h
@@ -29,6 +29,9 @@
 #ifndef _TFCRYPT_H
 #define _TFCRYPT_H
 
+#ifndef _DEFAULT_SOURCE
+#define _DEFAULT_SOURCE
+#endif
 #ifndef _BSD_SOURCE
 #define _BSD_SOURCE
 #endif
@@ -136,12 +139,13 @@ extern tfc_fsize total_processed_src, total_processed_dst;
 extern tfc_fsize delta_processed;
 extern tfc_fsize genrandom_nr_bytes, genzero_nr_bytes;
 extern tfc_fsize rdpos;
+extern tfc_fsize maxkeylen, keyoffset;
 extern int sfd, kfd, dfd;
 extern struct stat s_stat;
 extern size_t blksize, xtsblocks;
 extern char pwdask[512], pwdagain[512];
 extern size_t lio, lrem, ldone, lblock;
-extern size_t maxkeylen, ctrsz;
+extern size_t ctrsz;
 extern struct sigaction sigact;
 extern size_t sksum_turns;
 extern int do_edcrypt, do_stop, quiet, error_action;
@@ -157,6 +161,9 @@ extern tfc_useconds status_timer, bench_timer;
 extern tfc_useconds current_time, delta_time;
 extern struct getpasswd_state getps;
 
+size_t xread(int fd, void *data, size_t szdata);
+size_t xwrite(int fd, const void *data, size_t szdata);
+
 void xerror(tfc_yesno noexit, tfc_yesno noerrno, tfc_yesno nostats, const char *fmt, ...);
 void xexit(int status);
 void usage(void);
@@ -194,7 +201,7 @@ void change_status_timer(int signal);
 void setup_next_alarm(tfc_useconds useconds);
 void skein(void *hash, size_t bits, const void *key, const void *data, size_t szdata);
 void tf_key_tweak_compat(void *key);
-tfc_yesno skeinfd(void *hash, size_t bits, const void *key, int fd, tfc_fsize readto);
+tfc_yesno skeinfd(void *hash, size_t bits, const void *key, int fd, tfc_fsize offset, tfc_fsize readto);
 
 void gen_write_bytes(const char *foutname, tfc_fsize offset, tfc_fsize nrbytes);
 void do_edbase64(char **fargv);