about summary refs log tree commit diff stats
path: root/usr/src/mei/printf/printf.1.man
diff options
context:
space:
mode:
authorRen Kararou <[email protected]>2023-11-29 09:05:14 -0600
committerRen Kararou <[email protected]>2023-11-29 09:05:14 -0600
commit3e62ae0b2111a262de786eabbc90d127820ae810 (patch)
tree2fc6509e92ce1a92c6a80d89c6d0a9827eaea844 /usr/src/mei/printf/printf.1.man
parent6a8f7dce846fabbf71881d9f2beba5504133730d (diff)
downloadk2spice-3e62ae0b2111a262de786eabbc90d127820ae810.tar.gz
k2spice-3e62ae0b2111a262de786eabbc90d127820ae810.tar.bz2
k2spice-3e62ae0b2111a262de786eabbc90d127820ae810.zip
printf stuff mei/printf
Diffstat (limited to 'usr/src/mei/printf/printf.1.man')
-rw-r--r--usr/src/mei/printf/printf.1.man692
1 files changed, 692 insertions, 0 deletions
diff --git a/usr/src/mei/printf/printf.1.man b/usr/src/mei/printf/printf.1.man
new file mode 100644
index 0000000..259e9a9
--- /dev/null
+++ b/usr/src/mei/printf/printf.1.man
@@ -0,0 +1,692 @@
+PRINTF(1)                        User Commands                       PRINTF(1)
+
+NNAAMMEE
+       printf - write formatted output
+
+SSYYNNOOPPSSIISS
+   //uussrr//bbiinn//pprriinnttff
+       pprriinnttff _f_o_r_m_a_t [_a_r_g_u_m_e_n_t]...
+
+
+   kksshh9933
+       pprriinnttff _f_o_r_m_a_t [_s_t_r_i_n_g...]
+
+
+DDEESSCCRRIIPPTTIIOONN
+   //uussrr//bbiinn//pprriinnttff
+       The pprriinnttff utility writes each string operand to standard output using
+       _f_o_r_m_a_t to control the output format.
+
+OOPPEERRAANNDDSS
+   //uussrr//bbiinn//pprriinnttff
+       The following operands are supported by //uussrr//bbiinn//pprriinnttff:
+
+       _f_o_r_m_a_t
+                   A string describing the format to use to write the
+                   remaining operands. The _f_o_r_m_a_t operand is used as the
+                   _f_o_r_m_a_t string described on the ffoorrmmaattss(7) manual page, with
+                   the following exceptions:
+
+                       o      A SSPPAACCEE character in the format string, in any
+                              context other than a flag of a conversion
+                              specification, is treated as an ordinary
+                              character that is copied to the output.
+
+                       o      A character in the format string is treated as a
+                              character, not as a SSPPAACCEE character.
+
+                       o      In addition to the escape sequences described on
+                              the ffoorrmmaattss(7) manual page (\\\\, \\aa, \\bb, \\ff, \\nn,
+                              \\rr, \\tt, \\vv), \\_d_d_d, where _d_d_d is a one-, two- or
+                              three-digit octal number, is written as a byte
+                              with the numeric value specified by the octal
+                              number.
+
+                       o      The program does not precede or follow output
+                              from the dd or uu conversion specifications with
+                              blank characters not specified by the _f_o_r_m_a_t
+                              operand.
+
+                       o      The program does not precede output from the oo
+                              conversion specification with zeros not
+                              specified by the _f_o_r_m_a_t operand.
+
+                       o      The argument used for the conversion character
+                              (or width or precision parameters, see below)
+                              may be taken from the _nnth argument instead of
+                              the next unused argument, by specifying _n$$
+                              immediately following the %% character, or the **
+                              character (for width or precision arguments).
+                              If _n$$ appears in any conversions in the format
+                              string, then it must be used for all
+                              conversions, including any variable width or
+                              precision specifiers.
+
+                       o      The special character ** may be used instead of a
+                              string of decimal digits to indicate a minimum
+                              field width or a precision.  In this case the
+                              next available argument is used (or the _nth if
+                              the form _n$$ is used), treating its value as a
+                              decimal string.
+
+                       o      An additional conversion character, bb, is
+                              supported as follows. The argument is taken to
+                              be a string that can contain backslash-escape
+                              sequences.  The following backslash-escape
+                              sequences are supported:
+
+                           o      the escape sequences listed on the
+                                  ffoorrmmaattss(7) manual page (\\\\, \\aa, \\bb, \\ff, \\nn,
+                                  \\rr, \\tt, \\vv), which are converted to the
+                                  characters they represent
+
+                           o      \\00_d_d_d, where _d_d_d is a zero-, one-, two- or
+                                  three-digit octal number that is converted
+                                  to a byte with the numeric value specified
+                                  by the octal number
+
+                           o      \\cc, which is written and causes pprriinnttff to
+                                  ignore any remaining characters in the
+                                  string operand containing it, any remaining
+                                  string operands and any additional
+                                  characters in the _f_o_r_m_a_t operand.
+                   The interpretation of a backslash followed by any other
+                   sequence of characters is unspecified.
+
+                   Bytes from the converted string are written until the end
+                   of the string or the number of bytes indicated by the
+                   precision specification is reached. If the precision is
+                   omitted, it is taken to be infinite, so all bytes up to the
+                   end of the converted string are written. For each
+                   specification that consumes an argument, the next argument
+                   operand is evaluated and converted to the appropriate type
+                   for the conversion as specified below. The _f_o_r_m_a_t operand
+                   is reused as often as necessary to satisfy the argument
+                   operands. Any extra cc or ss conversion specifications are
+                   evaluated as if a null string argument were supplied; other
+                   extra conversion specifications are evaluated as if a zero
+                   argument were supplied.
+
+                   When there are more argument operands than format
+                   specifiers, and the format includes _n$$ position indicators,
+                   then the format is reprocessed from the beginning as above,
+                   but with the argument list starting from the next argument
+                   after the highest _nth argument previously encountered.
+
+                   If the _f_o_r_m_a_t operand contains no conversion specifications
+                   and _a_r_g_u_m_e_n_t operands are present, the results are
+                   unspecified. If a character sequence in the _f_o_r_m_a_t operand
+                   begins with a %% character, but does not form a valid
+                   conversion specification, the behavior is unspecified.
+
+
+       _a_r_g_u_m_e_n_t
+                   The strings to be written to standard output, under the
+                   control of ffoorrmmaatt. The _a_r_g_u_m_e_n_t operands are treated as
+                   strings if the corresponding conversion character is bb, cc
+                   or ss. Otherwise, it is evaluated as a C constant, as
+                   described by the ISO C standard, with the following
+                   extensions:
+
+                       o      A leading plus or minus sign is allowed.
+
+                       o      If the leading character is a single- or double-
+                              quote, the value is the numeric value in the
+                              underlying codeset of the character following
+                              the single- or double-quote.
+                   If an argument operand cannot be completely converted into
+                   an internal value appropriate to the corresponding
+                   conversion specification, a diagnostic message is written
+                   to standard error and the utility does not exit with a zero
+                   exit status, but continues processing any remaining
+                   operands and writes the value accumulated at the time the
+                   error was detected to standard output.
+
+
+   kksshh9933
+       The _f_o_r_m_a_t operands support the full range of ANSI C/C99/XPG6
+       formatting specifiers as well as additional specifiers:
+
+       %%bb
+             Each character in the string operand is processed specially, as
+             follows:
+
+             \\aa
+                     Alert character.
+
+
+             \\bb
+                     Backspace character.
+
+
+             \\cc
+                     Terminate output without appending NEWLINE. The remaining
+                     string operands are ignored.
+
+
+             \\EE
+                     Escape character (AASSCCIIII octal 003333).
+
+
+             \\ff
+                     FORM FEED character.
+
+
+             \\nn
+                     NEWLINE character.
+
+
+             \\tt
+                     TAB character.
+
+
+             \\vv
+                     Vertical tab character.
+
+
+             \\\\
+                     Backslash character.
+
+
+             \\00_x
+                     The 8-bit character whose AASSCCIIII code is the 11-, 22-, or
+                     33-digit octal number _x.
+
+
+
+       %%BB
+             Treat the argument as a variable name and output the value
+             without converting it to a string. This is most useful for
+             variables of type --bb.
+
+
+       %%HH
+             Output string with characters <<, &&, >>, "", and non-printable
+             characters, properly escaped for use in HTML and XML documents.
+
+
+       %%PP
+             Treat _s_t_r_i_n_g as an extended regular expression and convert it to
+             a shell pattern.
+
+
+       %%qq
+             Output _s_t_r_i_n_g quoted in a manner that it can be read in by the
+             shell to get back the same string. However, empty strings
+             resulting from missing string operands are not quoted.
+
+
+       %%RR
+             Treat _s_t_r_i_n_g as an shell pattern expression and convert it to an
+             extended regular expression.
+
+
+       %%TT
+             Treat _s_t_r_i_n_g as a date/time string and format it. The TT can be
+             preceded by (_d_f_o_r_m_a_t), where _d_f_o_r_m_a_t is a date format as defined
+             by the ddaattee(1) command.
+
+
+       %%ZZ
+             Output a byte whose value is 00.
+
+
+
+       When performing conversions of _s_t_r_i_n_g to satisfy a numeric format
+       specifier, if the first character of _s_t_r_i_n_g is ""oorr'', the value is the
+       numeric value in the underlying code set of the character following the
+       ""oorr''. Otherwise, _s_t_r_i_n_g is treated like a shell arithmetic expression
+       and evaluated.
+
+
+       If a _s_t_r_i_n_g operand cannot be completely converted into a value
+       appropriate for that format specifier, an error occurs, but remaining
+       _s_t_r_i_n_g operands continue to be processed.
+
+
+       In addition to the format specifier extensions, the following
+       extensions of ANSI C/C99/XPG6 are permitted in format specifiers:
+
+           o      The escape sequences \\EE and \\ee expand to the escape
+                  character which is octal 033 in ASCII.
+
+           o      The escape sequence \\ccxx expands to CTRL-x.
+
+           o      The escape sequence \\CC[[.._n_a_m_e..]] expands to the collating
+                  element _n_a_m_e.
+
+           o      The escape sequence \\xx{{hheexx}} expands to the character
+                  corresponding to the hexadecimal value hheexx.
+
+           o      The format modifier flag = can be used to center a field to
+                  a specified width.  When the output is a terminal, the
+                  character width is used rather than the number of bytes.
+
+           o      Each of the integral format specifiers can have a third
+                  modifier after width and precision that specifies the base
+                  of the conversion from 2 to 64. In this case, the ## modifier
+                  causes _b_a_s_e## to be prepended to the value.
+
+           o      The ## modifier can be used with the dd specifier when no base
+                  is specified to cause the output to be written in units of
+                  1000 with a suffix of one of kk MM GG TT PP EE.
+
+           o      The ## modifier can be used with the ii specifier to cause the
+                  output to be written in units of 11002244 with a suffix of one
+                  of KKii MMii GGii TTii PPii EEii.
+
+
+       If there are more _s_t_r_i_n_g operands than format specifiers, the format
+       string is reprocessed from the beginning. If there are fewer _s_t_r_i_n_g
+       operands than format specifiers, then _s_t_r_i_n_g specifiers are treated as
+       if empty strings were supplied, numeric conversions are treated as if 00
+       was supplied, and time conversions are treated as if nnooww was supplied.
+
+
+       When there are more argument operands than format specifiers, and the
+       format includes _n$$ position indicators, then the format is reprocessed
+       from the beginning as above, but with the argument list starting from
+       the next argument after the highest _nth argument previously
+       encountered.
+
+
+       //uussrr//bbiinn//pprriinnttff is equivalent to kksshh9933's pprriinnttff built-in and pprriinntt --ff,
+       which allows additional options to be specified.
+
+UUSSAAGGEE
+   //uussrr//bbiinn//pprriinnttff
+       The pprriinnttff utility, like the pprriinnttff(3C) function on which it is based,
+       makes no special provision for dealing with multi-byte characters when
+       using the %%cc conversion specification. Applications should be extremely
+       cautious using either of these features when there are multi-byte
+       characters in the character set.
+
+
+       The %%bb conversion specification is not part of the ISO C standard; it
+       has been added here as a portable way to process backslash escapes
+       expanded in string operands as provided by the eecchhoo utility. See also
+       the USAGE section of the eecchhoo(1) manual page for ways to use pprriinnttff as
+       a replacement for all of the traditional versions of the eecchhoo utility.
+
+
+       If an argument cannot be parsed correctly for the corresponding
+       conversion specification, the pprriinnttff utility reports an error. Thus,
+       overflow and extraneous characters at the end of an argument being used
+       for a numeric conversion are to be reported as errors.
+
+
+       It is not considered an error if an argument operand is not completely
+       used for a cc or ss conversion or if a string operand's first or second
+       character is used to get the numeric value of a character.
+
+EEXXAAMMPPLLEESS
+   //uussrr//bbiinn//pprriinnttff
+       EExxaammppllee 11 Printing a Series of Prompts
+
+
+       The following example alerts the user, then prints and reads a series
+       of prompts:
+
+
+         example% pprriinnttff ""\\aaPPlleeaassee ffiillll iinn tthhee ffoolllloowwiinngg:: \\nnNNaammee:: ""
+         rreeaadd nnaammee
+         pprriinnttff ""PPhhoonnee nnuummbbeerr:: ""
+         rreeaadd pphhoonnee
+
+
+
+       EExxaammppllee 22 Printing a Table of Calculations
+
+
+       The following example prints a table of calculations. It reads out a
+       list of right and wrong answers from a file, calculates the percentage
+       correctly, and prints them out. The numbers are right-justified and
+       separated by a single tab character. The percentage is written to one
+       decimal place of accuracy:
+
+
+         example% wwhhiillee rreeaadd rriigghhtt wwrroonngg ;; ddoo
+            ppeerrcceenntt==$$((eecchhoo ""ssccaallee==11;;(($$rriigghhtt**110000))//(($$rriigghhtt++$$wwrroonngg))"" || bbcc))
+            pprriinnttff ""%%22dd rriigghhtt\\tt%%22dd wwrroonngg\\tt((%%ss%%%%))\\nn"" \\
+                 $$rriigghhtt $$wwrroonngg $$ppeerrcceenntt
+         ddoonnee << ddaattaabbaassee__ffiillee
+
+
+
+       EExxaammppllee 33 Printing number strings
+
+
+       The command:
+
+
+         example% pprriinnttff ""%%55dd%%44dd\\nn"" 11 2211 332211 44332211 5544332211
+
+
+
+
+       produces:
+
+
+             1  21
+           3214321
+         54321   0
+
+
+
+
+       The _f_o_r_m_a_t operand is used three times to print all of the given
+       strings and that a 00 was supplied by pprriinnttff to satisfy the last %%44dd
+       conversion specification.
+
+
+       EExxaammppllee 44 Tabulating Conversion Errors
+
+
+       The following example tabulates conversion errors.
+
+
+
+       The pprriinnttff utility tells the user when conversion errors are detected
+       while producing numeric output. These results would be expected on an
+       implementation with 32-bit twos-complement integers when %%dd is
+       specified as the _f_o_r_m_a_t operand:
+
+
+
+
+
+       ┌───────────────────────────────────────────────────────────────────┐
+       │ Arguments     Standard                   Diagnostic               │
+       │5a            5             printf: 5a not completely converted    │
+       │9999999999    2147483647    printf: 9999999999: Results too large  │
+       │-9999999999   -2147483648   printf: -9999999999: Results too large │
+       │ABC           0             printf: ABC expected numeric value     │
+       └───────────────────────────────────────────────────────────────────┘
+
+
+       The value shown on standard output is what would be expected as the
+       return value from the function ssttrrttooll(3C). A similar correspondence
+       exists between %%uu and ssttrrttoouull(3C), and %%ee, %%ff and %%gg and ssttrrttoodd(3C).
+
+
+       EExxaammppllee 55 Printing Output for a Specific Locale
+
+
+       The following example prints output for a specific locale. In a locale
+       using the ISO/IEC 646:1991 standard as the underlying codeset, the
+       command:
+
+
+         example% pprriinnttff ""%%dd\\nn"" 33 ++33 --33 \\''33 \\""++33 ""''--33""
+
+
+
+
+       produces:
+
+
+
+
+
+       ┌──────────────────────────────────┐
+       │33    Numeric value of constant 3  │
+       │33    Numeric value of constant 3  │
+       │−−33   Numeric value of constant −3 │
+       │5511   Numeric value of the         │
+       │     character `3' in the ISO/IEC │
+       │     646:1991 standard codeset    │
+       │4433   Numeric value of the         │
+       │     character `+' in the ISO/IEC │
+       │     646:1991 standard codeset    │
+       │4455   Numeric value of the         │
+       │     character `−' in the SO/IEC  │
+       │     646:1991 standard codeset    │
+       └──────────────────────────────────┘
+
+
+       In a locale with multi-byte characters, the value of a character is
+       intended to be the value of the equivalent of the wwcchhaarr__tt
+       representation of the character.
+
+
+
+       If an argument operand cannot be completely converted into an internal
+       value appropriate to the corresponding conversion specification, a
+       diagnostic message is written to standard error and the utility does
+       exit with a zero exit status, but continues processing any remaining
+       operands and writes the value accumulated at the time the error was
+       detected to standard output.
+
+
+       EExxaammppllee 66 Alternative floating point representation 1
+
+
+       The pprriinnttff utility supports an alternative floating point
+       representation (see pprriinnttff(3C) entry for the "%%aa"/"%%AA"), which allows
+       the output of floating-point values in a format that avoids the usual
+       base16 to base10 rounding errors.
+
+
+         example% printf "%a\n" 2 3.1 NaN
+
+
+
+
+       produces:
+
+
+         0x1.0000000000000000000000000000p+01
+         0x1.8ccccccccccccccccccccccccccdp+01
+         nan
+
+
+
+       EExxaammppllee 77 Alternative floating point representation 2
+
+
+       The following example shows two different representations of the same
+       floating-point value.
+
+
+         example% x=2 ; printf "%f == %a\n" x x
+
+
+
+
+       produces:
+
+
+         2.000000 == 0x1.0000000000000000000000000000p+01
+
+
+
+       EExxaammppllee 88 Output of unicode values
+
+
+       The following command will print the EURO unicode symbol (code-point
+       0x20ac).
+
+
+         example% LC_ALL=en_US.UTF-8 printf "[20ac]\n"
+
+
+
+
+       produces:
+
+
+         <euro>
+
+
+
+
+       where "<euro>" represents the EURO currency symbol character.
+
+
+       EExxaammppllee 99 Convert unicode character to unicode code-point value
+
+
+       The following command will print the hexadecimal value of a given
+       character.
+
+
+         example% export LC_ALL=en_US.UTF-8
+         example% printf "%x\n" "'<euro>"
+
+
+
+
+       where "<euro>" represents the EURO currency symbol character (code-
+       point 0x20ac).
+
+
+
+       produces:
+
+
+         20ac
+
+
+
+       EExxaammppllee 1100 Print the numeric value of an ASCII character
+
+         example% printf "%d\n" "'A"
+
+
+
+
+       produces:
+
+
+         65
+
+
+
+       EExxaammppllee 1111 Print the language-independent date and time format
+
+
+       To print the language-independent date and time format, the following
+       statement could be used:
+
+
+         example% printf "format" weekday month day hour min
+
+
+
+
+       For example,
+
+
+         $ printf format "Sunday" "July" 3 10 2
+
+
+
+
+       For American usage, format could be the string:
+
+
+         "%s, %s %d, %d:%.2d\n"
+
+
+
+
+       producing the message:
+
+
+         Sunday, July 3, 10:02
+
+
+
+
+       Whereas for EU usage, format could be the string:
+
+
+         "%1$s, %3$d. %2$s, %4$d:%5$.2d\n"
+
+
+
+
+       Note that the '$' characters must be properly escaped, such as
+
+
+         "%1\$s, %3\$d. %2\$s, %4\$d:%5\$.2d\n" in this case
+
+
+
+
+       producing the message:
+
+
+         Sunday, 3. July, 10:02
+
+
+
+EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
+       See eennvviirroonn(7) for descriptions of the following environment variables
+       that affect the execution of pprriinnttff: LLAANNGG, LLCC__AALLLL, LLCC__CCTTYYPPEE,
+       LLCC__MMEESSSSAAGGEESS, LLCC__NNUUMMEERRIICC, and NNLLSSPPAATTHH.
+
+EEXXIITT SSTTAATTUUSS
+       The following exit values are returned:
+
+       00
+             Successful completion.
+
+
+       >>00
+             An error occurred.
+
+
+AATTTTRRIIBBUUTTEESS
+       See aattttrriibbuutteess(7) for descriptions of the following attributes:
+
+   //uussrr//bbiinn//pprriinnttff
+
+
+
+       ┌────────────────────┬───────────────────┐
+       │  ATTRIBUTE TYPE    │  ATTRIBUTE VALUE  │
+       ├────────────────────┼───────────────────┤
+       │CSI                 │ Enabled           │
+       ├────────────────────┼───────────────────┤
+       │Interface Stability │ Committed         │
+       ├────────────────────┼───────────────────┤
+       │Standard            │ See ssttaannddaarrddss(7). │
+       └────────────────────┴───────────────────┘
+
+   kksshh9933
+
+
+
+       ┌────────────────────┬─────────────────┐
+       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
+       ├────────────────────┼─────────────────┤
+       │Interface Stability │ Uncommitted     │
+       └────────────────────┴─────────────────┘
+
+SSEEEE AALLSSOO
+       aawwkk(1), bbcc(1), ddaattee(1), eecchhoo(1), kksshh9933(1), pprriinnttff(3C), ssttrrttoodd(3C),
+       ssttrrttooll(3C), ssttrrttoouull(3C), aattttrriibbuutteess(7), eennvviirroonn(7), ffoorrmmaattss(7),
+       ssttaannddaarrddss(7)
+
+NNOOTTEESS
+       Using format specifiers (characters following '%') which are not listed
+       in the pprriinnttff(3C) or this manual page will result in undefined
+       behavior.
+
+
+       Using escape sequences (the character following a backslash ('\'))
+       which are not listed in the pprriinnttff(3C) or this manual page will result
+       in undefined behavior.
+
+
+       Floating-point values follow C99, XPG6 and IEEE 754 standard behavior
+       and can handle values the same way as the platform's |lloonngg ddoouubbllee|
+       datatype.
+
+
+       Floating-point values handle the sign separately which allows signs for
+       values like NaN (for example, -nan), Infinite (for example, -inf) and
+       zero (for example, -0.0).
+
+                                 May 11, 2014                        PRINTF(1)