Copyright 1989 AT&T Copyright (c) 1992, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
ckdate [-Q] [-W width] [-f format] [-d default] [-h help] [-e error] [-p prompt] [-k pid [-s signal]]
/usr/sadm/bin/errdate [-W width] [-e error] [-f format]
/usr/sadm/bin/helpdate [-W width] [-h help] [-f format]
/usr/sadm/bin/valdate [-f format] input
The ckdate utility prompts a user and validates the response. It defines, among other things, a prompt message whose response should be a date, text for help and error messages, and a default value (which will be returned if the user responds with a RETURN). The user response must match the defined format for a date.
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 -W 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.
If the prompt, help or error message is not defined, the default message (as defined under NOTES) will be displayed.
Three visual tool modules are linked to the ckdate command. They are errdate (which formats and displays an error message), helpdate (which formats and displays a help message), and valdate (which validates a response). These modules should be used in conjunction with FML objects. In this instance, the FML object defines the prompt. When format is defined in the errdate and helpdate modules, the messages will describe the expected format.
The following options are supported:
-d default
Defines the default value as default. The default does not have to meet the format criteria.
-e error
Defines the error message as error.
-f format
Specifies the format against which the input will be verified. Possible formats and their definitions are:
%b =
abbreviated month name (jan, feb, mar)
%B =
full month name %d = day of month (01 - 31)
%D =
date as %m/%d/%y (the default format)
%e =
day of month (1 - 31; single digits are preceded by a blank)
%h =
abbreviated month name, identical to %b%
%m =
month number (01 - 12)
%y =
year within century (for instance, 89)
%Y =
year as CCYY (for instance, 1989)
-h help
Defines the help messages as help.
-k pid
Specifies that process ID pid is to be sent a signal if the user chooses to abort.
-p prompt
Defines the prompt message as prompt.
-Q
Specifies that quit will not be allowed as a valid response.
-s signal
Specifies that the process ID pid defined with the -k option is to be sent signal signal when quit is chosen. If no signal is specified, SIGTERM is used.
-W width
Specifies that prompt, help and error messages will be formatted to a line length of width.
The following operand is supported:
input
Input to be verified against format criteria.
The following exit values are returned:
0
Successful execution.
1
EOF on input, or negative width on -W option, or usage error.
3
User termination (quit).
4
Garbled format argument.
attributes(5)
The default prompt for ckdate is:
Enter the date [?,q]:
The default error message is:
ERROR - Please enter a date. Format is <format>.
The default help message is:
Please enter a date. Format is <format>.
When the quit option is chosen (and allowed), q is returned along with the return code 3. The valdate module will not produce any output. It returns zero for success and non-zero for failure.