6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 1988 AT&T
24 * All Rights Reserved
25 *
26 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
27 */
28
29 #ifndef _SYS_LINK_H
30 #define _SYS_LINK_H
31
32 #ifndef _ASM
33 #include <sys/types.h>
34 #include <sys/elftypes.h>
35 #endif
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 /*
42 * Communication structures for the runtime linker.
43 */
44
45 /*
605 #endif /* _ASM */
606
607 /*
608 * Attributes
609 */
610 #define EB_NULL 0 /* (void) last entry */
611 #define EB_DYNAMIC 1 /* (*) dynamic structure of subject */
612 #define EB_LDSO_BASE 2 /* (caddr_t) base address of ld.so */
613 #define EB_ARGV 3 /* (caddr_t) argument vector */
614 #define EB_ENVP 4 /* (char **) environment strings */
615 #define EB_AUXV 5 /* (auxv_t *) auxiliary vector */
616 #define EB_DEVZERO 6 /* (int) fd for /dev/zero */
617 #define EB_PAGESIZE 7 /* (int) page size */
618 #define EB_MAX 8 /* number of "EBs" */
619 #define EB_MAX_SIZE32 64 /* size in bytes, _ILP32 */
620 #define EB_MAX_SIZE64 128 /* size in bytes, _LP64 */
621
622
623 #ifndef _ASM
624
625 #ifdef __STDC__
626
627 /*
628 * Concurrency communication structure for libc callbacks.
629 */
630 extern void _ld_libc(void *);
631 #else /* __STDC__ */
632 extern void _ld_libc();
633 #endif /* __STDC__ */
634
635 #pragma unknown_control_flow(_ld_libc)
636 #endif /* _ASM */
637
638 #ifdef __cplusplus
639 }
640 #endif
641
642 #endif /* _SYS_LINK_H */
|
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 1988 AT&T
24 * All Rights Reserved
25 *
26 * Copyright 2014 Garrett D'Amore <garrett@damore.org>
27 *
28 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
29 */
30
31 #ifndef _SYS_LINK_H
32 #define _SYS_LINK_H
33
34 #ifndef _ASM
35 #include <sys/types.h>
36 #include <sys/elftypes.h>
37 #endif
38
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42
43 /*
44 * Communication structures for the runtime linker.
45 */
46
47 /*
607 #endif /* _ASM */
608
609 /*
610 * Attributes
611 */
612 #define EB_NULL 0 /* (void) last entry */
613 #define EB_DYNAMIC 1 /* (*) dynamic structure of subject */
614 #define EB_LDSO_BASE 2 /* (caddr_t) base address of ld.so */
615 #define EB_ARGV 3 /* (caddr_t) argument vector */
616 #define EB_ENVP 4 /* (char **) environment strings */
617 #define EB_AUXV 5 /* (auxv_t *) auxiliary vector */
618 #define EB_DEVZERO 6 /* (int) fd for /dev/zero */
619 #define EB_PAGESIZE 7 /* (int) page size */
620 #define EB_MAX 8 /* number of "EBs" */
621 #define EB_MAX_SIZE32 64 /* size in bytes, _ILP32 */
622 #define EB_MAX_SIZE64 128 /* size in bytes, _LP64 */
623
624
625 #ifndef _ASM
626
627 /*
628 * Concurrency communication structure for libc callbacks.
629 */
630 extern void _ld_libc(void *);
631
632 #pragma unknown_control_flow(_ld_libc)
633 #endif /* _ASM */
634
635 #ifdef __cplusplus
636 }
637 #endif
638
639 #endif /* _SYS_LINK_H */
|