freebsd.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:1k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * port_protos.h
  4.  *   port-specific prototypes for NetBSD 1.0
  5.  *
  6.  *
  7.  * Copyright (c) 1994, Regents of the University of California
  8.  *
  9.  * $Id: freebsd.h,v 1.2 1999/02/13 23:17:19 momjian Exp $
  10.  *
  11.  *-------------------------------------------------------------------------
  12.  */
  13. #ifndef PORT_PROTOS_H
  14. #define PORT_PROTOS_H
  15. #include <sys/types.h>
  16. #include <nlist.h>
  17. #include <link.h>
  18. #include "postgres.h"
  19. #include "fmgr.h" /* for func_ptr */
  20. #include "utils/dynamic_loader.h"
  21. /* dynloader.c */
  22. /*
  23.  * Dynamic Loader on NetBSD 1.0.
  24.  *
  25.  * this dynamic loader uses the system dynamic loading interface for shared
  26.  * libraries (ie. dlopen/dlsym/dlclose). The user must specify a shared
  27.  * library as the file to be dynamically loaded.
  28.  *
  29.  * agc - I know this is all a bit crufty, but it does work, is fairly
  30.  * portable, and works (the stipulation that the d.l. function must
  31.  * begin with an underscore is fairly tricky, and some versions of
  32.  * NetBSD (like 1.0, and 1.0A pre June 1995) have no dlerror.)
  33.  */
  34. #define    pg_dlopen(f)    BSD44_derived_dlopen(f, 1)
  35. #define    pg_dlsym    BSD44_derived_dlsym
  36. #define    pg_dlclose    BSD44_derived_dlclose
  37. #define    pg_dlerror    BSD44_derived_dlerror
  38. char    *BSD44_derived_dlerror(void);
  39. void    *BSD44_derived_dlopen(const char *filename, int num);
  40. void    *BSD44_derived_dlsym(void *handle, const char *name);
  41. void BSD44_derived_dlclose(void *handle);
  42. #endif  /* PORT_PROTOS_H */