Beef Corlib
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
System.Platform Class Reference

Classes

struct  BfpCritSect
 
struct  BfpDynLib
 
struct  BfpEvent
 
struct  BfpFile
 
struct  BfpFileWatcher
 
struct  BfpFindFileData
 
struct  BfpProcess
 
struct  BfpSpawn
 
struct  BfpTimeStamp
 

Public Types

enum  Result : int32 {
  Ok, UnknownError, InsufficientBuffer, NotSupported,
  NoResults, InvalidParameter, Locked, AlreadyExists,
  NotFound, ShareError, AccessError, PartialData,
  TempFileError, Timeout, NotEmpty
}
 
enum  BfpSystemResult : int32 { Ok = (int)Result.Ok, UnknownError = (int)Result.UnknownError, TempFileError = (int)Result.TempFileError }
 
enum  BfpFileWatcherFlags : int32 { None = 0, IncludeSubdirectories = 1 }
 
enum  BfpFileChangeKind : int32 {
  BfpFileChangeKind_Added, BfpFileChangeKind_Removed, BfpFileChangeKind_Modified, BfpFileChangeKind_Renamed,
  BfpFileChangeKind_Failed
}
 
enum  BfpProcessResult : int32 { Ok = (int)Result.Ok, InsufficientBuffer = (int)Result.InsufficientBuffer }
 
enum  BfpSpawnFlags : int32 {
  None = 0, ArgsIncludesTarget = 1, UseArgsFile = 2, UseArgsFile_Native = 4,
  UseArgsFile_UTF8 = 8, UseArgsFile_BOM = 0x10, UseShellExecute = 0x20, RedirectStdInput = 0x40,
  RedirectStdOutput = 0x80, RedirectStdError = 0x100, NoWindow = 0x200, ErrorDialog = 0x400,
  Window_Hide = 0x800, Window_Maximized = 0x1000
}
 
enum  BfpKillFlags : int32 { None = 0, KillChildren = 1 }
 
enum  BfpSpawnResult : int32 { Ok = (int)Result.Ok, UnknownError = (int)Result.UnknownError }
 
enum  BfpEventFlags : int32 {
  None = 0, AllowAutoReset = 1, AllowManualReset = 2, InitiallySet_Auto = 4,
  InitiallySet_Manual = 8
}
 
enum  BfpEventResult : int32 { BfpEventResult_Ok = (int)Result.Ok, BfpEventResult_NotSupported = (int)Result.NotSupported }
 
enum  BfpLibResult : int32 { Ok = (int)Result.Ok, UnknownError = (int)Result.UnknownError, InsufficientBuffer = (int)Result.InsufficientBuffer }
 
enum  BfpFileResult : int32 {
  Ok = (int)Result.Ok, NoResults = (int)Result.NoResults, UnknownError = (int)Result.UnknownError, InvalidParameter = (int)Result.InvalidParameter,
  Locked = (int)Result.Locked, AlreadyExists = (int)Result.AlreadyExists, NotFound = (int)Result.NotFound, ShareError = (int)Result.ShareError,
  AccessError = (int)Result.AccessError, PartialData = (int)Result.PartialData, InsufficientBuffer = (int)Result.InsufficientBuffer, Timeout = (int)Result.Timeout,
  NotEmpty = (int)Result.NotEmpty
}
 
enum  BfpFileCreateKind : int32 { CreateAlways, CreateIfNotExists, OpenExisting, OpenAlways }
 
enum  BfpFileCreateFlags : int32 {
  None = 0, Read = 1, Write = 2, ShareRead = 4,
  ShareWrite = 8, ShareDelete = 0x10, Append = 0x20, Truncate = 0x40,
  WriteThrough = 0x80, DeleteOnClose = 0x100, NoBuffering = 0x200, NonBlocking = 0x400,
  AllowTimeouts = 0x800, Pipe = 0x1000
}
 
