jcs's openbsd hax
openbsd
1/* $NetBSD: loadfile.h,v 1.1 1999/04/28 09:08:50 christos Exp $ */
2/* $OpenBSD: loadfile.h,v 1.7 2019/11/29 20:53:13 kettenis Exp $ */
3
4/*-
5 * Copyright (c) 1998 The NetBSD Foundation, Inc.
6 * All rights reserved.
7 *
8 * This code is derived from software contributed to The NetBSD Foundation
9 * by Christos Zoulas.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions and the following disclaimer.
16 * 2. Redistributions in binary form must reproduce the above copyright
17 * notice, this list of conditions and the following disclaimer in the
18 * documentation and/or other materials provided with the distribution.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
24 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 */
32
33/*
34 * Array indices in the u_long position array
35 */
36#define MARK_START 0
37#define MARK_ENTRY 1
38#define MARK_NSYM 2
39#define MARK_SYM 3
40#define MARK_END 4
41#define MARK_RANDOM 5
42#define MARK_ERANDOM 6
43#define MARK_VENTRY 7
44#define MARK_MAX 8
45
46/*
47 * Bit flags for sections to load
48 */
49#define LOAD_TEXT 0x0001
50#define LOAD_DATA 0x0004
51#define LOAD_BSS 0x0008
52#define LOAD_SYM 0x0010
53#define LOAD_HDR 0x0020
54#define LOAD_RANDOM 0x0040
55#define LOAD_ALL 0x007d
56
57#define COUNT_TEXT 0x0100
58#define COUNT_DATA 0x0400
59#define COUNT_BSS 0x0800
60#define COUNT_SYM 0x1000
61#define COUNT_HDR 0x2000
62#define COUNT_RANDOM 0x4000
63#define COUNT_ALL 0x7d00
64
65int loadfile(const char *, uint64_t *, int);
66
67#include <machine/loadfile_machdep.h>