'\"macro stdmacro
.if n .pH g1.ckrange @(#)ckrange	40.16 of 10/10/89
.\" Copyright 1989 AT&T
.nr X
.if \nX=0 .ds x} ckrange 1 "Essential Utilities" "\&"
.if \nX=1 .ds x} ckrange 1 "Essential Utilities"
.if \nX=2 .ds x} ckrange 1 "Essential Utilities" "\&"
.if \nX=3 .ds x} ckrange "Essential Utilities" "" "\&"
.TH \*(x}
.SH NAME
\f4ckrange\f1 \- prompts for and validates an integer
.SH SYNOPSIS
\f4ckrange\f1 [\f4\-Q\f1] [\f4\-W\f2 width\f1] [\f4\-l\f2 lower\f1] [\f4\-u \f2upper\f1] [\f4\-b\f2 base\f1] [\f4\-d\f2 default\f1] [\f4\-h\f2 help\f1]
.br
[\f4\-e\f2 error\f1] [\f4\-p \f2prompt\f1]
[\f4\-k\f2 pid\f1 [\f4\-s\f2 signal\f1]]
.sp
\f4errange \f1[\f4\-W\f1] [\f4\-l\f2 lower\f1] [\f4\-u \f2upper\f1] [\f4\-e\f2 error\f1]
.br
\f4helprange \f1[\f4\-W\f1] [\f4\-l\f2 lower\f1] [\f4\-u \f2upper\f1] [\f4\-h\f2 help\f1]
.br
\f4valrange \f1[\f4\-l\f2 lower\f1] [\f4\-u \f2upper\f1] [\f4\-b\f2 base\f1] \f2input\f1
.SH DESCRIPTION
\f4ckrange\f1 prompts a user and validates the response.
It defines, among other things,
a prompt message whose response should be an integer in the range specified,
text for help and
error messages, and a default value
(which will be returned if the user responds with a carriage return).
.P
This command also defines a range for valid input.
If either the lower or upper limit is
left undefined, then the range is bounded on only one end.
.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 \f4ckrange\f1 command.
They are
\f4errange\f1 (which formats and displays an error message),
\f4helprange\f1 (which
formats and displays a help message), and \f4valrange\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\-l\f1
Defines the lower limit of the range as \f2lower\f1.
Default is the machine's largest negative integer or long.
.TP
\f4\-u\f1
Defines the upper limit of the range as \f2upper\f1.
Default is the machine's largest positive integer or long.
.TP
\f4\-b\f1
Defines the base for input.
Must be 2 to 36, default is 10.
.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 upper and lower limits and base.
.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 base 10 prompt for \f4ckrange\f1 is:
.sp
.in +.25i
\f4Enter an integer between \f2lower_bound\fP and \f2upper_bound\f1 [q,?]:
.in -.25i
.sp
The default base 10 error message is:
.sp
.in +.25i
\f4ERROR - Please enter an integer between
\f2lower_bound\fP and \f2upper_bound\f1.
.in -.25i
.sp
The default base 10 help message is:
.sp
.in +.25i
\f4Please enter an integer between \f2lower_bound\fP and \f2upper_bound\f1.
.in -.25i
.P
The messages are changed from "integer" to "base \f2base\f1 integer" if the
base is set to a number other than 10.
.P
When the quit option is chosen (and allowed), \f4q\f1 is
returned along with the return code \f43\f1.
The \f4valrange\f1 module will not produce any output.
It returns zero for success and non-zero for failure.
.\"	@(#)ckrange.1	5.2 of 6/16/87