enum  BfpFileSeekKind : int32 { Absolute, Relative, FromEnd }
 
enum  BfpFileAttributes : int32 {
  None = 0, Normal = 1, Directory = 2, SymLink = 4,
  Device = 8, ReadOnly = 0x10, Hidden = 0x20, System = 0x40,
  Temporary = 0x80, Offline = 0x100, Encrypted = 0x200, Archive = 0x400
}
 
enum  BfpFileCopyKind : int32 { Always, IfNotExists, IfNewer }
 
enum  BfpFileStdKind : int32 { Out, Error, In }
 
enum  BfpFindFileFlags : int32 { None = 0, Files = 1, Directories = 2 }
 
enum  BfpSysDirectoryKind : int32 {
  Default, Home, System, Desktop,
  Desktop_Common, AppData_Local, AppData_LocalLow, AppData_Roaming,
  Programs, Programs_Common, Documents
}
 

Public Member Functions

static uint32 BfpSystem_TickCount ()
 
static uint32 BfpSystem_SetCrashRelaunchCmd (char8 *cmd)
 
static BfpTimeStamp BfpSystem_GetTimeStamp ()
 
static uint8 BfpSystem_InterlockedExchange8 (uint8 *ptr, uint8 val)
 
static uint16 BfpSystem_InterlockedExchange16 (uint16 *ptr, uint16 val)
 Returns the initial value in 'ptr'.
 
static uint32 BfpSystem_InterlockedExchange32 (uint32 *ptr, uint32 val)
 Returns the initial value in 'ptr'.
 
static uint64 BfpSystem_InterlockedExchange64 (uint64 *ptr, uint64 val)
 Returns the initial value in 'ptr'.
 
static uint8 BfpSystem_InterlockedExchangeAdd8 (uint8 *ptr, uint8 val)
 Returns the initial value in 'ptr'.
 
static uint16 BfpSystem_InterlockedExchangeAdd16 (uint16 *ptr, uint16 val)
 Returns the initial value in 'ptr'.
 
static uint32 BfpSystem_InterlockedExchangeAdd32 (uint32 *ptr, uint32 val)
 Returns the initial value in 'ptr'.
 
static uint64 BfpSystem_InterlockedExchangeAdd64 (uint64 *ptr, uint64 val)
 Returns the initial value in 'ptr'.
 
static uint8 BfpSystem_InterlockedCompareExchange8 (uint8 *ptr, uint8 oldVal, uint8 newVal)
 
static uint16 BfpSystem_InterlockedCompareExchange16 (uint16 *ptr, uint16 oldVal, uint16 newVal)
 
static uint32 BfpSystem_InterlockedCompareExchange32 (uint32 *ptr, uint32 oldVal, uint32 newVal)
 
static uint64 BfpSystem_InterlockedCompareExchange64 (uint64 *ptr, uint64 oldVal, uint64 newVal)
 
static void BfpSystem_GetExecutablePath (char8 *outStr, int32 *inOutStrSize, BfpSystemResult *outResult)
 
static void BfpSystem_GetEnvironmentStrings (char8 *outStr, int32 *inOutStrSize, BfpSystemResult *outResult)
 
static int32 BfpSystem_GetNumLogicalCPUs (BfpSystemResult *outResult)
 
static int64 BfpSystem_GetCPUTick ()
 
static int64 BfpSystem_GetCPUTickFreq ()
 
static void BfpSystem_CreateGUID (Guid *outGuid)
 
static void BfpSystem_GetComputerName (char8 *outStr, int32 *inOutStrSize, BfpSystemResult *outResult)
 
static int BfpThread_GetCurrentId ()
 
static BfpTLS * BfpTLS_Create (function[CallingConvention(.Stdcall)] void(void *) exitProc)
 
static void BfpTLS_Release (BfpTLS *tls)
 
static void BfpTLS_SetValue (BfpTLS *tls, void *value)
 
static void * BfpTLS_GetValue (BfpTLS *tls)
 
