Back to index

python3.2  3.2.2
Defines | Functions
dynload_os2.c File Reference
#include <os2.h>
#include "Python.h"
#include "importdl.h"

Go to the source code of this file.

Defines

#define INCL_DOSERRORS
#define INCL_DOSMODULEMGR

Functions

dl_funcptr _PyImport_GetDynLoadFunc (const char *fqname, const char *shortname, const char *pathname, FILE *fp)

Define Documentation

#define INCL_DOSERRORS

Definition at line 4 of file dynload_os2.c.

Definition at line 5 of file dynload_os2.c.


Function Documentation

dl_funcptr _PyImport_GetDynLoadFunc ( const char *  fqname,
const char *  shortname,
const char *  pathname,
FILE *  fp 
)

Definition at line 18 of file dynload_os2.c.

{
    dl_funcptr p;
    APIRET  rc;
    HMODULE hDLL;
    char failreason[256];
    char funcname[258];

    rc = DosLoadModule(failreason,
                       sizeof(failreason),
                       pathname,
                       &hDLL);

    if (rc != NO_ERROR) {
        char errBuf[256];
        PyOS_snprintf(errBuf, sizeof(errBuf),
                      "DLL load failed, rc = %d: %.200s",
                      rc, failreason);
        PyErr_SetString(PyExc_ImportError, errBuf);
        return NULL;
    }

    PyOS_snprintf(funcname, sizeof(funcname), "PyInit_%.200s", shortname);
    rc = DosQueryProcAddr(hDLL, 0L, funcname, &p);
    if (rc != NO_ERROR)
        p = NULL; /* Signify Failure to Acquire Entrypoint */
    return p;
}

Here is the call graph for this function: