Bitcoin Core
24.99.0
P2P Digital Currency
src
init.h
Go to the documentation of this file.
1
// Copyright (c) 2009-2010 Satoshi Nakamoto
2
// Copyright (c) 2009-2022 The Bitcoin Core developers
3
// Distributed under the MIT software license, see the accompanying
4
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
6
#ifndef BITCOIN_INIT_H
7
#define BITCOIN_INIT_H
8
9
#include <any>
10
#include <memory>
11
#include <string>
12
14
static
constexpr
bool
DEFAULT_DAEMON
=
false
;
16
static
constexpr
bool
DEFAULT_DAEMONWAIT
=
false
;
17
18
class
ArgsManager
;
19
namespace
interfaces
{
20
struct
BlockAndHeaderTipInfo;
21
}
22
namespace
kernel
{
23
struct
Context;
24
}
25
namespace
node
{
26
struct
NodeContext
;
27
}
// namespace node
28
30
void
Interrupt
(
node::NodeContext
&
node
);
31
void
Shutdown
(
node::NodeContext
&
node
);
33
void
InitLogging
(
const
ArgsManager
&
args
);
35
void
InitParameterInteraction
(
ArgsManager
&
args
);
36
41
bool
AppInitBasicSetup
(
const
ArgsManager
&
args
);
47
bool
AppInitParameterInteraction
(
const
ArgsManager
&
args
,
bool
use_syscall_sandbox =
true
);
53
bool
AppInitSanityChecks
(
const
kernel::Context
&
kernel
);
59
bool
AppInitLockDataDirectory
();
63
bool
AppInitInterfaces
(
node::NodeContext
&
node
);
69
bool
AppInitMain
(
node::NodeContext
&
node
,
interfaces::BlockAndHeaderTipInfo
* tip_info =
nullptr
);
70
74
void
SetupServerArgs
(
ArgsManager
& argsman);
75
76
#endif
// BITCOIN_INIT_H
ArgsManager
Definition:
system.h:156
Shutdown
void Shutdown(node::NodeContext &node)
Definition:
init.cpp:228
DEFAULT_DAEMON
static constexpr bool DEFAULT_DAEMON
Default value for -daemon option.
Definition:
init.h:14
InitLogging
void InitLogging(const ArgsManager &args)
Initialize the logging infrastructure.
Definition:
init.cpp:765
AppInitLockDataDirectory
bool AppInitLockDataDirectory()
Lock bitcoin core data directory.
Definition:
init.cpp:1073
SetupServerArgs
void SetupServerArgs(ArgsManager &argsman)
Register all arguments with the ArgsManager.
Definition:
init.cpp:402
AppInitMain
bool AppInitMain(node::NodeContext &node, interfaces::BlockAndHeaderTipInfo *tip_info=nullptr)
Bitcoin core main initialization.
Definition:
init.cpp:1091
Interrupt
void Interrupt(node::NodeContext &node)
Interrupt threads.
Definition:
init.cpp:206
AppInitBasicSetup
bool AppInitBasicSetup(const ArgsManager &args)
Initialize bitcoin core: Basic context setup.
Definition:
init.cpp:795
DEFAULT_DAEMONWAIT
static constexpr bool DEFAULT_DAEMONWAIT
Default value for -daemonwait option.
Definition:
init.h:16
InitParameterInteraction
void InitParameterInteraction(ArgsManager &args)
Parameter interaction: change current parameters depending on various rules.
Definition:
init.cpp:673
AppInitParameterInteraction
bool AppInitParameterInteraction(const ArgsManager &args, bool use_syscall_sandbox=true)
Initialization: parameter interaction.
Definition:
init.cpp:836
AppInitInterfaces
bool AppInitInterfaces(node::NodeContext &node)
Initialize node and wallet interface pointers.
Definition:
init.cpp:1085
AppInitSanityChecks
bool AppInitSanityChecks(const kernel::Context &kernel)
Initialization sanity checks.
Definition:
init.cpp:1059
interfaces
Definition:
interfaces.cpp:41
kernel
Definition:
coinstatsindex.h:13
node
Definition:
init.h:25
args
ArgsManager args
Definition:
notifications.cpp:36
interfaces::BlockAndHeaderTipInfo
Block and header tip information.
Definition:
node.h:50
kernel::Context
Context struct holding the kernel library's logically global state, and passed to external libbitcoin...
Definition:
context.h:18
node::NodeContext
NodeContext struct containing references to chain state and connection state.
Definition:
context.h:43
Generated on Sat Apr 1 2023 02:43:57 for Bitcoin Core by
1.9.1