val.1p (7093B)
- '\" et
- .TH VAL "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
- .\"
- .SH PROLOG
- This manual page is part of the POSIX Programmer's Manual.
- The Linux implementation of this interface may differ (consult
- the corresponding Linux manual page for details of Linux behavior),
- or the interface may not be implemented on Linux.
- .\"
- .SH NAME
- val
- \(em validate SCCS files (\fBDEVELOPMENT\fP)
- .SH SYNOPSIS
- .LP
- .nf
- val -
- .P
- val \fB[\fR-s\fB] [\fR-m \fIname\fB] [\fR-r \fISID\fB] [\fR-y \fItype\fB] \fIfile\fR...
- .fi
- .SH DESCRIPTION
- The
- .IR val
- utility shall determine whether the specified
- .IR file
- is an SCCS file meeting the characteristics specified by the options.
- .SH OPTIONS
- The
- .IR val
- utility shall conform to the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 12.2" ", " "Utility Syntax Guidelines",
- except that the usage of the
- .BR '\-'
- operand is not strictly as intended by the guidelines (that is, reading
- options and operands from standard input).
- .P
- The following options shall be supported:
- .IP "\fB\-m\ \fIname\fR" 10
- Specify a
- .IR name ,
- which is compared with the SCCS %\fBM\fP% keyword in
- .IR file ;
- see
- .IR "\fIget\fR\^".
- .IP "\fB\-r\ \fISID\fR" 10
- Specify a
- .IR SID
- (SCCS Identification String), an SCCS delta number. A check shall be
- made to determine whether the
- .IR SID
- is ambiguous (for example,
- .BR "\-r\ 1"
- is ambiguous because it physically does not exist but implies 1.1, 1.2,
- and so on, which may exist) or invalid (for example,
- .BR "\-r\ 1.0"
- or
- .BR "\-r\ 1.1.0"
- are invalid because neither case can exist as a valid delta number).
- If the
- .IR SID
- is valid and not ambiguous, a check shall be made to determine whether
- it actually exists.
- .IP "\fB\-s\fP" 10
- Silence the diagnostic message normally written to standard output for
- any error that is detected while processing each named file on a given
- command line.
- .IP "\fB\-y\ \fItype\fR" 10
- Specify a
- .IR type ,
- which shall be compared with the SCCS %\fBY\fP% keyword in
- .IR file ;
- see
- .IR "\fIget\fR\^".
- .SH OPERANDS
- The following operands shall be supported:
- .IP "\fIfile\fR" 10
- A pathname of an existing SCCS file. If exactly one
- .IR file
- operand appears, and it is
- .BR '\-' ,
- the standard input shall be read: each line shall be independently
- processed as if it were a command line argument list. (However, the
- line is not subjected to any of the shell word expansions, such as
- parameter expansion or quote removal.)
- .SH STDIN
- The standard input shall be a text file used only when the
- .IR file
- operand is specified as
- .BR '\-' .
- .SH "INPUT FILES"
- Any SCCS files processed shall be files of an unspecified format.
- .SH "ENVIRONMENT VARIABLES"
- The following environment variables shall affect the execution of
- .IR val :
- .IP "\fILANG\fP" 10
- Provide a default value for the internationalization variables that are
- unset or null. (See the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 8.2" ", " "Internationalization Variables"
- for the precedence of internationalization variables used to determine
- the values of locale categories.)
- .IP "\fILC_ALL\fP" 10
- If set to a non-empty string value, override the values of all the
- other internationalization variables.
- .IP "\fILC_CTYPE\fP" 10
- Determine the locale for the interpretation of sequences of bytes of
- text data as characters (for example, single-byte as opposed to
- multi-byte characters in arguments and input files).
- .IP "\fILC_MESSAGES\fP" 10
- .br
- Determine the locale that should be used to affect the format and
- contents of diagnostic messages written to standard error, and
- informative messages written to standard output.
- .IP "\fINLSPATH\fP" 10
- Determine the location of message catalogs for the processing of
- .IR LC_MESSAGES .
- .SH "ASYNCHRONOUS EVENTS"
- Default.
- .SH STDOUT
- The standard output shall consist of informative messages about either:
- .IP " 1." 4
- Each file processed
- .IP " 2." 4
- Each command line read from standard input
- .P
- If the standard input is not used, for each
- .IR file
- operand yielding a discrepancy, the output line shall have the
- following format:
- .sp
- .RS 4
- .nf
- "%s: %s\en", <\fIpathname\fR>, <\fIunspecified string\fR>
- .fi
- .P
- .RE
- .P
- If the standard input is used, for each input line yielding a discrepancy,
- the output shall have the following format:
- .sp
- .RS 4
- .nf
- "%s\en\en %s: %s\en", <\fIinput\fR>, <\fIpathname\fR>, <\fIunspecified string\fR>
- .fi
- .P
- .RE
- .P
- where <\fIinput\fP> is the input line minus its terminating
- <newline>.
- .SH STDERR
- Not used.
- .SH "OUTPUT FILES"
- None.
- .SH "EXTENDED DESCRIPTION"
- None.
- .SH "EXIT STATUS"
- The 8-bit code returned by
- .IR val
- shall be a disjunction of the possible errors; that is, it can be
- interpreted as a bit string where set bits are interpreted as follows:
- .TS
- tab(@);
- l c l.
- 0x80@\&=@Missing file argument.
- 0x40@\&=@Unknown or duplicate option.
- 0x20@\&=@Corrupted SCCS file.
- 0x10@\&=@Cannot open file or file not SCCS.
- 0x08@\&=@\fISID\fR is invalid or ambiguous.
- 0x04@\&=@\fISID\fR does not exist.
- 0x02@\&=@%\fBY\fR%, \fB\-y\fR mismatch.
- 0x01@\&=@%\fBM\fR%, \fB\-m\fR mismatch.
- .TE
- .P
- Note that
- .IR val
- can process two or more files on a given command line and can process
- multiple command lines (when reading the standard input). In these
- cases an aggregate code shall be returned: a logical OR of the codes
- generated for each command line and file processed.
- .SH "CONSEQUENCES OF ERRORS"
- Default.
- .LP
- .IR "The following sections are informative."
- .SH "APPLICATION USAGE"
- Since the
- .IR val
- exit status sets the 0x80 bit, shell applications checking
- .BR \(dq$?\(dq
- cannot tell if it terminated due to a missing file argument or receipt
- of a signal.
- .SH EXAMPLES
- In a directory with three SCCS files\(em\c
- .BR s.x
- (of
- .BR t
- type ``text''),
- .BR s.y ,
- and
- .BR s.z
- (a corrupted file)\(emthe following command could produce the output
- shown:
- .sp
- .RS 4
- .nf
- val - <<EOF
- -y source s.x
- -m y s.y
- s.z
- EOF
- -y source s.x
- .P
- s.x: %\|Y\|%, -y mismatch
- s.z
- .P
- s.z: corrupted SCCS file
- .fi
- .P
- .RE
- .SH RATIONALE
- None.
- .SH "FUTURE DIRECTIONS"
- None.
- .SH "SEE ALSO"
- .IR "\fIadmin\fR\^",
- .IR "\fIdelta\fR\^",
- .IR "\fIget\fR\^",
- .IR "\fIprs\fR\^"
- .P
- The Base Definitions volume of POSIX.1\(hy2017,
- .IR "Chapter 8" ", " "Environment Variables",
- .IR "Section 12.2" ", " "Utility Syntax Guidelines"
- .\"
- .SH COPYRIGHT
- Portions of this text are reprinted and reproduced in electronic form
- from IEEE Std 1003.1-2017, Standard for Information Technology
- -- Portable Operating System Interface (POSIX), The Open Group Base
- Specifications Issue 7, 2018 Edition,
- Copyright (C) 2018 by the Institute of
- Electrical and Electronics Engineers, Inc and The Open Group.
- In the event of any discrepancy between this version and the original IEEE and
- The Open Group Standard, the original IEEE and The Open Group Standard
- is the referee document. The original Standard can be obtained online at
- http://www.opengroup.org/unix/online.html .
- .PP
- Any typographical or formatting errors that appear
- in this page are most likely
- to have been introduced during the conversion of the source files to
- man page format. To report such errors, see
- https://www.kernel.org/doc/man-pages/reporting_bugs.html .