diff options
| author | John Polstra <jdp@FreeBSD.org> | 2000-01-09 21:13:48 +0000 |
|---|---|---|
| committer | John Polstra <jdp@FreeBSD.org> | 2000-01-09 21:13:48 +0000 |
| commit | 9bfb1dfc29cb17b192fd05e9f8b17f702928a2ee (patch) | |
| tree | b5b58912b746381cc7da4a2c0cfc33b3879ec628 /libexec/rtld-elf/rtld.h | |
| parent | 234c72c615a95f2eb0d76889b8f9d6712b05fc74 (diff) | |
Notes
Diffstat (limited to 'libexec/rtld-elf/rtld.h')
| -rw-r--r-- | libexec/rtld-elf/rtld.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/libexec/rtld-elf/rtld.h b/libexec/rtld-elf/rtld.h index b8fcf2c78fb2c..3a88547d0298a 100644 --- a/libexec/rtld-elf/rtld.h +++ b/libexec/rtld-elf/rtld.h @@ -1,5 +1,5 @@ /*- - * Copyright 1996-1998 John D. Polstra. + * Copyright 1996, 1997, 1998, 1999, 2000 John D. Polstra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -52,6 +52,7 @@ typedef unsigned char bool; struct stat; struct Struct_Obj_Entry; +/* Lists of shared objects */ typedef struct Struct_Objlist_Entry { STAILQ_ENTRY(Struct_Objlist_Entry) link; struct Struct_Obj_Entry *obj; @@ -59,6 +60,17 @@ typedef struct Struct_Objlist_Entry { typedef STAILQ_HEAD(Struct_Objlist, Struct_Objlist_Entry) Objlist; +/* Lists of init or fini functions */ +typedef void (*InitFunc)(void); + +typedef struct Struct_Funclist_Entry { + STAILQ_ENTRY(Struct_Funclist_Entry) link; + InitFunc func; +} Funclist_Entry; + +typedef STAILQ_HEAD(Struct_Funclist, Struct_Funclist_Entry) Funclist; + +/* Lists of shared object dependencies */ typedef struct Struct_Needed_Entry { struct Struct_Needed_Entry *next; struct Struct_Obj_Entry *obj; @@ -122,8 +134,8 @@ typedef struct Struct_Obj_Entry { const char *rpath; /* Search path specified in object */ Needed_Entry *needed; /* Shared objects needed by this one (%) */ - void (*init)(void); /* Initialization function to call */ - void (*fini)(void); /* Termination function to call */ + InitFunc init; /* Initialization function to call */ + InitFunc fini; /* Termination function to call */ bool mainprog; /* True if this is the main program */ bool rtld; /* True if this is the dynamic linker */ |
