KVM_DUMP(3) BSD Programmer's Manual KVM_DUMP(3)
kvm_dump_mkheader, kvm_dump_wrtheader, kvm_dump_inval - crash dump sup- port functions
#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);
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 asso- ciated with kd contains a valid crash dump header as generated by a dump- ing 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 sec- tion. The data is written to the file pointed at by fp. The dumpsize ar- gument is only used to properly 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 ear- lier in the sequence).
All functions return 0 on success, -1 on failure. In the case of failure, kvm_geterr(3) can be used to retrieve the cause of the error.
kvm(3)
These functions first appeared in NetBSD 1.1A. MirBSD #10-current March 17, 1996 1