dlfcn.h
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:2k
源码类别:

通讯编程

开发平台:

Visual C++

  1. /* 
  2.  * dlfcn.h --
  3.  *
  4.  * This file provides a replacement for the header file "dlfcn.h"
  5.  * on systems where dlfcn.h is missing.  It's primary use is for
  6.  * AIX, where Tcl emulates the dl library.
  7.  *
  8.  * This file is subject to the following copyright notice, which is
  9.  * different from the notice used elsewhere in Tcl but rougly
  10.  * equivalent in meaning.
  11.  *
  12.  * Copyright (c) 1992,1993,1995,1996, Jens-Uwe Mager, Helios Software GmbH
  13.  * Not derived from licensed software.
  14.  *
  15.  * Permission is granted to freely use, copy, modify, and redistribute
  16.  * this software, provided that the author is not construed to be liable
  17.  * for any results of using the software, alterations are clearly marked
  18.  * as such, and this notice is not modified.
  19.  *
  20.  * RCS: @(#) $Id: dlfcn.h,v 1.2 1998/09/14 18:39:44 stanton Exp $
  21.  */
  22. /*
  23.  * @(#)dlfcn.h 1.4 revision of 95/04/25  09:36:52
  24.  * This is an unpublished work copyright (c) 1992 HELIOS Software GmbH
  25.  * 30159 Hannover, Germany
  26.  */
  27. #ifndef __dlfcn_h__
  28. #define __dlfcn_h__
  29. #ifndef _TCL
  30. #include <tcl.h>
  31. #endif
  32. #ifdef __cplusplus
  33. extern "C" {
  34. #endif
  35. /*
  36.  * Mode flags for the dlopen routine.
  37.  */
  38. #define RTLD_LAZY 1 /* lazy function call binding */
  39. #define RTLD_NOW 2 /* immediate function call binding */
  40. #define RTLD_GLOBAL 0x100 /* allow symbols to be global */
  41. /*
  42.  * To be able to intialize, a library may provide a dl_info structure
  43.  * that contains functions to be called to initialize and terminate.
  44.  */
  45. struct dl_info {
  46. void (*init) _ANSI_ARGS_((void));
  47. void (*fini) _ANSI_ARGS_((void));
  48. };
  49. VOID *dlopen _ANSI_ARGS_((const char *path, int mode));
  50. VOID *dlsym _ANSI_ARGS_((void *handle, const char *symbol));
  51. char *dlerror _ANSI_ARGS_((void));
  52. int dlclose _ANSI_ARGS_((void *handle));
  53. #ifdef __cplusplus
  54. }
  55. #endif
  56. #endif /* __dlfcn_h__ */