Changeset d828d63 in git for Singular/slInit_Dynamic.cc
- Timestamp:
- Aug 2, 2012, 10:29:12 AM (12 years ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
- Children:
- 0419aba8292e7109329604d8ad03b70f8ef65423
- Parents:
- 85bcd6879cf375abcd839182c40d607f5e1e7884
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/slInit_Dynamic.cc
r85bcd6 rd828d63 9 9 *******************************************************************/ 10 10 11 /***************************************************************12 *13 * MP link Extension inits14 *15 ***************************************************************/16 11 #include "config.h" 17 12 #include <kernel/mod2.h> … … 21 16 22 17 #ifdef HAVE_DL 23 #ifdef HAVE_MPSR24 #include <MP.h>25 #include "mpsr_sl.h"26 27 static void* mpsr_so_handle = NULL;28 typedef void (*voidProc)();29 30 static void* slInitMPSRHandle()31 {32 if (mpsr_so_handle == NULL)33 {34 mpsr_so_handle = dynl_open_binary_warn("mpsr");35 if (mpsr_so_handle != NULL)36 {37 voidProc init_proc = (voidProc)38 dynl_sym_warn(mpsr_so_handle, "mpsr_Init");39 if (init_proc != NULL)40 (*init_proc)();41 else42 mpsr_so_handle = NULL;43 }44 }45 return mpsr_so_handle;46 }47 48 si_link_extension slInitMPFileExtension(si_link_extension s)49 {50 void* handle = slInitMPSRHandle();51 52 if (handle == NULL) return NULL;53 54 s->Open = (slOpenProc) dynl_sym_warn(handle, "slOpenMPFile");55 s->Close = (slCloseProc) dynl_sym_warn(handle, "slCloseMP");56 s->Kill = (slKillProc) s->Close;57 s->Read = (slReadProc) dynl_sym_warn(handle, "slReadMP");58 s->Dump = (slDumpProc) dynl_sym_warn(handle, "slDumpMP");59 s->GetDump = (slGetDumpProc) dynl_sym_warn(handle, "slGetDumpMP");60 s->Write = (slWriteProc) dynl_sym_warn(handle, "slWriteMP");61 s->Status = (slStatusProc) dynl_sym_warn(handle, "slStatusMP");62 if (s->Open == NULL || s->Close == NULL || s->Kill == NULL ||63 s->Read == NULL || s->Dump == NULL || s->GetDump == NULL ||64 s->Write == NULL || s->Status == NULL)65 return NULL;66 67 s->type="MPfile";68 return s;69 }70 71 si_link_extension slInitMPTcpExtension(si_link_extension s)72 {73 void* handle = slInitMPSRHandle();74 75 if (handle == NULL) return NULL;76 77 s->Open = (slOpenProc) dynl_sym_warn(handle, "slOpenMPTcp");78 s->Close = (slCloseProc) dynl_sym_warn(handle, "slCloseMP");79 s->Kill = (slKillProc) dynl_sym_warn(handle, "slKillMP");80 s->Read = (slReadProc) dynl_sym_warn(handle, "slReadMP");81 s->Dump = (slDumpProc) dynl_sym_warn(handle, "slDumpMP");82 s->GetDump = (slGetDumpProc) dynl_sym_warn(handle, "slGetDumpMP");83 s->Write = (slWriteProc) dynl_sym_warn(handle, "slWriteMP");84 s->Status = (slStatusProc) dynl_sym_warn(handle, "slStatusMP");85 86 if (s->Open == NULL || s->Close == NULL || s->Kill == NULL ||87 s->Read == NULL || s->Dump == NULL || s->GetDump == NULL ||88 s->Write == NULL || s->Status == NULL)89 return NULL;90 91 s->type="MPtcp";92 return s;93 }94 95 BatchDoProc slInitMPBatchDo()96 {97 void* handle = slInitMPSRHandle();98 99 if (handle == NULL) return NULL;100 return (BatchDoProc) dynl_sym_warn(handle, "Batch_do");101 }102 #endif103 18 104 19 #ifdef HAVE_DBM
Note: See TracChangeset
for help on using the changeset viewer.