about summary refs log tree commit diff stats
path: root/src/include
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2025-01-24 01:46:18 +0800
committerGitHub <noreply@github.com>2025-01-23 18:46:18 +0100
commit7099774a3c82642ad64bc3a4f1b798e951904f7d (patch)
tree6432d96090892c5f7a6e52c9c3cf18ab09a1a60b /src/include
parent925f6a992232e1011667d6334b04072f75659386 (diff)
downloadbox64-7099774a3c82642ad64bc3a4f1b798e951904f7d.tar.gz
box64-7099774a3c82642ad64bc3a4f1b798e951904f7d.zip
[DYNAREC] Added preliminary per-file settings (#2288)
Diffstat (limited to 'src/include')
-rw-r--r--src/include/debug.h1
-rw-r--r--src/include/env.h6
-rw-r--r--src/include/wine_tools.h2
3 files changed, 7 insertions, 2 deletions
diff --git a/src/include/debug.h b/src/include/debug.h
index 0510d7fe..d5786ae1 100644
--- a/src/include/debug.h
+++ b/src/include/debug.h
@@ -5,6 +5,7 @@
 
 typedef struct box64context_s box64context_t;
 extern box64env_t box64env;
+extern box64env_t* cur_box64env;
 
 extern uintptr_t box64_pagesize;
 extern int box64_rdtsc;
diff --git a/src/include/env.h b/src/include/env.h
index ba867f41..17ca27a9 100644
--- a/src/include/env.h
+++ b/src/include/env.h
@@ -5,6 +5,8 @@
 #include <unistd.h>
 
 #define BOX64ENV(name)            (box64env.name)
+#define BOX64DRENV(name) \
+    ((GetCurEnvByAddr(dyn->start) && cur_box64env->is_##name##_overridden) ? cur_box64env->name : box64env.name)
 #define SET_BOX64ENV(name, value)            \
     {                                        \
         box64env.name = (value);             \
@@ -200,6 +202,8 @@ void ApplyEnvFileEntry(const char* name);
 const char* GetLastApplyEntryName();
 void InitializeEnv();
 void LoadEnvVariables();
-void PrintEnvVariables();
+void PrintEnvVariables(box64env_t* env, int level);
+void RecordEnvMappings(uintptr_t addr, size_t length, int fd);
+box64env_t* GetCurEnvByAddr(uintptr_t addr);
 
 #endif // __ENV_H
diff --git a/src/include/wine_tools.h b/src/include/wine_tools.h
index 4529a6d4..4bb0aa3a 100644
--- a/src/include/wine_tools.h
+++ b/src/include/wine_tools.h
@@ -10,6 +10,6 @@ void* get_wine_prereserve(void);
 void dynarec_wine_prereserve(void);
 #endif
 
-void detect_unityplayer(int fd);
+void DetectUnityPlayer(int fd);
 
 #endif //__WINE_TOOLS_H__