11 #include "threads/CriticalSection.h" 15 #if defined(TARGET_POSIX) && !defined(TARGET_DARWIN) && !defined(TARGET_FREEBSD) && !defined(TARGET_ANDROID) && !defined(__UCLIBC__) 17 #elif defined(__UCLIBC__) 18 #define _file __filedes 21 #define MAX_EMULATED_FILES 50 22 #define FILE_WRAPPER_OFFSET 0x00000200 32 CCriticalSection *file_lock;
51 void UnRegisterFileObjectByDescriptor(
int fd);
52 void UnRegisterFileObjectByStream(FILE* stream);
53 void LockFileObjectByDescriptor(
int fd);
54 bool TryLockFileObjectByDescriptor(
int fd);
55 void UnlockFileObjectByDescriptor(
int fd);
60 static int GetDescriptorByStream(FILE* stream);
61 FILE* GetStreamByDescriptor(
int fd);
62 static constexpr
bool DescriptorIsEmulatedFile(
int fd)
64 return fd >= FILE_WRAPPER_OFFSET && fd < FILE_WRAPPER_OFFSET + MAX_EMULATED_FILES;
66 static bool StreamIsEmulatedFile(FILE* stream);
69 CCriticalSection m_criticalSection;
Definition: EmuFileWrapper.h:29
Definition: SimpleFS.h:27
Definition: EmuFileWrapper.h:39