Blame man-pages-posix-2013-a/man1p/cksum.1p

Packit 7cfc04
'\" et
Packit 7cfc04
.TH CKSUM "1P" 2013 "IEEE/The Open Group" "POSIX Programmer's Manual"
Packit 7cfc04
.SH PROLOG
Packit 7cfc04
This manual page is part of the POSIX Programmer's Manual.
Packit 7cfc04
The Linux implementation of this interface may differ (consult
Packit 7cfc04
the corresponding Linux manual page for details of Linux behavior),
Packit 7cfc04
or the interface may not be implemented on Linux.
Packit 7cfc04
Packit 7cfc04
.SH NAME
Packit 7cfc04
cksum
Packit 7cfc04
\(em write file checksums and sizes
Packit 7cfc04
.SH SYNOPSIS
Packit 7cfc04
.LP
Packit 7cfc04
.nf
Packit 7cfc04
cksum \fB[\fIfile\fR...\fB]\fR
Packit 7cfc04
.fi
Packit 7cfc04
.SH DESCRIPTION
Packit 7cfc04
The
Packit 7cfc04
.IR cksum
Packit 7cfc04
utility shall calculate and write to standard output a cyclic
Packit 7cfc04
redundancy check (CRC) for each input file, and also write to standard
Packit 7cfc04
output the number of octets in each file. The CRC used is based on the
Packit 7cfc04
polynomial used for CRC error checking in the ISO/IEC\ 8802\(hy3:\|1996 standard (Ethernet).
Packit 7cfc04
.P
Packit 7cfc04
The encoding for the CRC checksum is defined by the generating
Packit 7cfc04
polynomial:
Packit 7cfc04
.sp
Packit 7cfc04
.RS 4
Packit 7cfc04
.nf
Packit 7cfc04
\fB
Packit 7cfc04
\fIG\fR(\fIx\fR)=\fIx\fR\u\s-332\s+3\d+\fIx\fR\u\s-326\s+3\d+\fIx\fR\u\s-323\s+3\d+\fIx\fR\u\s-322\s+3\d+\fIx\fR\u\s-316\s+3\d+\fIx\fR\u\s-312\s+3\d+\fIx\fR\u\s-311\s+3\d+\fIx\fR\u\s-310\s+3\d+\fIx\fR\u\s-38\s+3\d+\fIx\fR\u\s-37\s+3\d+\fIx\fR\u\s-35\s+3\d+\fIx\fR\u\s-34\s+3\d+\fIx\fR\u\s-32\s+3\d+\fIx\fR+1
Packit 7cfc04
.fi \fR
Packit 7cfc04
.P
Packit 7cfc04
.RE
Packit 7cfc04
.P
Packit 7cfc04
Mathematically, the CRC value corresponding to a given file shall be
Packit 7cfc04
defined by the following procedure:
Packit 7cfc04
.IP " 1." 4
Packit 7cfc04
The
Packit 7cfc04
.IR n
Packit 7cfc04
bits to be evaluated are considered to be the coefficients of a mod 2
Packit 7cfc04
polynomial
Packit 7cfc04
.IR M (\c
Packit 7cfc04
.IR x )
Packit 7cfc04
of degree
Packit 7cfc04
.IR n \(mi1.
Packit 7cfc04
These
Packit 7cfc04
.IR n
Packit 7cfc04
bits are the bits from the file, with the most significant bit being
Packit 7cfc04
the most significant bit of the first octet of the file and the last
Packit 7cfc04
bit being the least significant bit of the last octet, padded with zero
Packit 7cfc04
bits (if necessary) to achieve an integral number of octets, followed
Packit 7cfc04
by one or more octets representing the length of the file as a binary
Packit 7cfc04
value, least significant octet first. The smallest number of octets
Packit 7cfc04
capable of representing this integer shall be used.
Packit 7cfc04
.IP " 2." 4
Packit 7cfc04
.IR M (\c
Packit 7cfc04
.IR x )
Packit 7cfc04
is multiplied by
Packit 7cfc04
.IR x \u\s-332\s+3\d
Packit 7cfc04
(that is, shifted left 32 bits) and divided by
Packit 7cfc04
.IR G (\c
Packit 7cfc04
.IR x )
Packit 7cfc04
using mod 2 division, producing a remainder
Packit 7cfc04
.IR R (\c
Packit 7cfc04
.IR x )
Packit 7cfc04
of degree \(<= 31.
Packit 7cfc04
.IP " 3." 4
Packit 7cfc04
The coefficients of
Packit 7cfc04
.IR R (\c
Packit 7cfc04
.IR x )
Packit 7cfc04
are considered to be a 32-bit sequence.
Packit 7cfc04
.IP " 4." 4
Packit 7cfc04
The bit sequence is complemented and the result is the CRC.
Packit 7cfc04
.SH OPTIONS
Packit 7cfc04
None.
Packit 7cfc04
.SH OPERANDS
Packit 7cfc04
The following operand shall be supported:
Packit 7cfc04
.IP "\fIfile\fR" 10
Packit 7cfc04
A pathname of a file to be checked. If no
Packit 7cfc04
.IR file
Packit 7cfc04
operands are specified, the standard input shall be used.
Packit 7cfc04
.SH STDIN
Packit 7cfc04
The standard input shall be used if no
Packit 7cfc04
.IR file
Packit 7cfc04
operands are specified, and shall be used if a
Packit 7cfc04
.IR file
Packit 7cfc04
operand is
Packit 7cfc04
.BR '\(mi' 
Packit 7cfc04
and the implementation treats the
Packit 7cfc04
.BR '\(mi' 
Packit 7cfc04
as meaning standard input.
Packit 7cfc04
Otherwise, the standard input shall not be used.
Packit 7cfc04
See the INPUT FILES section.
Packit 7cfc04
.SH "INPUT FILES"
Packit 7cfc04
The input files can be any file type.
Packit 7cfc04
.SH "ENVIRONMENT VARIABLES"
Packit 7cfc04
The following environment variables shall affect the execution of
Packit 7cfc04
.IR cksum :
Packit 7cfc04
.IP "\fILANG\fP" 10
Packit 7cfc04
Provide a default value for the internationalization variables that are
Packit 7cfc04
unset or null. (See the Base Definitions volume of POSIX.1\(hy2008,
Packit 7cfc04
.IR "Section 8.2" ", " "Internationalization Variables"
Packit 7cfc04
for the precedence of internationalization variables used to determine
Packit 7cfc04
the values of locale categories.)
Packit 7cfc04
.IP "\fILC_ALL\fP" 10
Packit 7cfc04
If set to a non-empty string value, override the values of all the
Packit 7cfc04
other internationalization variables.
Packit 7cfc04
.IP "\fILC_CTYPE\fP" 10
Packit 7cfc04
Determine the locale for the interpretation of sequences of bytes of
Packit 7cfc04
text data as characters (for example, single-byte as opposed to
Packit 7cfc04
multi-byte characters in arguments).
Packit 7cfc04
.IP "\fILC_MESSAGES\fP" 10
Packit 7cfc04
.br
Packit 7cfc04
Determine the locale that should be used to affect the format and
Packit 7cfc04
contents of diagnostic messages written to standard error.
Packit 7cfc04
.IP "\fINLSPATH\fP" 10
Packit 7cfc04
Determine the location of message catalogs for the processing of
Packit 7cfc04
.IR LC_MESSAGES .
Packit 7cfc04
.SH "ASYNCHRONOUS EVENTS"
Packit 7cfc04
Default.
Packit 7cfc04
.SH STDOUT
Packit 7cfc04
For each file processed successfully, the
Packit 7cfc04
.IR cksum
Packit 7cfc04
utility shall write in the following format:
Packit 7cfc04
.sp
Packit 7cfc04
.RS 4
Packit 7cfc04
.nf
Packit 7cfc04
\fB
Packit 7cfc04
"%u %d %s\en", <\fIchecksum\fR>, <\fI# of octets\fR>, <\fIpathname\fR>
Packit 7cfc04
.fi \fR
Packit 7cfc04
.P
Packit 7cfc04
.RE
Packit 7cfc04
.P
Packit 7cfc04
If no
Packit 7cfc04
.IR file
Packit 7cfc04
operand was specified, the pathname and its leading
Packit 7cfc04
<space>
Packit 7cfc04
shall be omitted.
Packit 7cfc04
.SH STDERR
Packit 7cfc04
The standard error shall be used only for diagnostic messages.
Packit 7cfc04
.SH "OUTPUT FILES"
Packit 7cfc04
None.
Packit 7cfc04
.SH "EXTENDED DESCRIPTION"
Packit 7cfc04
None.
Packit 7cfc04
.SH "EXIT STATUS"
Packit 7cfc04
The following exit values shall be returned:
Packit 7cfc04
.IP "\00" 6
Packit 7cfc04
All files were processed successfully.
Packit 7cfc04
.IP >0 6
Packit 7cfc04
An error occurred.
Packit 7cfc04
.SH "CONSEQUENCES OF ERRORS"
Packit 7cfc04
Default.
Packit 7cfc04
.LP
Packit 7cfc04
.IR "The following sections are informative."
Packit 7cfc04
.SH "APPLICATION USAGE"
Packit 7cfc04
The
Packit 7cfc04
.IR cksum
Packit 7cfc04
utility is typically used to quickly compare a suspect file against a
Packit 7cfc04
trusted version of the same, such as to ensure that files transmitted
Packit 7cfc04
over noisy media arrive intact. However, this comparison cannot be
Packit 7cfc04
considered cryptographically secure. The chances of a damaged file
Packit 7cfc04
producing the same CRC as the original are small; deliberate deception
Packit 7cfc04
is difficult, but probably not impossible.
Packit 7cfc04
.P
Packit 7cfc04
Although input files to
Packit 7cfc04
.IR cksum
Packit 7cfc04
can be any type, the results need not be what would be expected on
Packit 7cfc04
character special device files or on file types not described by the
Packit 7cfc04
System Interfaces volume of POSIX.1\(hy2008. Since this volume of POSIX.1\(hy2008 does not specify the block size used when doing
Packit 7cfc04
input, checksums of character special files need not process all of the
Packit 7cfc04
data in those files.
Packit 7cfc04
.P
Packit 7cfc04
The algorithm is expressed in terms of a bitstream divided into octets.
Packit 7cfc04
If a file is transmitted between two systems and undergoes any data
Packit 7cfc04
transformation (such as changing little-endian byte ordering to
Packit 7cfc04
big-endian), identical CRC values cannot be expected. Implementations
Packit 7cfc04
performing such transformations may extend
Packit 7cfc04
.IR cksum
Packit 7cfc04
to handle such situations.
Packit 7cfc04
.SH EXAMPLES
Packit 7cfc04
None.
Packit 7cfc04
.SH RATIONALE
Packit 7cfc04
The following C-language program can be used as a model to describe the
Packit 7cfc04
algorithm. It assumes that a
Packit 7cfc04
.BR char
Packit 7cfc04
is one octet. It also assumes that the entire file is available for one
Packit 7cfc04
pass through the function. This was done for simplicity in
Packit 7cfc04
demonstrating the algorithm, rather than as an implementation model.
Packit 7cfc04
.sp
Packit 7cfc04
.RS 4
Packit 7cfc04
.nf
Packit 7cfc04
\fB
Packit 7cfc04
static unsigned long crctab[] = {
Packit 7cfc04
0x00000000,
Packit 7cfc04
0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b,
Packit 7cfc04
0x1a864db2, 0x1e475005, 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6,
Packit 7cfc04
0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd,
Packit 7cfc04
0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15adac,
Packit 7cfc04
0x5bd4b01b, 0x569796c2, 0x52568b75, 0x6a1936c8, 0x6ed82b7f,
Packit 7cfc04
0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a,
Packit 7cfc04
0x745e66cd, 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039,
Packit 7cfc04
0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, 0xbe2b5b58,
Packit 7cfc04
0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033,
Packit 7cfc04
0xa4ad16ea, 0xa06c0b5d, 0xd4326d90, 0xd0f37027, 0xddb056fe,
Packit 7cfc04
0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95,
Packit 7cfc04
0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4,
Packit 7cfc04
0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, 0x34867077, 0x30476dc0,
Packit 7cfc04
0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5,
Packit 7cfc04
0x2ac12072, 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16,
Packit 7cfc04
0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, 0x7897ab07,
Packit 7cfc04
0x7c56b6b0, 0x71159069, 0x75d48dde, 0x6b93dddb, 0x6f52c06c,
Packit 7cfc04
0x6211e6b5, 0x66d0fb02, 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1,
Packit 7cfc04
0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba,
Packit 7cfc04
0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b,
Packit 7cfc04
0xbb60adfc, 0xb6238b25, 0xb2e29692, 0x8aad2b2f, 0x8e6c3698,
Packit 7cfc04
0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d,
Packit 7cfc04
0x94ea7b2a, 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e,
Packit 7cfc04
0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2, 0xc6bcf05f,
Packit 7cfc04
0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34,
Packit 7cfc04
0xdc3abded, 0xd8fba05a, 0x690ce0ee, 0x6dcdfd59, 0x608edb80,
Packit 7cfc04
0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb,
Packit 7cfc04
0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f, 0x5c007b8a,
Packit 7cfc04
0x58c1663d, 0x558240e4, 0x51435d53, 0x251d3b9e, 0x21dc2629,
Packit 7cfc04
0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c,
Packit 7cfc04
0x3b5a6b9b, 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff,
Packit 7cfc04
0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, 0xf12f560e,
Packit 7cfc04
0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65,
Packit 7cfc04
0xeba91bbc, 0xef68060b, 0xd727bbb6, 0xd3e6a601, 0xdea580d8,
Packit 7cfc04
0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3,
Packit 7cfc04
0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xae3afba2,
Packit 7cfc04
0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, 0x9b3660c6, 0x9ff77d71,
Packit 7cfc04
0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30bad, 0x81b02d74,
Packit 7cfc04
0x857130c3, 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640,
Packit 7cfc04
0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, 0x7b827d21,
Packit 7cfc04
0x7f436096, 0x7200464f, 0x76c15bf8, 0x68860bfd, 0x6c47164a,
Packit 7cfc04
0x61043093, 0x65c52d24, 0x119b4be9, 0x155a565e, 0x18197087,
Packit 7cfc04
0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec,
Packit 7cfc04
0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d,
Packit 7cfc04
0x2056cd3a, 0x2d15ebe3, 0x29d4f654, 0xc5a92679, 0xc1683bce,
Packit 7cfc04
0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb,
Packit 7cfc04
0xdbee767c, 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18,
Packit 7cfc04
0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, 0x89b8fd09,
Packit 7cfc04
0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662,
Packit 7cfc04
0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf,
Packit 7cfc04
0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4
Packit 7cfc04
};
Packit 7cfc04
.P
Packit 7cfc04
unsigned long memcrc(const unsigned char *b, size_t n)
Packit 7cfc04
{
Packit 7cfc04
/*  Input arguments:
Packit 7cfc04
 *  const unsigned char*   b == byte sequence to checksum
Packit 7cfc04
 *  size_t                 n == length of sequence
Packit 7cfc04
 */
Packit 7cfc04
.P
Packit 7cfc04
    register size_t i;
Packit 7cfc04
    register unsigned c, s = 0;
Packit 7cfc04
.P
Packit 7cfc04
    for (i = n; i > 0; \(mi\|\(mii) {
Packit 7cfc04
        c = *b++;
Packit 7cfc04
        s = (s << 8) ^ crctab[(s >> 24) ^ c];
Packit 7cfc04
    }
Packit 7cfc04
.P
Packit 7cfc04
    /* Extend with the length of the string. */
Packit 7cfc04
    while (n != 0) {
Packit 7cfc04
        c = n & 0377;
Packit 7cfc04
        n >>= 8;
Packit 7cfc04
        s = (s << 8) ^ crctab[(s >> 24) ^ c];
Packit 7cfc04
    }
Packit 7cfc04
.P
Packit 7cfc04
    return ~s;
Packit 7cfc04
}
Packit 7cfc04
.fi \fR
Packit 7cfc04
.P
Packit 7cfc04
.RE
Packit 7cfc04
.P
Packit 7cfc04
The historical practice of writing the number of ``blocks'' has been
Packit 7cfc04
changed to writing the number of octets, since the latter is not only
Packit 7cfc04
more useful, but also since historical implementations have not been
Packit 7cfc04
consistent in defining what a ``block'' meant.
Packit 7cfc04
.P
Packit 7cfc04
The algorithm used was selected to increase the operational robustness
Packit 7cfc04
of
Packit 7cfc04
.IR cksum .
Packit 7cfc04
Neither the System V nor BSD
Packit 7cfc04
.IR sum
Packit 7cfc04
algorithm was selected. Since each of these was different and each was
Packit 7cfc04
the default behavior on those systems, no realistic compromise was
Packit 7cfc04
available if either were selected\(emsome set of historical
Packit 7cfc04
applications would break. Therefore, the name was changed to
Packit 7cfc04
.IR cksum .
Packit 7cfc04
Although the historical
Packit 7cfc04
.IR sum
Packit 7cfc04
commands will probably continue to be provided for many years, programs
Packit 7cfc04
designed for portability across systems should use the new name.
Packit 7cfc04
.P
Packit 7cfc04
The algorithm selected is based on that used by the ISO/IEC\ 8802\(hy3:\|1996 standard (Ethernet)
Packit 7cfc04
for the frame check sequence field. The algorithm used does not match
Packit 7cfc04
the technical definition of a
Packit 7cfc04
.IR checksum ;
Packit 7cfc04
the term is used for historical reasons. The length of the file is
Packit 7cfc04
included in the CRC calculation because this parallels inclusion of a
Packit 7cfc04
length field by Ethernet in its CRC, but also because it guards against
Packit 7cfc04
inadvertent collisions between files that begin with different series
Packit 7cfc04
of zero octets. The chance that two different files produce identical
Packit 7cfc04
CRCs is much greater when their lengths are not considered. Keeping the
Packit 7cfc04
length and the checksum of the file itself separate would yield a
Packit 7cfc04
slightly more robust algorithm, but historical usage has always been
Packit 7cfc04
that a single number (the checksum as printed) represents the signature
Packit 7cfc04
of the file. It was decided that historical usage was the more
Packit 7cfc04
important consideration.
Packit 7cfc04
.P
Packit 7cfc04
Early proposals contained modifications to the Ethernet algorithm that
Packit 7cfc04
involved extracting table values whenever an intermediate result became
Packit 7cfc04
zero. This was demonstrated to be less robust than the current method
Packit 7cfc04
and mathematically difficult to describe or justify.
Packit 7cfc04
.P
Packit 7cfc04
The calculation used is identical to that given in pseudo-code in the
Packit 7cfc04
referenced Sarwate article. The pseudo-code rendition is:
Packit 7cfc04
.sp
Packit 7cfc04
.RS 4
Packit 7cfc04
.nf
Packit 7cfc04
\fB
Packit 7cfc04
X <\(mi 0; Y <\(mi 0;
Packit 7cfc04
for i <\(mi m \(mi1 step \(mi1 until 0 do
Packit 7cfc04
    begin
Packit 7cfc04
    T <\(mi X(1) ^ A[i];
Packit 7cfc04
    X(1) <\(mi X(0); X(0) <\(mi Y(1); Y(1) <\(mi Y(0); Y(0) <\(mi 0;
Packit 7cfc04
    comment: f[T] and f'[T] denote the T-th words in the
Packit 7cfc04
        table f and f' ;
Packit 7cfc04
    X <\(mi X ^ f[T]; Y <\(mi Y ^ f'[T];
Packit 7cfc04
    end
Packit 7cfc04
.fi \fR
Packit 7cfc04
.P
Packit 7cfc04
.RE
Packit 7cfc04
.P
Packit 7cfc04
The pseudo-code is reproduced exactly as given; however, note that in
Packit 7cfc04
the case of
Packit 7cfc04
.IR cksum ,
Packit 7cfc04
.BR A[i]
Packit 7cfc04
represents a byte of the file, the words
Packit 7cfc04
.BR X
Packit 7cfc04
and
Packit 7cfc04
.BR Y
Packit 7cfc04
are treated as a single 32-bit value, and the tables
Packit 7cfc04
.BR f
Packit 7cfc04
and
Packit 7cfc04
.BR f'
Packit 7cfc04
are a single table containing 32-bit values.
Packit 7cfc04
.P
Packit 7cfc04
The referenced Sarwate article also discusses generating the table.
Packit 7cfc04
.SH "FUTURE DIRECTIONS"
Packit 7cfc04
None.
Packit 7cfc04
.SH "SEE ALSO"
Packit 7cfc04
The Base Definitions volume of POSIX.1\(hy2008,
Packit 7cfc04
.IR "Chapter 8" ", " "Environment Variables"
Packit 7cfc04
.SH COPYRIGHT
Packit 7cfc04
Portions of this text are reprinted and reproduced in electronic form
Packit 7cfc04
from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
Packit 7cfc04
-- Portable Operating System Interface (POSIX), The Open Group Base
Packit 7cfc04
Specifications Issue 7, Copyright (C) 2013 by the Institute of
Packit 7cfc04
Electrical and Electronics Engineers, Inc and The Open Group.
Packit 7cfc04
(This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the
Packit 7cfc04
event of any discrepancy between this version and the original IEEE and
Packit 7cfc04
The Open Group Standard, the original IEEE and The Open Group Standard
Packit 7cfc04
is the referee document. The original Standard can be obtained online at
Packit 7cfc04
http://www.unix.org/online.html .
Packit 7cfc04
Packit 7cfc04
Any typographical or formatting errors that appear
Packit 7cfc04
in this page are most likely
Packit 7cfc04
to have been introduced during the conversion of the source files to
Packit 7cfc04
man page format. To report such errors, see
Packit 7cfc04
https://www.kernel.org/doc/man-pages/reporting_bugs.html .