Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


KVM_DUMP(3)                Library Functions Manual                KVM_DUMP(3)

NAME
     kvm_dump_mkheader, kvm_dump_wrtheader, kvm_dump_inval - crash dump
     support functions

LIBRARY
     Kernel Data Access Library (libkvm, -lkvm)

SYNOPSIS
     #include <kvm.h>

     int
     kvm_dump_mkheader(kvm_t *kd, off_t dump_off);

     int
     kvm_dump_wrtheader(kvm_t *kd, FILE *fp, int dumpsize);

     int
     kvm_dump_inval(kvm_t *kd);

DESCRIPTION
     First note that the functions described here were designed to be used by
     savecore(8).

     The function kvm_dump_mkheader() checks if the physical memory file
     associated with kd contains a valid crash dump header as generated by a
     dumping kernel.  When a valid header is found, kvm_dump_mkheader()
     initializes the internal kvm data structures as if a crash dump generated
     by the savecore(8) program was opened.  This has the intentional side
     effect of enabling the address translation machinery.

     A call to kvm_dump_mkheader() will most likely be followed by a call to
     kvm_dump_wrtheader().  This function takes care of generating the generic
     header, the CORE_CPU section and the section header of the CORE_DATA
     section.  The data is written to the file pointed at by fp.  The dumpsize
     argument is only used to properly the set the segment size of the
     CORE_DATA section.  Note that this function assumes that fp is positioned
     at file location 0.  This function will not seek and therefore allows fp
     to be a file pointer obtained by zopen().

     The kvm_dump_inval() function clears the magic number in the physical
     memory file associated with kd.  The address translations must be enabled
     for this to work (thus assuming that kvm_dump_mkheader() was called
     earlier in the sequence).

RETURN VALUES
     All functions except kvm_dump_mkheader() return 0 on success, -1 on
     failure.  The function kvm_dump_mkheader() returns the size of the
     headers present before the actual dumpdata starts.  If no valid headers
     were found but no fatal errors occurred, 0 is returned.  On fatal errors
     the return value is -1.

     In the case of failure, kvm_geterr(3) can be used to retrieve the cause
     of the error.

SEE ALSO
     kvm(3), kvm_open(3)

HISTORY
     These functions first appeared in NetBSD 1.2.

NetBSD 10.99                    March 17, 1996                    NetBSD 10.99