Man Linux: Main Page and Category List

NAME

       bones-info - display information about a Nethack bones file

SYNOPSIS

       bones-info [-a | --auto] [-b | --big-endian] [--debug] [--help] [-x |
       --hexadecimal] [-l | --little-endian] [-v | --verbose] [--version]
       file...

DESCRIPTION

       bones-info displays information about a Nethack bones file.  By default
       it shows what byte sex it used to read the file and the 4 version
       numbers which constitute the feature set and platform for the Nethack
       binary which generated it.

ENDIANNESS (aka BYTE SEX)

       Normally bones-info reads the bones file in little endian order,
       regardless of the byte sex of the current system, mostly because it was
       originally written to help with diagnosing problems with hearse and
       that’s the most useful behavior for that purpose.  You can use the
       --auto, --big-endian, and --little-endian switches to change this.

       --auto is particularly useful (and appropriate) when using --verbose.

OPTIONS

       -a, --auto
           Try to guess the right byte sex (little endian or big endian) for
           each input file.  If there doesn’t seem to be a right choice,
           bones-info will output a warning, set a non-zero exit status, and
           move on to the next file.

       -b, --big-endian
           Read the bones files in big endian order, such as is used by Macs.
           See also "--auto".

       --debug
           Turn debugging on.

       --help
           Show the usage message and die.

       -x, --hexadecimal
           Output numbers in hexadecimal form.

       -l, --little-endian
           Read the bones files in little endian order, such as is used by
           Intel hardware.  This is the default, I include it so that you
           don’t have to check what the default is if you know you want it a
           certain way.

       -v, --verbose
           Output more info about the bones file.  This tries to decode the 4
           version numbers.  Its useful when you want to see what the
           differences are between two sets of version numbers.  You’d
           normally want to use --auto when you use --verbose.

       --version
           Show the version number and exit.

EXAMPLES

       Output the values as used by the hearse server:

        $ bones-info *
        bonD0.0     sex=l v1=1        v2=2          v3=3          v4=4
        bonD0.4.gz  sex=l v1=50593792 v2=10357958   v3=555422078  v4=2759955912
        bonD0.8.Z   sex=l v1=1027     v2=3322682880 v3=2115050273 v4=3365241252
        bonD0.19    sex=l v1=50528512 v2=10357830   v3=555409789  v4=2558629316
        bonM0.1     sex=l v1=50593792 v2=404622406  v3=555417981  v4=2759955916
        bonM0.T     sex=l v1=50593792 v2=1969222    v3=555417981  v4=2759955912

       Output the real values as seen on the system which wrote the file (by
       guessing the byte sex of the file):

        $ bones-info --auto *
        bones-info: can't intuit byte sex of bonD0.0
        bonD0.4.gz  sex=l v1=50593792 v2=10357958   v3=555422078  v4=2759955912
        bonD0.8.Z   sex=b v1=50593792 v2=1969350    v3=555422078  v4=2759955912
        bonD0.19    sex=l v1=50528512 v2=10357830   v3=555409789  v4=2558629316
        bonM0.1     sex=l v1=50593792 v2=404622406  v3=555417981  v4=2759955916
        bonM0.T     sex=l v1=50593792 v2=1969222    v3=555417981  v4=2759955912
        zsh: exit 1     bones-info --auto *

       Decode the version numbers:

        $ bones-info --auto --verbose bonD0.4.gz bonD0.8.Z
        bonD0.4.gz: 18389 bytes
               read as: little endian
           incarnation: 50593792   (3.4.0.0)
           feature_set: 10357958   (REINCARNATION SINKS KOPS MAIL TOURIST STEED
                                    TEXTCOLOR INSURANCE ELBERETH EXP_ON_BOTL
                                    TIMED_DELAY)
          entity_count: 555422078  (33 artifacts, 433 objects, 382 monsters)
          struct_sizes: 2759955912 (164 flag, 64 obj, 101 monst, 456 you)

        bonD0.8.Z: 22296 bytes
               read as: big endian
           incarnation: 50593792   (3.4.0.0)
           feature_set: 1969350    (REINCARNATION SINKS KOPS MAIL TOURIST STEED
                                    TEXTCOLOR INSURANCE ELBERETH EXP_ON_BOTL)
          entity_count: 555422078  (33 artifacts, 433 objects, 382 monsters)
          struct_sizes: 2759955912 (164 flag, 64 obj, 101 monst, 456 you)

        $ _

BUGS

       Unsigned longs are assumed to be 4 bytes.

       The --auto byte sex detection isn’t robust.

       It’d be nice to be provide --verbose output for bones files from older
       versions.

AVAILABILITY

       This program is distributed with the Unix Hearse client.  The code is
       licensed under the GNU GPL.  Check
       http://www.argon.org/~roderick/hearse/ for updated versions.

AUTHOR

       Roderick Schertler <roderick@argon.org>