include
crt.h
Go to the documentation of this file.
1
/*
2
* Bareflank Hypervisor
3
*
4
* Copyright (C) 2015 Assured Information Security, Inc.
5
* Author: Rian Quinn <quinnr@ainfosec.com>
6
* Author: Brendan Kerrigan <kerriganb@ainfosec.com>
7
*
8
* This library is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* This library is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with this library; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
#ifndef CRT_H
24
#define CRT_H
25
26
#include <
types.h
>
27
#include <
error_codes.h
>
28
29
#pragma pack(push, 1)
30
31
#ifdef __cplusplus
32
extern
"C"
{
33
#endif
34
35
struct
section_info_t
;
36
51
typedef
int64_t (*
local_init_t
)(
struct
section_info_t
*info);
52
67
typedef
int64_t (*
local_fini_t
)(
struct
section_info_t
*info);
68
83
int64_t
local_init
(
struct
section_info_t
*info);
84
99
int64_t
local_fini
(
struct
section_info_t
*info);
100
107
struct
section_info_t
108
{
109
void
*
init_addr
;
110
void
*
fini_addr
;
111
112
void
*
init_array_addr
;
113
uint64_t
init_array_size
;
114
115
void
*
fini_array_addr
;
116
uint64_t
fini_array_size
;
117
118
void
*
eh_frame_addr
;
119
uint64_t
eh_frame_size
;
120
};
121
122
#ifdef __cplusplus
123
}
124
#endif
125
126
#pragma pack(pop)
127
128
#endif
local_init_t
int64_t(* local_init_t)(struct section_info_t *info)
Definition:
crt.h:51
types.h
section_info_t::eh_frame_addr
void * eh_frame_addr
Definition:
crt.h:118
section_info_t::fini_array_size
uint64_t fini_array_size
Definition:
crt.h:116
section_info_t::init_addr
void * init_addr
Definition:
crt.h:109
section_info_t::init_array_addr
void * init_array_addr
Definition:
crt.h:112
section_info_t::fini_addr
void * fini_addr
Definition:
crt.h:110
local_init
int64_t local_init(struct section_info_t *info)
Definition:
dummy_misc.cpp:90
error_codes.h
local_fini_t
int64_t(* local_fini_t)(struct section_info_t *info)
Definition:
crt.h:67
local_fini
int64_t local_fini(struct section_info_t *info)
Definition:
dummy_misc.cpp:97
section_info_t::fini_array_addr
void * fini_array_addr
Definition:
crt.h:115
section_info_t::init_array_size
uint64_t init_array_size
Definition:
crt.h:113
section_info_t::eh_frame_size
uint64_t eh_frame_size
Definition:
crt.h:119
section_info_t
Definition:
crt.h:107
Generated on Fri Apr 28 2017 22:12:08 by
1.8.14