coredumper-solaris.h revision 5330cda3253fc3d94ed03a7609774e8c85a4c56d
c97989161fbe75bc14cea477a5443bbf474dd3advboxsync * IPRT Testcase - Core dump, header.
38856343f90103280eb83b5e697f9f618b407d83vboxsync * Copyright (C) 2010 Oracle Corporation
38856343f90103280eb83b5e697f9f618b407d83vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
38856343f90103280eb83b5e697f9f618b407d83vboxsync * available from http://www.virtualbox.org. This file is free software;
38856343f90103280eb83b5e697f9f618b407d83vboxsync * you can redistribute it and/or modify it under the terms of the GNU
c97989161fbe75bc14cea477a5443bbf474dd3advboxsync * General Public License (GPL) as published by the Free Software
38856343f90103280eb83b5e697f9f618b407d83vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
38856343f90103280eb83b5e697f9f618b407d83vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
38856343f90103280eb83b5e697f9f618b407d83vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * The contents of this file may alternatively be used under the terms
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * of the Common Development and Distribution License Version 1.0
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution, in which case the provisions of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * CDDL are applicable instead of those of the GPL.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * You may elect to license modified versions of this file under the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * terms and conditions of either the GPL or the CDDL or both.
38856343f90103280eb83b5e697f9f618b407d83vboxsync * Solaris' procfs cannot be used with large file environment in 32-bit.
38856343f90103280eb83b5e697f9f618b407d83vboxsync * ELFNOTEHDR: ELF NOTE header.
38856343f90103280eb83b5e697f9f618b407d83vboxsynctypedef struct ELFNOTEHDR
38856343f90103280eb83b5e697f9f618b407d83vboxsync * VBOXSOLMAPINFO: Memory mapping description.
38856343f90103280eb83b5e697f9f618b407d83vboxsync prmap_t pMap; /* Proc description of this mapping */
38856343f90103280eb83b5e697f9f618b407d83vboxsync int fError; /* Any error reading this mapping (errno) */
38856343f90103280eb83b5e697f9f618b407d83vboxsync struct VBOXSOLMAPINFO *pNext; /* Pointer to the next mapping */
38856343f90103280eb83b5e697f9f618b407d83vboxsync * VBOXSOLCORETYPE: Whether this is an old or new style core.
38856343f90103280eb83b5e697f9f618b407d83vboxsync * VBOXSOLTHREADINFO: Per-Thread information.
b0553043536ae0bdf9921b91597f9dc6c316b1b4vboxsync lwpsinfo_t Info; /* Proc description of this thread */
b0553043536ae0bdf9921b91597f9dc6c316b1b4vboxsync lwpstatus_t *pStatus; /* Proc description of this thread's status (can be NULL, zombie lwp) */
b0553043536ae0bdf9921b91597f9dc6c316b1b4vboxsync struct VBOXSOLTHREADINFO *pNext; /* Pointer to the next thread */
b0553043536ae0bdf9921b91597f9dc6c316b1b4vboxsync * VBOXPROCESS: Current (also the core target) process information.
38856343f90103280eb83b5e697f9f618b407d83vboxsynctypedef struct VBOXPROCESS
38856343f90103280eb83b5e697f9f618b407d83vboxsync char szExecPath[PATH_MAX]; /* Path of the executable */
38856343f90103280eb83b5e697f9f618b407d83vboxsync char *pszExecName; /* Name of the executable file */
b0553043536ae0bdf9921b91597f9dc6c316b1b4vboxsync prpsinfo_t ProcInfoOld; /* Process info. Older version (for GDB compat.) */
b0553043536ae0bdf9921b91597f9dc6c316b1b4vboxsync ucontext_t *pCurThreadCtx; /* Context info. of current thread before starting to dump */
38856343f90103280eb83b5e697f9f618b407d83vboxsync PVBOXSOLMAPINFO pMapInfoHead; /* Pointer to the head of list of mappings */
38856343f90103280eb83b5e697f9f618b407d83vboxsync uint32_t cMappings; /* Number of mappings (count of pMapInfoHead list) */
38856343f90103280eb83b5e697f9f618b407d83vboxsync PVBOXSOLTHREADINFO pThreadInfoHead; /* Pointer to the head of list of threads */
38856343f90103280eb83b5e697f9f618b407d83vboxsync uint64_t cThreads; /* Number of threads (count of pThreadInfoHead list) */
38856343f90103280eb83b5e697f9f618b407d83vboxsync size_t cbCred; /* Size of process credential info. */
38856343f90103280eb83b5e697f9f618b407d83vboxsync size_t cbPriv; /* Size of process privilege info. */
38856343f90103280eb83b5e697f9f618b407d83vboxsync const priv_impl_info_t *pcPrivImpl; /* Process privilege implementation info. (opaque handle) */
38856343f90103280eb83b5e697f9f618b407d83vboxsync core_content_t CoreContent; /* What information goes in the core */
38856343f90103280eb83b5e697f9f618b407d83vboxsynctypedef int (*PFNCOREREADER)(RTFILE hFile, void *pv, size_t cb);
38856343f90103280eb83b5e697f9f618b407d83vboxsynctypedef int (*PFNCOREWRITER)(RTFILE hFile, const void *pcv, size_t cb);
38856343f90103280eb83b5e697f9f618b407d83vboxsync * VBOXCORE: Core file object.
38856343f90103280eb83b5e697f9f618b407d83vboxsynctypedef struct VBOXCORE
38856343f90103280eb83b5e697f9f618b407d83vboxsync char szCorePath[PATH_MAX]; /* Path of the core file */
} VBOXCORE;