1160157Smarcel/*
2160157SmarcelCopyright (c) 2003-2006 Hewlett-Packard Development Company, L.P.
3160157SmarcelPermission is hereby granted, free of charge, to any person
4160157Smarcelobtaining a copy of this software and associated documentation
5160157Smarcelfiles (the "Software"), to deal in the Software without
6160157Smarcelrestriction, including without limitation the rights to use,
7160157Smarcelcopy, modify, merge, publish, distribute, sublicense, and/or sell
8160157Smarcelcopies of the Software, and to permit persons to whom the
9160157SmarcelSoftware is furnished to do so, subject to the following
10160157Smarcelconditions:
11160157Smarcel
12160157SmarcelThe above copyright notice and this permission notice shall be
13160157Smarcelincluded in all copies or substantial portions of the Software.
14160157Smarcel
15160157SmarcelTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16160157SmarcelEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17160157SmarcelOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18160157SmarcelNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19160157SmarcelHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20160157SmarcelWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21160157SmarcelFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22160157SmarcelOTHER DEALINGS IN THE SOFTWARE.
23160157Smarcel*/
24160157Smarcel
25160157Smarcel#define MAX_RVEC_SIZE 12
26160157Smarcel
27160157Smarcelstruct load_module_cache;
28160157Smarcel
29160157Smarcelstruct uwx_self_info {
30160157Smarcel    struct uwx_env *env;
31160157Smarcel    ucontext_t *ucontext;
32160157Smarcel    uint64_t bspstore;
33160157Smarcel    uint64_t rvec[MAX_RVEC_SIZE];
34160157Smarcel    uint64_t sendsig_start;
35160157Smarcel    uint64_t sendsig_end;
36160157Smarcel    int on_heap;
37160157Smarcel    int trace;
38160157Smarcel    struct load_module_cache *load_module_cache;
39160157Smarcel};
40160157Smarcel
41160157Smarcelextern int uwx_self_init_info_block(
42160157Smarcel    struct uwx_env *env,
43160157Smarcel    struct uwx_self_info *info
44160157Smarcel    );
45