.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "CFDPTEST 1" .TH CFDPTEST 1 "2014-07-08" "perl v5.20.1" "CFDP executables" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" cfdptest \- CFDP test shell for ION .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBcfdptest\fR [ \fIcommands_filename\fR ] .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBcfdptest\fR provides a mechanism for testing \s-1CFDP\s0 file transmission. It can be used in either scripted or interactive mode. All bundles containing \s-1CFDP\s0 PDUs are sent with custody transfer requested and with all bundle status reporting disabled. .PP When scripted with \fIcommands_filename\fR, \fBcfdptest\fR operates in response to \&\s-1CFDP\s0 management commands contained in the provided commands file. Each line of text in the file is interpreted as a single command comprising several tokens: a one-character command code and, in most cases, one or more command arguments of one or more characters. The commands configure and initiate \&\s-1CFDP\s0 file transmission operations. .PP If no file is specified, \fBcfdptest\fR instead offers the user an interactive \&\*(L"shell\*(R" for command entry. \fBcfdptest\fR prints a prompt string (\*(L": \*(R") to stdout, accepts strings of text from stdin, and interprets each string as a command. .PP The supported \fBcfdptest\fR commands (whether interactive or scripted) are as follows: .IP "\fB?\fR" 4 .IX Item "?" The \fBhelp\fR command. This will display a listing of the commands and their formats. It is the same as the \fBh\fR command. .IP "\fBh\fR" 4 .IX Item "h" An alternate form of the \fBhelp\fR command. .IP "\fBd\fR " 4 .IX Item "d " The \fBdestination\fR command. This command establishes the \s-1CFDP\s0 entity to which the next file transmission operation will be directed. \s-1CFDP\s0 entity numbers in \s-1ION\s0 are, by convention, the same as \s-1BP\s0 node numbers. .IP "\fBf\fR " 4 .IX Item "f " The \fBfrom\fR command. This command identifies the file that will be transmitted when the next file transmission operation is commanded. .IP "\fBt\fR " 4 .IX Item "t " The \fBto\fR command. This command provides the name for the file that will be created at the receiving entity when the next file transmission operation is commanded. .IP "\fBl\fR " 4 .IX Item "l " The \fBtime-to-live\fR command. This command establishes the time-to-live for all subsequently issued bundles containing \s-1CFDP\s0 PDUs. If not specified, the default value 86400 (1 day) is used. .IP "\fBp\fR " 4 .IX Item "p " The \fBpriority\fR command. This command establishes the priority (class of service) for all subsequently issued bundles containing \s-1CFDP\s0 PDUs. Valid values are 0, 1, and 2. If not specified, priority is 1. .IP "\fBo\fR " 4 .IX Item "o " The \fBordinal\fR command. This command establishes the \*(L"ordinal\*(R" (sub-priority within priority 2) for all subsequently issued bundles containing \s-1CFDP\s0 PDUs. Valid values are 0\-254. If not specified, ordinal is 0. .IP "\fBm\fR " 4 .IX Item "m " The \fBmode\fR command. This command establishes the transmission mode (\*(L"best-effort\*(R" or assured) for all subsequently issued bundles containing \&\s-1CFDP\s0 PDUs. Valid values are 0 (assured, reliable, with reliability provided by a reliable \s-1DTN\s0 convergence layer protocol), 1 (best-effort, unreliable), and 2 (assured, reliable, but with reliability provided by \s-1BP\s0 custody transfer). If not specified, transmission mode is 0. .IP "\fBg\fR " 4 .IX Item "g " The \fBsrrflags\fR command. This command establishes the \s-1BP\s0 status reporting that will be requested for all subsequently issued bundles containing \&\s-1CFDP\s0 PDUs. \fIsrrflags\fR must be a status reporting flags string as defined for \fIbptrace\fR\|(1): a sequence of status report flags, separated by commas, with no embedded whitespace. Each status report flag must be one of the following: rcv, ct, fwd, dlv, del. .IP "\fBc\fR " 4 .IX Item "c " The \fBcriticality\fR command. This command establishes the criticality for all subsequently issued bundles containing \s-1CFDP\s0 PDUs. Valid values are 0 (not critical) and 1 (critical). If not specified, criticality is 0. .IP "\fBr\fR " 4 .IX Item "r " The \fBfilestore request\fR command. This command adds a filestore request to the metadata that will be issued when the next file transmission operation is commanded. Action code numbers are: .RS 4 .IP "0 = create file" 4 .IX Item "0 = create file" .PD 0 .IP "1 = delete file" 4 .IX Item "1 = delete file" .IP "2 = rename file" 4 .IX Item "2 = rename file" .IP "3 = append file" 4 .IX Item "3 = append file" .IP "4 = replace file" 4 .IX Item "4 = replace file" .IP "5 = create directory" 4 .IX Item "5 = create directory" .IP "6 = remove directory" 4 .IX Item "6 = remove directory" .IP "7 = deny file" 4 .IX Item "7 = deny file" .IP "8 = deny directory" 4 .IX Item "8 = deny directory" .RE .RS 4 .RE .IP "\fBu\fR ''" 4 .IX Item "u ''" .PD The \fBuser message\fR command. This command adds a user message to the metadata that will be issued when the next file transmission operation is commanded. .IP "\fB&\fR" 4 .IX Item "&" The \fBsend\fR command. This command initiates file transmission as configured by the most recent preceding \fBd\fR, \fBf\fR, and \fBt\fR commands. .IP "\fB^\fR" 4 .IX Item "^" The \fBcancel\fR command. This command cancels the most recently initiated file transmission. .IP "\fB%\fR" 4 .IX Item "%" The \fBsuspend\fR command. This command suspends the most recently initiated file transmission. .IP "\fB$\fR" 4 .IX Item "$" The \fBresume\fR command. This command resumes the most recently initiated file transmission. .IP "\fB#\fR" 4 .IX Item "#" The \fBreport\fR command. This command reports on the most recently initiated file transmission. .IP "\fBq\fR" 4 .IX Item "q" The \fBquit\fR command. Terminates the cfdptest program. .PP \&\fBcfdptest\fR in interactive mode also spawns a \s-1CFDP\s0 event handling thread. The event thread receives \s-1CFDP\s0 service indications and simply prints lines of text to stdout to announce them. .PP \&\fB\s-1NOTE\s0\fR that when \fBcfdptest\fR runs in scripted mode it does \fBnot\fR spawn an event handling thread, which makes it possible for the \s-1CFDP\s0 events queue to grow indefinitely unless some other task consumes and reports on the events. One simple solution is to run an interactive \fBcfdptest\fR task in background, simply to keep the event queue cleared, while scripted non-interactive \&\fBcfdptest\fR tasks are run in the foreground. .SH "EXIT STATUS" .IX Header "EXIT STATUS" .ie n .IP """0""" 4 .el .IP "``0''" 4 .IX Item "0" \&\fBcfdptest\fR has terminated. Any problems encountered during operation will be noted in the \fBion.log\fR log file. .SH "FILES" .IX Header "FILES" See above for details on valid \fIcommands_filename\fR commands. .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" No environment variables apply. .SH "DIAGNOSTICS" .IX Header "DIAGNOSTICS" Diagnostic messages produced by \fBcfdptest\fR are written to the \s-1ION\s0 log file \fIion.log\fR. .IP "Can't open command file..." 4 .IX Item "Can't open command file..." The file identified by \fIcommands_filename\fR doesn't exist. .IP "cfdptest can't initialize \s-1CFDP.\s0" 4 .IX Item "cfdptest can't initialize CFDP." \&\fBcfdpadmin\fR has not yet initialized \s-1CFDP\s0 operations. .IP "Can't put \s-1FDU.\s0" 4 .IX Item "Can't put FDU." The attempt to initiate file transmission failed. See the \s-1ION\s0 log for additional diagnostic messages from the \s-1CFDP\s0 library. .IP "Failed getting \s-1CFDP\s0 event." 4 .IX Item "Failed getting CFDP event." The attempt to retrieve a \s-1CFDP\s0 service indication failed. See the \s-1ION\s0 log for additional diagnostic messages from the \s-1CFDP\s0 library. .SH "BUGS" .IX Header "BUGS" Report bugs to .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIcfdpadmin\fR\|(1), \fIcfdp\fR\|(3)