tfstream: add separate xor_block function
[tfcrypt.git] / tfc_error.c
index ad14e7d0bc23eca1cf7b97230738f628fa8c75e2..a00b070328d7aad03311054dccf619067ca9ad45 100644 (file)
@@ -148,9 +148,11 @@ void usage(void)
                tfc_say("  -a: shortcut of -O xtime.");
                tfc_say("  -l length: read only these first bytes of source.");
                tfc_say("  -O opts: set options (comma separated list):");
+               tfc_say("    ro: open all files only for reading, even those intended for writing,");
                tfc_say("    sync: request a synchronous I/O for a output,");
                tfc_say("    fsync: on each write() call a corresponding fsync(fd),");
                tfc_say("    trunc: open(O_WRONLY) will truncate output file to zero size.");
+               tfc_say("    append: open(O_APPEND) will append data to output file.");
                tfc_say("    pad: pad incomplete (l.t. %u bytes) block with zeroes.", TFC_U(TF_BLOCK_SIZE));
                tfc_say("    xtime: copy timestamps from source to destination files.");
                tfc_say("    gibsize: use SI units of size: 1k = 1000. Applies only to size prefixes.");
@@ -162,6 +164,8 @@ void usage(void)
                tfc_say("    iobs=val: set IO block size value. Must not exceed %u bytes.", TFC_U(TFC_BLKSIZE));
                tfc_say("    iseek=val: seek source file/device by these val bytes.");
                tfc_say("    oseek=val: seek destination file/device by these val bytes.");
+               tfc_say("    ioseek=val: seek both source and destination.");
+               tfc_say("    ioseek is equal to iseek and oseek.");
                tfc_say("    count=val: process only these val bytes, both input and output.");
                tfc_say("    ftrunc=val: truncate output file to these val bytes before closing it.");
                tfc_say("    ftrunc=tail: truncate output's tail, leaving only processed data.");
@@ -241,7 +245,7 @@ void usage(void)
        tfc_say("  -w: overwrite source file. If not file, ignored.");
        tfc_say("  -n TURNS: number of turns to perform in Skein function.");
        tfc_say("    Default is always defined when building tfcrypt.");
-       tfc_say("  -C mode: mode of operation: CTR, STREAM, XTS, ECB, CBC, OCB.");
+       tfc_say("  -C mode: mode of operation: CTR, STREAM, XTS, ECB, CBC.");
        tfc_say("    Default encryption mode can be changed when building tfcrypt.");
        tfc_say("  -c opt: initial CTR value initialisation mode:");
        tfc_say("    show: do default action, then dump CTR value to stderr,");
@@ -314,9 +318,11 @@ void usage(void)
        tfc_say("    Multiple -E specifiers may be given in separate options.");
        tfc_say("  -o logfile: redirect all messages to logfile instead of stderr.");
        tfc_say("  -O opts: set options (comma separated list):");
+       tfc_say("    ro: open all files only for reading, even those intended for writing,");
        tfc_say("    sync: request a synchronous I/O for a output,");
        tfc_say("    fsync: on each write() call a corresponding fsync(fd),");
        tfc_say("    trunc: open(O_WRONLY) will truncate output file to zero size.");
+       tfc_say("    append: open(O_APPEND) will append data to output file.");
        tfc_say("    pad: pad incomplete (l.t. %u bytes) block with zeroes.", TFC_U(TF_BLOCK_SIZE));
        tfc_say("    xtime: copy timestamps from source to destination files.");
        tfc_say("    gibsize: use SI units of size: 1k = 1000. Applies only to size prefixes.");
@@ -329,6 +335,7 @@ void usage(void)
        tfc_say("    showsecrets: show passwords in plaintext instead of masking them.");
        tfc_say("    finished: add \"finished\" word before status line when work is finished.");
        tfc_say("    pid: show %s's process id near it's name in error messages, logs etc.", progname);
+       tfc_say("    readloops=val: when seekable source ends, reading continues from it's beginning again.");
        tfc_say("    prompt=str: set main password prompts to this string.");
        tfc_say("    macprompt=str: set MAC password prompts to this string.");
        tfc_say("    shorthex: with -H, do not print printable characters, dump only hex string.");
@@ -345,6 +352,8 @@ void usage(void)
        tfc_say("    ixctr=val: Increment initial counter by this val bytes.");
        tfc_say("    Internally this number is translated into number of %u byte blocks.", TFC_U(TF_BLOCK_SIZE));
        tfc_say("    oseek=val: seek destination file/device by these val bytes.");
+       tfc_say("    ioseek=val: seek both source and destination.");
+       tfc_say("    ioseek is equal to iseek and oseek.");
        tfc_say("    count=val: process only these val bytes, both input and output.");
        tfc_say("    ftrunc=val: truncate output file to these val bytes before closing it.");
        tfc_say("    ftrunc=tail: truncate output's tail, leaving only processed data.");