freebsd-nq/contrib/libxo
Kirk McKusick 88640c0e8b Create new EINTEGRITY error with message "Integrity check failed".
An integrity check such as a check-hash or a cross-correlation failed.
The integrity error falls between EINVAL that identifies errors in
parameters to a system call and EIO that identifies errors with the
underlying storage media. EINTEGRITY is typically raised by intermediate
kernel layers such as a filesystem or an in-kernel GEOM subsystem when
they detect inconsistencies. Uses include allowing the mount(8) command
to return a different exit value to automate the running of fsck(8)
during a system boot.

These changes make no use of the new error, they just add it. Later
commits will be made for the use of the new error number and it will
be added to additional manual pages as appropriate.

Reviewed by:    gnn, dim, brueffer, imp
Discussed with: kib, cem, emaste, ed, jilles
Differential Revision: https://reviews.freebsd.org/D18765
2019-01-17 06:35:45 +00:00
..
doc Import libxo-0.9.0: 2018-05-23 01:20:31 +00:00
encoder Import libxo-0.8.0: 2017-06-08 13:04:01 +00:00
libxo Import libxo-0.9.0: 2018-05-23 01:20:31 +00:00
packaging Import to 0.6.1 2016-04-15 18:46:15 +00:00
tests Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
xo Update from libxo-0.8.1 to 0.8.4: 2017-08-03 15:47:42 +00:00
xohtml Update from libxo-0.8.1 to 0.8.4: 2017-08-03 15:47:42 +00:00
xolint Update from libxo-0.8.1 to 0.8.4: 2017-08-03 15:47:42 +00:00
xopo Update from libxo-0.8.1 to 0.8.4: 2017-08-03 15:47:42 +00:00
.gitignore Merge libxo 0.4.6 2016-04-12 23:30:56 +00:00
.svnignore Merge libxo 0.4.6 2016-04-12 23:30:56 +00:00
.travis.yml Upgrade libxo to 0.4.5. 2015-08-24 16:26:20 +00:00
configure.ac Import libxo-0.9.0: 2018-05-23 01:20:31 +00:00
Copyright
INSTALL.md Upgrade libxo to 0.4.5. 2015-08-24 16:26:20 +00:00
libxo-config.in Import to 0.6.1 2016-04-15 18:46:15 +00:00
LICENSE
Makefile.am Update from libxo-0.8.1 to 0.8.4: 2017-08-03 15:47:42 +00:00
README.md
warnings.mk

libxo

libxo - A Library for Generating Text, XML, JSON, and HTML Output

The libxo library allows an application to generate text, XML, JSON, and HTML output using a common set of function calls. The application decides at run time which output style should be produced. The application calls a function "xo_emit" to product output that is described in a format string. A "field descriptor" tells libxo what the field is and what it means.

    xo_emit(" {:lines/%7ju/%ju} {:words/%7ju/%ju} "
            "{:characters/%7ju/%ju}{d:filename/%s}\n",
            linect, wordct, charct, file);

Output can then be generated in various style, using the "--libxo" option:

    % wc /etc/motd
          25     165    1140 /etc/motd
    % wc --libxo xml,pretty,warn /etc/motd
    <wc>
      <file>
        <filename>/etc/motd</filename>
        <lines>25</lines>
        <words>165</words>
        <characters>1140</characters>
      </file>
    </wc>
    % wc --libxo json,pretty,warn /etc/motd
    {
      "wc": {
        "file": [
          {
            "filename": "/etc/motd",
            "lines": 25,
            "words": 165,
            "characters": 1140
          }
        ]
      }
    }
    % wc --libxo html,pretty,warn /etc/motd
    <div class="line">
      <div class="text"> </div>
      <div class="data" data-tag="lines">     25</div>
      <div class="text"> </div>
      <div class="data" data-tag="words">    165</div>
      <div class="text"> </div>
      <div class="data" data-tag="characters">   1140</div>
      <div class="text"> </div>
      <div class="data" data-tag="filename">/etc/motd</div>
    </div>

View the beautiful documentation at:

http://juniper.github.io/libxo/libxo-manual.html

Analytics