Add all the files

This commit is contained in:
Exzap 2022-08-22 22:21:23 +02:00
parent e3db07a16a
commit d60742f52b
1445 changed files with 430238 additions and 0 deletions

8234
src/Common/linux/date.h Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,23 @@
#include <stdint.h>
#include <time.h>
uint32_t GetTickCount()
{
struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
return (1000 * ts.tv_sec + ts.tv_nsec / 1000000);
}
#include <cpuid.h>
void (__cpuid)(int __cpuVal[4], unsigned int __leaf)
{
__cpuid(__cpuVal[0], __cpuVal[1], __cpuVal[2], __cpuVal[3], __leaf);
}
#undef __cpuid
void __cpuidex (int __cpuid_info[4], int __leaf, int __subleaf)
{
__cpuid_count (__leaf, __subleaf, __cpuid_info[0], __cpuid_info[1],
__cpuid_info[2], __cpuid_info[3]);
}

View file

@ -0,0 +1,96 @@
#include <shared_mutex>
class SlimRWLock
{
public:
void LockRead()
{
m_sm.lock_shared();
}
void UnlockRead()
{
m_sm.unlock_shared();
}
void LockWrite()
{
m_sm.lock();
}
void UnlockWrite()
{
m_sm.unlock();
}
private:
std::shared_mutex m_sm;
};
inline uint32_t GetExceptionError()
{
return errno;
}
#include <X11/Xlib.h>
#include <X11/extensions/Xrender.h>
#include <X11/Xutil.h>
#undef False
#undef True
#undef None
#undef Bool
#undef Status
#undef Success
#undef ClientMessage
// cpu id (somewhat hacky, reorganize later)
void (__cpuid)(int __cpuVal[4], unsigned int __leaf);
void __cpuidex (int __cpuid_info[4], int __leaf, int __subleaf);
// placeholder
uint32_t GetTickCount();
// strcpy_s and strcat_s implementations
template<size_t N>
void strcpy_s(char (&dst)[N], const char* src)
{
if(N == 0)
return;
char* dstP = dst;
const char* end = src + N - 1;
while(src < end)
{
char c = *src;
*dstP = c;
if(c == '\0')
return;
dstP++;
src++;
c++;
}
*dstP = '\0';
return;
}
template<size_t N>
void strcat_s(char (&dst)[N], const char* src)
{
if(N == 0)
return;
char* dstP = dst;
const char* end = dstP + N - 1;
while(dstP < end && *dstP != '\0')
dstP++;
while(dstP < end)
{
char c = *src;
*dstP = c;
if(c == '\0')
return;
dstP++;
src++;
c++;
}
*dstP = '\0';
return;
}