]>
Commit | Line | Data |
---|---|---|
476d9098 | 1 | /* The host_hooks data structure. |
9dcd6f09 | 2 | Copyright 2003, 2004, 2007 Free Software Foundation, Inc. |
476d9098 | 3 | |
63b025a5 | 4 | This file is part of GCC. |
476d9098 | 5 | |
63b025a5 | 6 | GCC is free software; you can redistribute it and/or modify |
476d9098 | 7 | it under the terms of the GNU General Public License as published by |
9dcd6f09 | 8 | the Free Software Foundation; either version 3, or (at your option) |
476d9098 GK |
9 | any later version. |
10 | ||
63b025a5 | 11 | GCC is distributed in the hope that it will be useful, |
476d9098 GK |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
9dcd6f09 NC |
17 | along with GCC; see the file COPYING3. If not see |
18 | <http://www.gnu.org/licenses/>. */ | |
476d9098 GK |
19 | |
20 | #ifndef GCC_HOST_HOOKS_H | |
21 | #define GCC_HOST_HOOKS_H | |
22 | ||
1d088dee | 23 | struct host_hooks |
476d9098 | 24 | { |
1d088dee | 25 | void (*extra_signals) (void); |
476d9098 | 26 | |
4d0c31e6 RH |
27 | /* Identify an address that's likely to be free in a subsequent invocation |
28 | of the compiler. The area should be able to hold SIZE bytes. FD is an | |
29 | open file descriptor if the host would like to probe with mmap. */ | |
30 | void * (*gt_pch_get_address) (size_t size, int fd); | |
31 | ||
32 | /* ADDR is an address returned by gt_pch_get_address. Attempt to allocate | |
b8698a0f | 33 | SIZE bytes at the same address and load it with the data from FD at |
4d0c31e6 RH |
34 | OFFSET. Return -1 if we couldn't allocate memory at ADDR, return 0 |
35 | if the memory is allocated but the data not loaded, return 1 if done. */ | |
36 | int (*gt_pch_use_address) (void *addr, size_t size, int fd, size_t offset); | |
18c81520 | 37 | |
90aa6719 DS |
38 | /* Return the alignment required for allocating virtual memory. Usually |
39 | this is the same as pagesize. */ | |
40 | size_t (*gt_pch_alloc_granularity) (void); | |
41 | ||
476d9098 GK |
42 | /* Whenever you add entries here, make sure you adjust hosthooks-def.h. */ |
43 | }; | |
44 | ||
45 | /* Each host provides its own. */ | |
46 | extern const struct host_hooks host_hooks; | |
47 | ||
48 | #endif /* GCC_LANG_HOOKS_H */ |