'\"macro stdmacro
.if n .pH g1.ckstr @(#)ckstr	40.14 of 10/10/89
.\" Copyright 1989 AT&T
.nr X
.if \nX=0 .ds x} ckstr 1 "Essential Utilities" "\&"
.if \nX=1 .ds x} ckstr 1 "Essential Utilities"
.if \nX=2 .ds x} ckstr 1 "Essential Utilities" "\&"
.if \nX=3 .ds x} ckstr "Essential Utilities" "" "\&"
.TH \*(x}
.SH NAME
\f4ckstr\f1 \- display a prompt; verify and return a string answer
.SH SYNOPSIS
\f4ckstr\f1 [\f4\-Q\f1] [\f4\-W\f2 width\f1] [[\f4\-r\f2 regexp\f1] [...]] [\f4\-l\f2 length\f1] [\f4\-d\f2 default\f1] [\f4\-h\f2 help\f1] [\f4\-e\f2 error\f1]
.br
[\f4\-p \f2prompt\f1] [\f4\-k\f2 pid\f1 [\f4\-s\f2 signal\f1]]
.sp
\f4errstr\f1 [\f4\-W\f1] [\f4\-e \f2error\f1]
.br
\f4helpstr\f1 [\f4\-W\f1] [\f4\-h \f2help\fP]
.br
\f4valstr\f1 \f2input\f1
.SH DESCRIPTION
\f4ckstr\f1 prompts a user and validates the response.
It defines, among other things,
a prompt message whose response should be a string, text for help and
error messages, and a default value
(which will be returned if the user responds with a carriage return).
.P
The answer returned from this command must match the defined regular expression
and be no longer than the length specified.
If no regular expression is given,
valid input must be a string with a length less than or equal to the length
defined with no internal, leading or trailing white space.
If no length is
defined, the length is not checked.
Either a regular
expression or a length must be given with the command.
.P
All messages are limited in length to 70 characters and
are formatted automatically.
Any white space used in the definition (including newline) is stripped.
The \f4\-W\f1 option cancels the automatic formatting.
When a tilde is placed at the beginning or end of a message definition,
the default text will be
inserted at that point, allowing both custom text and the default text
to be displayed.
.P
If the prompt, help or error message is not defined, the default message
(as defined under NOTES) will be displayed.
.P
Three visual tool modules are linked to the \f4ckstr\f1 command.
They are
\f4errstr\f1 (which formats and displays an error message),
\f4helpstr\f1 (which
formats and displays a help message), and \f4valstr\f1 (which validates a
response).
These modules should be used in conjunction with FACE objects.
In this
instance, the FACE object defines the prompt.
.P
The options and arguments for this command are:
.TP
\f4\-Q\f1
Specifies that quit will not be allowed as a valid response.
.TP
\f4\-W\f1
Specifies that prompt, help and error messages will be formatted to a
line length of \f2width\f1.
.TP
\f4\-r\f1
Specifies a regular expression, \f4regexp\fP, against which the input should be
validated.
May include white space.
If multiple expressions are defined, the
answer must match only one of them.
.TP
\f4\-l\f1
Specifies the maximum length of the input.
.TP
\f4\-d\f1
Defines the default value as \f2default\f1.
The default is not validated and so does not have to meet any criteria.
.TP
\f4\-h\f1
Defines the help messages as \f2help\fP.
.TP
\f4\-e\f1
Defines the error message as \f2error\f1.
.TP
\f4\-p\f1
Defines the prompt message as \f2prompt\f1.
.TP
\f4\-k\f1
Specifies that process ID \f2pid\f1 is to be sent a signal if the user chooses
to abort.
.TP
\f4\-s\f1
Specifies that the process ID \f2pid\f1 defined with
the \f4\-k\f1 option is to be
sent signal \f4signal\fP when quit is chosen.
If no signal is specified, \f4SIGTERM\f1 is used.
.TP
.I input
Input to be verified against format length and/or regular expression 
criteria.
.SH EXIT CODES
.nf
\f40\f1 = Successful execution
\f41\f1 = EOF on input
\f42\f1 = Usage error
\f43\f1 = User termination (quit)
.fi
.SH NOTES
The default prompt for \f4ckstr\f1 is:
.sp
.in +.25i
\f4Enter an appropriate value [?,q]:\f1
.in -.25i
.P
The default error message is dependent upon the type of validation involved.
The user will be told either that the length or the pattern matching failed.
.P
The default help message is also dependent upon the type of validation
involved.  If a regular expression has been defined, the message is:
.sp
.in +.25i
\f4Please enter a string which matches the following pattern:
.br
regexp\f1
.in -.25i
.P
Other messages define the length requirement and the definition of a string.
.P
When the quit option is chosen (and allowed), \f4q\f1 is
returned along with the return code \f43\f1.
The \f4valstr\f1 module will not produce any output.
It returns zero for success and non-zero for failure.
.\"	@(#)ckstr.1	5.2 of 6/16/87