function void BfpDirectoryChangeFunc (BfpFileWatcher *watcher, void *userData, BfpFileChangeKind changeKind, char8 *directory, char8 *fileName, char8 *oldName)
 
static BfpFileWatcherBfpFileWatcher_WatchDirectory (char8 *path, BfpDirectoryChangeFunc callback, BfpFileWatcherFlags flags, void *userData, BfpFileResult *outResult)
 
static void BfpFileWatcher_Release (BfpFileWatcher *fileWatcher)
 
static bool BfpProcess_IsRemoteMachine (char8 *machineName)
 
static BfpProcessBfpProcess_GetById (char8 *machineName, int32 processId, BfpProcessResult *outResult)
 
static void BfpProcess_Enumerate (char8 *machineName, BfpProcess **outProcesses, int32 *inOutProcessesSize, BfpProcessResult *outResult)
 
static void BfpProcess_Release (BfpProcess *process)
 
static void BfpProcess_GetMainWindowTitle (BfpProcess *process, char8 *outTitle, int32 *inOutTitleSize, BfpProcessResult *outResult)
 
static void BfpProcess_GetProcessName (BfpProcess *process, char8 *outName, int32 *inOutNameSize, BfpProcessResult *outResult)
 
static int32 BfpProcess_GetProcessId (BfpProcess *process)
 
static BfpSpawnBfpSpawn_Create (char8 *targetPath, char8 *args, char8 *workingDir, char8 *env, BfpSpawnFlags flags, BfpSpawnResult *outResult)
 
static void BfpSpawn_Release (BfpSpawn *spawn)
 
static void BfpSpawn_Kill (BfpSpawn *spawn, int32 exitCode, BfpKillFlags killFlags, BfpSpawnResult *outResult)
 
static bool BfpSpawn_WaitFor (BfpSpawn *spawn, int waitMS, int *outExitCode, BfpSpawnResult *outResult)
 
static void BfpSpawn_GetStdHandles (BfpSpawn *spawn, BfpFile **outStdIn, BfpFile **outStdOut, BfpFile **outStdErr)
 
static int BfpProcess_GetCurrentId ()
 
static BfpCritSectBfpCritSect_Create ()
 
static void BfpCritSect_Release (BfpCritSect *critSect)
 
static void BfpCritSect_Enter (BfpCritSect *critSect)
 
static bool BfpCritSect_TryEnter (BfpCritSect *critSect, int32 waitMS)
 
static void BfpCritSect_Leave (BfpCritSect *critSect)
 
static BfpEventBfpEvent_Create (BfpEventFlags flags)
 
static void BfpEvent_Release (BfpEvent *event)
 
static void BfpEvent_Set (BfpEvent *event, bool requireManualReset)
 
static void BfpEvent_Reset (BfpEvent *event, BfpEventResult *outResult)
 
static bool BfpEvent_WaitFor (BfpEvent *event, int32 waitMS)
 
static BfpDynLibBfpDynLib_Load (char8 *fileName)
 
static void BfpDynLib_Release (BfpDynLib *lib)
 
static void BfpDynLib_GetFilePath (BfpDynLib *lib, char8 *outPath, int32 *inOutPathSize, BfpLibResult *outResult)
 
static void * BfpDynLib_GetProcAddress (BfpDynLib *lib, char8 *name)
 
static void BfpDirectory_Create (char8 *name, BfpFileResult *outResult)
 
static void BfpDirectory_Rename (char8 *oldName, char8 *newName, BfpFileResult *outResult)
 
static void BfpDirectory_Delete (char8 *name, BfpFileResult *outResult)
 
static void BfpDirectory_GetCurrent (char8 *outPath, int32 *inOutPathSize, BfpFileResult *outResult)
 
static void BfpDirectory_SetCurrent (char8 *path, BfpFileResult *outResult)
 
static bool BfpDirectory_Exists (char8 *path)
 
