#include <bits/elfclass.h> /* Defines __ELF_NATIVE_CLASS. */
#include <bits/link.h>
+__BEGIN_DECLS
+
/* 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
void *dlpi_tls_data;
};
-__BEGIN_DECLS
-
extern int dl_iterate_phdr (int (*__callback) (struct dl_phdr_info *,
size_t, void *),
void *__data);
unsigned int *__flags, const char *__symname);
extern unsigned int la_objclose (uintptr_t *__cookie);
-__END_DECLS
-
#endif
+__END_DECLS
+
#endif /* link.h */
/* Get the definition of the macro to define the common sockaddr members. */
#include <bits/sockaddr.h>
+#ifdef __USE_MISC
+# include <stddef.h> /* For offsetof. */
+# include <string.h> /* For prototype of `strlen'. */
+#endif
+
__BEGIN_DECLS
/* Structure describing the address of an AF_LOCAL (aka AF_UNIX) socket. */
#ifdef __USE_MISC
-# include <string.h> /* For prototype of `strlen'. */
-
/* Evaluate to actual length of the `sockaddr_un' structure. */
# define SUN_LEN(ptr) ((size_t) (((struct sockaddr_un *) 0)->sun_path) \
+ strlen ((ptr)->sun_path))