OpenDOF Project
Modules | Files | Macros | Enumerations | Functions
Portable C Runtime (PCR)

Common system-level definitions, types, and functions. More...

Modules

 PCRCondition
 Condition variable operations.
 
 PCREvent
 Synchronization event operations.
 
 PCRMem
 Common system-level memory operations including allocation, deallocation, and copy.
 
 PCRMutex
 Mutual exclusion operations.
 
 PCRRandom
 A Pseudo-Random Number Generator implementation.
 
 PCRSecureRandom
 A Cryptographically Secure Random Number Generator implementation.
 
 PCRSemaphore
 Semaphore operations.
 
 PCRString
 Common system-level string operations.
 
 PCRSwap
 Network byte-order conversion, based on machine endianness.
 
 PCRThread
 Common system-level thread operations.
 
 PCRTime
 Common system-level time operations.
 
 Standard Types and Definitions
 Common core basic types and definitions upon which the DOF C-Language Object Access Library is built.
 

Files

file  pcr.h
 Header file for the Portable C Runtime functions, defines and data types.
 

Macros

#define PCRTIMEOUT_FOREVER
 Infinite timeout value.
 
#define PCR_Assert(expr)
 Assert that an expression is always true.
 
#define PCR_Validate(expr)
 Validate that an expression is true.
 

Enumerations

enum  PCRStatus {
  PCRSTATUS_OK,
  PCRSTATUS_ERROR,
  PCRSTATUS_TIMEOUT,
  PCRSTATUS_DESTROYED
}
 Common status/error codes for system functions. More...
 

Functions

DOF_PCR_DECLSPEC void PCR_AssertFail (const char *expression, const char *filename, uint32 line)
 Assertion failure handler.
 
DOF_PCR_DECLSPEC void PCR_ValidateFail (const char *expression, const char *filename, uint32 line)
 Validation failure handler.
 
DOF_PCR_DECLSPEC void PCR_Init (void)
 Initialize the Portable C Runtime.
 
DOF_PCR_DECLSPEC void PCR_Shutdown (void)
 Terminate use of the library and free internal resources.
 
DOF_PCR_DECLSPEC void PCR_Die (uint32 code)
 Platform-specific abnormal termination / catastrophic failure handler.
 

Detailed Description

Common system-level definitions, types, and functions.

Different operating systems and platforms have different abilities or APIs that can be used. Here, the functionality required for the DOF C OAL is defined and encapsulated in this portable abstraction layer. Thus, the C OAL can easily be ported to new platforms and operating systems simply by porting this layer to the new platform.

core-c-dof-oal Version 8.0.1 Build 0
2018-01-22