static void BfpDirectory_GetSysDirectory (BfpSysDirectoryKind sysDirKind, char8 *outPath, int32 *inOutPathLen, BfpFileResult *outResult)
 
static BfpFileBfpFile_Create (char8 *name, BfpFileCreateKind createKind, BfpFileCreateFlags createFlags, BfpFileAttributes createdFileAttrs, BfpFileResult *outResult)
 
static BfpFileBfpFile_GetStd (BfpFileStdKind kind, BfpFileResult *outResult)
 
static int BfpFile_GetSystemHandle (BfpFile *file)
 
static void BfpFile_Release (BfpFile *file)
 
static int BfpFile_Write (BfpFile *file, void *buffer, int size, int timeoutMS, BfpFileResult *outResult)
 
static int BfpFile_Read (BfpFile *file, void *buffer, int size, int timeoutMS, BfpFileResult *outResult)
 
static void BfpFile_Flush (BfpFile *file)
 
static int64 BfpFile_GetFileSize (BfpFile *file)
 
static int64 BfpFile_Seek (BfpFile *file, int64 offset, BfpFileSeekKind seekKind)
 
static void BfpFile_Truncate (BfpFile *file, BfpFileResult *outResult)
 
static BfpTimeStamp BfpFile_GetTime_LastWrite (char8 *path)
 
static BfpFileAttributes BfpFile_GetAttributes (char8 *path, BfpFileResult *outResult)
 
static void BfpFile_SetAttributes (char8 *path, BfpFileAttributes attribs, BfpFileResult *outResult)
 
static void BfpFile_Copy (char8 *oldPath, char8 *newPath, BfpFileCopyKind copyKind, BfpFileResult *outResult)
 
static void BfpFile_Rename (char8 *oldPath, char8 *newPath, BfpFileResult *outResult)
 
static void BfpFile_Delete (char8 *path, BfpFileResult *outResult)
 
static bool BfpFile_Exists (char8 *path)
 
static void BfpFile_GetTempPath (char8 *outPath, int32 *inOutPathSize, BfpFileResult *outResult)
 
static void BfpFile_GetTempFileName (char8 *outName, int32 *inOutNameSize, BfpFileResult *outResult)
 
static void BfpFile_GetFullPath (char8 *inPath, char8 *outPath, int32 *inOutPathSize, BfpFileResult *outResult)
 
static void BfpFile_GetActualPath (char8 *inPath, char8 *outPath, int32 *inOutPathSize, BfpFileResult *outResult)
 
static BfpFindFileDataBfpFindFileData_FindFirstFile (char8 *path, BfpFindFileFlags flags, BfpFileResult *outResult)
 
static bool BfpFindFileData_FindNextFile (BfpFindFileData *findData)
 
static void BfpFindFileData_GetFileName (BfpFindFileData *findData, char8 *outName, int32 *inOutNameSize, BfpFileResult *outResult)
 
static BfpTimeStamp BfpFindFileData_GetTime_LastWrite (BfpFindFileData *findData)
 
static BfpTimeStamp BfpFindFileData_GetTime_Created (BfpFindFileData *findData)
 
static BfpTimeStamp BfpFindFileData_GetTime_Access (BfpFindFileData *findData)
 
static BfpFileAttributes BfpFindFileData_GetFileAttributes (BfpFindFileData *findData)
 
static int64 BfpFindFileData_GetFileSize (BfpFindFileData *findData)
 
static void BfpFindFileData_Release (BfpFindFileData *findData)
 

Static Public Member Functions

static Result< void, Platform.Result > GetStrHelper (String outStr, delegate void(char8 *outPtr, int32 *outSize, Result *outResult) func)
 
static Result< Span< T >, Platform.Result > GetSizedHelper< T > (delegate void(T *outPtr, int32 *outSize, Result *outResult) func)
 

Static Public Attributes

const bool IsSingleProcessor = false
 
const int ProcessorCount = 8