xref: /titanic_52/usr/src/cmd/sgs/rtld.4.x/elf_boot.h (revision c7158ae983f5a04c4a998f468ecefba6d23ba721)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License, Version 1.0 only
6  * (the "License").  You may not use this file except in compliance
7  * with the License.
8  *
9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10  * or http://www.opensolaris.org/os/licensing.
11  * See the License for the specific language governing permissions
12  * and limitations under the License.
13  *
14  * When distributing Covered Code, include this CDDL HEADER in each
15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16  * If applicable, add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your own identifying
18  * information: Portions Copyright [yyyy] [name of copyright owner]
19  *
20  * CDDL HEADER END
21  */
22 /*
23  * Copyright (c) 1990 Sun Microsystems, Inc.
24  */
25 
26 #ifndef _ELF_BOOT_H
27 #define	_ELF_BOOT_H
28 
29 #ident	"%Z%%M%	%I%	%E% SMI"
30 
31 /*
32  * Attribute/value structures used to bootstrap ELF-based dynamic linker.
33  */
34 
35 #ifndef	_ASM
36 typedef struct {
37 	Elf32_Sword eb_tag;		/* what this one is */
38 	union {				/* possible values */
39 		Elf32_Word eb_val;
40 		Elf32_Addr eb_ptr;
41 		Elf32_Off  eb_off;
42 	} eb_un;
43 } Elf32_Boot;
44 #endif	/* _ASM */
45 
46 /*
47  * Attributes
48  */
49 #define	EB_NULL		0		/* (void) last entry */
50 #define	EB_DYNAMIC	1		/* (*) dynamic structure of subject */
51 #define	EB_LDSO_BASE	2		/* (caddr_t) base address of ld.so */
52 #define	EB_ARGV		3		/* (caddr_t) argument vector */
53 #define	EB_ENVP		4		/* (char **) environment strings */
54 #define	EB_AUXV		5		/* (auxv_t *) auxiliary vector */
55 #define	EB_DEVZERO	6		/* (int) fd for /dev/zero */
56 #define	EB_PAGESIZE	7		/* (int) page size */
57 #define	EB_MAX		8		/* number of "EBs" */
58 
59 #endif	/* _ELF_BOOT_H */
60