initterm.h revision 7e960d3a0a8a3a84d7aba2cca45d72b1c31cc97b
5b281ba489ca18f0380d7efc7a5108b606cce449vboxsync * IPRT - Runtime Init/Term.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * Copyright (C) 2006-2007 Sun Microsystems, Inc.
49d36b55bcf206ced156a303dab448a75fac001bvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
49d36b55bcf206ced156a303dab448a75fac001bvboxsync * available from http://www.virtualbox.org. This file is free software;
49d36b55bcf206ced156a303dab448a75fac001bvboxsync * you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * 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.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * additional information or have any questions.
5b281ba489ca18f0380d7efc7a5108b606cce449vboxsync/** @defgroup grp_rt IPRT APIs
49d36b55bcf206ced156a303dab448a75fac001bvboxsync/** @defgroup grp_rt_initterm Init / Term
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * Initializes the runtime library.
49d36b55bcf206ced156a303dab448a75fac001bvboxsync * @returns iprt status code.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * Initializes the runtime library and try initialize SUPLib too.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * @returns IPRT status code.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * @param pszProgramPath The path to the program file.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * @remarks Failure to initialize SUPLib is ignored.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * Initializes the runtime library passing it the program path.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * @returns IPRT status code.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * @param pszProgramPath The path to the program file.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsyncRTR3DECL(int) RTR3InitWithProgramPath(const char *pszProgramPath);
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * Initializes the runtime library passing it the program path,
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * and try initialize SUPLib too (failures ignored).
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * @returns IPRT status code.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * @param pszProgramPath The path to the program file.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync * @remarks Failure to initialize SUPLib is ignored.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsyncRTR3DECL(int) RTR3InitAndSUPLibWithProgramPath(const char *pszProgramPath);
c897410835e67f7da96b4a6f4c800677e7901321vboxsync * Initializes the runtime library and possibly also SUPLib too.
c897410835e67f7da96b4a6f4c800677e7901321vboxsync * Avoid this interface, it's not considered stable.
c897410835e67f7da96b4a6f4c800677e7901321vboxsync * @returns IPRT status code.
c897410835e67f7da96b4a6f4c800677e7901321vboxsync * @param iVersion The interface version. Must be 0 atm.
c897410835e67f7da96b4a6f4c800677e7901321vboxsync * @param pszProgramPath The program path. Pass NULL if we're to figure it out ourselves.
c897410835e67f7da96b4a6f4c800677e7901321vboxsync * @param fInitSUPLib Whether to initialize the support library or not.
c897410835e67f7da96b4a6f4c800677e7901321vboxsyncRTR3DECL(int) RTR3InitEx(uint32_t iVersion, const char *pszProgramPath, bool fInitSUPLib);
49d36b55bcf206ced156a303dab448a75fac001bvboxsync * Terminates the runtime library.
dced478b440a327fb550155c0f73c1ac968ad93bvboxsync#endif /* IN_RING3 */
49d36b55bcf206ced156a303dab448a75fac001bvboxsync * Initalizes the ring-0 driver runtime library.
49d36b55bcf206ced156a303dab448a75fac001bvboxsync * @returns iprt status code.
49d36b55bcf206ced156a303dab448a75fac001bvboxsync * @param fReserved Flags reserved for the future.
49d36b55bcf206ced156a303dab448a75fac001bvboxsync * Terminates the ring-0 driver runtime library.
0120c35c41a827e23a6e04fbd59299a187e0b22cvboxsync * Initializes the raw-mode context runtime library.
f25c2612832b605961e651736ef27c3833960c0fvboxsync * @returns iprt status code.
f25c2612832b605961e651736ef27c3833960c0fvboxsync * @param u64ProgramStartNanoTS The startup timestamp.
0120c35c41a827e23a6e04fbd59299a187e0b22cvboxsyncRTGCDECL(int) RTRCInit(uint64_t u64ProgramStartNanoTS);
0120c35c41a827e23a6e04fbd59299a187e0b22cvboxsync * Terminates the raw-mode context runtime library.