da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* : : generated by proto : : */
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner/* : : generated from /home/gisburn/ksh93/ast_ksh_20100309/build_i386_32bit/src/lib/libdll/features/dll by iffe version 2009-12-04 : : */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef _def_dll_dll
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__PROTO__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(__cplusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __LINKAGE__ "C"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __LINKAGE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __STDARG__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __PROTO__(x) x
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __OTORP__(x)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __PARAM__(n,o) n
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if !defined(__STDC__) && !defined(__cplusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if !defined(c_plusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define const
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define signed
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define void int
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define volatile
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __V_ char
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __V_ void
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __PROTO__(x) ()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __OTORP__(x) x
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __PARAM__(n,o) o
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __LINKAGE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __V_ char
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define const
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define signed
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define void int
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define volatile
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __MANGLE__ __LINKAGE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(__cplusplus) || defined(c_plusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __VARARG__ ...
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __VARARG__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(__STDARG__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __VA_START__(p,a) va_start(p,a)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __VA_START__(p,a) va_start(p)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if !defined(__INLINE__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(__cplusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __INLINE__ extern __MANGLE__ inline
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(_WIN32) && !defined(__GNUC__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __INLINE__ __inline
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__LINKAGE__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define __LINKAGE__ /* 2004-08-11 transition */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _def_dll_dll 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _sys_types 1 /* #include <sys/types.h> ok */
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner#define _LIB_ast 1 /* /home/gisburn/ksh93/ast_ksh_20100309/build_i386_32bit/arch/sol11.i386/lib/libast.a is a library */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _LIB_m 1 /* -lm is a library */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _hdr_dlfcn 1 /* #include <dlfcn.h> ok */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _LIB_dl 1 /* -ldl is a library */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _lib_dlopen 1 /* dlopen() in default lib(s) */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _DLL_NEXT_PATH "/usr/lib/libc.so.1"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#if defined(__MVS__) && !defined(__SUSV3)
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#define __SUSV3 1
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include <dlfcn.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define DLL_INFO_PREVER 0x0001 /* pre-suffix style version */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define DLL_INFO_DOTVER 0x0002 /* post-suffix style version */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chintypedef struct Dllinfo_s
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin{
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin char** sibling; /* sibling dirs on $PATH */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin char* prefix; /* library name prefix */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin char* suffix; /* library name suffix */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin char* env; /* library path env var */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin int flags; /* DLL_INFO_* flags */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifdef _DLLINFO_PRIVATE_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _DLLINFO_PRIVATE_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin} Dllinfo_t;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chintypedef struct Dllent_s
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin{
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin char* path;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin char* name;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifdef _DLLENT_PRIVATE_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _DLLENT_PRIVATE_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin} Dllent_t;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chintypedef struct Dllscan_s
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin{
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin __V_* pad;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifdef _DLLSCAN_PRIVATE_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _DLLSCAN_PRIVATE_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin} Dllscan_t;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if _BLD_dll && defined(__EXPORT__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#undef __MANGLE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define __MANGLE__ __LINKAGE__ __EXPORT__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ Dllinfo_t* dllinfo __PROTO__((void));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ __V_* dllplug __PROTO__((const char*, const char*, const char*, int, char*, size_t));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ __V_* dllfind __PROTO__((const char*, const char*, int, char*, size_t));
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzextern __MANGLE__ __V_* dllopen __PROTO__((const char*, int));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ __V_* dllnext __PROTO__((int));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ __V_* dlllook __PROTO__((__V_*, const char*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ Dllscan_t* dllsopen __PROTO__((const char*, const char*, const char*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ Dllent_t* dllsread __PROTO__((Dllscan_t*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ int dllsclose __PROTO__((Dllscan_t*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#undef __MANGLE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define __MANGLE__ __LINKAGE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif