home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / uccs / root.14 / udk / usr / include / dlfcn.h < prev    next >
C/C++ Source or Header  |  1998-08-19  |  2KB  |  55 lines

  1. /*
  2.  * Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  3.  *                                                                         
  4.  *        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  5.  *                   SANTA CRUZ OPERATION INC.                             
  6.  *                                                                         
  7.  *   The copyright notice above does not evidence any actual or intended   
  8.  *   publication of such source code.                                      
  9.  */
  10.  
  11. #ifndef _DLFCN_H
  12. #define _DLFCN_H
  13. #ident    "@(#)sgs-head:common/head/dlfcn.h    1.2.8.7"
  14.  
  15. #ifndef _SIZE_T
  16. #define _SIZE_T
  17. typedef unsigned int size_t;
  18. #endif
  19.  
  20. /* structure used to get information from dladdr */
  21. typedef struct {
  22.     const char    *dli_fname; /* filename of containing object */
  23.     void        *dli_fbase; /* base addr of containing object */
  24.     const char    *dli_sname; /* name of nearest symbol */
  25.     void         *dli_saddr; /* address of nearest symbol */
  26.     size_t         dli_size;   /* size of nearest symbol */
  27.     int         dli_bind;   /* binding of nearest symbol */
  28.     int         dli_type;   /* binding of nearest symbol */
  29. } Dl_info;
  30.  
  31. /* valid values for mode argument to dlopen */
  32.  
  33. #define RTLD_LAZY    1    /* lazy function call binding */
  34. #define RTLD_NOW    2    /* immediate function call binding */
  35. #define RTLD_GLOBAL    4    /* all symbols available for binding */
  36. #define RTLD_LOCAL    8    /* only immediate dependencies available */
  37.  
  38. #define RTLD_NEXT    ((char *)-1)    /* special argument to dlsym */
  39.  
  40. #ifdef __cplusplus
  41. extern "C" {
  42. #endif
  43.  
  44. extern void    *dlopen(const char *, int);
  45. extern void    *dlsym(void *, const char *);
  46. extern int    dlclose(void *);
  47. extern char    *dlerror(void);
  48. extern int    dladdr(void *, Dl_info *);
  49.  
  50. #ifdef __cplusplus
  51. }
  52. #endif
  53.  
  54. #endif /*_DLFCN_H*/
  55.