ucommon  7.0.0
About: GNU uCommon C++ is a portable and optimized class framework for writing C++ applications that need to use threads and support concurrent synchronization, and that use sockets, XML parsing, object serialization, thread-optimized string and data structure classes, etc..
  Fossies Dox: ucommon-7.0.0.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

cpr.h File Reference
#include <ucommon/platform.h>
#include <unistd.h>
Include dependency graph for cpr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

__EXPORT void cpr_runtime_error (const char *text)
 
__EXPORT void * cpr_newp (void **handle, size_t size)
 
__EXPORT void cpr_freep (void **handle)
 
__EXPORT void * cpr_memalloc (size_t size) __MALLOC
 
__EXPORT void * cpr_memassign (size_t size, caddr_t address, size_t known) __MALLOC
 
__EXPORT void cpr_memswap (void *mem1, void *mem2, size_t size)
 
__EXPORT int stricmp (const char *s1, const char *s2)
 
__EXPORT int strnicmp (const char *s1, const char *s2, size_t size)
 
__EXPORT uint16_t lsb_getshort (uint8_t *b)
 
__EXPORT uint32_t lsb_getlong (uint8_t *b)
 
__EXPORT uint16_t msb_getshort (uint8_t *b)
 
__EXPORT uint32_t msb_getlong (uint8_t *b)
 
__EXPORT void lsb_setshort (uint8_t *b, uint16_t v)
 
__EXPORT void lsb_setlong (uint8_t *b, uint32_t v)
 
__EXPORT void msb_setshort (uint8_t *b, uint16_t v)
 
__EXPORT void msb_setlong (uint8_t *b, uint32_t v)
 
__EXPORT long tzoffset (struct timezone *tz=NULL)
 
template<typename T >
T * newp (T **handle)
 
template<typename T >
void freep (T **handle)
 

Detailed Description

Runtime functions. This includes common runtime library functions we may need portably.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition in file cpr.h.

Function Documentation

◆ cpr_freep()

__EXPORT void cpr_freep ( void **  handle)

Definition at line 184 of file cpr.cpp.

Referenced by freep().

◆ cpr_memalloc()

__EXPORT void* cpr_memalloc ( size_t  size)

Portable memory allocation helper function. Handles out of heap error as a runtime error.

Parameters
sizeof memory block to allocate from heap.
Returns
memory address of allocated heap space.

Definition at line 209 of file cpr.cpp.

◆ cpr_memassign()

__EXPORT void* cpr_memassign ( size_t  size,
caddr_t  address,
size_t  known 
)

Portable memory placement helper function. This is used to process "placement" new operators where a new object is constructed over a pre-allocated area of memory. This handles invalid values through runtime error.

Parameters
sizeof object being constructed.
addresswhere the object is being placed.
knownsize of the location we are constructing the object in.

Definition at line 221 of file cpr.cpp.

References ucommon::addr(), and ucommon::max().

◆ cpr_memswap()

__EXPORT void cpr_memswap ( void *  mem1,
void *  mem2,
size_t  size 
)

Portable swap code.

Parameters
mem1to swap.
mem2to swap.
sizeof swap area.

Definition at line 193 of file cpr.cpp.

Referenced by ucommon::swap().

◆ cpr_newp()

__EXPORT void* cpr_newp ( void **  handle,
size_t  size 
)

Definition at line 175 of file cpr.cpp.

Referenced by newp().

◆ cpr_runtime_error()

__EXPORT void cpr_runtime_error ( const char *  text)

Function to handle runtime errors. When using the standard C library, runtime errors are handled by a simple abort. When using the stdc++ library with stdexcept, then std::runtime_error will be thrown.

Parameters
textof runtime error.

Definition at line 83 of file cpr.cpp.

References ucommon::str().

Referenced by ucommon::shell::log(), and ucommon::shell::security().

◆ freep()

template<typename T >
void freep ( T **  handle)

Definition at line 181 of file cpr.h.

References cpr_freep().

◆ lsb_getlong()

__EXPORT uint32_t lsb_getlong ( uint8_t *  b)

Definition at line 123 of file cpr.cpp.

Referenced by process().

◆ lsb_getshort()

__EXPORT uint16_t lsb_getshort ( uint8_t *  b)

Definition at line 117 of file cpr.cpp.

◆ lsb_setlong()

__EXPORT void lsb_setlong ( uint8_t *  b,
uint32_t  v 
)

Definition at line 157 of file cpr.cpp.

Referenced by encodefile().

◆ lsb_setshort()

__EXPORT void lsb_setshort ( uint8_t *  b,
uint16_t  v 
)

Definition at line 141 of file cpr.cpp.

◆ msb_getlong()

__EXPORT uint32_t msb_getlong ( uint8_t *  b)

Definition at line 135 of file cpr.cpp.

◆ msb_getshort()

__EXPORT uint16_t msb_getshort ( uint8_t *  b)

Definition at line 129 of file cpr.cpp.

◆ msb_setlong()

__EXPORT void msb_setlong ( uint8_t *  b,
uint32_t  v 
)

Definition at line 166 of file cpr.cpp.

◆ msb_setshort()

__EXPORT void msb_setshort ( uint8_t *  b,
uint16_t  v 
)

Definition at line 148 of file cpr.cpp.

◆ newp()

template<typename T >
T* newp ( T **  handle)

Definition at line 176 of file cpr.h.

References cpr_newp().

◆ stricmp()

__EXPORT int stricmp ( const char *  s1,
const char *  s2 
)

◆ strnicmp()

__EXPORT int strnicmp ( const char *  s1,
const char *  s2,
size_t  size 
)

◆ tzoffset()

__EXPORT long tzoffset ( struct timezone *  tz = NULL)