OSDN Git Service

2019/01/01(Tue) 12:13
[drdeamon64/drdeamon64.git] / include / libgoblin.h
index fd05a63..1e2ed4c 100644 (file)
@@ -41,6 +41,15 @@ Comment:
 #include"./drd64_defines.h"
 #include"./drd64_error.h"
 
+typedef struct {
+       char    str_remotepath[DRD64_MAX_PATH];
+       char    str_localpath[DRD64_MAX_PATH];
+       char    str_filename[DRD64_MAX_PATH];
+       char    str_rpath[DRD64_MAX_PATH];
+       char    str_runpath[DRD64_MAX_PATH];
+       int             i_bid;
+} LibGoblin_ObjectFilePath;
+
 #ifdef DRD64_HEADER_LIBGOBLIN_MAIN
        #define LIBGOBLIN_FUNC
 #else
@@ -48,14 +57,31 @@ Comment:
 #endif
 
 
-#ifdef DRD64_SRC_LIBGOBLIN_SYSTEM
-       #define LIBGOBLIN_API_SYSTEM
+#ifdef DRD64_SRC_LIBGOBLIN_API
+       #define LIBGOBLIN_API
 #else
-       #define LIBGOBLIN_API_SYSTEM    extern
+       #define LIBGOBLIN_API   extern
 #endif
-LIBGOBLIN_API_SYSTEM
+LIBGOBLIN_API
+       int LibGoblin_AnalyzeProgram( int i_pgid );
+LIBGOBLIN_API
+       int LibGoblin_GetUnresolv_ObjectFilePath( int i_pgid, LibGoblin_ObjectFilePath *p_objpath );
+LIBGOBLIN_API
+       int LibGoblin_SetPathAndLoad_ObjectFilePath( LibGoblin_ObjectFilePath *p_objpath );
+LIBGOBLIN_API
+       int LibGoblin_LoadProgram_Main(
+                               int i_pgid, const char *pstr_remotefull, const char *pstr_localfull );
+LIBGOBLIN_API
+       int LibGoblin_AllocBinInfo( int i_pgid, const char *pstr_filename );
+LIBGOBLIN_API
+       int LibGoblin_FreeBinInfo( int i_binfoid );
+LIBGOBLIN_API
+       int LibGoblin_AllocProgInfo( void );
+LIBGOBLIN_API
+       int LibGoblin_FreeProgInfo( int i_pgid );
+LIBGOBLIN_API
        int LibGoblin_Init( void );
-LIBGOBLIN_API_SYSTEM
+LIBGOBLIN_API
        int LibGoblin_Term( void );
 
 #ifdef DRD64_SRC_LIBGOBLIN_PROGINFO
@@ -63,10 +89,6 @@ LIBGOBLIN_API_SYSTEM
 #else
        #define LIBGOBLIN_API_PROGINFO  extern
 #endif
-LIBGOBLIN_API_PROGINFO
-       int LibGoblin_AllocProgInfo( void );
-LIBGOBLIN_API_PROGINFO
-       int LibGoblin_FreeProgInfo( int i_pgid );
 
 #ifdef DRD64_SRC_LIBGOBLIN_BINFO
        #define LIBGOBLIN_API_BINFO
@@ -74,9 +96,7 @@ LIBGOBLIN_API_PROGINFO
        #define LIBGOBLIN_API_BINFO     extern
 #endif
 LIBGOBLIN_API_BINFO
-       int LibGoblin_AllocBinInfo( void );
-LIBGOBLIN_API_BINFO
-       int LibGoblin_FreeBinInfo( int i_binfoid );
+       const char *LibGoblin_GetRPath_fromBinInfo( int i_bid, char *pstr_rpath );
 
 #ifdef DRD64_SRC_LIBGOBLIN_LOADPROG
        #define LIBGOBLIN_API_LOADPROG
@@ -84,7 +104,9 @@ LIBGOBLIN_API_BINFO
        #define LIBGOBLIN_API_LOADPROG  extern
 #endif
 LIBGOBLIN_API_LOADPROG
-       int LibGoblin_LoadProgram( int i_pgid, const char *pstr_progpath );
+       int LibGoblin_LoadProgram_Main(
+                       int i_pgid, const char *pstr_progpath, const char *pstr_realpath );
+
 
 
 #endif /* DRD64_HEADER_LIBGOBLIN */