X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=tfcrypt.h;h=30e1a5108ffc4374c7827948d80a0e33e76c8806;hb=d659ac85a7c63b7833ab793be2f37fbc4ca7ba6b;hp=569e82ca76f6ba1d58a50827e7ae26b848f83287;hpb=cdd9119e29f2f865403303adb8b6004b863db968;p=tfcrypt.git diff --git a/tfcrypt.h b/tfcrypt.h index 569e82c..30e1a51 100644 --- a/tfcrypt.h +++ b/tfcrypt.h @@ -158,7 +158,7 @@ extern int do_edcrypt, do_stop, quiet, error_action; extern int counter_opt, mackey_opt, do_mac, do_outfmt, rawkey; extern int idx, write_flags; extern tfc_yesno catch_all_errors, ignore_seek_errors, password, overwrite_source, do_fsync, do_pad, do_ftrunc; -extern tfc_yesno do_preserve_time, do_stats_in_gibs, do_statline_dynamic, do_less_stats, show_pid; +extern tfc_yesno do_preserve_time, do_stats_in_gibs, do_statline_dynamic, do_less_stats, show_pid, read_only; extern tfc_yesno no_repeat, do_full_hexdump, verbose, statline_was_shown, show_secrets, show_when_done; extern char *srcfname, *dstfname, *do_mac_file, *counter_file, *sksum_hashlist_file; extern char *saltf, *genkeyf, *mackeyf, *tweakf; @@ -170,6 +170,8 @@ 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); +extern tfc_yesno xexit_no_nl; + void xerror(tfc_yesno noexit, tfc_yesno noerrno, tfc_yesno nostats, const char *fmt, ...); void xexit(int status); void usage(void); @@ -187,6 +189,8 @@ void tfc_describescale(tfc_fsize num, double *w, int *scale); size_t blk_len_adj(tfc_fsize filelen, tfc_fsize read_already, size_t blklen); tfc_yesno xor_shrink(void *dst, size_t szdst, const void *src, size_t szsrc); tfc_yesno str_empty(const char *str); +int xxopen(tfc_yesno noerr, const char *pathname, int flags); +int xopen(const char *pathname, int flags); void xclose(int fd); const char *tfc_modename(int mode); void tfc_getcurtime(tfc_useconds *tx); @@ -223,13 +227,13 @@ enum { NO, YES }; enum { TFC_ERRACT_EXIT, TFC_ERRACT_CONT, TFC_ERRACT_SYNC, TFC_ERRACT_LSYNC }; enum { TFC_DO_PLAIN, TFC_DO_ENCRYPT, TFC_DO_DECRYPT }; -enum { TFC_MAC_DROP = -1, TFC_MAC_SIGN = 1, TFC_MAC_VRFY, TFC_MAC_JUST_VRFY, TFC_MAC_JUST_VRFY2 }; +enum { TFC_MAC_DROP2 = -2, TFC_MAC_DROP = -1, TFC_MAC_SIGN = 1, TFC_MAC_VRFY, TFC_MAC_JUST_VRFY, TFC_MAC_JUST_VRFY2 }; enum { TFC_MACKEY_RAWKEY = 1, TFC_MACKEY_PASSWORD, TFC_MACKEY_FILE }; enum { TFC_RAWKEY_KEYFILE = 1, TFC_RAWKEY_ASKSTR, TFC_RAWKEY_ASKHEX }; enum { TFC_OUTFMT_HEX = 1, TFC_OUTFMT_B64, TFC_OUTFMT_RAW }; enum { TFC_MODE_SKSUM = -2, TFC_MODE_PLAIN = -1, TFC_MODE_CTR = 1, - TFC_MODE_STREAM, TFC_MODE_XTS, TFC_MODE_ECB, TFC_MODE_CBC, TFC_MODE_OCB + TFC_MODE_STREAM, TFC_MODE_XTS, TFC_MODE_ECB, TFC_MODE_CBC }; enum { TFC_CTR_SHOW = 1, TFC_CTR_HEAD, TFC_CTR_RAND, TFC_CTR_ZERO, TFC_CTR_SSET }; enum { TFC_NO_FTRUNC, TFC_DO_FTRUNC, TFC_FTRUNC_TAIL };