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

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * dynloader.c
  4.  *   dynamic loader for HP-UX using the shared library mechanism
  5.  *
  6.  * Copyright (c) 1994, Regents of the University of California
  7.  *
  8.  *
  9.  * IDENTIFICATION
  10.  *   $Header: /usr/local/cvsroot/pgsql/src/backend/port/dynloader/hpux.c,v 1.7 1999/02/13 23:17:20 momjian Exp $
  11.  *
  12.  * NOTES
  13.  * all functions are defined here -- it's impossible to trace the
  14.  * shl_* routines from the bundled HP-UX debugger.
  15.  *
  16.  *-------------------------------------------------------------------------
  17.  */
  18. /* System includes */
  19. #include <stdio.h>
  20. #include <a.out.h>
  21. #include <dl.h>
  22. #include "postgres.h"
  23. #include "fmgr.h"
  24. #include "utils/dynamic_loader.h"
  25. #include "dynloader.h"
  26. void *
  27. pg_dlopen(char *filename)
  28. {
  29. shl_t handle = shl_load(filename, BIND_DEFERRED, 0);
  30. return (void *) handle;
  31. }
  32. func_ptr
  33. pg_dlsym(void *handle, char *funcname)
  34. {
  35. func_ptr f;
  36. if (shl_findsym((shl_t *) & handle, funcname, TYPE_PROCEDURE, &f) == -1)
  37. f = (func_ptr) NULL;
  38. return f;
  39. }
  40. void
  41. pg_dlclose(void *handle)
  42. {
  43. shl_unload((shl_t) handle);
  44. }
  45. char *
  46. pg_dlerror()
  47. {
  48. static char errmsg[] = "shl_load failed";
  49. return errmsg;
  50. }