Table of Contents:

Vidyo Legal Copyright Notice

Legend

[PRIVATE] Indicates an interface is private. Private interfaces are subject to change or may be entirely removed without notice. Use of such interfaces is not recommended.

[EXPERIMENTAL] Indicates an interface is experimental. Experimental interfaces represent work in progress and therefore may be incomplete and may be subject to change (both in terms of interface definition and the semantics the interface controls) or even removed entirely in subsequent releases. Use of experimental interfaces should be carefully weighed by the application writer.

[DEPRECATED] Indicates an interface has been deprecated. Deprecated interfaces are subject to removal in subsequent releases. Use of deprecated interfaces in new code is not recommended. Existing uses of deprecated interfaces should be removed as soon as possible.

[REPLACED BY interface ] Indicates an interface has been superseded by interface .

SYMBOLIC Indicates that the constant is a compile-time symbolic replacement of the constants value. Such constants can be used as global initializers, but can not have their address taken. Non-symbolic constant can not be used as global initializers, but can have their address taken.

REFERENCE COUNTED Indicates that objects of the type are reference counted. Calling ConstructCopy or Assign has reference semantics.

Package: Log

Member Of:

Os

Description:

Log system events.

Member Types:

LmiCachedLogRecord A record of one logged event.
LmiLogCategory An identifier of a category within which a logged event occurred.
LmiLogCategorySet A collection of LmiLogCategory values.
LmiLogConfidentialityLevel The confidentiality level the logging system should adhere to. For example, exclude personally identifiable information.
LmiLogLevel An identifier for the level, or type, of a logged event. This indicates the degree of significance of the event.
LmiLogLevelSet A collection of log level identifier values.
LmiLogListener An object which receives and processes log messages.
LmiLogRecord A record of one logged event.

Member Functions:

LmiLogDebug Log a debug message. The event being logged describes information which may be useful to a developer to understand the code. The information is not expected to be useful to users of the system.
LmiLogDebugFormatted Log a debug message, with arguments formatted from a printf-style string. The event being logged describes information which may be useful to a developer to understand the code. The information is not expected to be useful to users of the system.
LmiLogEnter Log entry into a function or block.
LmiLogError Log a continuable error. The system should be able to continue, but human intervention or diagnosis may be necessary.
LmiLogErrorFormatted Log a continuable error, with arguments formatted from a printf-style string. The system should be able to continue, but human intervention or diagnosis may be necessary.
LmiLogFatal Log a fatal error. In all likelihood, system execution will not be able to continue.
LmiLogFatalFormatted Log a fatal error, with arguments formatted from a printf-style string. In all likelihood, system execution will not be able to continue.
LmiLogGetAllCategories Get the names of all registered log categories.
LmiLogGetCategoryByIndex Get the identifier for a registered log category based on its index.
LmiLogGetCategoryByName Get the identifier for a registered log category based on its name.
LmiLogGetConfidentialityLevel Gets the current, global confidentiality level.
LmiLogGetLevelByIndex Get an identifier for an LmiLogLevel based on its index.
LmiLogGetLevelByName Get an identifier for an LmiLogLevel based on its name.
LmiLogGetNumberOfCategories Get the number of registered log categories.
LmiLogGetNumberOfLevels Get the number of log levels.
LmiLogHasListener Test whether any listener is listening to the given log level and category.
LmiLogInfo Log an informational message. The event being logged describes information which may be useful or informative to a user of the system. No problems are being reported.
LmiLogInfoFormatted Log an informational message, with arguments formatted from a printf-style string. The event being logged describes information which may be useful or informative to a user of the system. No problems are being reported.
LmiLogInitialize Initialize the LmiLog package.
LmiLogLeave Log exit from a function or block.
LmiLogObfuscate Obfuscate (or not) a string based on the current log confidentiality level. If the confidentiality level in high enough (for example LMI_LOGCONFIDENTIALITYLEVEL_ExcludePersonallyIdentifiableInformation), the obfuscated string will contain a one-way hash of the clear text. If the confidentiality level in low enough (LMI_LOGCONFIDENTIALITYLEVEL_None), the clear text is simply copied to the obfuscated string.
LmiLogReceived Log received data. The event being logged describes data that has been received by the system.
LmiLogReceivedFormatted Log received data, with arguments formatted from a printf-style string. The event being logged describes data that has been received by the system.
LmiLogRegisterCategory Create and register a log category.
LmiLogRegisterListener Register an LmiLogListener to receive log messages.
LmiLogSent Log sent data. The event being logged describes data that has been transmitted by the system.
LmiLogSentFormatted Log sent data, with arguments formatted from a printf-style string. The event being logged describes data that has been transmitted by the system.
LmiLogSetConfidentialityLevel Sets the current, global confidentiality level.
LmiLogUninitialize Uninitialize the LmiLog package.
LmiLogUnregisterListener Unregister an LmiLogListener from receiving log messages.
LmiLogWarning Log a warning. Something has occurred which may require attention or action, but which is not actually erroneous.
LmiLogWarningFormatted Log a warning, with arguments formatted from a printf-style string. Something has occurred which may require attention or action, but which is not actually erroneous.

Package: Memory

Member Of:

Os

Description:

A package for requesting, freeing and debugging dynamic memory.

Member Types:

Member Callbacks:

LmiMemoryExhausted A callback invoked when "out of memory" condition is encountered.

Member Functions:

Package: Os

Member Of:

Lmi

Description:

The LmiOs package encapsulates all operating-system-dependent aspects of the Vidyo SDK.

Member Packages:

Log Log system events.
Memory A package for requesting, freeing and debugging dynamic memory.
Processor Information about system processors.
Random A source of high-quality random numbers.

Member Types:

LmiAndroid Stores global state of android applications.
LmiCachedLogListener A log listener for logging messages to a text file.
LmiConsoleLogListener A log listener for logging messages to the console.
LmiDataBuffer A reference-counted buffer.
LmiFile Represents a file on a file system.
LmiFileLogListener A log listener for logging messages to a text file.
LmiMallocAllocator An LmiAllocator object that allocates memory using the standard C malloc and free functions.
LmiPoolAllocator An allocator that allocates memory using pre-allocates memory pools.
LmiProcessId An operating system process identifier.
LmiProperties Describes a set of properties and listeners for observing changes to those properties.
LmiReferenceCountedObject Simple class for managing reference counts for another object. The object is constructed with a reference count of 1. LmiReferenceCountedObjectAddReference increments the reference count by 1 and LmiReferenceCountedObjectRemoveReference decrements it by 1. When the count becomes 0, the LmiReferenceCountedObjectDeleteCallback is invoked.
LmiSharedPtr Shared (reference-counted) pointer class.
LmiSharedVoidPtr Shared (reference-counted) pointer class to void.
LmiThread A thread object.
LmiThreadPool Thread Pool
LmiTime A representation of time, counted as a nanoseconds.
LmiTimeRange A time range class used to represent a range of time intervals.
LmiTimerLoop This object creates a thread that executes an LmiTimerManager as needed.
LmiTimerManager A timer scheduler.
LmiViewId Operating system specific window view identifier.
LmiWatchdog A watchdog timer class used to monitor the persistence of an activity.
LmiWeakPtr Weak reference to shared (reference-counted) pointer class.
LmiWeakVoidPtr Weak reference to shared (reference-counted) pointer class to void.
LmiWindowId Operating system specific window identifier.

Member Functions:

LmiOsGetMajorVersion Get the major version of the underlying operating system.
LmiOsGetMinorVersion Get the minor version of the underlying operating system.
LmiOsGetName Get the name of underlying operating system as a human readable string; appropriate for display, bug reporting, etc.
LmiOsGetPatchVersion Get the patch version of the underlying operating system.
LmiOsGetVersionAsString Get the underlying operating system version as a human readable string; appropriate for display, bug reporting, etc.; not appropriate for parsing.
LmiOsInitialize Initialize all operating-system-dependent components of the Vidyo SDK.
LmiOsUninitialize Uninitialize all operating-system-dependent components of the Vidyo SDK.
LmiProcessGetCurrentProcessId Gets the process ID of the current process.

Package: Processor

Member Of:

Os

Description:

Information about system processors.

Member Types:

LmiProcessor A representation of a system's processor.
LmiProcessorArch The architecture of a processor.
LmiProcessorArmArch An ARM processor's architecture type.
LmiProcessorTimes A representation of the time usage of a processor.
LmiProcessorVendor The vendor (manufacturer) of a CPU.

Member Functions:

Package: Random

Member Of:

Os

Description:

A source of high-quality random numbers.

Member Functions:

LmiPseudoRandomSimulatorGetDefault Returns an LmiVariableSimulator object that uses a pseudorandom source of random numbers. If higher-quality random numbers are required, use LmiRandomSimulatorGetDefault instead.
LmiRandomSimulatorGetDefault Returns an LmiVariableSimulator object that uses a cryptographically secure source of random numbers. This source may be slower than a pseudorandom source; if high-quality random numbers are not necessary, use LmiPseudoRandomSimulatorGetDefault instead.

Type: LmiAndroid

Member Of:

Os

Description:

Stores global state of android applications.

Include:

Lmi/Os/LmiAndroid.h

Member Functions:

LmiAndroidConstruct Constructs a LmiAndroid object that keeps global Android data.
LmiAndroidDestruct Destructs an LmiAndroid object.

Type: LmiCachedLogListener

Member Of:

Os

Derivation Of:

LmiLogListener

Description:

A log listener for logging messages to a text file.

Include:

Lmi/Os/LmiCachedLogListener.h

Member Functions:

LmiCachedLogListenerConstruct Constructs a file log listener object.
LmiCachedLogListenerDestruct Destructs a file log listener object.
LmiCachedLogListenerGetListener Gets the log listener base class from a cached log listener object. The base class can be used to call LmiLogListener API functions for the file logger.
LmiCachedLogListenerGetLogRecords Gets the log records from a cached log listener object.
LmiCachedLogListenerGetMaxNumRecords Get the maximum number of records to keep in the of the cache.
LmiCachedLogListenerSetMaxNumRecords Set the maximum number of records to keep in the of the cache.

Type: LmiCachedLogRecord

Member Of:

Log

Description:

A record of one logged event.

Include:

Lmi/Os/LmiCachedLogListener.h

Member Variables:

level LmiLogLevel
category LmiLogCategory
categoryName const char*
file const char *
line LmiInt
functionName const char *
message const char *
threadName const char *
eventTime LmiTime

Member Functions:

LmiCachedLogRecordGetCategory Get the category associated with a logged event.
LmiCachedLogRecordGetCategoryName Get the category name associated with a logged event.
LmiCachedLogRecordGetFile Get the filename associated with a logged event.
LmiCachedLogRecordGetFunctionName Get the name of the function associated with a logged event.
LmiCachedLogRecordGetIndex Get the index associated with a logged event.
LmiCachedLogRecordGetLevel Get the level associated with a logged event.
LmiCachedLogRecordGetLine Get the line number associated with a logged event.
LmiCachedLogRecordGetMessage Get the message associated with a logged event.
LmiCachedLogRecordGetThreadId Get the thread id of the thread associated with a logged event.
LmiCachedLogRecordGetThreadName Get the name of the thread associated with a logged event.
LmiCachedLogRecordGetTime Get the wall-clock time at which a logged event occurred.

Type: LmiConsoleLogListener

Member Of:

Os

Derivation Of:

LmiLogListener

Description:

A log listener for logging messages to the console.

Include:

Lmi/Os/LmiConsoleLogListener.h

Member Functions:

LmiConsoleLogListenerConstruct Construct an LmiConsoleLogListener.
LmiConsoleLogListenerDestruct Destruct an LmiConsoleLogListener.
LmiConsoleLogListenerEnableAnsiColoring Enables or disables the coloring of log messages based on severity. Colors are changed by inserting ANSI escape codes.
LmiConsoleLogListenerEnableColoring Enables or disables the coloring of log messages based on severity. Colors are changed by directly setting the console text color, where this is supported. Currently, this is supported only for the Windows Console.
LmiConsoleLogListenerEnableColumns Enables or disables columnar output for a console log's verbose mode. Columnar mode may be slightly less verbose but should be easier to read.
LmiConsoleLogListenerGetListener Gets the log listener base class from a file log listener object. The base class can be used to call LmiLogListener API functions for the file logger.
LmiConsoleLogListenerGetMessageOnly [REPLACED BY LmiLogListenerIsVerbose] Get whether the listener is printing only messages, or all fields of the log record.
LmiConsoleLogListenerSetMessageOnly [REPLACED BY LmiLogListenerSetVerbose] Set whether the listener should print only messages, or all fields of the log record.

Type: LmiDataBuffer

Member Of:

Os

Description:

A reference-counted buffer.

Include:

Lmi/Os/LmiDataBuffer.h

Member Functions:

LmiDataBufferAssign Assign the value of one data buffer to another.
LmiDataBufferAssignSubbuffer Assign the value of a data buffer based on part of another buffer.
LmiDataBufferAssignSubbufferAtReadPosition Assign a data buffer based on part of another buffer, adjusting the source buffer's read position.
LmiDataBufferConstruct Construct a data buffer with the given capacity.
LmiDataBufferConstructCopy Construct a copy of a data buffer.
LmiDataBufferConstructSubbuffer Construct a data buffer based on part of another buffer.
LmiDataBufferConstructSubbufferAtReadPosition Construct a data buffer based on part of another buffer, adjusting the source buffer's read position.
LmiDataBufferDestruct Destruct a data buffer.
LmiDataBufferEnsureExclusiveCapacity Ensure that an LmiDataBuffer is exclusively owned and has a minimum capacity. If it is not, the buffer will be reallocated.
LmiDataBufferEnsureExclusiveCapacityNoCopy Ensure that an LmiDataBuffer is exclusively owned and has a minimum capacity. If it is not, the buffer will be reallocated, discarding its current contents and read/write pointer.
LmiDataBufferEqual Compare the contents of two LmiDataBuffers (up to their lengths) for equality.
LmiDataBufferGetAllocator Get the allocator used by an LmiDataBuffer.
LmiDataBufferGetBitPosition Get the current value of an LmiDataBuffer's read or write position.
LmiDataBufferGetCapacity Get the capacity of an LmiDataBuffer.
LmiDataBufferGetData Get an LmiDataBuffer's data.
LmiDataBufferGetDataConst Get a const LmiDataBuffer's data.
LmiDataBufferGetLength Get the length of an LmiDataBuffer's data.
LmiDataBufferGetRemainingReadableBitCount Get the number of bits remaining to be read in an LmiDataBuffer before its length is reached.
LmiDataBufferGetRemainingWritableBitCount Get the number of bits remaining to be written to an LmiDataBuffer before its capacity is reached.
LmiDataBufferGetRemainingWritableByteCount Get the number of bytes remaining to be written to an LmiDataBuffer before its capacity is reached.
LmiDataBufferIsExclusive Test whether an LmiDataBuffer's reference count is exactly 1, i.e. whether it is owned exclusively by a single owner.
LmiDataBufferLess Compare the contents of two LmiDataBuffers (up to their lengths) for ordering.
LmiDataBufferMakeExclusive Make an LmiDataBuffer the exclusive owner of its data. This will copy the data's buffer if it was not previously exclusively owned, and thus can invalidate previous data pointers.
LmiDataBufferPeekBits16 Read up to 16 bits from an LmiDataBuffer without advancing the read position.
LmiDataBufferPeekBits32 Read up to 32 bits from an LmiDataBuffer without advancing the read position.
LmiDataBufferPeekBits64 Read up to 64 bits from an LmiDataBuffer without advancing the read position.
LmiDataBufferPeekBits8 Read up to 8 bits from an LmiDataBuffer without advancing the read position.
LmiDataBufferReadBits16 Read up to 16 bits from an LmiDataBuffer and advance the read position.
LmiDataBufferReadBits32 Read up to 32 bits from an LmiDataBuffer and advance the read position.
LmiDataBufferReadBits64 Read up to 64 bits from an LmiDataBuffer and advance the read position.
LmiDataBufferReadBits8 Read up to 8 bits from an LmiDataBuffer and advance the read position.
LmiDataBufferSetBitPosition Set an LmiDataBuffer's read or write position to a specified absolute position.
LmiDataBufferSetLength Set the length of an LmiDataBuffer's data.
LmiDataBufferSkipAlignBits Advance an LmiDataBuffer's read position so it is aligned to a multiple of a given number of bits, without reading any bits.
LmiDataBufferSkipBits Advance an LmiDataBuffer's read position without reading any bits.
LmiDataBufferSkipBytes Advance an LmiDataBuffer's read position by a whole number of bytes without reading any bits.
LmiDataBufferSwap Swap the contents of two LmiDataBuffers.
LmiDataBufferWriteAlignBits Write bits to an LmiDataBuffer so its write position is aligned to a multiple of a given number of bits.
LmiDataBufferWriteBits16 Write up to 16 bits to an LmiDataBuffer and advance the write position.
LmiDataBufferWriteBits32 Write up to 32 bits to an LmiDataBuffer and advance the write position.
LmiDataBufferWriteBits64 Write up to 64 bits to an LmiDataBuffer and advance the write position.
LmiDataBufferWriteBits8 Write up to 8 bits to an LmiDataBuffer and advance the write position.
LmiDataBufferWriteBuffer Write the contents of an LmiDataBuffer into another one, at the latter's write position.
LmiDataBufferWriteBytes Write the contents of a block of memory to an LmiDataBuffer and advance the write position.

Type: LmiFile

Member Of:

Os

Description:

Represents a file on a file system.

Include:

Lmi/Os/LmiFile.h

Constants:

LMI_FILE_PATH_MAX SYMBOLIC LmiSizeT The maximum size of a pathname on the platform.

Member Types:

LmiFileOpenFlag A flag representing a mode in which to open an LmiFile.
LmiFilePosition A value representing a read/write position within an LmiFile object.
LmiFileReadCStrFlag A flag representing a mode in which LmiFileReadCStr should operate.

Member Functions:

LmiFileAtEof Query whether a file's position is currently at the end of the file.
LmiFileClose Close a file object.
LmiFileConstruct Construct an LmiFile object by opening a file.
LmiFileConstructDefault Construct an LmiFile object which is not opened.
LmiFileDelete Remove a file in the file system.
LmiFileDestruct Destruct an LmiFile object, closing it if it is open.
LmiFileFlush Flush any buffered file data out to the file's storage medium.
LmiFileGetPosition Get the current read/write position of a file.
LmiFileGetSize Gets the size of the file.
LmiFileGetStderr Gets the standard error as an LmiFile object.
LmiFileGetStdin Gets the standard input as an LmiFile object.
LmiFileGetStdout Gets the standard output as an LmiFile object.
LmiFileOpen Open a file using an LmiFile object. If the object already has a file open, this will fail.
LmiFilePrintf Format and Write data to a file at its current write position.
LmiFileRead Read data from a file at its current read position.
LmiFileReadCStr Read a string from a file starting at its current read position up to either the first occurrence of one of the delimiters or n - 1 characters which ever comes first. The read position is advanced to the byte just passed the first occurrence of one of the delimiters (regardless of n ).
LmiFileRename Rename (move) a file in the file system.
LmiFileSetPosition Set the current read/write position of a file.
LmiFileVPrintf Format and Write data to a file at its current write position, passing a va_list for the format arguments.
LmiFileWrite Write data to a file at its current write position.

Type: LmiFileLogListener

Member Of:

Os

Derivation Of:

LmiLogListener

Description:

A log listener for logging messages to a text file.

Include:

Lmi/Os/LmiFileLogListener.h

Member Functions:

LmiFileLogListenerConstruct Constructs a file log listener object.
LmiFileLogListenerConstructEx Constructs a file log listener object.
LmiFileLogListenerDestruct Destructs a file log listener object.
LmiFileLogListenerGetFileNames Fills in the passed in vector with a list of file names used by the FileLogger.
LmiFileLogListenerGetListener Gets the log listener base class from a file log listener object. The base class can be used to call LmiLogListener API functions for the file logger.
LmiFileLogListenerGetMaxSize Get the maximum size of the log file produced by a file log listener.
LmiFileLogListenerGetMessageOnly [REPLACED BY LmiLogListenerIsVerbose] Get whether the listener is printing only messages, or all fields of the log record.
LmiFileLogListenerGetWrapCount Get the maximum number of log files to keep.
LmiFileLogListenerGetWrapPeriod Get the wrap time of the log file produced by a file log listener.
LmiFileLogListenerSetMaxSize Set the maximum size of the log file produced by a file log listener.
LmiFileLogListenerSetMessageOnly [REPLACED BY LmiLogListenerSetVerbose] Set whether the listener should print only messages, or all fields of the log record.
LmiFileLogListenerSetWrapCount Set the maximum number of log files to keep.
LmiFileLogListenerSetWrapPeriod Set the wrap period of the log file produced by a file log listener.

Type: LmiFileOpenFlag

Member Of:

LmiFile

Description:

A flag representing a mode in which to open an LmiFile.

Include:

Lmi/Os/LmiFile.h

Values:

LMI_FILEOPENFLAG_Read Indicates that a file is to be opened for reading.
LMI_FILEOPENFLAG_Write Indicates that a file is to be opened for writing. If the file does not exist the system will attempt to create it.
LMI_FILEOPENFLAG_Append Indicates that a file is to be opened for appending (writing at the end of file). This is only meaningful if LMI_FILEOPENFLAG_Write is also set in a flag set.
LMI_FILEOPENFLAG_Binary Indicates that a file is to be read and/or written in binary mode, rather than text mode, for systems where this is a meaningful distinction.

Type: LmiFilePosition

Member Of:

LmiFile

Description:

A value representing a read/write position within an LmiFile object.

Include:

Lmi/Os/LmiFile.h

Note 1:

This will be a signed integer type, but may be able to hold values larger than the maximum value of LmiSizeT.

Type: LmiFileReadCStrFlag

Member Of:

LmiFile

Description:

A flag representing a mode in which LmiFileReadCStr should operate.

Include:

Lmi/Os/LmiFile.h

Values:

LMI_FILEREADCSTRFLAG_IncludeDelimiter Indicates that the terminating delimiter should be included in the output string.

Type: LmiGregorianTime

Member Of:

LmiTime

Description:

A time value in the Gregorian calendar, with split out date fields.

Include:

Lmi/Os/LmiTime.h

Member Functions:

LmiGregorianTimeAssign Assign the value of one LmiGregorianTime object to another one.
LmiGregorianTimeConstruct Construct an LmiGregorianTime value, representing the time in the system timezone, corresponding to a given wall clock time value.
LmiGregorianTimeConstructCStr Construct an LmiGregorianTime value from a NUL-terminated C string representation.
LmiGregorianTimeConstructCopy Construct a new LmiGregorianTime object as a copy of an existing one.
LmiGregorianTimeConstructFields Construct an LmiGregorianTime value with explicitly-set field values.
LmiGregorianTimeConstructUTC Construct an LmiGregorianTime value, representing the time in Coordinated Universal Time, corresponding to a given wall clock time value.
LmiGregorianTimeDestruct Destruct an LmiGregorianTime object.
LmiGregorianTimeEqual Compare the values of two LmiGregorianTime objects for equality.
LmiGregorianTimeGetAsString Get a string representation of a given gregorian time.
LmiGregorianTimeGetHour Get the hour value from an LmiGregorianTime.
LmiGregorianTimeGetLocalTime Get the wall-clock time corresponding to a gregorian time, interpreted as being in the system local timezone.
LmiGregorianTimeGetMinute Get the minute value from an LmiGregorianTime.
LmiGregorianTimeGetMonth Get the month value from an LmiGregorianTime.
LmiGregorianTimeGetMonthDay Get the day-of-the-month value from an LmiGregorianTime.
LmiGregorianTimeGetNanosecond Get the nanosecond value from an LmiGregorianTime.
LmiGregorianTimeGetSecond Get the second value from an LmiGregorianTime.
LmiGregorianTimeGetUTCTime Get the wall-clock time corresponding to a gregorian time, interpreted as being in Universal Coordinated Time (UTC).
LmiGregorianTimeGetYear Get the year value from an LmiGregorianTime.
LmiGregorianTimeLess Compare the values of two LmiGregorianTime objects for ordering.
LmiGregorianTimeSwap Swap the contents of two LmiGregorianTime objects.

Note 1:

An LmiGregorianTime may represent either UTC or local time, depending how it was constructed.

Note 2:

LmiGregorianTime is currently a read-only structure. Modifiers may be created for it in the future as needed.

Type: LmiLogCategory

Member Of:

Log

Description:

An identifier of a category within which a logged event occurred.

Include:

Lmi/Os/LmiLog.h

Constants:

LMI_LOGCATEGORY_INVALID SYMBOLIC LmiLogCategory A value representing an invalid or unregistered category.
LMI_LOG_CATEGORY_INVALID SYMBOLIC [REPLACED BY LMI_LOGCATEGORY_INVALID] LmiLogCategory Deprecated name for LMI_LOGCATEGORY_INVALID.

Member Functions:

LmiLogCategoryGetByName [REPLACED BY LmiLogGetCategoryByName] Get the identifier for a registered log category based on its name.
LmiLogCategoryGetCount [REPLACED BY LmiLogGetNumberOfCategories] Get the number of registered log categories.
LmiLogCategoryGetDescription Get the description of a registered LmiLogCategory.
LmiLogCategoryGetName Get the name of a registered LmiLogCategory.
LmiLogCategoryRegister [REPLACED BY LmiLogRegisterCategory] Register the name of an LmiLogCategory

Type: LmiLogCategorySet

Member Of:

Log

Description:

A collection of LmiLogCategory values.

Include:

Lmi/Os/LmiLog.h

Member Functions:

LmiLogCategorySetAddAllCategories Add all categories to an LmiLogCategorySet.
LmiLogCategorySetAddCategory Add a log category to a log category set.
LmiLogCategorySetConstruct Construct a log category set (with no categories).
LmiLogCategorySetConstructWithCategory Construct a log category set with one category included).
LmiLogCategorySetDestruct Destruct a log category set.
LmiLogCategorySetHasCategory Check whether a log category set contains a given log category.
LmiLogCategorySetIsEmpty Check whether a log category set is entirely empty.
LmiLogCategorySetRemoveAllCategories Remove all categories from an LmiLogCategorySet.
LmiLogCategorySetRemoveCategory Remove a log category from a log category set.

Type: LmiLogConfidentialityLevel

Member Of:

Log

Description:

The confidentiality level the logging system should adhere to. For example, exclude personally identifiable information.

Include:

Lmi/Os/LmiLog.h

Values:

LMI_LOGCONFIDENTIALITYLEVEL_None No information is excluded from logs.
LMI_LOGCONFIDENTIALITYLEVEL_ExcludePersonallyIdentifiableInformation Exclude personally identifiable information from logs.

Type: LmiLogLevel

Member Of:

Log

Description:

An identifier for the level, or type, of a logged event. This indicates the degree of significance of the event.

Include:

Lmi/Os/LmiLog.h

Values:

LMI_LOGLEVEL_FATAL The event being logged describes a fatal error. In all likelihood system execution will not be able to continue.
LMI_LOGLEVEL_ERROR The event being logged describes a continuable error. The system should be able to continue, but human intervention or diagnosis may be necessary.
LMI_LOGLEVEL_WARNING The event being logged describes a warning. Something has occurred which may require attention or action, but which is not actually erroneous.
LMI_LOGLEVEL_INFO The event being logged describes information which may be useful or informative to a user of the system. No problems are being reported.
LMI_LOGLEVEL_DEBUG The event being logged describes information which may be useful to a developer to understand the code. The information is not expected to be useful to users of the system.
LMI_LOGLEVEL_SENT The event being logged describes data that has been transmitted by the system.
LMI_LOGLEVEL_RECEIVED The event being logged describes data that has been received by the system.
LMI_LOGLEVEL_ENTER The event being logged describes the system entering a function.
LMI_LOGLEVEL_LEAVE The event being logged describes the system leaving from a function.
LMI_LOGLEVEL_INVALID A value that does not represent a valid log level. This value is returned by LmiLogGetLevelByName and LmiLogGetLevelByIndex on invalid input.
LMI_LOG_FATAL [REPLACED BY LMI_LOGLEVEL_FATAL] Deprecated name for LMI_LOGLEVEL_FATAL.
LMI_LOG_ERROR [REPLACED BY LMI_LOGLEVEL_ERROR] Deprecated name for LMI_LOGLEVEL_ERROR.
LMI_LOG_WARNING [REPLACED BY LMI_LOGLEVEL_WARNING] Deprecated name for LMI_LOGLEVEL_WARNING.
LMI_LOG_INFO [REPLACED BY LMI_LOGLEVEL_INFO] Deprecated name for LMI_LOGLEVEL_INFO.
LMI_LOG_DEBUG [REPLACED BY LMI_LOGLEVEL_DEBUG] Deprecated name for LMI_LOGLEVEL_DEBUG.
LMI_LOG_SENT [REPLACED BY LMI_LOGLEVEL_SENT] Deprecated name for LMI_LOGLEVEL_SENT.
LMI_LOG_RECEIVED [REPLACED BY LMI_LOGLEVEL_RECEIVED] Deprecated name for LMI_LOGLEVEL_RECEIVED.
LMI_LOG_ENTER [REPLACED BY LMI_LOGLEVEL_ENTER] Deprecated name for LMI_LOGLEVEL_ENTER.
LMI_LOG_LEAVE [REPLACED BY LMI_LOGLEVEL_LEAVE] Deprecated name for LMI_LOGLEVEL_LEAVE.
LMI_LOG_LEVEL_INVALID [REPLACED BY LMI_LOGLEVEL_INVALID] Deprecated name for LMI_LOGLEVEL_INVALID.

Member Functions:

LmiLogLevelGetByName [REPLACED BY LmiLogGetLevelByName] Get an identifier for an LmiLogLevel based on its name.
LmiLogLevelGetCount [REPLACED BY LmiLogGetNumberOfLevels] Get the number of log levels.
LmiLogLevelGetName Get a textual name of a log level, suitable for use in log output.

Type: LmiLogLevelSet

Member Of:

Log

Description:

A collection of log level identifier values.

Include:

Lmi/Os/LmiLog.h

Member Functions:

LmiLogLevelSetAddAllLevels Add all levels to an LmiLogLevelSet.
LmiLogLevelSetAddLevel Add a log level to a log level set.
LmiLogLevelSetConstruct Construct a log level set (with no levels).
LmiLogLevelSetConstructWithLevel Construct a log level set with one level included.
LmiLogLevelSetDestruct Destruct a log level set.
LmiLogLevelSetHasLevel Check whether a log level set contains a given log level.
LmiLogLevelSetIsEmpty Check whether a log level set is entirely empty.
LmiLogLevelSetRemoveAllLevels Remove all levels from an LmiLogLevelSet.
LmiLogLevelSetRemoveLevel Remove a log level from a log level set.

Type: LmiLogListener

Member Of:

Log

Description:

An object which receives and processes log messages.

Include:

Lmi/Os/LmiLog.h

Member Callbacks:

LmiLogListenerHandleRecordCallback A callback invoked for an LmiLogListener to handle a single LmiLogRecord.

Member Functions:

LmiLogListenerAddCategoriesForLevel Add some log categories for a given log level.
LmiLogListenerAddLevelsForCategory Add some log levels to a given log category.
LmiLogListenerAppendLevelsAndCategoriesToString Append a description of log listener's levels and categories to a string.
LmiLogListenerClearAllLevelsAndCategories Remove all levels and categories for a log listener.
LmiLogListenerClearCategoriesForLevel Remove some log categories for a given log level.
LmiLogListenerClearLevelsForCategory Remove some log levels from a given log category.
LmiLogListenerConstruct Construct an LmiLogListener.
LmiLogListenerDestruct Destruct an LmiLogListener.
LmiLogListenerGetCategories Obtain the set of log categories on which a log listener is receiving at least one level.
LmiLogListenerGetCategoriesForLevel Get the set of log categories for which a log listener is receiving log messages on a given log level.
LmiLogListenerGetLevels Obtain the set of log levels on which a log listener is receiving at least one category.
LmiLogListenerGetLevelsAndCategoriesAsCStr Get a C string describing a log listener's levels and categories.
LmiLogListenerGetLevelsForCategory Get the set of log levels on which a log listener is receiving log messages for a given log category.
LmiLogListenerGetUserData Get the user data pointer associated with a log listener.
LmiLogListenerHasLevelAndCategory Query whether a log listener is receiving log messages for a given log level and category.
LmiLogListenerIsVerbose Determine whether verbose logging is enabled on the log listener.
LmiLogListenerSetCategoriesForLevel Set which log categories should be received for a given log level on a log listener.
LmiLogListenerSetLevelAndCategory Set whether log messages should be received for the given log listener for the given level and category.
LmiLogListenerSetLevelsAndCategoriesFromString Set a log listener's levels and categories based on a string describing the levels and categories.
LmiLogListenerSetLevelsForCategory Set which log levels should be received for a given log category on a log listener.
LmiLogListenerSetVerbose Set the verbosity of the log messages reported by the log listener.
LmiLogListenerVerbose [REPLACED BY LmiLogListenerSetVerbose] Set the verbosity of the log messages reported by the log listener.

Type: LmiLogRecord

Member Of:

Log

Description:

A record of one logged event.

Include:

Lmi/Os/LmiLog.h

Member Variables:

level LmiLogLevel
category LmiLogCategory
file const char *
line LmiInt
function const char *
message const char *
threadName const char *
eventTime LmiTime

Member Functions:

LmiLogRecordGetCategory Get the category associated with a logged event.
LmiLogRecordGetFile Get the filename associated with a logged event.
LmiLogRecordGetFunction Get the name of the function associated with a logged event.
LmiLogRecordGetLevel Get the level associated with a logged event.
LmiLogRecordGetLine Get the line number associated with a logged event.
LmiLogRecordGetMessage Get the message associated with a logged event.
LmiLogRecordGetThreadId Get the thread id of the thread associated with a logged event.
LmiLogRecordGetThreadName Get the name of the thread associated with a logged event.
LmiLogRecordGetTime Get the wall-clock time at which a logged event occurred.

Type: LmiMallocAllocator

Member Of:

Os

Description:

An LmiAllocator object that allocates memory using the standard C malloc and free functions.

Include:

Lmi/Os/LmiMallocAllocator.h

Member Functions:

LmiMallocAllocatorConstruct Construct a new LmiMallocAllocator.
LmiMallocAllocatorDestruct Destruct an LmiMallocAllocator.
LmiMallocAllocatorGet [REPLACED BY LmiMallocAllocatorGetDefault] Get the single, global LmiMallocAllocator.
LmiMallocAllocatorGetDefault Get the single, global LmiMallocAllocator.
LmiMallocAllocatorInitialize Initialize LmiMallocAllocator, so LmiMallocAllocatorGet works.
LmiMallocAllocatorUninitialize Uninitialize LmiMallocAllocator.

Type: LmiPoolAllocator

Member Of:

Os

Description:

An allocator that allocates memory using pre-allocates memory pools.

Include:

Lmi/Os/LmiPoolAllocator.h

Member Functions:

LmiPoolAllocatorConstruct Construct an LmiPoolAllocator.
LmiPoolAllocatorDestruct Destruct an LmiPoolAllocator.
LmiPoolAllocatorInitialize Initialize LmiPoolAllocator.
LmiPoolAllocatorUninitialize Uninitialize LmiPoolAllocator.

Type: LmiProcessId

Member Of:

Os

Description:

An operating system process identifier.

Include:

Lmi/Os/LmiProcess.h

Member Functions:

LmiProcessIdAssign Assigns the content of one process ID to another process ID.
LmiProcessIdConstructCopy Construct a process ID from another process ID.
LmiProcessIdDestruct Destructs a process ID.
LmiProcessIdEqual Compares two process IDs for equality.
LmiProcessIdLess Compares two process IDs for less-than equality.
LmiProcessIdSwap Swaps two process ID objects.

Type: LmiProcessor

Member Of:

Processor

Description:

A representation of a system's processor.

Include:

Lmi/Os/LmiProcessor.h

Member Types:

LmiProcessorModel A CPU's model type.

Member Callbacks:

Member Functions:

LmiProcessorArmArchitectureGetName Get a textual description of an ARM architecture value.
LmiProcessorGetArch Get the architecture of an LmiProcessor.
LmiProcessorGetArmArchitecture Get an ARM CPU's architecture type.
LmiProcessorGetArmImplementer Get an ARM CPU's implementor ID.
LmiProcessorGetArmPart Get an ARM CPU's part ID.
LmiProcessorGetArmRevision Get an ARM CPU's revision ID.
LmiProcessorGetArmVariant Get an ARM CPU's variant ID.
LmiProcessorGetCurrent Get a description of the processor on which the system is running.
LmiProcessorGetModel Get the model of an LmiProcessor.
LmiProcessorGetNumLogicalCores Get a processor's number of logical CPU cores (including hyperthreading).
LmiProcessorGetNumPhysicalCores Get a processor's number of physical CPU cores (ignoring hyperthreading).
LmiProcessorGetSpeed Get a processor's frequency, in MHz.
LmiProcessorGetTimes Return a description of the current total processor time used by all cores of a processor.
LmiProcessorGetTimesPerCore Return a description of the current processor time used by each core of a processor.
LmiProcessorGetVendor Get the vendor (manufacturer) of the CPU of an LmiProcessor.
LmiProcessorGetX86FamilyId Get an x86 CPU's extended CPU family ID.
LmiProcessorGetX86ModelId Get an x86 CPU's extended CPU model ID.
LmiProcessorGetX86ProcessorBrandString Get an X86 CPU's processor brand string, e.g. "Intel(R) Core(TM)2 Duo CPU     T7500  @ 2.20GHz".
LmiProcessorGetX86SteppingId Get an x86 CPU's stepping ID.
LmiProcessorGetX86VendorId Get an X86 CPU's vendor ID string, e.g. "GenuineIntel" or "AuthenticAMD".
LmiProcessorHasAes Return whether a processor supports Intel AES-NI instructions.
LmiProcessorHasArmCrypt Return whether the processor supports ARM Cryptographic instructions.
LmiProcessorHasAvx Return whether a processor supports Intel AVX instructions.
LmiProcessorHasAvx2 Return whether a processor supports Intel AVX2 instructions.
LmiProcessorHasHyperthreading Return whether a processor supports Intel Hyperthreading.
LmiProcessorHasNeon Return whether the processor supports ARM NEON instructions.
LmiProcessorHasSse Return whether a processor supports Intel SSE instructions.
LmiProcessorHasSse2 Return whether a processor supports Intel SSE2 instructions.
LmiProcessorHasSse3 Return whether a processor supports Intel SSE3 instructions.
LmiProcessorHasSse4_1 Return whether a processor supports Intel SSE4.1 instructions.
LmiProcessorHasSse4_2 Return whether a processor supports Intel SSE4.2 instructions.
LmiProcessorHasSsse3 Return whether a processor supports Intel Supplemental SSE3 instructions.
LmiProcessorModelGetName Get a textual description of a processor model identifier.

Type: LmiProcessorArch

Member Of:

Processor

Description:

The architecture of a processor.

Include:

Lmi/Os/LmiProcessor.h

Values:

LMI_PROCESSORARCH_Unknown An unknown processor type.
LMI_PROCESSORARCH_X86 An x86 (ia32) CPU, running in 32-bit mode.
LMI_PROCESSORARCH_X86_64 [REPLACED BY LMI_PROCESSORARCH_X64] An x86-64 (X64, AMD64, Intel64) CPU, running in 64-bit mode.
LMI_PROCESSORARCH_X64 An x86-64 (X64, AMD64, Intel64) CPU, running in 64-bit mode.
LMI_PROCESSORARCH_PPC A PowerPC CPU.
LMI_PROCESSORARCH_ARM An ARM CPU, running in 32-bit mode.
LMI_PROCESSORARCH_ARM64 An ARM CPU, running in 64-bit mode (Aarch64, arm64).

Note 1:

These symbols are also available as preprocessor symbols with trailing underscores (LMI_PROCESSORARCH_X86_, etc.). The preprocessor symbol LMI_PROCESSORARCH_Current_ is defined to one of these values, based on the current build environment.

Type: LmiProcessorArmArch

Member Of:

Processor

Description:

An ARM processor's architecture type.

Include:

Lmi/Os/LmiProcessor.h

Values:

LMI_PROCESSORARMARCH_Unknown An unknown type of ARM processor.
LMI_PROCESSORARMARCH_ARMv3 An ARM v3 processor.
LMI_PROCESSORARMARCH_ARMv4 An ARM v4 processor.
LMI_PROCESSORARMARCH_ARMv4T An ARM v4T processor.
LMI_PROCESSORARMARCH_ARMv5 An ARM v5 processor.
LMI_PROCESSORARMARCH_ARMv5T An ARM v5T processor.
LMI_PROCESSORARMARCH_ARMv5TE An ARM v5TE processor.
LMI_PROCESSORARMARCH_ARMv5TEJ An ARM v5TEJ processor.
LMI_PROCESSORARMARCH_ARMv6 An ARM v6 processor.
LMI_PROCESSORARMARCH_ARMv7 An ARM v7 processor.
LMI_PROCESSORARMARCH_ARMv8 An ARM v8 processor.

Type: LmiProcessorModel

Member Of:

LmiProcessor

Description:

A CPU's model type.

Include:

Lmi/Os/LmiProcessor.h

Values:

LMI_PROCESSORMODEL_Unknown An unknown model of processor.
LMI_PROCESSORMODEL_Intel486DX An Intel 486DX processor.
LMI_PROCESSORMODEL_Intel486SX An Intel 486SX processor.
LMI_PROCESSORMODEL_IntelDX2 An Intel DX2 processor.
LMI_PROCESSORMODEL_Intel486SL An Intel 486SL processor.
LMI_PROCESSORMODEL_IntelSX2 An Intel SX2 processor.
LMI_PROCESSORMODEL_IntelDX4 An Intel DX4 processor.
LMI_PROCESSORMODEL_IntelPentium An Intel Pentium processor.
LMI_PROCESSORMODEL_IntelPentiumMMX An Intel Pentium MMX processor.
LMI_PROCESSORMODEL_IntelPentiumPro An Intel Pentium Pro processor.
LMI_PROCESSORMODEL_IntelPentiumII An Intel Pentium II processor.
LMI_PROCESSORMODEL_IntelCeleron An Intel Celeron processor.
LMI_PROCESSORMODEL_IntelEP80579 An Intel EP 80579 processor.
LMI_PROCESSORMODEL_IntelPentiumIII An Intel Pentium III processor.
LMI_PROCESSORMODEL_IntelPentiumM An Intel Pentium M processor.
LMI_PROCESSORMODEL_IntelCore An Intel Core processor.
LMI_PROCESSORMODEL_IntelCore2 An Intel Core 2 processor.
LMI_PROCESSORMODEL_IntelPentium4 An Intel Pentium 4 processor.
LMI_PROCESSORMODEL_IntelAtom An Intel Atom processor.
LMI_PROCESSORMODEL_IntelNehalem A "Nehalem" Intel Core i3, i5, i7, or Xeon processor.
LMI_PROCESSORMODEL_IntelWestmere A "Westmere" Intel Core i3, i5, i7, or Xeon processor.
LMI_PROCESSORMODEL_IntelSandyBridge A "Sandy Bridge" Intel Core i3, i5, i7, or Xeon processor (2nd generation).
LMI_PROCESSORMODEL_IntelIvyBridge An "Ivy Bridge" Intel Core i3, i5, i7, or Xeon processor (3rd generation).
LMI_PROCESSORMODEL_IntelHaswell A "Haswell" Intel Core i3, i5, i7, or Xeon processor (4th generation).
LMI_PROCESSORMODEL_IntelBroadwell A "Broadwell" Intel Core i3, i5, i7, or Xeon processor (5th generation).
LMI_PROCESSORMODEL_IntelSkylake A "Skylake" Intel Core i3, i5, i7, or Xeon processor (6th generation).
LMI_PROCESSORMODEL_IntelKabyLake A "Kaby Lake" Intel Core i3, i5, i7, or Xeon processor (7th generation).
LMI_PROCESSORMODEL_AMDK5 An AMD K5 architecture processor
LMI_PROCESSORMODEL_AMDK6 An AMD K6 architecture processor
LMI_PROCESSORMODEL_AMDK7 An AMD K7 architecture processor
LMI_PROCESSORMODEL_AMDK8 An AMD K8 architecture processor
LMI_PROCESSORMODEL_AMDK10 An AMD K10 architecture processor
LMI_PROCESSORMODEL_AMDFusion An AMD Fusion architecture processor
LMI_PROCESSORMODEL_AMDBulldozer An AMD Bulldozer architecture processor
LMI_PROCESSORMODEL_AMDPiledriver An AMD Piledriver architecture processor
LMI_PROCESSORMODEL_AMDSteamroller An AMD Steamroller architecture processor
LMI_PROCESSORMODEL_AMDExcavator An AMD Excavator architecture processor
LMI_PROCESSORMODEL_AMDBobcat An AMD Bobcat architecture processor
LMI_PROCESSORMODEL_AMDJaguar An AMD Jaguar architecture processor
LMI_PROCESSORMODEL_AMDPuma An AMD Puma architecture processor
LMI_PROCESSORMODEL_ARMCortexA5 An ARM Cortex-A5 processor.
LMI_PROCESSORMODEL_ARMCortexA7 An ARM Cortex-A7 processor.
LMI_PROCESSORMODEL_ARMCortexA8 An ARM Cortex-A8 processor.
LMI_PROCESSORMODEL_ARMCortexA9 An ARM Cortex-A9 processor.
LMI_PROCESSORMODEL_ARMCortexA15 An ARM Cortex-A15 processor.
LMI_PROCESSORMODEL_ARMCortexA17 An ARM Cortex-A17 processor.
LMI_PROCESSORMODEL_ARMCortexA53 An ARM Cortex-A53 processor.
LMI_PROCESSORMODEL_ARMCortexA57 An ARM Cortex-A57 processor.
LMI_PROCESSORMODEL_ARMCortexA72 An ARM Cortex-A72 processor.
LMI_PROCESSORMODEL_ARMCortexA73 An ARM Cortex-A73 processor.
LMI_PROCESSORMODEL_QualcommSnapdragonS1 A Qualcomm Snapdragon S1 (Scorpion) processor.
LMI_PROCESSORMODEL_QualcommSnapdragonS3 A Qualcomm Snapdragon S3 (Scorpion) processor.
LMI_PROCESSORMODEL_QualcommSnapdragonS4Plus A Qualcomm Snapdragon S4 Plus (Krait) processor.
LMI_PROCESSORMODEL_QualcommSnapdragonS4Pro A Qualcomm Snapdragon S4 Pro (Krait) processor.
LMI_PROCESSORMODEL_AppleA6 An Apple A6 (Swift) processor.
LMI_PROCESSORMODEL_AppleA7 An Apple A7 (Cyclone) processor.
LMI_PROCESSORMODEL_AppleA8 An Apple A8 (Typhoon) processor.
LMI_PROCESSORMODEL_AppleA9 An Apple A9 (Twister) processor.
LMI_PROCESSORMODEL_AppleA10 An Apple A10 (Hurricane) processor.

Type: LmiProcessorTimes

Member Of:

Processor

Description:

A representation of the time usage of a processor.

Include:

Lmi/Os/LmiProcessor.h

Member Functions:

LmiProcessorTimesAssign Assign the value of one LmiProcessorTimes object to another one.
LmiProcessorTimesCalcAvgUsage Calculate percentage CPU usage that has occurred between two LmiProcessorTimes instances.
LmiProcessorTimesConstructCopy Construct a new LmiProcessorTimes object as a copy of an existing one.
LmiProcessorTimesConstructDefault Construct a default instance of an LmiProcessorTimes object.
LmiProcessorTimesDestruct Destruct an LmiProcessorTimes object.
LmiProcessorTimesGetIdleTime Get the number of idle cycles represented in an LmiProcessorTimes object.
LmiProcessorTimesGetTotalTime Get the total number of cycles represented in an LmiProcessorTimes object.

Type: LmiProcessorVendor

Member Of:

Processor

Description:

The vendor (manufacturer) of a CPU.

Include:

Lmi/Os/LmiProcessor.h

Values:

LMI_PROCESSORVENDOR_Unknown An unknown processor vendor.
LMI_PROCESSORVENDOR_Intel Intel.
LMI_PROCESSORVENDOR_AMD AMD.
LMI_PROCESSORVENDOR_ARM ARM.
LMI_PROCESSORVENDOR_Qualcomm Qualcomm.
LMI_PROCESSORVENDOR_Apple Apple.

Type: LmiProperties

Member Of:

Os

Description:

Describes a set of properties and listeners for observing changes to those properties.

Include:

Lmi/Os/LmiProperties.h

Member Types:

LmiPropertyListener Describes a property listener. A property listener allows and application to be notified whenever a property is added, removed, or its value is changed. A listener can be configured to trigger before the add, remove, or value change takes place or after (see LmiPropertyListenerTrigger for details). A listener can be scoped to trigger on an individual property of the property set by specifying the property's name or on all properties of the property set by setting the name parameter to NULL.
LmiPropertyValue Describes a property value. A property value can be any of the various types described by LmiPropertyValueType.

Member Functions:

LmiPropertiesAddBoolValue Adds LmiBool property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddBoolValueCStr Adds LmiBool property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddFloat32Value Adds LmiFloat32 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddFloat32ValueCStr Adds LmiFloat32 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddFloat64Value Adds LmiFloat64 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddFloat64ValueCStr Adds LmiFloat64 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddInt16Value Adds LmiInt16 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddInt16ValueCStr Adds LmiInt16 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddInt64Value Adds LmiInt64 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddInt64ValueCStr Adds LmiInt64 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddIntValue Adds LmiInt property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddIntValueCStr Adds LmiInt property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddListener Adds a listener to the property set. Note: it's possible to register a property listener for a specific property even before before the property has been added.
LmiPropertiesAddPropertiesValue Adds LmiProperties property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddPropertiesValueCStr Adds LmiProperties property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddProperty Adds a property to the property set. Adding a property triggers matching property listeners.
LmiPropertiesAddPropertyCStr Adds a property to the property set. Adding a property triggers matching property listeners.
LmiPropertiesAddSharedVoidPtrValue Adds LmiSharedVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddSharedVoidPtrValueCStr Adds LmiSharedVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddSizeTValue Adds LmiSizeT property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddSizeTValueCStr Adds LmiSizeT property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddStringCStrValue Adds C string property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddStringCStrValueCStr Adds C string property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddStringValue Adds LmiString property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddStringValueCStr Adds LmiString property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddTimeValue Adds LmiTime property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddTimeValueCStr Adds LmiTime property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddUint16Value Adds LmiUint16 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddUint16ValueCStr Adds LmiUint16 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddUintValue Adds LmiUint property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddUintValueCStr Adds LmiUint property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddVectorValue Adds LmiVector(LmiPropertyValue) property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddVectorValueCStr Adds LmiVector(LmiPropertyValue) property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddVoidPtrValue Adds LmiVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddVoidPtrValueCStr Adds LmiVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddWeakVoidPtrValue Adds LmiWeakVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAddWeakVoidPtrValueCStr Adds LmiWeakVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.
LmiPropertiesAssign Assigns one property set to another property set.
LmiPropertiesConstructCopy Constructs a property set from another property set.
LmiPropertiesConstructDefault Constructs an empty property set.
LmiPropertiesDestruct Destructs a property set.
LmiPropertiesDumpToJSON Gets all names for the values in properties.
LmiPropertiesEqual Compares one property set to another property set for equality.
LmiPropertiesGetAllNames Gets all the names of the property values in the property set.
LmiPropertiesGetAllocator Gets the allocator of the property set.
LmiPropertiesGetBoolValue Gets a const pointer to an LmiBool of a property value.
LmiPropertiesGetBoolValueCStr Gets a const pointer to an LmiBool of a property value.
LmiPropertiesGetFloat32Value Gets a const pointer to an LmiFloat32 of a property value.
LmiPropertiesGetFloat32ValueCStr Gets a const pointer to an LmiFloat32 of a property value.
LmiPropertiesGetFloat64Value Gets a const pointer to an LmiFloat64 of a property value.
LmiPropertiesGetFloat64ValueCStr Gets a const pointer to an LmiFloat64 of a property value.
LmiPropertiesGetInt16Value Gets a const pointer to an LmiInt16 of a property value.
LmiPropertiesGetInt16ValueCStr Gets a const pointer to an LmiInt16 of a property value.
LmiPropertiesGetInt64Value Gets a const pointer to an LmiInt64 of a property value.
LmiPropertiesGetInt64ValueCStr Gets a const pointer to an LmiInt64 of a property value.
LmiPropertiesGetIntValue Gets a const pointer to an LmiInt of a property value.
LmiPropertiesGetIntValueCStr Gets a const pointer to an LmiInt of a property value.
LmiPropertiesGetPropertiesValue Gets a const pointer to an LmiProperties of a property value.
LmiPropertiesGetPropertiesValueCStr Gets a const pointer to an LmiProperties of a property value.
LmiPropertiesGetProperty Gets the property value of a property in the property set.
LmiPropertiesGetPropertyCStr Gets the property value of a property in the property set.
LmiPropertiesGetPropertyCStrConst Gets the property value of a property in the property set.
LmiPropertiesGetPropertyConst Gets the property value of a property in the property set.
LmiPropertiesGetSharedVoidPtrValue Gets a const pointer to an LmiSharedVoidPtr of a property value.
LmiPropertiesGetSharedVoidPtrValueCStr Gets a const pointer to an LmiSharedVoidPtr of a property value.
LmiPropertiesGetSizeTValue Gets a const pointer to an LmiSizeT of a property value.
LmiPropertiesGetSizeTValueCStr Gets a const pointer to an LmiSizeT of a property value.
LmiPropertiesGetStringValue Gets a const pointer to an LmiString of a property value.
LmiPropertiesGetStringValueCStr Gets a const pointer to an LmiString of a property value.
LmiPropertiesGetTimeValue Gets a const pointer to an LmiTime of a property value.
LmiPropertiesGetTimeValueCStr Gets a const pointer to an LmiTime of a property value.
LmiPropertiesGetTypeValue Gets the property value type of a property value.
LmiPropertiesGetTypeValueCStr Gets the property value type of a property value.
LmiPropertiesGetUint16Value Gets a const pointer to an LmiUint16 of a property value.
LmiPropertiesGetUint16ValueCStr Gets a const pointer to an LmiUint16 of a property value.
LmiPropertiesGetUintValue Gets a const pointer to an LmiUint of a property value.
LmiPropertiesGetUintValueCStr Gets a const pointer to an LmiUint of a property value.
LmiPropertiesGetVectorValue Gets a const pointer to an LmiVector(LmiPropertyValue) of a property value.
LmiPropertiesGetVectorValueCStr Gets a const pointer to an LmiVector(LmiPropertyValue) of a property value.
LmiPropertiesGetVoidPtrValue Gets a const pointer to an LmiVoidPtr of a property value.
LmiPropertiesGetVoidPtrValueCStr Gets a const pointer to an LmiVoidPtr of a property value.
LmiPropertiesGetWeakVoidPtrValue Gets a const pointer to an LmiWeakVoidPtr of a property value.
LmiPropertiesGetWeakVoidPtrValueCStr Gets a const pointer to an LmiWeakVoidPtr of a property value.
LmiPropertiesIsSettableValue Determines whether or not a property value in a path is settable.
LmiPropertiesIsSettableValueCStr Determines whether or not a property value in a path is settable.
LmiPropertiesLess Compares one property set to another property set for less-than equality.
LmiPropertiesMerge Merges two properties. Read only properties are not updated.
LmiPropertiesRemoveListener Removes a listener from the property set.
LmiPropertiesRemoveProperty Removes a property from the property set. Removing a property triggers matching property listeners registered for the property.
LmiPropertiesRemovePropertyCStr Removes a property to the property set. Removing a property triggers matching property listeners.
LmiPropertiesSetBoolValue Sets LmiBool property value to the specified path.
LmiPropertiesSetBoolValueCStr Sets LmiBool property value to the specified path.
LmiPropertiesSetFloat32Value Sets LmiFloat32 property value to the specified path.
LmiPropertiesSetFloat32ValueCStr Sets LmiFloat32 property value to the specified path.
LmiPropertiesSetFloat64Value Sets LmiFloat64 property value to the specified path.
LmiPropertiesSetFloat64ValueCStr Sets LmiFloat64 property value to the specified path.
LmiPropertiesSetInt16Value Sets LmiInt16 property value to the specified path.
LmiPropertiesSetInt16ValueCStr Sets LmiInt16 property value to the specified path.
LmiPropertiesSetInt64Value Sets LmiInt64 property value to the specified path.
LmiPropertiesSetInt64ValueCStr Sets LmiInt64 property value to the specified path.
LmiPropertiesSetIntValue Sets LmiInt property value to the specified path.
LmiPropertiesSetIntValueCStr Sets LmiInt property value to the specified path.
LmiPropertiesSetPropertiesValue Sets LmiProperties property value to the specified path.
LmiPropertiesSetPropertiesValueCStr Sets LmiProperties property value to the specified path.
LmiPropertiesSetProperty Sets the value of a property in the property set. If the property doesn't already exist, the property is added. Setting a property triggers matching top level property listeners.
LmiPropertiesSetPropertyCStr Sets the value of a property in the property set. If the property doesn't already exist, the property is added. Setting a property triggers top level property listeners registered for the property.
LmiPropertiesSetSharedVoidPtrValue Sets LmiSharedVoidPtr property value to the specified path.
LmiPropertiesSetSharedVoidPtrValueCStr Sets LmiSharedVoidPtr property value to the specified path.
LmiPropertiesSetSizeTValue Sets LmiSizeT property value to the specified path.
LmiPropertiesSetSizeTValueCStr Sets LmiSizeT property value to the specified path.
LmiPropertiesSetStringCStrValue Sets C string property value to the specified path.
LmiPropertiesSetStringCStrValueCStr Sets C string property value to the specified path.
LmiPropertiesSetStringValue Sets LmiString property value to the specified path.
LmiPropertiesSetStringValueCStr Sets LmiString property value to the specified path.
LmiPropertiesSetTimeValue Sets LmiTime property value to the specified path.
LmiPropertiesSetTimeValueCStr Sets LmiTime property value to the specified path.
LmiPropertiesSetUint16Value Sets LmiUint16 property value to the specified path.
LmiPropertiesSetUint16ValueCStr Sets LmiUint16 property value to the specified path.
LmiPropertiesSetUintValue Sets LmiUint property value to the specified path.
LmiPropertiesSetUintValueCStr Sets LmiUint property value to the specified path.
LmiPropertiesSetVectorValue Sets LmiVector(LmiPropertyValue) property value to the specified path.
LmiPropertiesSetVectorValueCStr Sets LmiVector(LmiPropertyValue) property value to the specified path.
LmiPropertiesSetVoidPtrValue Sets LmiVoidPtr property value to the specified path.
LmiPropertiesSetVoidPtrValueCStr Sets LmiVoidPtr property value to the specified path.
LmiPropertiesSetWeakVoidPtrValue Sets LmiWeakVoidPtr property value to the specified path.
LmiPropertiesSetWeakVoidPtrValueCStr Sets LmiWeakVoidPtr property value to the specified path.

Type: LmiPropertyListener

Member Of:

LmiProperties

Description:

Describes a property listener. A property listener allows and application to be notified whenever a property is added, removed, or its value is changed. A listener can be configured to trigger before the add, remove, or value change takes place or after (see LmiPropertyListenerTrigger for details). A listener can be scoped to trigger on an individual property of the property set by specifying the property's name or on all properties of the property set by setting the name parameter to NULL.

Include:

Lmi/Os/LmiProperties.h

Member Types:

LmiPropertyListenerTrigger Describes the trigger for a property listener to fire.

Member Callbacks:

LmiPropertyListenerCallback Describes a callback called by LmiPropertyListener to notify an application of a property change.

Member Functions:

LmiPropertyListenerAssign Assigns a property listener from another property listener.
LmiPropertyListenerConstruct Constructs a property listener.
LmiPropertyListenerConstructCStr Constructs a property listener.
LmiPropertyListenerConstructCopy Constructs a property listener from another property listener.
LmiPropertyListenerDestruct Destructs a property listener.
LmiPropertyListenerEqual Determines whether two property listeners are equal.
LmiPropertyListenerGetData Gets the user data pointer of the property listener.
LmiPropertyListenerGetName Gets the property name the listener is set on.
LmiPropertyListenerGetTrigger Gets the trigger of a property listener.

Type: LmiPropertyListenerTrigger

Member Of:

LmiPropertyListener

Description:

Describes the trigger for a property listener to fire.

Include:

Lmi/Os/LmiProperties.h

Values:

LMI_PROPERTYLISTENER_TRIGGER_Before Specifies that the listener should be called prior to the property value changing.
LMI_PROPERTYLISTENER_TRIGGER_After Specifies that the listener should be called after the property value is changed.

Type: LmiPropertyValue

Member Of:

LmiProperties

Description:

Describes a property value. A property value can be any of the various types described by LmiPropertyValueType.

Include:

Lmi/Os/LmiProperties.h

Member Types:

LmiPropertyValueType Describes the type of value stored in an LmiPropertyValue.

Member Functions:

LmiPropertyValueAssign Assigns one property value to another.
LmiPropertyValueConstructBool Constructs an LmiBool property value.
LmiPropertyValueConstructCopy Constructs a property value from another property value.
LmiPropertyValueConstructFloat32 Constructs an LmiFloat32 property value.
LmiPropertyValueConstructFloat64 Constructs an LmiFloat64 property value.
LmiPropertyValueConstructInt Constructs an LmiInt property value.
LmiPropertyValueConstructInt16 Constructs an LmiInt16 property value.
LmiPropertyValueConstructInt64 Constructs an LmiInt64 property value.
LmiPropertyValueConstructProperties Constructs an LmiProperties property value.
LmiPropertyValueConstructSharedVoidPtr Constructs an LmiSharedVoidPtr property value.
LmiPropertyValueConstructSizeT Constructs an LmiSizeT property value.
LmiPropertyValueConstructString Constructs an LmiString property value.
LmiPropertyValueConstructStringCStr Constructs an LmiString property value from a C string.
LmiPropertyValueConstructTime Constructs an LmiTime property value.
LmiPropertyValueConstructUint Constructs an LmiUint property value.
LmiPropertyValueConstructUint16 Constructs an LmiUint16 property value.
LmiPropertyValueConstructVector Constructs an LmiVector(LmiPropertyValue) property value.
LmiPropertyValueConstructVoidPtr Constructs an LmiVoidPtr property value.
LmiPropertyValueConstructWeakVoidPtr Constructs an LmiSharedVoidPtr property value.
LmiPropertyValueDestruct Destructs a property value.
LmiPropertyValueEqual Determines whether two property values are equal.
LmiPropertyValueGetBool Gets a const pointer to an LmiBool of a property value.
LmiPropertyValueGetFloat32 Gets a const pointer to an LmiFloat32 of a property value.
LmiPropertyValueGetFloat64 Gets a const pointer to an LmiFloat64 of a property value.
LmiPropertyValueGetInt Gets a const pointer to an LmiInt of a property value.
LmiPropertyValueGetInt16 Gets a const pointer to an LmiInt16 of a property value.
LmiPropertyValueGetInt64 Gets a const pointer to an LmiInt64 of a property value.
LmiPropertyValueGetProperties Gets a const pointer to an LmiProperties of a property value.
LmiPropertyValueGetSharedVoidPtr Gets a const pointer to an LmiSharedVoidPtr of a property value.
LmiPropertyValueGetSizeT Gets a const pointer to an LmiSizeT of a property value.
LmiPropertyValueGetString Gets a const pointer to an LmiString of a property value.
LmiPropertyValueGetTime Gets a const pointer to an LmiTime of a property value.
LmiPropertyValueGetType Gets the property value type of a property value.
LmiPropertyValueGetUint Gets a const pointer to an LmiUint of a property value.
LmiPropertyValueGetUint16 Gets a const pointer to an LmiUint16 of a property value.
LmiPropertyValueGetVector Gets a LmiVector(LmiPropertyValue) pointer to an LmiVector(LmiPropertyValue) of a property value.
LmiPropertyValueGetVoidPtr Gets a const pointer to an LmiVoidPtr of a property value.
LmiPropertyValueGetWeakVoidPtr Gets a const pointer to an LmiWeakVoidPtr of a property value.
LmiPropertyValueIsSettable Determines whether or not a property value is settable.
LmiPropertyValueToBool Converts a property value to an LmiBool.
LmiPropertyValueToFloat32 Converts a property value to an LmiFloat32.
LmiPropertyValueToFloat64 Converts a property value to an LmiFloat64.
LmiPropertyValueToInt Converts a property value to an LmiInt.
LmiPropertyValueToInt16 Converts a property value to an LmiInt16.
LmiPropertyValueToInt64 Converts a property value to an LmiInt64.
LmiPropertyValueToProperties Converts a property value to an LmiProperties.
LmiPropertyValueToSharedVoidPtr Converts a property value to a void pointer.
LmiPropertyValueToSizeT Converts a property value to an LmiSizeT.
LmiPropertyValueToString Converts a property value to an LmiString.
LmiPropertyValueToTime Converts a property value to an LmiTime.
LmiPropertyValueToUint Converts a property value to an LmiUint.
LmiPropertyValueToUint16 Converts a property value to an LmiUint16.
LmiPropertyValueToVector Converts a property value to an LmiVector(LmiPropertyValue).
LmiPropertyValueToVoidPtr Converts a property value to a void pointer.
LmiPropertyValueToWeakVoidPtr Converts a property value to a void pointer.

Type: LmiPropertyValueType

Member Of:

LmiPropertyValue

Description:

Describes the type of value stored in an LmiPropertyValue.

Include:

Lmi/Os/LmiProperties.h

Values:

LMI_PROPERTYVALUE_TYPE_Bool An LmiBool.
LMI_PROPERTYVALUE_TYPE_Int An LmiInt.
LMI_PROPERTYVALUE_TYPE_Int16 An LmiInt16.
LMI_PROPERTYVALUE_TYPE_Int64 An LmiInt64.
LMI_PROPERTYVALUE_TYPE_Uint An LmiUint.
LMI_PROPERTYVALUE_TYPE_Uint16 An LmiUint16.
LMI_PROPERTYVALUE_TYPE_SizeT An LmiSizeT.
LMI_PROPERTYVALUE_TYPE_Float32 An LmiFloat32.
LMI_PROPERTYVALUE_TYPE_Float64 An LmiFloat64.
LMI_PROPERTYVALUE_TYPE_Time An LmiTime.
LMI_PROPERTYVALUE_TYPE_VoidPtr An LmiVoidPtr.
LMI_PROPERTYVALUE_TYPE_String An LmiString.
LMI_PROPERTYVALUE_TYPE_Properties An LmiProperty.
LMI_PROPERTYVALUE_TYPE_Vector An LmiVector(LmiPropertyValue).
LMI_PROPERTYVALUE_TYPE_WeakVoidPtr An LmiWeakVoidPtr.
LMI_PROPERTYVALUE_TYPE_SharedVoidPtr An LmiSharedVoidPtr.

Type: LmiReferenceCountedObject

Member Of:

Os

Description:

Simple class for managing reference counts for another object. The object is constructed with a reference count of 1. LmiReferenceCountedObjectAddReference increments the reference count by 1 and LmiReferenceCountedObjectRemoveReference decrements it by 1. When the count becomes 0, the LmiReferenceCountedObjectDeleteCallback is invoked.

Include:

Lmi/Os/LmiReferenceCountedObject.h

Member Callbacks:

LmiReferenceCountedObjectDeleteCallback A callback invoked when all references to the object have been removed.

Member Functions:

LmiReferenceCountedObjectAddReference Increments an object's reference count.
LmiReferenceCountedObjectConstruct Constructs an LmiReferenceCountedObject.
LmiReferenceCountedObjectDestruct Destructs an LmiReferenceCountedObject.
LmiReferenceCountedObjectRemoveReference Decrements an object's reference count. When the count becomes 0, the LmiReferenceCountedObjectDeleteCallback is invoked.
LmiReferenceCountedObjectUnique Get the whether a reference counted object is unique, i.e. its reference count is 1.

Type: LmiSharedPtr (T)

Member Of:

Os

Description:

Shared (reference-counted) pointer class.

Include:

Lmi/Os/LmiSharedPtr.h

Template Parameters:

T The type pointed-to by the shared pointer.

Member Callbacks:

LmiSharedPtrDeleterCallback Callback invoked to perform custom deletion of a shared pointer.

Member Functions:

LmiSharedPtrAssign Assign the value of one shared pointer to another existing one.
LmiSharedPtrAssignFromOtherSharedPtr Assign the value of shared pointer to a shared pointer of a different type, sharing the same underlying pointer.
LmiSharedPtrAssignFromSharedVoidPtr Assign the value of shared void pointer to a shared pointer, sharing the same underlying pointer.
LmiSharedPtrConstruct Construct a shared pointer corresponding to a specified pointer.
LmiSharedPtrConstructCopy Construct a shared pointer as a copy of an existing one, sharing the same underlying pointer.
LmiSharedPtrConstructDefault Construct an empty shared pointer, pointing to NULL and with a use-count of 0.
LmiSharedPtrConstructFromOtherSharedPtr Construct a shared pointer from a shared pointer of a different type, sharing the same underlying pointer.
LmiSharedPtrConstructFromOtherWeakPtr Construct a shared pointer based on a weak pointer of a different type, sharing the same underlying pointer, if the weak pointer is not expired.
LmiSharedPtrConstructFromSharedVoidPtr Construct a shared pointer from a shared void pointer, sharing the same underlying pointer.
LmiSharedPtrConstructFromWeakPtr Construct a shared pointer based on a weak pointer, sharing the same underlying pointer, if the weak pointer is not expired.
LmiSharedPtrConstructFromWeakVoidPtr Construct a shared pointer based on a weak void pointer, sharing the same underlying pointer, if the weak pointer is not expired.
LmiSharedPtrConstructWithDeleter Construct a shared pointer corresponding to a specified pointer with a custom deleter.
LmiSharedPtrDestruct Destruct a shared pointer. If this brings the shared pointer's use count to 0, delete the underlying pointer.
LmiSharedPtrEqual Compare the values of two shared pointers for equality.
LmiSharedPtrGet Get the pointer pointed-to by a shared pointer.
LmiSharedPtrGetAllocator Get the allocator used by a shared pointer.
LmiSharedPtrGetDeleter Get the deleter associated with a shared pointer.
LmiSharedPtrLess Compare the values of two shared pointers for ordering.
LmiSharedPtrMakeUnique Cause a shared pointer to become unique, by duplicating the underlying object it points to.
LmiSharedPtrReset Reset the value of a shared pointer, pointing to NULL and with a use-count of 0.
LmiSharedPtrSwap Swap the values of two shared pointers.
LmiSharedPtrUnique Get the whether a shared pointer is unique, i.e. its use count is 1.
LmiSharedPtrUseCount Get the current use-count of a shared pointer.

Note 1:

This object is modeled on the C++ TR1 std::tr1::shared_ptr<T> template class.

Note 2:

An expansion of the macro Declare_LmiSharedPtr(T) must be in scope before declaring an object of this type, and an expansion of the macro Define_LmiSharedPtr(T) must be present in exactly one object file at link time.

Type: LmiSharedVoidPtr

Member Of:

Os

Description:

Shared (reference-counted) pointer class to void.

Include:

Lmi/Os/LmiSharedPtr.h

Member Functions:

LmiSharedVoidPtrAssign Assign the value of one shared void pointer to another existing one.
LmiSharedVoidPtrAssignFromSharedPtr Assign the value of shared pointer to a shared void pointer, sharing the same underlying pointer.
LmiSharedVoidPtrConstructCopy Construct a shared void pointer as a copy of an existing one, sharing the same underlying pointer.
LmiSharedVoidPtrConstructDefault Construct an empty shared void pointer, pointing to NULL and with a use-count of 0.
LmiSharedVoidPtrConstructFromSharedPtr Construct a shared void pointer from a shared pointer, sharing the same underlying pointer.
LmiSharedVoidPtrConstructFromWeakPtr Construct a shared void pointer based on a weak pointer, sharing the same underlying pointer, if the weak pointer is not expired.
LmiSharedVoidPtrConstructFromWeakVoidPtr Construct a shared void pointer based on a weak void pointer, sharing the same underlying pointer, if the weak void pointer is not expired.
LmiSharedVoidPtrConstructWithDeleter Construct a shared void pointer corresponding to a specified pointer with a custom deleter.
LmiSharedVoidPtrDestruct Destruct a shared void pointer. If this brings the shared void pointer's use count to 0, delete the underlying pointer.
LmiSharedVoidPtrEqual Compare the values of two shared void pointers for equality.
LmiSharedVoidPtrGet Get the pointer pointed-to by a shared void pointer.
LmiSharedVoidPtrGetAllocator Get the allocator used by a shared void pointer.
LmiSharedVoidPtrGetDeleter Get the deleter associated with a shared void pointer.
LmiSharedVoidPtrLess Compare the values of two shared void pointers for ordering.
LmiSharedVoidPtrReset Reset the value of a shared void pointer, pointing to NULL and with a use-count of 0.
LmiSharedVoidPtrSwap Swap the values of two shared void pointers.
LmiSharedVoidPtrUnique Get the whether a shared void pointer is unique, i.e. its use count is 1.
LmiSharedVoidPtrUseCount Get the current use-count of a shared void pointer.

Note 1:

This object is modeled on the C++ TR1 std::tr1::shared_ptr<void> template class.

Type: LmiThread

Member Of:

Os

Description:

A thread object.

Include:

Lmi/Os/LmiThread.h

Member Types:

LmiThreadId A unique identifier of a thread.
LmiThreadPriority A signed integer type containing a system dependent thread priority.

Member Callbacks:

LmiThreadExitCallback A callback that is called when an LmiThread exits.
LmiThreadFunc A function of this type may be used as the main function associated with an LmiThread object.

Member Functions:

LmiThreadAddGlobalExitCallback Add a global exit callback to be called whenever any LmiThread exits.
LmiThreadConstruct

Construct a thread object.

LmiThreadDestruct

Destruct a thread object.

LmiThreadGetName

Get the name of a thread object.

LmiThreadGetPriorityMax

Get the maximum thread priority value supported by the platform's scheduler.

The maximum thread priority value may be numerically lower in value then the minimum thread priority value on systems where higher priority values are represented by lower numeric values.

LmiThreadGetPriorityMedium

Get an appropriate medium-priority value for the platform's scheduler.

The medium thread priority will be a value roughly intermediate in value between the maximum and minimum thread priorities, as returned by LmiThreadGetPriorityMax and LmiThreadGetPriorityMin, respectively.

LmiThreadGetPriorityMin

Get the minimum thread priority value supported by the platform's scheduler.

The minimum thread priority value may be numerically higher in value then the maximum thread priority value on systems where higher priority values are represented by lower numeric values.

LmiThreadJoin

Wait for a thread object to stop.

LmiThreadRemoveGlobalExitCallback Remove a global exit callback from the list of callbacks to be called whenever any LmiThread exits.
LmiThreadSelf

Get a pointer to the LmiThread object of the current thread.

LmiThreadSleep

Put the current thread to sleep for a specified number of nanoseconds.

LmiThreadSleepUntil

Put the current thread to sleep until a specified monotonic time.

LmiThreadStart

Start a thread object.

Type: LmiThreadId

Member Of:

LmiThread

Description:

A unique identifier of a thread.

Include:

Lmi/Os/LmiThread.h

Member Functions:

LmiThreadIdEqual Compare two LmiThreadIds for equality.
LmiThreadIdGetCurrent Get an LmiThreadId identifying the current thread.
LmiThreadIdIsCurrent Determine whether an LmiThreadId identifies the current thread.

Type: LmiThreadPool

Member Of:

Os

Description:

Thread Pool

Include:

Lmi/Os/LmiThreadPool.h

Member Callbacks:

LmiThreadPoolUserFunction A function to be executed by a thread pool.

Member Functions:

LmiThreadPoolExecute Queue a function for execution by the thread pool. Note that this function may block depending on the number of tasks queued for execution and the queue size specified in the constructor
LmiThreadPoolGetNumThreads Get the number of threads a thread pool is using.
LmiThreadPoolTryExecute Try to queue a function for execution by the thread pool, but fail if the thread pool's task queue is full.

Type: LmiThreadPriority

Member Of:

LmiThread

Description:

A signed integer type containing a system dependent thread priority.

Include:

Lmi/Os/LmiThread.h

Type: LmiTime

Member Of:

Os

Description:

A representation of time, counted as a nanoseconds.

Include:

Lmi/Os/LmiTime.h

Constants:

LMI_TIME_INFINITE SYMBOLIC LmiTime A time value representing a time greater than any other time. This value can be used to represent infinite waiting times.
LMI_NSECS_PER_SEC SYMBOLIC LmiTime The number of nanoseconds in a second, i.e. one billion, as a manifest constant.
LMI_NSECS_PER_MSEC SYMBOLIC LmiTime The number of nanoseconds in a millisecond, i.e. one million, as a manifest constant.
LMI_NSECS_PER_USEC SYMBOLIC LmiTime The number of nanoseconds in a microsecond, i.e. one thousand, as a manifest constant.
LMI_NSECS_PER_MIN SYMBOLIC LmiTime The number of nanoseconds in a minute, i.e. 60 * LMI_NSECS_PER_SEC, as a manifest constant. Note that this disregards leap seconds.
LMI_NSECS_PER_HOUR SYMBOLIC LmiTime The number of nanoseconds in an hour, i.e. 60 * LMI_NSECS_PER_MIN, as a manifest constant.
LMI_NSECS_PER_DAY SYMBOLIC LmiTime The number of nanoseconds in a day, i.e. 24 * LMI_NSECS_PER_HOUR, as a manifest constant. Note that this disregards daylight-savings time changes.
LMI_NSECS_PER_WEEK SYMBOLIC LmiTime The number of nanoseconds in a week, i.e. 7 * LMI_NSECS_PER_DAY, as a manifest constant.
LMI_USECS_PER_SEC SYMBOLIC LmiTime The number of microseconds in a second, i.e. one million, as a manifest constant.
LMI_USECS_PER_MSEC SYMBOLIC LmiTime The number of microseconds in a millisecond, i.e. one thousand, as a manifest constant.
LMI_MSECS_PER_SEC SYMBOLIC LmiTime The number of milliseconds in a second, i.e. one thousand, as a manifest constant.

Member Types:

LmiGregorianTime A time value in the Gregorian calendar, with split out date fields.

Member Functions:

LmiTimeAssign Assign the value of one LmiTime object to another one.
LmiTimeConstruct Construct a default instance of an LmiTime object.
LmiTimeConstructCopy Construct a new LmiTime object as a copy of an existing one.
LmiTimeConstructFromNtp Construct an LmiTime object with a wall-clock time corresponding to a given NTP time.
LmiTimeDestruct Destruct an LmiTime object.
LmiTimeEqual Compare the values of two LmiTime objects for equality.
LmiTimeGetCurrentMonotonicTime Get an LmiTime value corresponding to the current system monotonic time.
LmiTimeGetCurrentWallTime Get an LmiTime value corresponding to the current wall-clock time.
LmiTimeGetElapsed [REPLACED BY LmiTimeGetElapsedRelativeTo] Get the time interval elapsed since the specified time.
LmiTimeGetElapsedMsec [REPLACED BY LmiTimeGetElapsedMsecRelativeTo] Get the number of milliseconds elapsed since the specified time.
LmiTimeGetElapsedMsecRelativeTo Get the number of milliseconds elapsed since the specified time, passing the current time explicitly.
LmiTimeGetElapsedRelativeTo Get the time interval elapsed since the specified time.
LmiTimeLess Compare the values of two LmiTime objects for ordering.
LmiTimeMsecs Given a number of milliseconds, return the corresponding LmiTime interval value.
LmiTimePrintCompact Print a time value as a short, easily readable string. The time will be printed with low precision, using units appropriate for its magnitude.
LmiTimeSecs Given a number of seconds, return the corresponding LmiTime interval value.
LmiTimeSwap Swap the contents of two LmiTime objects.
LmiTimeUsecs Given a number of microseconds, return the corresponding LmiTime interval value.

Note 1:

There are three types of time values defined for LmiTime:

Wall clock
A representation of the system's best approximation to the current time of day. These values may change unexpectedly as the system clock is adjusted.
Monotonic
A monotonic clock whose values consistently (to the best of the system's ability) measure time regardless of adjustments to the system's clock.
Interval
A period of time, representing the difference between two monotonic or wall-clock times.

For both the wall-clock and monotonic times, the time base (the moment represented by LmiTime 0) is implementation-defined and any particular value should not be assumed in user code. The time base for monotonic time and wall-clock time may be (and will usually be) different.

LmiTime is a signed arithmetic type with at least 64 bits; it is safe to do general arithmetic on it.

Type: LmiTimeRange

Member Of:

Os

Description:

A time range class used to represent a range of time intervals.

Include:

Lmi/Os/LmiTime.h

Member Variables:

begin LmiTime The first time interval of the range.
end LmiTime The last time interval of the range.

Member Functions:

LmiTimeRangeAssign Assigns an LmiTimeRange object from another object.
LmiTimeRangeBegin Gets the first value of the time range.
LmiTimeRangeConstruct Constructs an LmiTimeRange object.
LmiTimeRangeConstructCopy Constructs an LmiTimeRange object as a copy of another object.
LmiTimeRangeDestruct Destructs an LmiTimeRange object.
LmiTimeRangeEnd Gets the last value of the time range.
LmiTimeRangeEqual Determines the equality of two LmiTimeRange objects.
LmiTimeRangeIntersection Computes the intersection of two LmiTimeRange objects.
LmiTimeRangeIntersects Determines whether an LmiTimeRange object intersects another LmiTimeRange object.
LmiTimeRangeIsValid Determines whether an LmiTimeRange object is valid.
LmiTimeRangeLess Determines whether an LmiTimeRange object is less than another LmiTimeRange object.
LmiTimeRangeSubsumes Determines whether an time range x subsumes (contains) time range y .
LmiTimeRangeSwap Swaps an LmiTimeRange object with another LmiTimeRange object.
LmiTimeRangeUnion Computes the union of two LmiTimeRange objects.

Type: LmiTimerLoop

Member Of:

Os

Description:

This object creates a thread that executes an LmiTimerManager as needed.

Include:

Lmi/Os/LmiTimerLoop.h

Member Functions:

LmiTimerLoopConstruct Construct an LmiTimerLoop object.
LmiTimerLoopDestruct Destruct an LmiTimerLoop object.
LmiTimerLoopGetSleepCount Get the number of times the timer loop has slept, since it was started.
LmiTimerLoopGetTimerManager Get the timer manager created by the LmiTimerLoop object.
LmiTimerLoopStop Stop an LmiTimerLoop object. This causes all the LmiTimerLoop threads to exit.

Type: LmiTimerManager

Member Of:

Os

Description:

A timer scheduler.

Include:

Lmi/Os/LmiTimer.h

Member Types:

Member Callbacks:

LmiTimerManagerNotifyFirstExpiryCallback This callback is invoked whenever a new timer started will also be the first to expire.

Member Functions:

LmiTimerManagerConstruct Constructs a timer manager.
LmiTimerManagerDestruct Destructs a timer manager.
LmiTimerManagerExecute Determines all timers (allocated to a specific timer manager thread) whose expiry time has passed since the last invocation of this function and triggers the expiry callbacks on each. This function is typically called cyclically by the application.
LmiTimerManagerGetAllocator Returns the allocator with which a timer manager was constructed.
LmiTimerManagerRegisterFirstExpiryCallback Registers a callback that notifies the application of the absolute monotonic time when the next timer will expire for a given timer manager thread. This mechanism is used to notify the application when a new timer has been added which is to expire before the absolute monotonic time returned by the most recent call to LmiTimerManagerExecute.

Type: LmiViewId

Member Of:

Os

Description:

Operating system specific window view identifier.

Include:

Lmi/Os/LmiWindowId.h

Type: LmiWatchdog

Member Of:

Os

Description:

A watchdog timer class used to monitor the persistence of an activity.

Include:

Lmi/Os/LmiWatchdog.h

Member Callbacks:

LmiWatchdogExpiryCallback This is the callback function invoked on watchdog expiry.

Member Functions:

LmiWatchdogConstruct Construct an LmiWatchdog object.
LmiWatchdogDestruct Destruct an LmiWatchdog object.
LmiWatchdogDisable Disable LmiWatchdog timer.
LmiWatchdogEnable Enable LmiWatchdog timer.
LmiWatchdogGetDuration Get the duration of LmiWatchdog.
LmiWatchdogGetUserData Get the user data of LmiWatchdog.
LmiWatchdogIsActive Check whether LmiWatchdog is running or not.
LmiWatchdogIsEnabled Check whether LmiWatchdog is enabled or not.
LmiWatchdogReset Reset an LmiWatchdog timer.
LmiWatchdogResetEx Reset an LmiWatchdog timer with modified watchdog parameters.
LmiWatchdogStart Starts a watchdog.
LmiWatchdogStartWithTime Starts a watchdog with a specific duration.
LmiWatchdogStop Stop an LmiWatchdog timer.

Type: LmiWeakPtr (T)

Member Of:

Os

Description:

Weak reference to shared (reference-counted) pointer class.

Include:

Lmi/Os/LmiSharedPtr.h

Template Parameters:

T The type pointed-to by the shared pointer.

Member Functions:

LmiWeakPtrAssign Assign the value of one weak pointer to another existing one.
LmiWeakPtrAssignFromOtherSharedPtr Assign to a weak pointer from a shared pointer of a different type, sharing the same underlying pointer.
LmiWeakPtrAssignFromOtherWeakPtr Assign the value of a weak pointer to a weak pointer of a different type.
LmiWeakPtrAssignFromSharedPtr Assign to a weak pointer from a shared pointer, sharing the same underlying pointer.
LmiWeakPtrAssignFromSharedVoidPtr Assign to a weak pointer from a shared void pointer, sharing the same underlying pointer.
LmiWeakPtrAssignFromWeakVoidPtr Assign the value of a weak void pointer to a weak pointer.
LmiWeakPtrConstructCopy Construct a weak pointer as a copy of an existing one, sharing the same underlying pointer.
LmiWeakPtrConstructDefault Construct an empty weak pointer, pointing to NULL and with a use-count of 0.
LmiWeakPtrConstructFromOtherSharedPtr Construct a weak pointer based on a shared pointer of a different type, sharing the same underlying pointer.
LmiWeakPtrConstructFromOtherWeakPtr Construct a weak pointer from a weak pointer of a different type, sharing the same underlying pointer.
LmiWeakPtrConstructFromSharedPtr Construct a weak pointer based on a shared pointer, sharing the same underlying pointer.
LmiWeakPtrConstructFromSharedVoidPtr Construct a weak pointer based on a shared void pointer, sharing the same underlying pointer.
LmiWeakPtrConstructFromWeakVoidPtr Construct a weak pointer from a weak void pointer, sharing the same underlying pointer.
LmiWeakPtrDestruct Destruct a weak pointer.
LmiWeakPtrEqual Compare the values of two weak pointers for equality.
LmiWeakPtrExpired Get the whether a weak pointer is expired, i.e. its use count is 0.
LmiWeakPtrGetAllocator Get the allocator used by a weak pointer.
LmiWeakPtrLess Compare the values of two weak pointers for ordering.
LmiWeakPtrReset Reset the value of a weak pointer, pointing to NULL and with a use-count of 0.
LmiWeakPtrSwap Swap the values of two weak pointers.
LmiWeakPtrUseCount Get the current use-count of a weak pointer.
LmiWeakVoidPtrAssignFromWeakPtr Assign the value of a weak pointer to a weak void pointer.

Note 1:

This object is modeled on the C++ TR1 std::tr1::weak_ptr<T> template class.

Note 2:

An expansion of the macro Declare_LmiSharedPtr(T) must be in scope before declaring an object of this type, and an expansion of the macro Define_LmiSharedPtr(T) must be present in exactly one object file at link time.

Type: LmiWeakVoidPtr

Member Of:

Os

Description:

Weak reference to shared (reference-counted) pointer class to void.

Include:

Lmi/Os/LmiSharedPtr.h

Member Functions:

LmiWeakVoidPtrAssign Assign the value of one weak void pointer to another existing one.
LmiWeakVoidPtrAssignFromSharedPtr Assign to a weak void pointer from a shared pointer, sharing the same underlying pointer.
LmiWeakVoidPtrAssignFromSharedVoidPtr Construct a weak void pointer based on a shared void pointer, sharing the same underlying pointer.
LmiWeakVoidPtrConstructCopy Construct a weak void pointer as a copy of an existing one, sharing the same underlying pointer.
LmiWeakVoidPtrConstructDefault Construct an empty weak void pointer, pointing to NULL and with a use-count of 0.
LmiWeakVoidPtrConstructFromSharedPtr Construct a weak void pointer based on a shared pointer, sharing the same underlying pointer.
LmiWeakVoidPtrConstructFromSharedVoidPtr Construct a weak void pointer based on a shared void pointer, sharing the same underlying pointer.
LmiWeakVoidPtrConstructFromWeakPtr Construct a weak void pointer from a weak pointer, sharing the same underlying pointer.
LmiWeakVoidPtrDestruct Destruct a weak void pointer.
LmiWeakVoidPtrEqual Compare the values of two weak void pointers for equality.
LmiWeakVoidPtrExpired Get the whether a weak void pointer is expired, i.e. its use count is 0.
LmiWeakVoidPtrGetAllocator Get the allocator used by a weak void pointer.
LmiWeakVoidPtrLess Compare the values of two weak void pointers for ordering.
LmiWeakVoidPtrReset Reset the value of a weak void pointer, pointing to NULL and with a use-count of 0.
LmiWeakVoidPtrSwap Swap the values of two weak void pointers.
LmiWeakVoidPtrUseCount Get the current use-count of a weak void pointer.

Note 1:

This object is modeled on the C++ TR1 std::tr1::weak_ptr<void> template class.

Type: LmiWindowId

Member Of:

Os

Description:

Operating system specific window identifier.

Include:

Lmi/Os/LmiWindowId.h

Callback: LmiLogListenerHandleRecordCallback

Member Of:

LmiLogListener

Description:

A callback invoked for an LmiLogListener to handle a single LmiLogRecord.

Include:

Lmi/Os/LmiLog.h

Syntax:

void (*LmiLogListenerHandleRecordCallback)(LmiLogListener* l, const LmiLogRecord* r)

Parameters:

l The log listener handling the record.
r The record being processed.

Callback: LmiMemoryExhausted

Member Of:

Memory

Description:

A callback invoked when "out of memory" condition is encountered.

Include:

Lmi/Os/LmiMemory.h

Syntax:

LmiBool (*LmiMemoryExhausted)(LmiSizeT bytes)

Parameters:

bytes Number of bytes requested to be allocated.

Returns:

LMI_TRUE or LMI_FALSE depending on whether the function succeeded or not.

Callback: LmiPropertyListenerCallback

Member Of:

LmiPropertyListener

Description:

Describes a callback called by LmiPropertyListener to notify an application of a property change.

Include:

Lmi/Os/LmiProperties.h

Syntax:

void (*LmiPropertyListenerCallback)(const LmiPropertyListener* x, LmiProperties* properties, const LmiString* name, const LmiPropertyValue* oldValue, const LmiPropertyValue* newValue)

Parameters:

x The property listener.
properties The property set containing the property that triggered the listener.
name The name of the property that triggered the listener.
oldValue The old property value. On LMI_PROPERTYLISTENER_TRIGGER_Before calls, this is the current value of the property, unless the property was added, in which case this parameter is NULL. On LMI_PROPERTYLISTENER_TRIGGER_After calls, this is the current value of the property, or NULL if the property was added or removed.
newValue The new property value. On LMI_PROPERTYLISTENER_TRIGGER_Before calls, this is the value the property will have subsequently, or NULL, if the property is being removed. On LMI_PROPERTYLISTENER_TRIGGER_After calls, this is the current value of the property, or NULL if the property was removed.

Callback: LmiReferenceCountedObjectDeleteCallback

Member Of:

LmiReferenceCountedObject

Description:

A callback invoked when all references to the object have been removed.

Include:

Lmi/Os/LmiReferenceCountedObject.h

Syntax:

void (*LmiReferenceCountedObjectDeleteCallback)(LmiReferenceCountedObject *obj)

Parameters:

obj The object being deleted.

Callback: LmiSharedPtrDeleterCallback

Member Of:

LmiSharedPtr

Description:

Callback invoked to perform custom deletion of a shared pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Syntax:

void (*LmiSharedPtrDeleterCallback)(LmiVoidPtr obj, LmiAllocator* a)

Parameters:

obj A pointer to the object to be deleted.
a The allocator associated with the shared pointer.

Callback: LmiThreadExitCallback

Member Of:

LmiThread

Description:

A callback that is called when an LmiThread exits.

Include:

Lmi/Os/LmiThread.h

Syntax:

void (*LmiThreadExitCallback)(LmiThread* t, void* userData)

Parameters:

t A pointer to the thread object corresponding to the thread that is exiting.
userData A pointer to user specified memory that was specified at the time the exit callback was registered.

Callback: LmiThreadFunc

Member Of:

LmiThread

Description:

A function of this type may be used as the main function associated with an LmiThread object.

Include:

Lmi/Os/LmiThread.h

Syntax:

void* (*LmiThreadFunc)(LmiThread* t, void* userData)

Parameters:

t A pointer to the thread object.
userData A pointer to user specified memory that was specified at the time the thread was constructed.

Returns:

A pointer to user specified memory containing the result of the thread functions work.

Callback: LmiThreadPoolUserFunction

Member Of:

LmiThreadPool

Description:

A function to be executed by a thread pool.

Include:

Lmi/Os/LmiThreadPool.h

Syntax:

void (*LmiThreadPoolUserFunction)( void* userData )

Parameters:

userData The user data for the function.

Callback: LmiTimerManagerNotifyFirstExpiryCallback

Member Of:

LmiTimerManager

Description:

This callback is invoked whenever a new timer started will also be the first to expire.

Include:

Lmi/Os/LmiTimer.h

Syntax:

void (*LmiTimerManagerNotifyFirstExpiryCallback)(LmiTimerManager* timerManager, LmiVoidPtr userData, LmiTime time)

Parameters:

timerManager A pointer to LmiTimerManager struct
userData pointer to user data
time next monotonic expiry time

Callback: LmiWatchdogExpiryCallback

Member Of:

LmiWatchdog

Description:

This is the callback function invoked on watchdog expiry.

Include:

Lmi/Os/LmiWatchdog.h

Syntax:

void (*LmiWatchdogExpiryCallback)(LmiWatchdog *wd, LmiVoidPtr userData)

Parameters:

wd A pointer to LmiWatchdog struct
userData pointer to user data

Function: LmiAndroidConstruct

Member Of:

LmiAndroid

Description:

Constructs a LmiAndroid object that keeps global Android data.

Include:

Lmi/Os/LmiAndroid.h

Library:

LmiOs

Syntax:

LmiAndroid *LmiAndroidConstruct(LmiAndroid *a)

Parameters:

a The LmiAndroid object.

Returns:

A pointer to a constructed object on success, or NULL on failure.

Note 1:

On Android platform, some objects need to be stored globally so that they can be accessed by various Android specific SDK components.

Function: LmiAndroidDestruct

Member Of:

LmiAndroid

Description:

Destructs an LmiAndroid object.

Include:

Lmi/Os/LmiAndroid.h

Library:

LmiOs

Syntax:

void LmiAndroidDestruct(LmiAndroid *a)

Parameters:

a The LmiAndroid object.

Function: LmiCachedLogListenerConstruct

Member Of:

LmiCachedLogListener

Description:

Constructs a file log listener object.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

LmiCachedLogListener* LmiCachedLogListenerConstruct(LmiCachedLogListener* l, LmiUint64 maxNumRecords, LmiAllocator* a)

Parameters:

l The cached log listener object.
maxNumRecords The maximum number of records to cache.
a Allocator to use for dynamically-allocated memory for the listener.

Returns:

A pointer to a constructed object on success, or NULL on failure.

Function: LmiCachedLogListenerDestruct

Member Of:

LmiCachedLogListener

Description:

Destructs a file log listener object.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

void LmiCachedLogListenerDestruct(LmiCachedLogListener* l)

Parameters:

l The file log listener object.

Function: LmiCachedLogListenerGetListener

Member Of:

LmiCachedLogListener

Description:

Gets the log listener base class from a cached log listener object. The base class can be used to call LmiLogListener API functions for the file logger.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

LmiLogListener* LmiCachedLogListenerGetListener(LmiCachedLogListener* l)

Parameters:

l The file log listener object.

Returns:

A pointer to the log listener object.

Function: LmiCachedLogListenerGetLogRecords

Member Of:

LmiCachedLogListener

Description:

Gets the log records from a cached log listener object.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

LmiUint64 LmiCachedLogListenerGetLogRecords(LmiCachedLogListener *l, LmiUint64 lastIndexOfPreviousQuery, LmiUint64 maxRecords, const char *bodyFilter, const char *notInBodyFilter, const char *levelCategoryFilter, LmiVector(LmiCachedLogRecord) *records)

Parameters:

l The cached log listener object.
lastIndexOfPreviousQuery Index of the last entry from the previous query.
maxRecords Maximum number of records to return.
bodyFilter Log record body should match this filter.
notInBodyFilter Log record body should not match this filter.
levelCategoryFilter Filter to apply to the level and category. See LmiLogListenerSetLevelsAndCategoriesFromString().
records The vector where the records will be copied.

Returns:

The new index from the last log record.

Function: LmiCachedLogListenerGetMaxNumRecords

Member Of:

LmiCachedLogListener

Description:

Get the maximum number of records to keep in the of the cache.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

LmiUint64 LmiCachedLogListenerGetMaxNumRecords(const LmiCachedLogListener* l)

Parameters:

l The log listener in which to get the maximum log file size.

Returns:

The current maximum number of records to keep in the cache.

Function: LmiCachedLogListenerSetMaxNumRecords

Member Of:

LmiCachedLogListener

Description:

Set the maximum number of records to keep in the of the cache.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

LmiBool LmiCachedLogListenerSetMaxNumRecords(LmiCachedLogListener* l, LmiUint64 maxNumRecords)

Parameters:

l The log listener in which to set the maximum file size.
maxNumRecords The maximum number of records to keep in the cache.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiCachedLogRecordGetCategory

Member Of:

LmiCachedLogRecord

Description:

Get the category associated with a logged event.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

LmiLogCategory LmiCachedLogRecordGetCategory(const LmiCachedLogRecord* r)

Parameters:

r The log record from which to obtain the category.

Returns:

The category associated with the message described by this log record.

Note 1:

This will always be a single category.

Function: LmiCachedLogRecordGetCategoryName

Member Of:

LmiCachedLogRecord

Description:

Get the category name associated with a logged event.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

const LmiString *LmiCachedLogRecordGetCategoryName(const LmiCachedLogRecord* r)

Parameters:

r The log record from which to obtain the category name.

Returns:

The category name associated with the message described by this log record.

Note 1:

This will always be a single category.

Function: LmiCachedLogRecordGetFile

Member Of:

LmiCachedLogRecord

Description:

Get the filename associated with a logged event.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

const LmiString* LmiCachedLogRecordGetFile(const LmiCachedLogRecord* r)

Parameters:

r The log record from which to obtain a file name.

Returns:

The name of the C source file which logged the message described by this log record. If this is not available or not meaningful, this will be the empty string "".

Function: LmiCachedLogRecordGetFunctionName

Member Of:

LmiCachedLogRecord

Description:

Get the name of the function associated with a logged event.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

const LmiString* LmiCachedLogRecordGetFunctionName(const LmiCachedLogRecord* r)

Parameters:

r The log record from which to obtain a function name.

Returns:

The name of the C source function which logged the message described by this log record. If this is not available or not meaningful, this will be the value "".

Function: LmiCachedLogRecordGetIndex

Member Of:

LmiCachedLogRecord

Description:

Get the index associated with a logged event.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

LmiUint64 LmiCachedLogRecordGetIndex(const LmiCachedLogRecord* r)

Parameters:

r The log record from which to obtain the level.

Returns:

The index of the message described by this log record.

Function: LmiCachedLogRecordGetLevel

Member Of:

LmiCachedLogRecord

Description:

Get the level associated with a logged event.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

LmiLogLevel LmiCachedLogRecordGetLevel(const LmiCachedLogRecord* r)

Parameters:

r The log record from which to obtain the level.

Returns:

The level of the message described by this log record.

Note 1:

This will always be a single level.

Function: LmiCachedLogRecordGetLine

Member Of:

LmiCachedLogRecord

Description:

Get the line number associated with a logged event.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

LmiInt LmiCachedLogRecordGetLine(const LmiCachedLogRecord* r)

Parameters:

r The log record from which to obtain a line number.

Returns:

The line number of the C source which logged the message described by this log record. If this is not available or not meaningful, this will be the value 0.

Function: LmiCachedLogRecordGetMessage

Member Of:

LmiCachedLogRecord

Description:

Get the message associated with a logged event.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

const LmiString* LmiCachedLogRecordGetMessage(const LmiCachedLogRecord* r)

Parameters:

r The log record from which to obtain the message.

Returns:

The message described by this log record. If this is not available or not meaningful, this will be the value "".

Function: LmiCachedLogRecordGetThreadId

Member Of:

LmiCachedLogRecord

Description:

Get the thread id of the thread associated with a logged event.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

LmiThreadId LmiCachedLogRecordGetThreadId(const LmiCachedLogRecord* r)

Parameters:

r The log record from which to obtain the thread name.

Returns:

The thread id of the thread which logged the event described by this log record.

Function: LmiCachedLogRecordGetThreadName

Member Of:

LmiCachedLogRecord

Description:

Get the name of the thread associated with a logged event.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

const LmiString* LmiCachedLogRecordGetThreadName(const LmiCachedLogRecord* r)

Parameters:

r The log record from which to obtain the thread name.

Returns:

The name of the thread which logged the event described by this log record. If this is not available, this will be the string "[System thread]".

Function: LmiCachedLogRecordGetTime

Member Of:

LmiCachedLogRecord

Description:

Get the wall-clock time at which a logged event occurred.

Include:

Lmi/Os/LmiCachedLogListener.h

Library:

LmiOs

Syntax:

LmiTime LmiCachedLogRecordGetTime(const LmiCachedLogRecord* r)

Parameters:

r The log record from which to obtain the wall-clock time.

Returns:

The wall-clock time at which the event described by this log record occurred. If this is not available, this will be the value LMI_TIME_INFINITE.

Function: LmiConsoleLogListenerConstruct

Member Of:

LmiConsoleLogListener

Description:

Construct an LmiConsoleLogListener.

Include:

Lmi/Os/LmiConsoleLogListener.h

Library:

LmiOs

Syntax:

LmiConsoleLogListener* LmiConsoleLogListenerConstruct(LmiConsoleLogListener* l, LmiAllocator* a)

Parameters:

l The console log listener object to construct.
a Allocator to use for dynamically-allocated memory for the listener.

Returns:

l on success, NULL on failure.

Note 1:

The newly-constructed listener will not receive notifications for any log levels or packages. For the listener to be useful, the various LmiLogListenerSet* functions must be called.

Function: LmiConsoleLogListenerDestruct

Member Of:

LmiConsoleLogListener

Description:

Destruct an LmiConsoleLogListener.

Include:

Lmi/Os/LmiConsoleLogListener.h

Library:

LmiOs

Syntax:

void LmiConsoleLogListenerDestruct(LmiConsoleLogListener* l)

Parameters:

l A pointer to the LmiLogListener to destruct.

Function: LmiConsoleLogListenerEnableAnsiColoring

Member Of:

LmiConsoleLogListener

Description:

Enables or disables the coloring of log messages based on severity. Colors are changed by inserting ANSI escape codes.

Include:

Lmi/Os/LmiConsoleLogListener.h

Library:

LmiOs

Syntax:

void LmiConsoleLogListenerEnableAnsiColoring(LmiConsoleLogListener *listener, LmiBool enable)

Parameters:

listener The console log listener object.
enable LMI_TRUE to enable ansi coloring, LMI_FALSE to disable it.

Note 1:

Direct console coloring (controlled via LmiConsoleLogListenerEnableColoring) must be off for this setting to have an effect.

Note 2:

If the console terminal in use does not recognize ANSI codes, then the log messages will not be displayed properly.

Function: LmiConsoleLogListenerEnableColoring

Member Of:

LmiConsoleLogListener

Description:

Enables or disables the coloring of log messages based on severity. Colors are changed by directly setting the console text color, where this is supported. Currently, this is supported only for the Windows Console.

Include:

Lmi/Os/LmiConsoleLogListener.h

Library:

LmiOs

Syntax:

void LmiConsoleLogListenerEnableColoring(LmiConsoleLogListener *listener, LmiBool enable)

Parameters:

listener The console log listener object.
enable LMI_TRUE to enable coloring, LMI_FALSE to disable it.

Function: LmiConsoleLogListenerEnableColumns

Member Of:

LmiConsoleLogListener

Description:

Enables or disables columnar output for a console log's verbose mode. Columnar mode may be slightly less verbose but should be easier to read.

Include:

Lmi/Os/LmiConsoleLogListener.h

Library:

LmiOs

Syntax:

void LmiConsoleLogListenerEnableColumns(LmiConsoleLogListener *listener, LmiBool enable)

Parameters:

listener The console log listener object.
enable LMI_TRUE to enable columnar output, LMI_FALSE to disable it.

Function: LmiConsoleLogListenerGetListener

Member Of:

LmiConsoleLogListener

Description:

Gets the log listener base class from a file log listener object. The base class can be used to call LmiLogListener API functions for the file logger.

Include:

Lmi/Os/LmiConsoleLogListener.h

Library:

LmiOs

Syntax:

LmiLogListener* LmiConsoleLogListenerGetListener(LmiConsoleLogListener* listener)

Parameters:

listener The file log listener object.

Returns:

A pointer to the log listener object.

Function: LmiConsoleLogListenerGetMessageOnly [REPLACED BY LmiLogListenerIsVerbose]

Member Of:

LmiConsoleLogListener

Description:

Get whether the listener is printing only messages, or all fields of the log record.

Include:

Lmi/Os/LmiConsoleLogListener.h

Library:

LmiOs

Syntax:

LmiBool LmiConsoleLogListenerGetMessageOnly(const LmiConsoleLogListener* l)

Parameters:

l The log listener in which to get the message-only state.

Returns:

LMI_TRUE if the log listener is only printing messages; LMI_FALSE if it is printing all fields of the log record.

Function: LmiConsoleLogListenerSetMessageOnly [REPLACED BY LmiLogListenerSetVerbose]

Member Of:

LmiConsoleLogListener

Description:

Set whether the listener should print only messages, or all fields of the log record.

Include:

Lmi/Os/LmiConsoleLogListener.h

Library:

LmiOs

Syntax:

LmiBool LmiConsoleLogListenerSetMessageOnly(LmiConsoleLogListener* l, LmiBool messageOnly)

Parameters:

l The log listener in which to set or clear the message-only state.
messageOnly LMI_TRUE if the log listener should only print messages; LMI_FALSE if it should print all fields of the log record.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiDataBufferAssign

Member Of:

LmiDataBuffer

Description:

Assign the value of one data buffer to another.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiDataBuffer* LmiDataBufferAssign(LmiDataBuffer* b, const LmiDataBuffer* orig)

Parameters:

b The object to assign.
orig An existing data buffer to copy.

Returns:

b on success, NULL on failure.

Note 1:

Data buffers are reference-counted. If b and orig refer to different data buffers, b's reference count is decremented, and orig's reference count is incremented. (Thus, unlike most objects' Assign operators, LmiDataBufferAssign causes b to use orig's allocator.

Note 2:

This function resets b's read/write position.

Function: LmiDataBufferAssignSubbuffer

Member Of:

LmiDataBuffer

Description:

Assign the value of a data buffer based on part of another buffer.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiDataBuffer* LmiDataBufferAssignSubbuffer(LmiDataBuffer* b, const LmiDataBuffer* orig, LmiSizeT pos, LmiSizeT len)

Parameters:

b The object to assign.
orig The source data buffer.
pos The initial position of the subbuffer within the source string. This must be less than orig's capacity.
len The length of the substring within the source string. This must be less than orig's capacity - pos.

Returns:

b on success, NULL on failure.

Note 1:

Data buffers are reference-counted. If b and orig refer to different data buffers, b's reference count is decremented, and orig's reference count is incremented. (Thus, unlike most objects' Assign operators, LmiDataBufferAssign causes b to use orig's allocator.

Note 2:

This function resets b's read/write position.

Function: LmiDataBufferAssignSubbufferAtReadPosition

Member Of:

LmiDataBuffer

Description:

Assign a data buffer based on part of another buffer, adjusting the source buffer's read position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiDataBuffer* LmiDataBufferAssignSubbufferAtReadPosition(LmiDataBuffer* b, LmiDataBuffer* orig, LmiSizeT len)

Parameters:

b The object to assign.
orig The source data buffer. Its read position must currently be byte-aligned (a multiple of 8).
len The length of the sub-buffer within the source buffer, in bytes. This must be less than or equal to LmiDataBufferGetRemainingReadableBitCount(orig)/8.

Returns:

b on success, NULL on failure.

Note 1:

Data buffers are reference-counted. If b and orig refer to different data buffers, b's reference count is decremented, and orig's reference count is incremented. (Thus, unlike most objects' Assign operators, LmiDataBufferAssign causes b to use orig's allocator.

Note 2:

The new buffer has its own read/write position, independent of the original buffer.

Function: LmiDataBufferConstruct

Member Of:

LmiDataBuffer

Description:

Construct a data buffer with the given capacity.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiDataBuffer* LmiDataBufferConstruct(LmiDataBuffer* b, LmiSizeT capacity, LmiAllocator* a)

Parameters:

b The object to construct.
capacity The capacity in bytes of the data buffer to allocate.
a The allocator to use to allocate the buffer. This will allocate a block of size capacity + LMI_DATA_BUFFER_OVERHEAD, unless capacity == 0. If capacity == 0, no allocation will be performed, and a may be NULL.

Returns:

b on success, NULL on failure.

Note 1:

The buffer's length and its read/write position are initialized to 0.

Note 2:

Capacity must not be more than LMI_SIZE_T_MAX / 8, as the type LmiSizeT is used to represent bit offsets in the buffer.

Function: LmiDataBufferConstructCopy

Member Of:

LmiDataBuffer

Description:

Construct a copy of a data buffer.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiDataBuffer* LmiDataBufferConstructCopy(LmiDataBuffer* b, const LmiDataBuffer* orig)

Parameters:

b The object to construct.
orig An existing data buffer to copy.

Returns:

b on success, NULL on failure.

Note 1:

Data buffers are reference-counted. This constructor increments orig's reference count, and does not copy the actual buffer.

Note 2:

The new buffer has its own read/write position, independent of the original buffer.

Function: LmiDataBufferConstructSubbuffer

Member Of:

LmiDataBuffer

Description:

Construct a data buffer based on part of another buffer.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiDataBuffer* LmiDataBufferConstructSubbuffer(LmiDataBuffer* b, const LmiDataBuffer* orig, LmiSizeT pos, LmiSizeT len)

Parameters:

b The object to construct.
orig The source data buffer.
pos The initial position of the subbuffer within the source string. This must be less than orig's capacity.
len The length of the substring within the source string. This must be less than orig's capacity - pos.

Returns:

b on success, NULL on failure.

Note 1:

Data buffers are reference-counted. This constructor increments orig's reference count, and does not copy the actual buffer.

Note 2:

The new buffer has its own read/write position, independent of the original buffer.

Function: LmiDataBufferConstructSubbufferAtReadPosition

Member Of:

LmiDataBuffer

Description:

Construct a data buffer based on part of another buffer, adjusting the source buffer's read position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiDataBuffer* LmiDataBufferConstructSubbufferAtReadPosition(LmiDataBuffer* b, LmiDataBuffer* orig, LmiSizeT len)

Parameters:

b The object to construct.
orig The source data buffer. Its read position must currently be byte-aligned (a multiple of 8).
len The length of the sub-buffer within the source buffer, in bytes. This must be less than or equal to LmiDataBufferGetRemainingReadableBitCount(orig)/8.

Returns:

b on success, NULL on failure.

Note 1:

Data buffers are reference-counted. This constructor increments orig's reference count, and does not copy the actual buffer.

Note 2:

The new buffer has its own read/write position, independent of the original buffer.

Function: LmiDataBufferDestruct

Member Of:

LmiDataBuffer

Description:

Destruct a data buffer.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

void LmiDataBufferDestruct(LmiDataBuffer* b)

Parameters:

b The object to destruct.

Note 1:

Data buffers are reference-counted. The buffer referenced by b has its reference count decremented by one; the data is destroyed only when its reference count reaches 0.

Function: LmiDataBufferEnsureExclusiveCapacity

Member Of:

LmiDataBuffer

Description:

Ensure that an LmiDataBuffer is exclusively owned and has a minimum capacity. If it is not, the buffer will be reallocated.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiBool LmiDataBufferEnsureExclusiveCapacity(LmiDataBuffer* b, LmiSizeT newCapacity, LmiAllocator* a)

Parameters:

b The buffer for which to ensure exclusive capacity.
newCapacity The new minimum exclusive capacity to ensure for the buffer.
a An allocator to use if the buffer needs to be reallocated

Returns:

LMI_TRUE on success, else LMI_FALSE. On failure, the buffer is unchanged.

Function: LmiDataBufferEnsureExclusiveCapacityNoCopy

Member Of:

LmiDataBuffer

Description:

Ensure that an LmiDataBuffer is exclusively owned and has a minimum capacity. If it is not, the buffer will be reallocated, discarding its current contents and read/write pointer.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiBool LmiDataBufferEnsureExclusiveCapacityNoCopy(LmiDataBuffer* b, LmiSizeT newCapacity, LmiAllocator* a)

Parameters:

b The buffer for which to ensure exclusive capacity.
newCapacity The new minimum exclusive capacity to ensure for the buffer.
a An allocator to use if the buffer needs to be reallocated

Returns:

LMI_TRUE on success, else LMI_FALSE. On failure, the buffer is unchanged.

Function: LmiDataBufferEqual

Member Of:

LmiDataBuffer

Description:

Compare the contents of two LmiDataBuffers (up to their lengths) for equality.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiBool LmiDataBufferEqual(const LmiDataBuffer* x, const LmiDataBuffer* y)

Parameters:

x A pointer to the first data buffer to compare.
y A pointer to the second data buffer to compare.

Returns:

LMI_TRUE if the data buffers are equal, LMI_FALSE otherwise.

Note 1:

The buffers' read/write positions do not affect their equality.

Function: LmiDataBufferGetAllocator

Member Of:

LmiDataBuffer

Description:

Get the allocator used by an LmiDataBuffer.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiAllocator* LmiDataBufferGetAllocator(const LmiDataBuffer* b)

Parameters:

b The data buffer whose allocator to get.

Returns:

The allocator of the specified LmiDataBuffer.

Function: LmiDataBufferGetBitPosition

Member Of:

LmiDataBuffer

Description:

Get the current value of an LmiDataBuffer's read or write position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiSizeT LmiDataBufferGetBitPosition(const LmiDataBuffer* b)

Parameters:

b The data buffer from which to get the read or write position.

Returns:

The position from which bits will next be read or written.

Function: LmiDataBufferGetCapacity

Member Of:

LmiDataBuffer

Description:

Get the capacity of an LmiDataBuffer.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiSizeT LmiDataBufferGetCapacity(const LmiDataBuffer* b)

Parameters:

b The buffer whose data capacity to get.

Returns:

The capacity of the buffer.

Function: LmiDataBufferGetData

Member Of:

LmiDataBuffer

Description:

Get an LmiDataBuffer's data.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiUint8* LmiDataBufferGetData(LmiDataBuffer* b)

Parameters:

b The buffer whose data to get.

Returns:

A pointer to the buffer's data.

Note 1:

This pointer may be invalidated by a call to LmiDataBufferMakeExclusive, but otherwise persists as long as the data buffer.

Function: LmiDataBufferGetDataConst

Member Of:

LmiDataBuffer

Description:

Get a const LmiDataBuffer's data.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

const LmiUint8* LmiDataBufferGetDataConst(const LmiDataBuffer* b)

Parameters:

b The buffer whose data to get.

Returns:

A pointer to the buffer's data.

Note 1:

This pointer may be invalidated by a call to LmiDataBufferMakeExclusive, but otherwise persists as long as the data buffer.

Function: LmiDataBufferGetLength

Member Of:

LmiDataBuffer

Description:

Get the length of an LmiDataBuffer's data.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiSizeT LmiDataBufferGetLength(const LmiDataBuffer* b)

Parameters:

b The buffer whose data length to get.

Returns:

The length of the buffer's data.

Function: LmiDataBufferGetRemainingReadableBitCount

Member Of:

LmiDataBuffer

Description:

Get the number of bits remaining to be read in an LmiDataBuffer before its length is reached.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiSizeT LmiDataBufferGetRemainingReadableBitCount(const LmiDataBuffer* b)

Parameters:

b The data buffer from which to get the number of remaining readable bits.

Returns:

The number of remaining readable bits in the buffer.

Function: LmiDataBufferGetRemainingWritableBitCount

Member Of:

LmiDataBuffer

Description:

Get the number of bits remaining to be written to an LmiDataBuffer before its capacity is reached.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiSizeT LmiDataBufferGetRemainingWritableBitCount(const LmiDataBuffer* b)

Parameters:

b The data buffer from which to get the number of remaining writable bits.

Returns:

The number of remaining writable bits in the buffer.

Function: LmiDataBufferGetRemainingWritableByteCount

Member Of:

LmiDataBuffer

Description:

Get the number of bytes remaining to be written to an LmiDataBuffer before its capacity is reached.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiSizeT LmiDataBufferGetRemainingWritableByteCount(const LmiDataBuffer* b)

Parameters:

b The data buffer from which to get the number of remaining writable bytes.

Returns:

The number of remaining writable bytes in the buffer. If the bit position is not aligned to a multiple of 8, this includes the partial byte that remains to be written.

Function: LmiDataBufferIsExclusive

Member Of:

LmiDataBuffer

Description:

Test whether an LmiDataBuffer's reference count is exactly 1, i.e. whether it is owned exclusively by a single owner.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiBool LmiDataBufferIsExclusive(const LmiDataBuffer* b)

Parameters:

b The buffer to test for exclusivity.

Returns:

LMI_TRUE if the buffer's reference count is exactly 1; LMI_FALSE otherwise.

Function: LmiDataBufferLess

Member Of:

LmiDataBuffer

Description:

Compare the contents of two LmiDataBuffers (up to their lengths) for ordering.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiBool LmiDataBufferLess(const LmiDataBuffer* x, const LmiDataBuffer* y)

Parameters:

x A pointer to the first data buffer to compare.
y A pointer to the second data buffer to compare.

Returns:

LMI_TRUE if x is lexicographically less than y, LMI_FALSE otherwise.

Note 1:

The buffers' read/write positions do not affect their ordering.

Function: LmiDataBufferMakeExclusive

Member Of:

LmiDataBuffer

Description:

Make an LmiDataBuffer the exclusive owner of its data. This will copy the data's buffer if it was not previously exclusively owned, and thus can invalidate previous data pointers.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiBool LmiDataBufferMakeExclusive(LmiDataBuffer* b)

Parameters:

b The buffer to test for exclusivity.

Returns:

LMI_TRUE on success, else LMI_FALSE. On failure, the buffer is unchanged.

Note 1:

Except in very unusual circumstances, a caller should ensure that it is the exclusive owner of a data buffer before writing to it.

Note 2:

This function does not affect the data buffer's read/write position.

Function: LmiDataBufferPeekBits16

Member Of:

LmiDataBuffer

Description:

Read up to 16 bits from an LmiDataBuffer without advancing the read position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiUint16 LmiDataBufferPeekBits16(const LmiDataBuffer* b, LmiSizeT nBits)

Parameters:

b The data buffer from which bits are to be read.
nBits The number of bits to be read. This value must not be more than 16.

Returns:

The value of the next nBits bits of the buffer.

Note 1:

If an attempt is made to read beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it reads into unmapped memory.)

Note 2:

Reading from allocated but uninitialized memory will return an unspecified value, but will not fail.

Function: LmiDataBufferPeekBits32

Member Of:

LmiDataBuffer

Description:

Read up to 32 bits from an LmiDataBuffer without advancing the read position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiUint32 LmiDataBufferPeekBits32(const LmiDataBuffer* b, LmiSizeT nBits)

Parameters:

b The data buffer from which bits are to be read.
nBits The number of bits to be read. This value must not be more than 32.

Returns:

The value of the next nBits bits of the buffer.

Note 1:

If an attempt is made to read beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it reads into unmapped memory.)

Note 2:

Reading from allocated but uninitialized memory will return an unspecified value, but will not fail.

Function: LmiDataBufferPeekBits64

Member Of:

LmiDataBuffer

Description:

Read up to 64 bits from an LmiDataBuffer without advancing the read position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiUint64 LmiDataBufferPeekBits64(const LmiDataBuffer* b, LmiSizeT nBits)

Parameters:

b The data buffer from which bits are to be read.
nBits The number of bits to be read. This value must not be more than 64.

Returns:

The value of the next nBits bits of the buffer.

Note 1:

If an attempt is made to read beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it reads into unmapped memory.)

Note 2:

Reading from allocated but uninitialized memory will return an unspecified value, but will not fail.

Function: LmiDataBufferPeekBits8

Member Of:

LmiDataBuffer

Description:

Read up to 8 bits from an LmiDataBuffer without advancing the read position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiUint8 LmiDataBufferPeekBits8(const LmiDataBuffer* b, LmiSizeT nBits)

Parameters:

b The data buffer from which bits are to be read.
nBits The number of bits to be read. This value must not be more than 8.

Returns:

The value of the next nBits bits of the buffer.

Note 1:

If an attempt is made to read beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it reads into unmapped memory.)

Note 2:

Reading from allocated but uninitialized memory will return an unspecified value, but will not fail.

Function: LmiDataBufferReadBits16

Member Of:

LmiDataBuffer

Description:

Read up to 16 bits from an LmiDataBuffer and advance the read position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiUint16 LmiDataBufferReadBits16(LmiDataBuffer* b, LmiSizeT nBits)

Parameters:

b The data buffer from which bits are to be read.
nBits The number of bits to be read. This value must not be more than 16.

Returns:

The value of the next nBits bits of the buffer.

Note 1:

If an attempt is made to read beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it reads into unmapped memory.)

Note 2:

Reading from allocated but uninitialized memory will return an unspecified value, but will not fail.

Function: LmiDataBufferReadBits32

Member Of:

LmiDataBuffer

Description:

Read up to 32 bits from an LmiDataBuffer and advance the read position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiUint32 LmiDataBufferReadBits32(LmiDataBuffer* b, LmiSizeT nBits)

Parameters:

b The data buffer from which bits are to be read.
nBits The number of bits to be read. This value must not be more than 32.

Returns:

The value of the next nBits bits of the buffer.

Note 1:

If an attempt is made to read beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it reads into unmapped memory.)

Note 2:

Reading from allocated but uninitialized memory will return an unspecified value, but will not fail.

Function: LmiDataBufferReadBits64

Member Of:

LmiDataBuffer

Description:

Read up to 64 bits from an LmiDataBuffer and advance the read position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiUint64 LmiDataBufferReadBits64(LmiDataBuffer* b, LmiSizeT nBits)

Parameters:

b The data buffer from which bits are to be read.
nBits The number of bits to be read. This value must not be more than 64.

Returns:

The value of the next nBits bits of the buffer.

Note 1:

If an attempt is made to ready beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it reads into unmapped memory.)

Note 2:

Reading from allocated but uninitialized memory will return an unspecified value, but will not fail.

Function: LmiDataBufferReadBits8

Member Of:

LmiDataBuffer

Description:

Read up to 8 bits from an LmiDataBuffer and advance the read position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiUint8 LmiDataBufferReadBits8(LmiDataBuffer* b, LmiSizeT nBits)

Parameters:

b The data buffer from which bits are to be read.
nBits The number of bits to be read. This value must not be more than 8.

Returns:

The value of the next nBits bits of the buffer.

Note 1:

If an attempt is made to read beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it reads into unmapped memory.)

Note 2:

Reading from allocated but uninitialized memory will return an unspecified value, but will not fail.

Function: LmiDataBufferSetBitPosition

Member Of:

LmiDataBuffer

Description:

Set an LmiDataBuffer's read or write position to a specified absolute position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

void LmiDataBufferSetBitPosition(LmiDataBuffer* b, LmiSizeT pos)

Parameters:

b The data buffer in which to set the read or write position.
pos The position in the buffer at which bits should next be read or written. This value must not be greater than the buffer's capacity in bits.

Note 1:

If a buffer is both read to and written from, this function must be called between reads and writes, to reset the buffer position.

Function: LmiDataBufferSetLength

Member Of:

LmiDataBuffer

Description:

Set the length of an LmiDataBuffer's data.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiBool LmiDataBufferSetLength(LmiDataBuffer* b, LmiSizeT len)

Parameters:

b The buffer whose data length to set.
len The buffer new data length of the buffer. This must be less than the buffer's capacity.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Note 1:

Other than for the LmiDataBufferEqual and LmiDataBufferLess functions, LmiDataBufferGetRemainingReadableBitCount, and LmiDataBufferWriteBuffer, this value is unused by the LmiDataBuffer object; it is intended only for users of the object, to represent the length of the useful data in the buffer.

Function: LmiDataBufferSkipAlignBits

Member Of:

LmiDataBuffer

Description:

Advance an LmiDataBuffer's read position so it is aligned to a multiple of a given number of bits, without reading any bits.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiSizeT LmiDataBufferSkipAlignBits(LmiDataBuffer* b, LmiSizeT nAlign)

Parameters:

b The data buffer from which bits are to be skipped.
nAlign The width to which the read position should be aligned. For example, for byte alignment, nAlign = 8

Returns:

The number of bits skipped in order to align the read position.

Function: LmiDataBufferSkipBits

Member Of:

LmiDataBuffer

Description:

Advance an LmiDataBuffer's read position without reading any bits.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

void LmiDataBufferSkipBits(LmiDataBuffer* b, LmiSizeT nBits)

Parameters:

b The data buffer from which bits are to be skipped.
nBits The number of bits to be skipped.

Function: LmiDataBufferSkipBytes

Member Of:

LmiDataBuffer

Description:

Advance an LmiDataBuffer's read position by a whole number of bytes without reading any bits.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

void LmiDataBufferSkipBytes(LmiDataBuffer* b, LmiSizeT nBytes)

Parameters:

b The data buffer from which bits are to be skipped.
nBytes The number of bytes to be skipped.

Note 1:

This is equivalent to, but potentially more efficient than, LmiDataBufferSkipBits(b, nBytes * 8).

Function: LmiDataBufferSwap

Member Of:

LmiDataBuffer

Description:

Swap the contents of two LmiDataBuffers.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiBool LmiDataBufferSwap(LmiDataBuffer* a, LmiDataBuffer* b)

Parameters:

a A pointer to the first LmiDataBuffer object to be swapped.
b A pointer to the second LmiDataBuffer object to be swapped.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Note 1:

All of buffers' state is swapped, including their read/write positions.

Function: LmiDataBufferWriteAlignBits

Member Of:

LmiDataBuffer

Description:

Write bits to an LmiDataBuffer so its write position is aligned to a multiple of a given number of bits.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

LmiSizeT LmiDataBufferWriteAlignBits(LmiDataBuffer* b, LmiBool val, LmiSizeT nAlign)

Parameters:

b The data buffer to which bits are to be written.
val The value to be written. If this is 1 or LMI_TRUE, the buffer will be filled with 1 bits until the alignment is reached, otherwise (for 0 or LMI_FALSE) it will be filled with 0 bits.
nAlign The width to which the write position should be aligned. For example, for byte alignment, nAlign = 8.

Returns:

The number of bits written in order to align the write position.

Note 1:

If an attempt is made to write beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it writes into unmapped memory.)

Note 2:

Except in very unusual circumstances, a caller should ensure that it is the exclusive owner of a data buffer before writing to it.

Note 3:

This function sets the buffer's length to correspond to the byte containing the last bits written.

Note 4:

Any bits previously in the buffer after the write position are undefined after this function is called.

Function: LmiDataBufferWriteBits16

Member Of:

LmiDataBuffer

Description:

Write up to 16 bits to an LmiDataBuffer and advance the write position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

void LmiDataBufferWriteBits16(LmiDataBuffer* b, LmiUint16 val, LmiSizeT nBits)

Parameters:

b The data buffer to which bits are to be written.
val The value to be written. If this is greater than 2^nBits, only the nBits least significant bits of val are written.
nBits The number of bits to be written. This value must not be more than 16.

Note 1:

If an attempt is made to write beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it writes into unmapped memory.)

Note 2:

Except in very unusual circumstances, a caller should ensure that it is the exclusive owner of a data buffer before writing to it.

Note 3:

This function sets the buffer's length to correspond to the byte containing the last bits written.

Note 4:

Any bits previously in the buffer after the write position are undefined after this function is called.

Function: LmiDataBufferWriteBits32

Member Of:

LmiDataBuffer

Description:

Write up to 32 bits to an LmiDataBuffer and advance the write position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

void LmiDataBufferWriteBits32(LmiDataBuffer* b, LmiUint32 val, LmiSizeT nBits)

Parameters:

b The data buffer to which bits are to be written.
val The value to be written. If this is greater than 2^nBits, only the nBits least significant bits of val are written.
nBits The number of bits to be written. This value must not be more than 32.

Note 1:

If an attempt is made to write beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it writes into unmapped memory.)

Note 2:

Except in very unusual circumstances, a caller should ensure that it is the exclusive owner of a data buffer before writing to it.

Note 3:

This function sets the buffer's length to correspond to the byte containing the last bits written.

Note 4:

Any bits previously in the buffer after the write position are undefined after this function is called.

Function: LmiDataBufferWriteBits64

Member Of:

LmiDataBuffer

Description:

Write up to 64 bits to an LmiDataBuffer and advance the write position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

void LmiDataBufferWriteBits64(LmiDataBuffer* b, LmiUint64 val, LmiSizeT nBits)

Parameters:

b The data buffer to which bits are to be written.
val The value to be written. If this is greater than 2^nBits, only the nBits least significant bits of val are written.
nBits The number of bits to be written. This value must not be more than 64.

Note 1:

If an attempt is made to write beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it writes into unmapped memory.)

Note 2:

Except in very unusual circumstances, a caller should ensure that it is the exclusive owner of a data buffer before writing to it.

Note 3:

This function sets the buffer's length to correspond to the byte containing the last bits written.

Note 4:

Any bits previously in the buffer after the write position are undefined after this function is called.

Function: LmiDataBufferWriteBits8

Member Of:

LmiDataBuffer

Description:

Write up to 8 bits to an LmiDataBuffer and advance the write position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

void LmiDataBufferWriteBits8(LmiDataBuffer* b, LmiUint8 val, LmiSizeT nBits)

Parameters:

b The data buffer to which bits are to be written.
val The value to be written. If this is greater than 2^nBits, only the nBits least significant bits of val are written.
nBits The number of bits to be written. This value must not be more than 8.

Note 1:

If an attempt is made to write beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it writes into unmapped memory.)

Note 2:

Except in very unusual circumstances, a caller should ensure that it is the exclusive owner of a data buffer before writing to it.

Note 3:

This function sets the buffer's length to correspond to the byte containing the last bits written.

Note 4:

Any bits previously in the buffer after the write position are undefined after this function is called.

Function: LmiDataBufferWriteBuffer

Member Of:

LmiDataBuffer

Description:

Write the contents of an LmiDataBuffer into another one, at the latter's write position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

void LmiDataBufferWriteBuffer(LmiDataBuffer* b, const LmiDataBuffer* src)

Parameters:

b The data buffer into which buffer contents are to be written. Its bit position must be a multiple of 8.
src The source buffer to be written.

Note 1:

If an attempt is made to write beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it writes into unmapped memory.)

Note 2:

Except in very unusual circumstances, a caller should ensure that it is the exclusive owner of a data buffer before writing to it.

Note 3:

This function sets the buffer's length to correspond to the last byte written.

Note 4:

Any bits previously in the buffer after the write position are undefined after this function is called.

Function: LmiDataBufferWriteBytes

Member Of:

LmiDataBuffer

Description:

Write the contents of a block of memory to an LmiDataBuffer and advance the write position.

Include:

Lmi/Os/LmiDataBuffer.h

Library:

LmiOs

Syntax:

void LmiDataBufferWriteBytes(LmiDataBuffer* b, const LmiUint8* data, LmiSizeT numBytes)

Parameters:

b The data buffer into which buffer contents are to be written. Its bit position must be a multiple of 8.
data The data buffer to be written.
numBytes The number of bytes of data to be written.

Note 1:

If an attempt is made to write beyond the buffer's capacity, this function is undefined. (In debug mode, it will typically trigger an assertion; in release mode, it may crash if it writes into unmapped memory.)

Note 2:

Except in very unusual circumstances, a caller should ensure that it is the exclusive owner of a data buffer before writing to it.

Note 3:

This function sets the buffer's length to correspond to the last byte written.

Note 4:

Any bits previously in the buffer after the write position are undefined after this function is called.

Function: LmiFileAtEof

Member Of:

LmiFile

Description:

Query whether a file's position is currently at the end of the file.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiBool LmiFileAtEof(LmiFile* f)

Parameters:

f The file object to query for EOF.

Returns:

LMI_TRUE if the file is at EOF, LMI_FALSE if not or if an error was reported.

Function: LmiFileClose

Member Of:

LmiFile

Description:

Close a file object.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiBool LmiFileClose(LmiFile* f)

Parameters:

f The file object to close

Returns:

LMI_TRUE on success, LMI_FALSE if an error was reported in closing the file.

Function: LmiFileConstruct

Member Of:

LmiFile

Description:

Construct an LmiFile object by opening a file.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiFile* LmiFileConstruct(LmiFile* f, const char* path, LmiFileOpenFlag flags)

Parameters:

f The file object to construct.
path The path on disk to the file to open. The syntax of this path is platform-dependent.
flags A set of flags (bitwise-or'd together) indicating the mode in which to open the file.

Returns:

The file object on success, or NULL on failure.

Function: LmiFileConstructDefault

Member Of:

LmiFile

Description:

Construct an LmiFile object which is not opened.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiFile* LmiFileConstructDefault(LmiFile* f)

Parameters:

f The file to construct.

Returns:

The file object on success, or NULL on failure.

Function: LmiFileDelete

Member Of:

LmiFile

Description:

Remove a file in the file system.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiBool LmiFileDelete(const char* path)

Parameters:

path A path to an existing file. The syntax of this path is platform-dependent.

Returns:

LMI_TRUE if the file was successfully deleted, LMI_FALSE if not.

Function: LmiFileDestruct

Member Of:

LmiFile

Description:

Destruct an LmiFile object, closing it if it is open.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

void LmiFileDestruct(LmiFile* f)

Parameters:

f The object to destruct.

Function: LmiFileFlush

Member Of:

LmiFile

Description:

Flush any buffered file data out to the file's storage medium.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiBool LmiFileFlush(LmiFile* f)

Parameters:

f The file object to flush.

Returns:

LMI_TRUE on success, LMI_FALSE if an error was reported while flushing the file.

Function: LmiFileGetPosition

Member Of:

LmiFile

Description:

Get the current read/write position of a file.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiFilePosition LmiFileGetPosition(LmiFile* f)

Parameters:

f The file whose position to get.

Returns:

The current position in the file. On error, including if the position is not representable in LmiFilePosition, this value will be negative. Negative values will cause LmiFileSetPosition to return failure.

Function: LmiFileGetSize

Member Of:

LmiFile

Description:

Gets the size of the file.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiUint64 LmiFileGetSize(LmiFile* f)

Parameters:

f The file object.

Returns:

Size of the file.

Note 1:

The file should be open in binary mode.

Function: LmiFileGetStderr

Member Of:

LmiFile

Description:

Gets the standard error as an LmiFile object.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiFile* LmiFileGetStderr(void)

Returns:

Returns the standard error as a pointer to an LmiFile object, or NULL if not supported.

Function: LmiFileGetStdin

Member Of:

LmiFile

Description:

Gets the standard input as an LmiFile object.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiFile* LmiFileGetStdin(void)

Returns:

Returns the standard input as a pointer to an LmiFile object, or NULL if not supported.

Function: LmiFileGetStdout

Member Of:

LmiFile

Description:

Gets the standard output as an LmiFile object.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiFile* LmiFileGetStdout(void)

Returns:

Returns the standard output as a pointer to an LmiFile object, or NULL if not supported.

Function: LmiFileLogListenerConstruct

Member Of:

LmiFileLogListener

Description:

Constructs a file log listener object.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiFileLogListener* LmiFileLogListenerConstruct(LmiFileLogListener* listener, const char* filename, LmiInt64 size, LmiAllocator* a)

Parameters:

listener The file log listener object to construct.
filename The name of the file to log to.
size The number of bytes of logged messages to save. When the length of logged messages exceeds this value, older messages will be overwritten. If this value is negative, the size of the log is unbounded.
a Allocator to use for dynamically-allocated memory for the listener.

Returns:

A pointer to a constructed object on success, or NULL on failure.

Function: LmiFileLogListenerConstructEx

Member Of:

LmiFileLogListener

Description:

Constructs a file log listener object.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiFileLogListener* LmiFileLogListenerConstructEx(LmiFileLogListener* listener, const char* filename, LmiInt64 size, LmiTime wrapPeriod, LmiSizeT wrapCount, LmiAllocator* a)

Parameters:

listener The file log listener object to construct.
filename The name of the file to log to.
size The number of bytes of logged messages to save. When the length of logged messages exceeds this value, older messages will be overwritten. If this value is negative, the size of the log is unbounded.
wrapPeriod How often to initiate the wrap. If this value is LMI_TIME_INFINITE, the log file will not be wrapped based on time.
wrapCount The maximum number of files to keep.
a Allocator to use for dynamically-allocated memory for the listener.

Returns:

A pointer to a constructed object on success, or NULL on failure.

Note 1:

If the wrapCount value is 0, the log file will wrap to the beginning when it reaches size or wrapPeriod. If this value is 1 the file will be cleared every wrap. If the number is greater then 1, the files will be re-named in the order of creation such as filename.1, filename.2 and the log will be written to the new 'filename' file.

Function: LmiFileLogListenerDestruct

Member Of:

LmiFileLogListener

Description:

Destructs a file log listener object.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

void LmiFileLogListenerDestruct(LmiFileLogListener* listener)

Parameters:

listener The file log listener object.

Function: LmiFileLogListenerGetFileNames

Member Of:

LmiFileLogListener

Description:

Fills in the passed in vector with a list of file names used by the FileLogger.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiBool LmiFileLogListenerGetFileNames(LmiFileLogListener* listener,LmiVector(LmiString) *fileNames)

Parameters:

listener The file log listener object.
fileNames Empty vector of strings to be filled in with file names.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiFileLogListenerGetListener

Member Of:

LmiFileLogListener

Description:

Gets the log listener base class from a file log listener object. The base class can be used to call LmiLogListener API functions for the file logger.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiLogListener* LmiFileLogListenerGetListener(LmiFileLogListener* listener)

Parameters:

listener The file log listener object.

Returns:

A pointer to the log listener object.

Function: LmiFileLogListenerGetMaxSize

Member Of:

LmiFileLogListener

Description:

Get the maximum size of the log file produced by a file log listener.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiInt64 LmiFileLogListenerGetMaxSize(const LmiFileLogListener* l)

Parameters:

l The log listener in which to get the maximum log file size.

Returns:

The current maximum size of a log file. If this value is negative, the log file is unbounded.

Function: LmiFileLogListenerGetMessageOnly [REPLACED BY LmiLogListenerIsVerbose]

Member Of:

LmiFileLogListener

Description:

Get whether the listener is printing only messages, or all fields of the log record.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiBool LmiFileLogListenerGetMessageOnly(const LmiFileLogListener* l)

Parameters:

l The log listener in which to get the message-only state.

Returns:

LMI_TRUE if the log listener is only printing messages; LMI_FALSE if it is printing all fields of the log record.

Function: LmiFileLogListenerGetWrapCount

Member Of:

LmiFileLogListener

Description:

Get the maximum number of log files to keep.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiSizeT LmiFileLogListenerGetWrapCount(const LmiFileLogListener* l)

Parameters:

l The log listener.

Returns:

The maximum number of files to keep.

Note 1:

If this value is 0, the log file will wrap to the beginning, If this value is 1 the file will be cleared every wrap. If the number is greater then 1, the files will be re-named in the order of creation such as filename-1.log, filename-2.log and the log will be written to the new filename.log file.

Function: LmiFileLogListenerGetWrapPeriod

Member Of:

LmiFileLogListener

Description:

Get the wrap time of the log file produced by a file log listener.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiTime LmiFileLogListenerGetWrapPeriod(const LmiFileLogListener* l)

Parameters:

l The log listener.

Returns:

How often the wrap will be initiated. If this value is LMI_TIME_INFINITE, the log file will not be wrapped based on time.

Function: LmiFileLogListenerSetMaxSize

Member Of:

LmiFileLogListener

Description:

Set the maximum size of the log file produced by a file log listener.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiBool LmiFileLogListenerSetMaxSize(LmiFileLogListener* l, LmiInt64 maxSize)

Parameters:

l The log listener in which to set the maximum file size.
maxSize The maximum size of a log file. If this value is negative, the log file is unbounded.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiFileLogListenerSetMessageOnly [REPLACED BY LmiLogListenerSetVerbose]

Member Of:

LmiFileLogListener

Description:

Set whether the listener should print only messages, or all fields of the log record.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiBool LmiFileLogListenerSetMessageOnly(LmiFileLogListener* l, LmiBool messageOnly)

Parameters:

l The log listener in which to set or clear the message-only state.
messageOnly LMI_TRUE if the log listener should only print messages; LMI_FALSE if it should print all fields of the log record.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiFileLogListenerSetWrapCount

Member Of:

LmiFileLogListener

Description:

Set the maximum number of log files to keep.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiBool LmiFileLogListenerSetWrapCount(LmiFileLogListener* l, LmiSizeT wrapCount)

Parameters:

l The log listener.
wrapCount The maximum number of files to keep.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Note 1:

If this value is 0, the log file will wrap to the beginning, If this value is 1 the file will be cleared every wrap. If the number is greater then 1, the files will be re-named in the order of creation such as filename-1.log, filename-2.log and the log will be written to the new filename.log file.

Function: LmiFileLogListenerSetWrapPeriod

Member Of:

LmiFileLogListener

Description:

Set the wrap period of the log file produced by a file log listener.

Include:

Lmi/Os/LmiFileLogListener.h

Library:

LmiOs

Syntax:

LmiBool LmiFileLogListenerSetWrapPeriod(LmiFileLogListener* l, LmiTime wrapPeriod)

Parameters:

l The log listener.
wrapPeriod How often to initiate the wrap. If this value is LMI_TIME_INFINITE, the log file will not be wrapped based on time.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiFileOpen

Member Of:

LmiFile

Description:

Open a file using an LmiFile object. If the object already has a file open, this will fail.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiBool LmiFileOpen(LmiFile* f, const char* path, LmiFileOpenFlag flags)

Parameters:

f The file object to use to open the file.
path The path on disk to the file to open. The syntax of this path is platform-dependent.
flags A set of flags (bitwise-or'd together) indicating the mode in which to open the file.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Function: LmiFilePrintf

Member Of:

LmiFile

Description:

Format and Write data to a file at its current write position.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiInt LmiFilePrintf(LmiFile* f, const char* format, ...)

Parameters:

f The file to which to write.
format A printf-style format string.
... The arguments to the format string.

Returns:

The number of bytes actually written or -1 on error.

Function: LmiFileRead

Member Of:

LmiFile

Description:

Read data from a file at its current read position.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiSizeT LmiFileRead(LmiFile* f, LmiUint8* buf, LmiSizeT bufSize)

Parameters:

f The file from which to read.
buf A buffer into which to place the data read.
bufSize The size of the buffer into which to read data, in bytes.

Returns:

The number of bytes actually read. On error or EOF, this will be 0.

Function: LmiFileReadCStr

Member Of:

LmiFile

Description:

Read a string from a file starting at its current read position up to either the first occurrence of one of the delimiters or n - 1 characters which ever comes first. The read position is advanced to the byte just passed the first occurrence of one of the delimiters (regardless of n).

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

char* LmiFileReadCStr(LmiFile* f, char* str, LmiSizeT n, const char* delimiters, LmiFileReadCStrFlag flags)

Parameters:

f The file from which to read.
str A string into which to place the data read.
n The size of the string (not the length) into which to read data, in bytes.
delimiters A list of delimiters.
flags A set of flags (bitwise-or'd together) indicating the mode in which to read the string.

Returns:

A pointer to the string or NULL on error or EOF. Use LmiFileAtEof to distinguish whether EOF or an error occurred.

Example 1:

				
			char str[80];
			/* Mimic fgets */
			LmiFileReadCStr(file, str, sizeof(str), "n", LMI_FILEREADCSTRFLAG_IncludeDelimiter);
		
			

Function: LmiFileRename

Member Of:

LmiFile

Description:

Rename (move) a file in the file system.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiBool LmiFileRename(const char* currentPath, const char* newPath)

Parameters:

currentPath A path to an existing file. The syntax of this path is platform-dependent.
newPath A path to the desired new name and location of the file. The syntax of this path is platform-dependent.

Returns:

LMI_TRUE if the file was successfully moved; LMI_FALSE if not.

Note 1:

In general, renaming a file within the same file system will succeed, if there is no existing file with the desired name. (However, exceptions may occur, such as if some process has the file open exclusively.) Moving a file across file systems, or so as to replace an existing file, is platform-dependent.

Function: LmiFileSetPosition

Member Of:

LmiFile

Description:

Set the current read/write position of a file.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiBool LmiFileSetPosition(LmiFile* f, LmiFilePosition pos)

Parameters:

f The file whose position to set.
pos The position to set in the file. The only portable values to set in this are positive values returned from LmiFileGetPosition, or 0 meaning beginning of file.

Returns:

LMI_TRUE on success, LMI_FALSE on error.

Function: LmiFileVPrintf

Member Of:

LmiFile

Description:

Format and Write data to a file at its current write position, passing a va_list for the format arguments.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiInt LmiFileVPrintf(LmiFile* f, const char* format, va_list args)

Parameters:

f The file to which to write.
format A printf-style format string.
args A stdarg.h collection of arguments.

Returns:

The number of bytes actually written or -1 on error.

Function: LmiFileWrite

Member Of:

LmiFile

Description:

Write data to a file at its current write position.

Include:

Lmi/Os/LmiFile.h

Library:

LmiOs

Syntax:

LmiSizeT LmiFileWrite(LmiFile* f, const LmiUint8* buf, LmiSizeT bufSize)

Parameters:

f The file to which to write.
buf The data to write to the file.
bufSize The length of the data to write to the file.

Returns:

The number of bytes actually written. On error, this may be less than bufSize.

Function: LmiGregorianTimeAssign

Member Of:

LmiGregorianTime

Description:

Assign the value of one LmiGregorianTime object to another one.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiGregorianTime* LmiGregorianTimeAssign(LmiGregorianTime* dst, const LmiGregorianTime* src)

Parameters:

dst A pointer to the LmiGregorianTime object to be assigned. The object is assumed to already be initialized.
src A pointer to an existing LmiGregorianTime object.

Returns:

A pointer to dst, or NULL on failure.

Note 1:

LmiGregorianTime assignment will not fail.

Function: LmiGregorianTimeConstruct

Member Of:

LmiGregorianTime

Description:

Construct an LmiGregorianTime value, representing the time in the system timezone, corresponding to a given wall clock time value.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiGregorianTime* LmiGregorianTimeConstruct(LmiGregorianTime* gt, LmiTime systemTime)

Parameters:

gt The LmiGregorianTime object to construct.
systemTime The system time value for which to construct a corresponding gregorian time.

Returns:

gt on success, else NULL.

Function: LmiGregorianTimeConstructCStr

Member Of:

LmiGregorianTime

Description:

Construct an LmiGregorianTime value from a NUL-terminated C string representation.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiGregorianTime* LmiGregorianTimeConstructCStr(LmiGregorianTime* gt, const char* str)

Parameters:

gt The LmiGregorianTime object to construct.
str A NUL-terminated C string representation of a Gregorian time, in ISO 8601 format, i.e. the format output by LmiGregorianTimeGetAsString, with some variation.

Returns:

gt on success, NULL on failure.

Note 1:

This function accepts the subset of ISO 8601 syntax defined by RFC 3339. The separator between the date and time may be either the capital letter T or a space.

Note 2:

If the string contains a numeric timezone offset, the resulting constructed gregorian time will be adjusted to UTC by the amount of the offset.

Function: LmiGregorianTimeConstructCopy

Member Of:

LmiGregorianTime

Description:

Construct a new LmiGregorianTime object as a copy of an existing one.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiGregorianTime* LmiGregorianTimeConstructCopy(LmiGregorianTime* dst, const LmiGregorianTime* src)

Parameters:

dst A pointer to the LmiGregorianTime object to initialize as a copy.
src An existing LmiGregorianTime object.

Returns:

A pointer to the constructed object on full successful completion, otherwise NULL.

Note 1:

LmiGregorianTime construction will not fail.

Function: LmiGregorianTimeConstructFields

Member Of:

LmiGregorianTime

Description:

Construct an LmiGregorianTime value with explicitly-set field values.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiGregorianTime* LmiGregorianTimeConstructFields(LmiGregorianTime* gt, LmiInt year, LmiInt month, LmiInt monthDay, LmiInt hour, LmiInt minute, LmiInt second, LmiTime nanosecond)

Parameters:

gt The LmiGregorianTime object to construct.
year The year value to set for the Gregorian time.
month The month value to set for the Gregorian time. This must be in the range 1 - 12.
monthDay The day-of-the-month value to set for the Gregorian time. This must be in the range 1 - 31, and must be a valid month day for the month specified.
hour The hour value to set for the Gregorian time. This must be in the range 0 - 23.
minute The minute value to set for the Gregorian time. This must be in the range 0 - 59.
second The second value to set for the Gregorian time. This must be in the range 0 - 60 (allowing for leap seconds.)
nanosecond The nanosecond value to set for the Gregorian time. This must be in the range 0 - 999 999 999.)

Returns:

gt on success, else NULL.

Note 1:

The constructor does not validate whether a leap second value represents an actual leap second. It also does not validate whether the time specified actually exists (as opposed to, say, taking place during the spring-forward interval of the local time zone).

Function: LmiGregorianTimeConstructUTC

Member Of:

LmiGregorianTime

Description:

Construct an LmiGregorianTime value, representing the time in Coordinated Universal Time, corresponding to a given wall clock time value.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiGregorianTime* LmiGregorianTimeConstructUTC(LmiGregorianTime* gt, LmiTime systemTime)

Parameters:

gt The LmiGregorianTime object to construct.
systemTime The system time value for which to construct a corresponding gregorian time.

Returns:

gt on success, else NULL.

Function: LmiGregorianTimeDestruct

Member Of:

LmiGregorianTime

Description:

Destruct an LmiGregorianTime object.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

void LmiGregorianTimeDestruct(LmiGregorianTime* gt)

Parameters:

gt The LmiGregorianTime object to destruct.

Function: LmiGregorianTimeEqual

Member Of:

LmiGregorianTime

Description:

Compare the values of two LmiGregorianTime objects for equality.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiBool LmiGregorianTimeEqual(const LmiGregorianTime* a, const LmiGregorianTime* b)

Parameters:

a A pointer to the first LmiGregorianTime object to be compared.
b A pointer to the second LmiGregorianTime object to be compared.

Returns:

LMI_TRUE if the objects pointed to are equal, otherwise LMI_FALSE.

Function: LmiGregorianTimeGetAsString

Member Of:

LmiGregorianTime

Description:

Get a string representation of a given gregorian time.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

char* LmiGregorianTimeGetAsString(const LmiGregorianTime* t, char* buf, LmiSizeT buflen)

Parameters:

t The time to represent.
buf The buffer into which to print the time.
buflen The length of the buffer pointed to by buflen. This should be at least 24 bytes (see below).

Returns:

A pointer to the buffer buf, or NULL if the buffer was too small.

Note 1:

The outputted time will be formatted as "YYYY-MM-DD HH:MM:SS.sss", i.e. ISO 8601 date format with millisecond precision. As such, the length of the passed-in buffer should be at least 24, counting room for the terminating NUL byte. (If the year is outside the range 0001 - 9999 CE, further bytes will be necessary.)

Function: LmiGregorianTimeGetHour

Member Of:

LmiGregorianTime

Description:

Get the hour value from an LmiGregorianTime.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiInt LmiGregorianTimeGetHour(const LmiGregorianTime* gt)

Parameters:

gt The LmiGregorianTime object from which to obtain the hour.

Returns:

The LmiGregorianTime object's hour field, a number in the range 0 - 23.

Function: LmiGregorianTimeGetLocalTime

Member Of:

LmiGregorianTime

Description:

Get the wall-clock time corresponding to a gregorian time, interpreted as being in the system local timezone.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiGregorianTimeGetLocalTime(const LmiGregorianTime* gt)

Parameters:

gt The gregorian time to get as local time.

Returns:

The wall-clock time corresponding to the gregorian time value, interpreted as a local time, or LMI_TIME_INFINITE on failure.

Note 1:

This function may fail if the time represented by the gregorian time is out of the range supported by the underlying system time APIs.

Note 2:

If the time represented by the gregorian time does not occur (i.e. would occur during the local time zone's spring-forward interval) the result is unspecified -- the function may fail, or may return a nearby time (e.g. adjusted for the zone change). If the time represented by the gregorian time occurs more than once (i.e. would occur during the local time zone's fall-back interval) the result will be one of the instances the time corresponds to the requested gregorian time, but it is unspecified which one.

Function: LmiGregorianTimeGetMinute

Member Of:

LmiGregorianTime

Description:

Get the minute value from an LmiGregorianTime.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiInt LmiGregorianTimeGetMinute(const LmiGregorianTime* gt)

Parameters:

gt The LmiGregorianTime object from which to obtain the minute.

Returns:

The LmiGregorianTime object's minute field, a number in the range 0 - 59.

Function: LmiGregorianTimeGetMonth

Member Of:

LmiGregorianTime

Description:

Get the month value from an LmiGregorianTime.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiInt LmiGregorianTimeGetMonth(const LmiGregorianTime* gt)

Parameters:

gt The LmiGregorianTime object from which to obtain the month.

Returns:

The LmiGregorianTime object's month field, a number in the range 1 - 12.

Function: LmiGregorianTimeGetMonthDay

Member Of:

LmiGregorianTime

Description:

Get the day-of-the-month value from an LmiGregorianTime.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiInt LmiGregorianTimeGetMonthDay(const LmiGregorianTime* gt)

Parameters:

gt The LmiGregorianTime object from which to obtain the year.

Returns:

The LmiGregorianTime object's day-of-the-month field, a number in the range 1 - 31.

Function: LmiGregorianTimeGetNanosecond

Member Of:

LmiGregorianTime

Description:

Get the nanosecond value from an LmiGregorianTime.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiGregorianTimeGetNanosecond(const LmiGregorianTime* gt)

Parameters:

gt The LmiGregorianTime object from which to obtain the nanoseconds.

Returns:

The LmiGregorianTime object's nanosecond field, a number in the range 0 - 999 999 999.

Function: LmiGregorianTimeGetSecond

Member Of:

LmiGregorianTime

Description:

Get the second value from an LmiGregorianTime.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiInt LmiGregorianTimeGetSecond(const LmiGregorianTime* gt)

Parameters:

gt The LmiGregorianTime object from which to obtain the second.

Returns:

The LmiGregorianTime object's second field, a number in the range 0 - 60 (allowing for leap seconds).

Note 1:

Whether the LmiGregorianTime object actually supports leap seconds is system-dependent.

Function: LmiGregorianTimeGetUTCTime

Member Of:

LmiGregorianTime

Description:

Get the wall-clock time corresponding to a gregorian time, interpreted as being in Universal Coordinated Time (UTC).

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiGregorianTimeGetUTCTime(const LmiGregorianTime* gt)

Parameters:

gt The gregorian time to get as UTC time.

Returns:

The wall-clock time corresponding to the gregorian time value, interpreted as a UTC time, or LMI_TIME_INFINITE on failure.

Note 1:

This function may fail if the time represented by the gregorian time is out of the range supported by the underlying system time APIs.

Function: LmiGregorianTimeGetYear

Member Of:

LmiGregorianTime

Description:

Get the year value from an LmiGregorianTime.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiInt LmiGregorianTimeGetYear(const LmiGregorianTime* gt)

Parameters:

gt The LmiGregorianTime object from which to obtain the year.

Returns:

The LmiGregorianTime object's year field.

Function: LmiGregorianTimeLess

Member Of:

LmiGregorianTime

Description:

Compare the values of two LmiGregorianTime objects for ordering.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiBool LmiGregorianTimeLess(const LmiGregorianTime* a, const LmiGregorianTime* b)

Parameters:

a A pointer to the first LmiGregorianTime object to be compared.
b A pointer to the second LmiGregorianTime object to be compared.

Returns:

LMI_TRUE if the parameter pointed to by a is less than the one pointed to by b, otherwise LMI_FALSE.

Function: LmiGregorianTimeSwap

Member Of:

LmiGregorianTime

Description:

Swap the contents of two LmiGregorianTime objects.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiBool LmiGregorianTimeSwap(LmiGregorianTime* a, LmiGregorianTime* b)

Parameters:

a A pointer to the first LmiGregorianTime object to be swapped.
b A pointer to the second LmiGregorianTime object to be swapped.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Note 1:

LmiGregorianTime swapping will not fail.

Function: LmiLogCategoryGetByName [REPLACED BY LmiLogGetCategoryByName]

Member Of:

LmiLogCategory

Description:

Get the identifier for a registered log category based on its name.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogCategory LmiLogCategoryGetByName(const char* name)

Parameters:

name The name of an LmiLogCategory whose identifier to retrieve.

Returns:

The identifier for the category, as returned by LmiLogRegisterCategory, or LMI_LOGCATEGORY_INVALID if no such category has been registered.

Note 1:

This function is linear in the number of registered categories.

Function: LmiLogCategoryGetCount [REPLACED BY LmiLogGetNumberOfCategories]

Member Of:

LmiLogCategory

Description:

Get the number of registered log categories.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiSizeT LmiLogCategoryGetCount(void)

Returns:

The number of registered log categories.

Function: LmiLogCategoryGetDescription

Member Of:

LmiLogCategory

Description:

Get the description of a registered LmiLogCategory.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

const char* LmiLogCategoryGetDescription(LmiLogCategory p)

Parameters:

p The LmiLogCategory identifier whose description to get.

Returns:

The description of the category, as passed to LmiLogRegisterCategory, or NULL if no such category has been registered.

Note 1:

Categories registered using the deprecated LmiLogCategoryRegister API will have descriptions consisting of the empty string.

Function: LmiLogCategoryGetName

Member Of:

LmiLogCategory

Description:

Get the name of a registered LmiLogCategory.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

const char* LmiLogCategoryGetName(LmiLogCategory p)

Parameters:

p The LmiLogCategory identifier whose name to get.

Returns:

The name of the category, as passed to LmiLogRegisterCategory, or NULL if no such category has been registered.

Function: LmiLogCategoryRegister [REPLACED BY LmiLogRegisterCategory]

Member Of:

LmiLogCategory

Description:

Register the name of an LmiLogCategory

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogCategory LmiLogCategoryRegister(const char* name)

Parameters:

name The name of a category to use.

Returns:

A category number, or LMI_LOGCATEGORY_INVALID on too many categories.

Note 1:

This function must be called before any function which calls a logging function using this category. Typically category registration should be done early in a category's Initialize function.

Note 2:

There is a limit, currently 512, on the number of categories that may be registered with the logging system.

Note 3:

There is no way to unregister a category.

Note 4:

Categories registered using this (deprecated) API will have descriptions consisting of the empty string.

Function: LmiLogCategorySetAddAllCategories

Member Of:

LmiLogCategorySet

Description:

Add all categories to an LmiLogCategorySet.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogCategorySetAddAllCategories(LmiLogCategorySet* s)

Parameters:

s The log category set to which add all log categories.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiLogCategorySetAddCategory

Member Of:

LmiLogCategorySet

Description:

Add a log category to a log category set.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogCategorySetAddCategory(LmiLogCategorySet* s, LmiLogCategory l)

Parameters:

s The log category set to which to add a category.
l The category to add to the set.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiLogCategorySetConstruct

Member Of:

LmiLogCategorySet

Description:

Construct a log category set (with no categories).

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogCategorySet* LmiLogCategorySetConstruct(LmiLogCategorySet* s, LmiAllocator* a)

Parameters:

s The log category set to construct.
a Allocator to use for dynamically-allocated memory for the log category.

Returns:

s on success, NULL on failure.

Function: LmiLogCategorySetConstructWithCategory

Member Of:

LmiLogCategorySet

Description:

Construct a log category set with one category included).

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogCategorySet* LmiLogCategorySetConstructWithCategory(LmiLogCategorySet* s, LmiLogCategory category, LmiAllocator* a)

Parameters:

s The log category set to construct.
category The initial log category to include.
a Allocator to use for dynamically-allocated memory for the log category.

Returns:

s on success, NULL on failure.

Function: LmiLogCategorySetDestruct

Member Of:

LmiLogCategorySet

Description:

Destruct a log category set.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogCategorySetDestruct(LmiLogCategorySet* s)

Parameters:

s The category set to destruct.

Function: LmiLogCategorySetHasCategory

Member Of:

LmiLogCategorySet

Description:

Check whether a log category set contains a given log category.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogCategorySetHasCategory(const LmiLogCategorySet* s, LmiLogCategory l)

Parameters:

s The log category set in which to check for a category.
l The category to check for.

Returns:

LMI_TRUE if the log category set contains the given log category, LMI_FALSE if not.

Function: LmiLogCategorySetIsEmpty

Member Of:

LmiLogCategorySet

Description:

Check whether a log category set is entirely empty.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogCategorySetIsEmpty(const LmiLogCategorySet* s)

Parameters:

s The log category set in which to check for any categories.

Returns:

LMI_TRUE if the category set contains no categories, LMI_FALSE otherwise.

Function: LmiLogCategorySetRemoveAllCategories

Member Of:

LmiLogCategorySet

Description:

Remove all categories from an LmiLogCategorySet.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogCategorySetRemoveAllCategories(LmiLogCategorySet* s)

Parameters:

s The log category set from which to remove all the categories.

Function: LmiLogCategorySetRemoveCategory

Member Of:

LmiLogCategorySet

Description:

Remove a log category from a log category set.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogCategorySetRemoveCategory(LmiLogCategorySet* s, LmiLogCategory l)

Parameters:

s The log category set from which to remove a category.
l The log category to remove.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiLogDebug

Member Of:

Log

Description:

Log a debug message. The event being logged describes information which may be useful to a developer to understand the code. The information is not expected to be useful to users of the system.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogDebug(LmiLogCategory category, const char* message)

Parameters:

category The category of the event being logged.
message A human-readable message describing the event being logged.

Note 1:

If the preprocessor symbol LMI_LOG_NO_DEBUG is set at compile time, this function will do nothing, and its argument will be omitted from the library's object files.

Function: LmiLogDebugFormatted

Member Of:

Log

Description:

Log a debug message, with arguments formatted from a printf-style string. The event being logged describes information which may be useful to a developer to understand the code. The information is not expected to be useful to users of the system.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogDebugFormatted(LmiLogCategory category, const char* format, ...)

Parameters:

category The category of the event being logged.
format A printf-style string formatting a human-readable message describing the event being logged. The arguments to the format follow the format string.
... Variadic arguments corresponding to the formatting string.

Note 1:

If the preprocessor symbol LMI_LOG_NO_DEBUG is set at compile time, this function will do nothing, and its arguments will be omitted from the library's object files.

Note 2:

There must be at least one argument to the format. For formats without arguments, LmiLogDebug should be used instead.

Note 3:

If the compiler does not support variadic macros, the resulting log record will not have source context set.

Function: LmiLogEnter

Member Of:

Log

Description:

Log entry into a function or block.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogEnter(LmiLogCategory category)

Parameters:

category The category of the event being logged.

Note 1:

Unless the preprocessor symbol LMI_LOG_WANT_ENTER is set at compile time, this function will do nothing.

Function: LmiLogError

Member Of:

Log

Description:

Log a continuable error. The system should be able to continue, but human intervention or diagnosis may be necessary.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogError(LmiLogCategory category, const char* message)

Parameters:

category The category of the event being logged.
message A human-readable message describing the event being logged.

Note 1:

If the preprocessor symbol LMI_LOG_NO_ERROR is set at compile time, this function will do nothing, and its argument will be omitted from the library's object files.

Function: LmiLogErrorFormatted

Member Of:

Log

Description:

Log a continuable error, with arguments formatted from a printf-style string. The system should be able to continue, but human intervention or diagnosis may be necessary.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogErrorFormatted(LmiLogCategory category, const char* format, ...)

Parameters:

category The category of the event being logged.
format A printf-style string formatting a human-readable message describing the event being logged. The arguments to the format follow the format string.
... Variadic arguments corresponding to the formatting string.

Note 1:

If the preprocessor symbol LMI_LOG_NO_ERROR is set at compile time, this function will do nothing, and its arguments will be omitted from the library's object files.

Note 2:

There must be at least one argument to the format. For formats without arguments, LmiLogError should be used instead.

Note 3:

If the compiler does not support variadic macros, the resulting log record will not have source context set.

Function: LmiLogFatal

Member Of:

Log

Description:

Log a fatal error. In all likelihood, system execution will not be able to continue.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogFatal(LmiLogCategory category, const char* message)

Parameters:

category The category of the event being logged.
message A human-readable message describing the event being logged.

Note 1:

If the preprocessor symbol LMI_LOG_NO_FATAL is set at compile time, this function will do nothing, and its argument will be omitted from the library's object files.

Function: LmiLogFatalFormatted

Member Of:

Log

Description:

Log a fatal error, with arguments formatted from a printf-style string. In all likelihood, system execution will not be able to continue.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogFatalFormatted(LmiLogCategory category, const char* format, ...)

Parameters:

category The category of the event being logged.
format A printf-style string formatting a human-readable message describing the event being logged. The arguments to the format follow the format string.
... Variadic arguments corresponding to the formatting string.

Note 1:

If the preprocessor symbol LMI_LOG_NO_FATAL is set at compile time, this function will do nothing, and its arguments will be omitted from the library's object files.

Note 2:

There must be at least one argument to the format. For formats without arguments, LmiLogFatal should be used instead.

Note 3:

If the compiler does not support variadic macros, the resulting log record will not have source context set.

Function: LmiLogGetAllCategories

Member Of:

Log

Description:

Get the names of all registered log categories.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogGetAllCategories(LmiVector(LmiString) *categories)

Parameters:

categories The names of all the log categories will be appended to this vector.

Function: LmiLogGetCategoryByIndex

Member Of:

Log

Description:

Get the identifier for a registered log category based on its index.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogCategory LmiLogGetCategoryByIndex(LmiSizeT categoryIndex)

Parameters:

categoryIndex The index of an LmiLogCategory whose identifier to retrieve. This must be less than the value returned by LmiLogGetNumberOfCategories.

Returns:

The identifier for the category, as returned by LmiLogRegisterCategory, or LMI_LOGCATEGORY_INVALID if no such category has been registered.

Function: LmiLogGetCategoryByName

Member Of:

Log

Description:

Get the identifier for a registered log category based on its name.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogCategory LmiLogGetCategoryByName(const char* name)

Parameters:

name The name of an LmiLogCategory whose identifier to retrieve.

Returns:

The identifier for the category, as returned by LmiLogRegisterCategory, or LMI_LOGCATEGORY_INVALID if no such category has been registered.

Note 1:

This function is linear in the number of registered categories.

Function: LmiLogGetConfidentialityLevel

Member Of:

Log

Description:

Gets the current, global confidentiality level.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogConfidentialityLevel LmiLogGetConfidentialityLevel()

Returns:

Returns the current confidentiality level.

Function: LmiLogGetLevelByIndex

Member Of:

Log

Description:

Get an identifier for an LmiLogLevel based on its index.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogLevel LmiLogGetLevelByIndex(LmiSizeT levelIndex)

Parameters:

levelIndex The index of an LmiLogLevel whose identifier to retrieve. This must be less than the value returned by LmiLogGetNumberOfLevels.

Returns:

An identifier for the level, or LMI_LOGLEVEL_INVALID if no such level is defined.

Function: LmiLogGetLevelByName

Member Of:

Log

Description:

Get an identifier for an LmiLogLevel based on its name.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogLevel LmiLogGetLevelByName(const char* name)

Parameters:

name The name of an LmiLogLevel whose identifier to retrieve.

Returns:

An identifier for the level, or LMI_LOGLEVEL_INVALID if no such level is defined.

Note 1:

Level names are compared case-insensitively.

Note 2:

This function is linear in the number of levels.

Function: LmiLogGetNumberOfCategories

Member Of:

Log

Description:

Get the number of registered log categories.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiSizeT LmiLogGetNumberOfCategories(void)

Returns:

The number of registered log categories.

Function: LmiLogGetNumberOfLevels

Member Of:

Log

Description:

Get the number of log levels.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiSizeT LmiLogGetNumberOfLevels(void)

Returns:

The number of log levels.

Function: LmiLogHasListener

Member Of:

Log

Description:

Test whether any listener is listening to the given log level and category.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogHasListener(LmiLogLevel level, LmiLogCategory category)

Parameters:

level The log level to test.
category The log category to test.

Returns:

LMI_TRUE if any log listener would listen to a log event with the given log level and category; LMI_FALSE otherwise.

Note 1:

This function can be used before expensive logging tests are done, for example if strings need to be formatted for the output.

Note 2:

This function is currently linear in the number of log listeners, so it should only be used if the processing necessary for logging is fairly expensive.

Function: LmiLogInfo

Member Of:

Log

Description:

Log an informational message. The event being logged describes information which may be useful or informative to a user of the system. No problems are being reported.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogInfo(LmiLogCategory category, const char* message)

Parameters:

category The category of the event being logged.
message A human-readable message describing the event being logged.

Note 1:

If the preprocessor symbol LMI_LOG_NO_INFO is set at compile time, this function will do nothing, and its argument will be omitted from the library's object files.

Function: LmiLogInfoFormatted

Member Of:

Log

Description:

Log an informational message, with arguments formatted from a printf-style string. The event being logged describes information which may be useful or informative to a user of the system. No problems are being reported.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogInfoFormatted(LmiLogCategory category, const char* format, ...)

Parameters:

category The category of the event being logged.
format A printf-style string formatting a human-readable message describing the event being logged. The arguments to the format follow the format string.
... Variadic arguments corresponding to the formatting string.

Note 1:

If the preprocessor symbol LMI_LOG_NO_INFO is set at compile time, this function will do nothing, and its arguments will be omitted from the library's object files.

Note 2:

There must be at least one argument to the format. For formats without arguments, LmiLogInfo should be used instead.

Note 3:

If the compiler does not support variadic macros, the resulting log record will not have source context set.

Function: LmiLogInitialize

Member Of:

Log

Description:

Initialize the LmiLog package.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogInitialize(void)

Returns:

LMI_TRUE on success, LMI_FALSE on initialization failure.

Function: LmiLogLeave

Member Of:

Log

Description:

Log exit from a function or block.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogLeave(LmiLogCategory category)

Parameters:

category The category of the event being logged.

Note 1:

Unless the preprocessor symbol LMI_LOG_WANT_LEAVE is set at compile time, this function will do nothing.

Function: LmiLogLevelGetByName [REPLACED BY LmiLogGetLevelByName]

Member Of:

LmiLogLevel

Description:

Get an identifier for an LmiLogLevel based on its name.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogLevel LmiLogLevelGetByName(const char* name)

Parameters:

name The name of an LmiLogLevel whose identifier to retrieve.

Returns:

The identifier the level, or LMI_LOGLEVEL_INVALID if no such level is defined.

Note 1:

Level names are compared case-insensitively.

Note 2:

This function is linear in the number of levels.

Function: LmiLogLevelGetCount [REPLACED BY LmiLogGetNumberOfLevels]

Member Of:

LmiLogLevel

Description:

Get the number of log levels.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiSizeT LmiLogLevelGetCount(void)

Returns:

The number of log levels.

Function: LmiLogLevelGetName

Member Of:

LmiLogLevel

Description:

Get a textual name of a log level, suitable for use in log output.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

const char* LmiLogLevelGetName(LmiLogLevel level)

Parameters:

level The identifier value for the level whose name to get.

Returns:

The name of the level. If the passed-in level is invalid, returns NULL.

Note 1:

The names of the levels are currently written in all capital letters.

Function: LmiLogLevelSetAddAllLevels

Member Of:

LmiLogLevelSet

Description:

Add all levels to an LmiLogLevelSet.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogLevelSetAddAllLevels(LmiLogLevelSet* s)

Parameters:

s The log level set to which add all log levels.

Function: LmiLogLevelSetAddLevel

Member Of:

LmiLogLevelSet

Description:

Add a log level to a log level set.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogLevelSetAddLevel(LmiLogLevelSet* s, LmiLogLevel l)

Parameters:

s The log level set to which to add a level.
l The level to add to the set.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiLogLevelSetConstruct

Member Of:

LmiLogLevelSet

Description:

Construct a log level set (with no levels).

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogLevelSet* LmiLogLevelSetConstruct(LmiLogLevelSet* s)

Parameters:

s The log level set to construct.

Returns:

s on success, NULL on failure.

Function: LmiLogLevelSetConstructWithLevel

Member Of:

LmiLogLevelSet

Description:

Construct a log level set with one level included.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogLevelSet* LmiLogLevelSetConstructWithLevel(LmiLogLevelSet* s, LmiLogLevel level)

Parameters:

s The log level set to construct.
level The initial log level to include.

Returns:

s on success, NULL on failure.

Function: LmiLogLevelSetDestruct

Member Of:

LmiLogLevelSet

Description:

Destruct a log level set.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogLevelSetDestruct(LmiLogLevelSet* s)

Parameters:

s The level set to destruct.

Function: LmiLogLevelSetHasLevel

Member Of:

LmiLogLevelSet

Description:

Check whether a log level set contains a given log level.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogLevelSetHasLevel(const LmiLogLevelSet* s, LmiLogLevel l)

Parameters:

s The log level set in which to check for a level.
l The level to check for.

Returns:

LMI_TRUE if the log level set contains the given log level, LMI_FALSE if not.

Function: LmiLogLevelSetIsEmpty

Member Of:

LmiLogLevelSet

Description:

Check whether a log level set is entirely empty.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogLevelSetIsEmpty(const LmiLogLevelSet* s)

Parameters:

s The log level set in which to check for any levels.

Returns:

LMI_TRUE if the level set contains no levels, LMI_FALSE otherwise.

Function: LmiLogLevelSetRemoveAllLevels

Member Of:

LmiLogLevelSet

Description:

Remove all levels from an LmiLogLevelSet.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogLevelSetRemoveAllLevels(LmiLogLevelSet* s)

Parameters:

s The log level set from which to remove all the levels.

Function: LmiLogLevelSetRemoveLevel

Member Of:

LmiLogLevelSet

Description:

Remove a log level from a log level set.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogLevelSetRemoveLevel(LmiLogLevelSet* s, LmiLogLevel l)

Parameters:

s The log level set from which to remove a level.
l The log level to remove.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiLogListenerAddCategoriesForLevel

Member Of:

LmiLogListener

Description:

Add some log categories for a given log level.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerAddCategoriesForLevel(LmiLogListener* l, const LmiLogCategorySet* categories, LmiLogLevel level)

Parameters:

l The log listener for which to add categories.
categories The categories to add on the given level.
level The log level to which to add categories.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Function: LmiLogListenerAddLevelsForCategory

Member Of:

LmiLogListener

Description:

Add some log levels to a given log category.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerAddLevelsForCategory(LmiLogListener* l, LmiLogLevelSet levels, LmiLogCategory category)

Parameters:

l The log listener to which to add levels.
levels The levels to add for the given category.
category The log category for which to add levels.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Function: LmiLogListenerAppendLevelsAndCategoriesToString

Member Of:

LmiLogListener

Description:

Append a description of log listener's levels and categories to a string.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerAppendLevelsAndCategoriesToString(const LmiLogListener* l, LmiString* logString)

Parameters:

l The log listener.
logString A buffer into which to write the log description.

Returns:

LMI_TRUE on success, LMI_FALSE otherwise.

Note 1:

The resulting string is suitable for passing to LmiLogListenerSetLevelsAndCategoriesFromString.

Function: LmiLogListenerClearAllLevelsAndCategories

Member Of:

LmiLogListener

Description:

Remove all levels and categories for a log listener.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerClearAllLevelsAndCategories(LmiLogListener* l)

Parameters:

l The log listener for which to remove all levels and categories.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Function: LmiLogListenerClearCategoriesForLevel

Member Of:

LmiLogListener

Description:

Remove some log categories for a given log level.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerClearCategoriesForLevel(LmiLogListener* l, const LmiLogCategorySet* categories, LmiLogLevel level)

Parameters:

l The log listener for which to remove categories.
categories The categories to remove for the given level.
level The level for which to remove categories.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Function: LmiLogListenerClearLevelsForCategory

Member Of:

LmiLogListener

Description:

Remove some log levels from a given log category.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerClearLevelsForCategory(LmiLogListener* l, LmiLogLevelSet levels, LmiLogCategory category)

Parameters:

l The log listener from which to remove levels.
levels The levels to remove from the given category.
category The category from which to remove levels.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Function: LmiLogListenerConstruct

Member Of:

LmiLogListener

Description:

Construct an LmiLogListener.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogListener* LmiLogListenerConstruct(LmiLogListener* l, LmiLogListenerHandleRecordCallback cb, LmiVoidPtr userData, LmiAllocator* a)

Parameters:

l A pointer to the LmiLogListener to construct.
cb The callback that is called whenever a log record is posted to the listener.
userData Local data specific to the log listener.
a Allocator to use for dynamically-allocated memory for the listener.

Returns:

l on success, NULL on failure.

Note 1:

The newly-constructed listener will not receive notifications for any log levels or categories. For the listener to be useful, the various LmiLogListenerSet* functions must be called.

Function: LmiLogListenerDestruct

Member Of:

LmiLogListener

Description:

Destruct an LmiLogListener.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogListenerDestruct(LmiLogListener* l)

Parameters:

l A pointer to the LmiLogListener to destruct.

Note 1:

This does not do deallocate any memory associated with the listener's user data field. As such, this function should generally be considered "protected", i.e. it should only be called by specific listeners' destruct functions.

Function: LmiLogListenerGetCategories

Member Of:

LmiLogListener

Description:

Obtain the set of log categories on which a log listener is receiving at least one level.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerGetCategories(const LmiLogListener* l, LmiLogCategorySet* categories)

Parameters:

l The log listeners whose categories to obtain.
categories A constructed category set. On successful return, the set of log categories the listener wishes to receive.

Returns:

LMI_TRUE on success, else LMI_FALSE

Function: LmiLogListenerGetCategoriesForLevel

Member Of:

LmiLogListener

Description:

Get the set of log categories for which a log listener is receiving log messages on a given log level.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerGetCategoriesForLevel(const LmiLogListener* l, LmiLogLevel level, LmiLogCategorySet* categories)

Parameters:

l The log listener to query.
level The log level to query.
categories A constructed category set. On successful return, the set of log categories being received on the given log level.

Returns:

LMI_TRUE on success, else LMI_FALSE.

Function: LmiLogListenerGetLevels

Member Of:

LmiLogListener

Description:

Obtain the set of log levels on which a log listener is receiving at least one category.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogLevelSet LmiLogListenerGetLevels(const LmiLogListener* l)

Parameters:

l The LmiLogListener whose levels to obtain.

Returns:

A set of LmiLogLevels on which the listener is receiving at least one category.

Function: LmiLogListenerGetLevelsAndCategoriesAsCStr

Member Of:

LmiLogListener

Description:

Get a C string describing a log listener's levels and categories.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiSizeT LmiLogListenerGetLevelsAndCategoriesAsCStr(const LmiLogListener* l, char* logString, LmiSizeT logStringSize)

Parameters:

l The log listener.
logString A buffer into which to write the log description.
logStringSize The size of the buffer.

Returns:

The total size of the string that would be written to the buffer, if unbounded.

Note 1:

If it is not truncated (i.e. the return value is less than logStringSize), the resulting string is suitable for passing to LmiLogListenerSetLevelsAndCategoriesFromString.

Function: LmiLogListenerGetLevelsForCategory

Member Of:

LmiLogListener

Description:

Get the set of log levels on which a log listener is receiving log messages for a given log category.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogLevelSet LmiLogListenerGetLevelsForCategory(const LmiLogListener* l, LmiLogCategory category)

Parameters:

l The log listener to query.
category The log category to query.

Returns:

The set of levels being received for the given log category.

Function: LmiLogListenerGetUserData

Member Of:

LmiLogListener

Description:

Get the user data pointer associated with a log listener.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiVoidPtr LmiLogListenerGetUserData(LmiLogListener* l)

Parameters:

l The LmiLogListener whose user data to retrieve.

Returns:

The userData pointer passed in when the listener was constructed.

Function: LmiLogListenerHasLevelAndCategory

Member Of:

LmiLogListener

Description:

Query whether a log listener is receiving log messages for a given log level and category.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerHasLevelAndCategory(const LmiLogListener* l, LmiLogLevel level, LmiLogCategory category)

Parameters:

l The log listener to query.
level The log level to query.
category The log category to query.

Returns:

LMI_TRUE if the log listener is receiving the level and category; LMI_FALSE otherwise.

Function: LmiLogListenerIsVerbose

Member Of:

LmiLogListener

Description:

Determine whether verbose logging is enabled on the log listener.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerIsVerbose(const LmiLogListener* l)

Parameters:

l The LmiLogListener whose verbosity is to be determined.

Returns:

LMI_TRUE if verbose logging is enabled or LMI_FALSE if it is not.

Function: LmiLogListenerSetCategoriesForLevel

Member Of:

LmiLogListener

Description:

Set which log categories should be received for a given log level on a log listener.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerSetCategoriesForLevel(LmiLogListener* l, const LmiLogCategorySet* categories, LmiLogLevel level)

Parameters:

l The log listener to set.
categories The (exact) set of log categories desired for the given level.
level The log level for which to set categories

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Function: LmiLogListenerSetLevelAndCategory

Member Of:

LmiLogListener

Description:

Set whether log messages should be received for the given log listener for the given level and category.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerSetLevelAndCategory(LmiLogListener* l, LmiLogLevel level, LmiLogCategory category, LmiBool on)

Parameters:

l The log listener to set.
level The log level to set.
category The log category to set.
on Whether messages should be received for the level and category.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Function: LmiLogListenerSetLevelsAndCategoriesFromString

Member Of:

LmiLogListener

Description:

Set a log listener's levels and categories based on a string describing the levels and categories.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerSetLevelsAndCategoriesFromString(LmiLogListener* l, const char* logParam, LmiBool add)

Parameters:

l The log listener whose levels and categories to set.
logParam

A space-separated (or comma-separated) sequence of names of log levels, each optionally followed by a category. Categories are separated from levels by the character '@'.

Either a level or category may be specified as 'all' or '*' (interchangeably), meaning all levels or categories. A level specified without a category is equivalent to a level@*.

The levels are: 'fatal', 'error', 'warning', 'info', 'debug', 'sent', 'received', 'enter', and 'leave'.

The level may be prefixed by '-' or '!' (interchangeably), meaning to remove the given level (or levels, see below) from the given category. The string 'none' is equivalent to '-all'.

The first level in the list may be prefixed by '+'. If the first level begins with a '+' or '-'/'!', the string is used to modify the listener's existing levels and categories. Otherwise, unless the add parameter is true, the levels and categories specified in the string replace all existing levels and categories for the listener. The leading character '+' may be present before other levels, but is ignored.

Unless they are preceded by '=', level names imply other levels as well. In particular, each of the levels 'fatal', 'error', 'warning', 'info', and 'debug' implies the levels higher than it, when specified positively; 'sent' and 'received' always imply each other; and 'enter' and 'leave' always imply each other.

See LmiLogGetCategoryByIndex for determining the names and descriptions of registered categories.

Level names are case-insensitive; category names are case-sensitive.

Example: "all" - all levels, all categories.

Example: "all -enter" - all categories, all levels but enter and leave.

Example: "*@LmiMutex" - all levels for the LmiMutex category.

Example: "-*@LmiMutex" - remove all levels from the LmiMutex category.

Example: "debug" - all categories, fatal, error, warning, info, and debug levels.

Example: "=debug" - all categories, debug level only.

Example: "all -=enter" - all categories, all levels but enter (leave is still included).

Example: "error@LmiMutex" - fatal and error only for the LmiMutex category.

Example: "warning debug@LmiMutex" - fatal, error, and warning for all categories; additionally, info and debug for the LmiMutex category.

add Whether the levels and categories specified should replace the existing state of the log listener (LMI_FALSE), or modify it (LMI_TRUE). Typically this is useful if a log category description is pre-tokenized before being passed to the log listener; add can be false for the first token and true for the rest. As stated above, if the log string begins with '+' or '-', it always modifies the listener's existing settings, regardless of the value of this flag.

Returns:

LMI_FALSE on failure parsing the string or setting the levels and categories, otherwise LMI_TRUE.

Function: LmiLogListenerSetLevelsForCategory

Member Of:

LmiLogListener

Description:

Set which log levels should be received for a given log category on a log listener.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogListenerSetLevelsForCategory(LmiLogListener* l, LmiLogLevelSet levels, LmiLogCategory category)

Parameters:

l The log listener to set.
levels The (exact) set of log levels desired for the given category.
category The log category for which to set levels.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Function: LmiLogListenerSetVerbose

Member Of:

LmiLogListener

Description:

Set the verbosity of the log messages reported by the log listener.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogListenerSetVerbose(LmiLogListener* l, LmiBool verbose)

Parameters:

l The LmiLogListener whose verbosity is to be set.
verbose LMI_TRUE to enable verbose logging or LMI_FALSE to disable verbose logging.

Function: LmiLogListenerVerbose [REPLACED BY LmiLogListenerSetVerbose]

Member Of:

LmiLogListener

Description:

Set the verbosity of the log messages reported by the log listener.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogListenerVerbose(LmiLogListener* l, LmiBool verbose)

Parameters:

l The LmiLogListener whose verbosity is to be set.
verbose LMI_TRUE to enable verbose logging or LMI_FALSE to disable verbose logging.

Function: LmiLogObfuscate

Member Of:

Log

Description:

Obfuscate (or not) a string based on the current log confidentiality level. If the confidentiality level in high enough (for example LMI_LOGCONFIDENTIALITYLEVEL_ExcludePersonallyIdentifiableInformation), the obfuscated string will contain a one-way hash of the clear text. If the confidentiality level in low enough (LMI_LOGCONFIDENTIALITYLEVEL_None), the clear text is simply copied to the obfuscated string.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

const LmiString* LmiLogObfuscate(const LmiString* clear, LmiString* obfuscated)

Parameters:

clear The clear text to obfuscate.
obfuscated The obfuscated text.

Returns:

Returns a point to the obfuscated text.

Function: LmiLogReceived

Member Of:

Log

Description:

Log received data. The event being logged describes data that has been received by the system.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogReceived(LmiLogCategory category, const char* message)

Parameters:

category The category of the event being logged.
message The data that was received.

Note 1:

If the preprocessor symbol LMI_LOG_NO_RECEIVED is set at compile time, this function will do nothing, and its argument will be omitted from the library's object files.

Function: LmiLogReceivedFormatted

Member Of:

Log

Description:

Log received data, with arguments formatted from a printf-style string. The event being logged describes data that has been received by the system.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogReceivedFormatted(LmiLogCategory category, const char* format, ...)

Parameters:

category The category of the event being logged.
format A printf-style string formatting a human-readable message describing the event being logged. The arguments to the format follow the format string.
... Variadic arguments corresponding to the formatting string.

Note 1:

If the preprocessor symbol LMI_LOG_NO_RECEIVED is set at compile time, this function will do nothing, and its arguments will be omitted from the library's object files.

Note 2:

There must be at least one argument to the format. For formats without arguments, LmiLogReceived should be used instead.

Note 3:

If the compiler does not support variadic macros, the resulting log record will not have source context set.

Function: LmiLogRecordGetCategory

Member Of:

LmiLogRecord

Description:

Get the category associated with a logged event.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogCategory LmiLogRecordGetCategory(const LmiLogRecord* r)

Parameters:

r The log record from which to obtain the category.

Returns:

The category associated with the message described by this log record.

Note 1:

This will always be a single category.

Function: LmiLogRecordGetFile

Member Of:

LmiLogRecord

Description:

Get the filename associated with a logged event.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

const char* LmiLogRecordGetFile(const LmiLogRecord* r)

Parameters:

r The log record from which to obtain a file name.

Returns:

The name of the C source file which logged the message described by this log record. If this is not available or not meaningful, this will be the empty string "".

Function: LmiLogRecordGetFunction

Member Of:

LmiLogRecord

Description:

Get the name of the function associated with a logged event.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

const char* LmiLogRecordGetFunction(const LmiLogRecord* r)

Parameters:

r The log record from which to obtain a function name.

Returns:

The name of the C source function which logged the message described by this log record. If this is not available or not meaningful, this will be the value "".

Function: LmiLogRecordGetLevel

Member Of:

LmiLogRecord

Description:

Get the level associated with a logged event.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogLevel LmiLogRecordGetLevel(const LmiLogRecord* r)

Parameters:

r The log record from which to obtain the level.

Returns:

The level of the message described by this log record.

Note 1:

This will always be a single level.

Function: LmiLogRecordGetLine

Member Of:

LmiLogRecord

Description:

Get the line number associated with a logged event.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiInt LmiLogRecordGetLine(const LmiLogRecord* r)

Parameters:

r The log record from which to obtain a line number.

Returns:

The line number of the C source which logged the message described by this log record. If this is not available or not meaningful, this will be the value 0.

Function: LmiLogRecordGetMessage

Member Of:

LmiLogRecord

Description:

Get the message associated with a logged event.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

const char* LmiLogRecordGetMessage(const LmiLogRecord* r)

Parameters:

r The log record from which to obtain the message.

Returns:

The message described by this log record. If this is not available or not meaningful, this will be the value "".

Function: LmiLogRecordGetThreadId

Member Of:

LmiLogRecord

Description:

Get the thread id of the thread associated with a logged event.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiThreadId LmiLogRecordGetThreadId(const LmiLogRecord* r)

Parameters:

r The log record from which to obtain the thread name.

Returns:

The thread id of the thread which logged the event described by this log record.

Function: LmiLogRecordGetThreadName

Member Of:

LmiLogRecord

Description:

Get the name of the thread associated with a logged event.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

const char* LmiLogRecordGetThreadName(const LmiLogRecord* r)

Parameters:

r The log record from which to obtain the thread name.

Returns:

The name of the thread which logged the event described by this log record. If this is not available, this will be the string "[System thread]".

Function: LmiLogRecordGetTime

Member Of:

LmiLogRecord

Description:

Get the wall-clock time at which a logged event occurred.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiTime LmiLogRecordGetTime(const LmiLogRecord* r)

Parameters:

r The log record from which to obtain the wall-clock time.

Returns:

The wall-clock time at which the event described by this log record occurred. If this is not available, this will be the value LMI_TIME_INFINITE.

Function: LmiLogRegisterCategory

Member Of:

Log

Description:

Create and register a log category.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiLogCategory LmiLogRegisterCategory(const char* name, const char* description)

Parameters:

name The name of a log category to create and register.
description A description of the log category being registered.

Returns:

An identifier for the category, or LMI_LOGCATEGORY_INVALID if too many categories have been registered.

Note 1:

This function must be called before any function which calls a logging function using this category. Typically category registration should be done early in a library's Initialize function, early in its categories' execution.

Note 2:

There is a limit, currently 512, on the number of categories that may be registered with the logging system.

Note 3:

There is no way to unregister a category.

Function: LmiLogRegisterListener

Member Of:

Log

Description:

Register an LmiLogListener to receive log messages.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogRegisterListener(LmiLogListener* l)

Parameters:

l The LmiLogListener to register.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Note 1:

The caller maintains ownership of the log listener. The listener object must remain valid for the lifetime of the program, or until it is unregistered.

Note 2:

The number of distinct listeners that may be registered is limited only by available memory.

Function: LmiLogSent

Member Of:

Log

Description:

Log sent data. The event being logged describes data that has been transmitted by the system.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogSent(LmiLogCategory category, const char* message)

Parameters:

category The category of the event being logged.
message The data that was sent.

Note 1:

If the preprocessor symbol LMI_LOG_NO_SENT is set at compile time, this function will do nothing, and its argument will be omitted from the library's object files.

Function: LmiLogSentFormatted

Member Of:

Log

Description:

Log sent data, with arguments formatted from a printf-style string. The event being logged describes data that has been transmitted by the system.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogSentFormatted(LmiLogCategory category, const char* format, ...)

Parameters:

category The category of the event being logged.
format A printf-style string formatting a human-readable message describing the event being logged. The arguments to the format follow the format string.
... Variadic arguments corresponding to the formatting string.

Note 1:

If the preprocessor symbol LMI_LOG_NO_SENT is set at compile time, this function will do nothing, and its arguments will be omitted from the library's object files.

Note 2:

There must be at least one argument to the format. For formats without arguments, LmiLogSent should be used instead.

Note 3:

If the compiler does not support variadic macros, the resulting log record will not have source context set.

Function: LmiLogSetConfidentialityLevel

Member Of:

Log

Description:

Sets the current, global confidentiality level.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogSetConfidentialityLevel(LmiLogConfidentialityLevel confidentialityLevel)

Parameters:

confidentialityLevel The confidentiality level.

Function: LmiLogUninitialize

Member Of:

Log

Description:

Uninitialize the LmiLog package.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogUninitialize(void)

Function: LmiLogUnregisterListener

Member Of:

Log

Description:

Unregister an LmiLogListener from receiving log messages.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

LmiBool LmiLogUnregisterListener(LmiLogListener* l)

Parameters:

l The LmiLogListener to unregister.

Returns:

LMI_TRUE on success, LMI_FALSE if the listener was not registered.

Note 1:

To be removed, the pointer argument must compare equal to a previously registered listener. No semantic equality operation is defined for log listeners.

Note 2:

This function is linear in the number of registered listeners.

Function: LmiLogWarning

Member Of:

Log

Description:

Log a warning. Something has occurred which may require attention or action, but which is not actually erroneous.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogWarning(LmiLogCategory category, const char* message)

Parameters:

category The category of the event being logged.
message A human-readable message describing the event being logged.

Note 1:

If the preprocessor symbol LMI_LOG_NO_WARNING is set at compile time, this function will do nothing, and its argument will be omitted from the library's object files.

Function: LmiLogWarningFormatted

Member Of:

Log

Description:

Log a warning, with arguments formatted from a printf-style string. Something has occurred which may require attention or action, but which is not actually erroneous.

Include:

Lmi/Os/LmiLog.h

Library:

LmiOs

Syntax:

void LmiLogWarningFormatted(LmiLogCategory category, const char* format, ...)

Parameters:

category The category of the event being logged.
format A printf-style string formatting a human-readable message describing the event being logged. The arguments to the format follow the format string.
... Variadic arguments corresponding to the formatting string.

Note 1:

If the preprocessor symbol LMI_LOG_NO_WARNING is set at compile time, this function will do nothing, and its arguments will be omitted from the library's object files.

Note 2:

There must be at least one argument to the format. For formats without arguments, LmiLogWarning should be used instead.

Note 3:

If the compiler does not support variadic macros, the resulting log record will not have source context set.

Function: LmiMallocAllocatorConstruct

Member Of:

LmiMallocAllocator

Description:

Construct a new LmiMallocAllocator.

Include:

Lmi/Os/LmiMallocAllocator.h

Library:

LmiOs

Syntax:

LmiAllocator* LmiMallocAllocatorConstruct(LmiAllocator* a)

Parameters:

a A pointer to an uninitialized LmiAllocator.

Returns:

The initialized LmiMallocAllocator, or NULL on failure.

Function: LmiMallocAllocatorDestruct

Member Of:

LmiMallocAllocator

Description:

Destruct an LmiMallocAllocator.

Include:

Lmi/Os/LmiMallocAllocator.h

Library:

LmiOs

Syntax:

void LmiMallocAllocatorDestruct(LmiAllocator* a)

Parameters:

a A pointer to an LmiMallocAllocator to destruct.

Function: LmiMallocAllocatorGet [REPLACED BY LmiMallocAllocatorGetDefault]

Member Of:

LmiMallocAllocator

Description:

Get the single, global LmiMallocAllocator.

Include:

Lmi/Os/LmiMallocAllocator.h

Library:

LmiOs

Syntax:

LmiAllocator* LmiMallocAllocatorGet(void)

Returns:

The global LmiMallocAllocator created by LmiMallocAllocatorInitialize().

Note 1:

To avoid creating redundant instances of LmiMallocAllocator, thus function should generally be used in preference to LmiMallocAllocatorConstruct.

Function: LmiMallocAllocatorGetDefault

Member Of:

LmiMallocAllocator

Description:

Get the single, global LmiMallocAllocator.

Include:

Lmi/Os/LmiMallocAllocator.h

Library:

LmiOs

Syntax:

LmiAllocator* LmiMallocAllocatorGetDefault(void)

Returns:

The global LmiMallocAllocator created by LmiMallocAllocatorInitialize().

Note 1:

To avoid creating redundant instances of LmiMallocAllocator, this function should generally be used in preference to LmiMallocAllocatorConstruct.

Function: LmiMallocAllocatorInitialize

Member Of:

LmiMallocAllocator

Description:

Initialize LmiMallocAllocator, so LmiMallocAllocatorGet works.

Include:

Lmi/Os/LmiMallocAllocator.h

Library:

LmiOs

Syntax:

LmiBool LmiMallocAllocatorInitialize(void)

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Function: LmiMallocAllocatorUninitialize

Member Of:

LmiMallocAllocator

Description:

Uninitialize LmiMallocAllocator.

Include:

Lmi/Os/LmiMallocAllocator.h

Library:

LmiOs

Syntax:

void LmiMallocAllocatorUninitialize(void)

Function: LmiOsGetMajorVersion

Member Of:

Os

Description:

Get the major version of the underlying operating system.

Include:

Lmi/Os/LmiOs.h

Library:

LmiOs

Syntax:

LmiInt LmiOsGetMajorVersion(void)

Returns:

Returns the major version number.

Function: LmiOsGetMinorVersion

Member Of:

Os

Description:

Get the minor version of the underlying operating system.

Include:

Lmi/Os/LmiOs.h

Library:

LmiOs

Syntax:

LmiInt LmiOsGetMinorVersion(void)

Returns:

Returns the minor version number.

Function: LmiOsGetName

Member Of:

Os

Description:

Get the name of underlying operating system as a human readable string; appropriate for display, bug reporting, etc.

Include:

Lmi/Os/LmiOs.h

Library:

LmiOs

Syntax:

LmiString* LmiOsGetName(LmiString* s)

Parameters:

s A string into which the operating system name will be written.

Returns:

Returns a point to the string containing the operating system name or NULL on error.

Function: LmiOsGetPatchVersion

Member Of:

Os

Description:

Get the patch version of the underlying operating system.

Include:

Lmi/Os/LmiOs.h

Library:

LmiOs

Syntax:

LmiInt LmiOsGetPatchVersion(void)

Returns:

Returns the patch version number.

Function: LmiOsGetVersionAsString

Member Of:

Os

Description:

Get the underlying operating system version as a human readable string; appropriate for display, bug reporting, etc.; not appropriate for parsing.

Include:

Lmi/Os/LmiOs.h

Library:

LmiOs

Syntax:

LmiString* LmiOsGetVersionAsString(LmiString* s)

Parameters:

s A string into which the version will be written.

Returns:

Returns a point to the string containing the version or NULL on error.

Function: LmiOsInitialize

Member Of:

Os

Description:

Initialize all operating-system-dependent components of the Vidyo SDK.

Include:

Lmi/Os/LmiOs.h

Library:

LmiOs

Syntax:

LmiBool LmiOsInitialize(void)

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Note 1:

This function is not reentrant.

Note 2:

This function may be called multiple times as long as its corresponding LmiOsUninitialize function is called the same number of times.

Function: LmiOsUninitialize

Member Of:

Os

Description:

Uninitialize all operating-system-dependent components of the Vidyo SDK.

Include:

Lmi/Os/LmiOs.h

Library:

LmiOs

Syntax:

void LmiOsUninitialize(void)

Note 1:

This function is not reentrant.

Note 2:

This function must be called the same number of times as LmiOsInitialize was called.

Function: LmiPoolAllocatorConstruct

Member Of:

LmiPoolAllocator

Description:

Construct an LmiPoolAllocator.

Include:

Lmi/Os/LmiPoolAllocator.h

Library:

LmiOs

Syntax:

LmiAllocator* LmiPoolAllocatorConstruct(LmiAllocator* poolAlloc, LmiAllocator* pageAlloc, LmiAllocator* stateAlloc, LmiSizeT maxBlockSize, LmiSizeT numBlocksPerPage)

Parameters:

poolAlloc A pointer to an uninitialized LmiAllocator object.
pageAlloc A pointer to a previously constructed LmiAllocator object responsible for page allocation.
stateAlloc A pointer to a previously constructed LmiAllocator object responsible for allocation of pool allocator internal state variables.
maxBlockSize The maximum memory block size allocatable with the pool allocator.
numBlocksPerPage The number of blocks contained in each page.

Returns:

The initialized allocator, or NULL on failure.

Function: LmiPoolAllocatorDestruct

Member Of:

LmiPoolAllocator

Description:

Destruct an LmiPoolAllocator.

Include:

Lmi/Os/LmiPoolAllocator.h

Library:

LmiOs

Syntax:

void LmiPoolAllocatorDestruct(LmiAllocator* a)

Parameters:

a The allocator object to destruct.

Note 1:

The allocator object has to have been previously constructed using LmiPoolAllocatorConstruct.

Function: LmiPoolAllocatorInitialize

Member Of:

LmiPoolAllocator

Description:

Initialize LmiPoolAllocator.

Include:

Lmi/Os/LmiPoolAllocator.h

Library:

LmiOs

Syntax:

LmiBool LmiPoolAllocatorInitialize(void)

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Function: LmiPoolAllocatorUninitialize

Member Of:

LmiPoolAllocator

Description:

Uninitialize LmiPoolAllocator.

Include:

Lmi/Os/LmiPoolAllocator.h

Library:

LmiOs

Syntax:

void LmiPoolAllocatorUninitialize(void)

Function: LmiProcessGetCurrentProcessId

Member Of:

Os

Description:

Gets the process ID of the current process.

Include:

Lmi/Os/LmiProcess.h

Library:

LmiOs

Syntax:

LmiProcessId LmiProcessGetCurrentProcessId()

Returns:

Returns the process ID of the current process or 0 on failure.

Function: LmiProcessIdAssign

Member Of:

LmiProcessId

Description:

Assigns the content of one process ID to another process ID.

Include:

Lmi/Os/LmiProcess.h

Library:

LmiOs

Syntax:

LmiProcessId* LmiProcessIdAssign(LmiProcessId* x, const LmiProcessId* y)

Parameters:

x The process ID to assign.
y The process ID to assign from.

Returns:

Returns a pointer to the assigned to process ID or NULL on error.

Function: LmiProcessIdConstructCopy

Member Of:

LmiProcessId

Description:

Construct a process ID from another process ID.

Include:

Lmi/Os/LmiProcess.h

Library:

LmiOs

Syntax:

LmiProcessId* LmiProcessIdConstructCopy(LmiProcessId* x, const LmiProcessId* y)

Parameters:

x The process ID.
y The process ID to initialize from.

Returns:

Returns the constructed object or NULL on error.

Function: LmiProcessIdDestruct

Member Of:

LmiProcessId

Description:

Destructs a process ID.

Include:

Lmi/Os/LmiProcess.h

Library:

LmiOs

Syntax:

void LmiProcessIdDestruct(LmiProcessId* x)

Parameters:

x The process ID.

Function: LmiProcessIdEqual

Member Of:

LmiProcessId

Description:

Compares two process IDs for equality.

Include:

Lmi/Os/LmiProcess.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessIdEqual(const LmiProcessId* x, const LmiProcessId* y)

Parameters:

x One of the process ID.
y The other process ID.

Returns:

Returns LMI_TRUE if the process IDs are equal or LMI_FALSE otherwise.

Function: LmiProcessIdLess

Member Of:

LmiProcessId

Description:

Compares two process IDs for less-than equality.

Include:

Lmi/Os/LmiProcess.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessIdLess(const LmiProcessId* x, const LmiProcessId* y)

Parameters:

x One of the process IDs.
y The other process ID.

Returns:

Returns LMI_TRUE if the first process ID is less than the second process ID or LMI_FALSE otherwise.

Function: LmiProcessIdSwap

Member Of:

LmiProcessId

Description:

Swaps two process ID objects.

Include:

Lmi/Os/LmiProcess.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessIdSwap(LmiProcessId* x, LmiProcessId* y)

Parameters:

x One of the process IDs.
y The other process ID.

Returns:

Returns LMI_TRUE if the process IDs were swapped or LMI_FALSE otherwise.

Function: LmiProcessorArmArchitectureGetName

Member Of:

LmiProcessor

Description:

Get a textual description of an ARM architecture value.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

const char* LmiProcessorArmArchitectureGetName(LmiProcessorArmArch armArch)

Parameters:

armArch The ARM architecture.

Returns:

The textual description of the architecture.

Function: LmiProcessorGetArch

Member Of:

LmiProcessor

Description:

Get the architecture of an LmiProcessor.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiProcessorArch LmiProcessorGetArch(const LmiProcessor* p)

Parameters:

p The processor whose architecture to get.

Returns:

The architecture described in the processor.

Function: LmiProcessorGetArmArchitecture

Member Of:

LmiProcessor

Description:

Get an ARM CPU's architecture type.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiProcessorArmArch LmiProcessorGetArmArchitecture(const LmiProcessor* p)

Parameters:

p The processor whose architecture type to get.

Returns:

The CPU's architecture type, or LMI_PROCESSORARMARCH_Unknown if the type is unknown or if this is not an ARM CPU.

Function: LmiProcessorGetArmImplementer

Member Of:

LmiProcessor

Description:

Get an ARM CPU's implementor ID.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint LmiProcessorGetArmImplementer(const LmiProcessor* p)

Parameters:

p The processor whose implementor to get.

Returns:

The ARM implementor ID, or 0 if this is not an ARM CPU.

Note 1:

This is currently only supported on Linux-based ARM OSes; it will be 0 on iOS.

Function: LmiProcessorGetArmPart

Member Of:

LmiProcessor

Description:

Get an ARM CPU's part ID.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint LmiProcessorGetArmPart(const LmiProcessor* p)

Parameters:

p The processor whose part ID to get.

Returns:

The ARM part ID, or 0 if this is not an ARM CPU.

Note 1:

This is currently only supported on Linux-based ARM OSes; it will be 0 on iOS.

Function: LmiProcessorGetArmRevision

Member Of:

LmiProcessor

Description:

Get an ARM CPU's revision ID.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint LmiProcessorGetArmRevision(const LmiProcessor* p)

Parameters:

p The processor whose revision ID to get.

Returns:

The ARM revision ID, or 0 if this is not an ARM CPU.

Note 1:

This is currently only supported on Linux-based ARM OSes; it will be 0 on iOS.

Function: LmiProcessorGetArmVariant

Member Of:

LmiProcessor

Description:

Get an ARM CPU's variant ID.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint LmiProcessorGetArmVariant(const LmiProcessor* p)

Parameters:

p The processor whose variant ID to get.

Returns:

The ARM variant ID, or 0 if this is not an ARM CPU.

Note 1:

This is currently only supported on Linux-based ARM OSes; it will be 0 on iOS.

Function: LmiProcessorGetCurrent

Member Of:

LmiProcessor

Description:

Get a description of the processor on which the system is running.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

const LmiProcessor* LmiProcessorGetCurrent(void)

Returns:

A description of the current processor.

Function: LmiProcessorGetModel

Member Of:

LmiProcessor

Description:

Get the model of an LmiProcessor.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiProcessorModel LmiProcessorGetModel(const LmiProcessor* p)

Parameters:

p The processor whose model to get.

Returns:

The system's model, or LMI_PROCESSORMODEL_Unknown if it is unknown.

Note 1:

This is currently only supported for Intel CPUs.

Function: LmiProcessorGetNumLogicalCores

Member Of:

LmiProcessor

Description:

Get a processor's number of logical CPU cores (including hyperthreading).

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint LmiProcessorGetNumLogicalCores(const LmiProcessor* p)

Parameters:

p The processor whose number of physical cores to get.

Returns:

The number of logical CPU cores.

Note 1:

This is the total number of available logical CPU cores, not all of which may necessarily be enabled at any given time.

Function: LmiProcessorGetNumPhysicalCores

Member Of:

LmiProcessor

Description:

Get a processor's number of physical CPU cores (ignoring hyperthreading).

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint LmiProcessorGetNumPhysicalCores(const LmiProcessor* p)

Parameters:

p The processor whose number of physical cores to get.

Returns:

The number of physical CPU cores.

Note 1:

This is the total number of available physical CPU cores, not all of which may necessarily be enabled at any given time.

Function: LmiProcessorGetSpeed

Member Of:

LmiProcessor

Description:

Get a processor's frequency, in MHz.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint LmiProcessorGetSpeed(const LmiProcessor* p)

Parameters:

p The processor whose frequency to get.

Returns:

The processor's frequency, or 0 if unknown.

Function: LmiProcessorGetTimes

Member Of:

LmiProcessor

Description:

Return a description of the current total processor time used by all cores of a processor.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorGetTimes(const LmiProcessor* p, LmiProcessorTimes* t)

Parameters:

p The processor from which to get its current times.
t A constructed LmiProcessorTimes object into which to place the time usage.

Returns:

LMI_TRUE if the time was successfully returned; LMI_FALSE otherwise.

Function: LmiProcessorGetTimesPerCore

Member Of:

LmiProcessor

Description:

Return a description of the current processor time used by each core of a processor.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorGetTimesPerCore(const LmiProcessor* p, LmiProcessorTimes* t, LmiUint* n)

Parameters:

p The processor from which to get the times for each of its cores.
t An array of constructed LmiProcessorTimes objects into which to place the cores' time usages.
n On input, a pointer to the size of the array pointed to by t. (This should be of size at least as big as the processor's number of logical cores.) On return, the actual number of cores whose data is filled in. This may be less than the total number of logical cores, if some cores have been disabled.

Returns:

LMI_TRUE if the times were successfully returned; LMI_FALSE otherwise.

Function: LmiProcessorGetVendor

Member Of:

LmiProcessor

Description:

Get the vendor (manufacturer) of the CPU of an LmiProcessor.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiProcessorVendor LmiProcessorGetVendor(const LmiProcessor* p)

Parameters:

p The processor whose vendor to get.

Returns:

The vendor described in the processor.

Function: LmiProcessorGetX86FamilyId

Member Of:

LmiProcessor

Description:

Get an x86 CPU's extended CPU family ID.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint LmiProcessorGetX86FamilyId(const LmiProcessor* p)

Parameters:

p The processor whose extended family ID to get.

Returns:

The extended family id, or 0 if this is not an X86 CPU.

Function: LmiProcessorGetX86ModelId

Member Of:

LmiProcessor

Description:

Get an x86 CPU's extended CPU model ID.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint LmiProcessorGetX86ModelId(const LmiProcessor* p)

Parameters:

p The processor whose extended model ID to get.

Returns:

The extended model id, or 0 if this is not an X86 CPU.

Function: LmiProcessorGetX86ProcessorBrandString

Member Of:

LmiProcessor

Description:

Get an X86 CPU's processor brand string, e.g. "Intel(R) Core(TM)2 Duo CPU &#160; &#160; T7500 &#160;@ 2.20GHz".

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorGetX86ProcessorBrandString(const LmiProcessor* p, char nameBuf[49])

Parameters:

p The processor whose brand string to get.
nameBuf A buffer into which to place the CPU's brand ID string. On successful return, the brand ID will be copied to this buffer, as a NUL-terminated string.

Returns:

LMI_TRUE if the brand ID string was successfully copied to the buffer, LMI_FALSE otherwise (including if the processor was not an X86 CPU).

Function: LmiProcessorGetX86SteppingId

Member Of:

LmiProcessor

Description:

Get an x86 CPU's stepping ID.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint LmiProcessorGetX86SteppingId(const LmiProcessor* p)

Parameters:

p The processor whose extended model ID to get.

Returns:

The stepping ID, or 0 if this is not an X86 CPU.

Function: LmiProcessorGetX86VendorId

Member Of:

LmiProcessor

Description:

Get an X86 CPU's vendor ID string, e.g. "GenuineIntel" or "AuthenticAMD".

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorGetX86VendorId(const LmiProcessor* p, char nameBuf[13])

Parameters:

p The processor whose vendor ID to get.
nameBuf A buffer into which to place the CPU's vendor ID string. On successful return, the vendor ID will be copied to this buffer, as a NUL-terminated string.

Returns:

LMI_TRUE if the vendor ID string was successfully copied to the buffer, LMI_FALSE otherwise (including if the processor was not an X86 CPU).

Function: LmiProcessorHasAes

Member Of:

LmiProcessor

Description:

Return whether a processor supports Intel AES-NI instructions.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasAes(const LmiProcessor* p)

Parameters:

p The processor to query for Intel AES-NI.

Returns:

Whether the processor supports Intel AES-NI instructions.

Function: LmiProcessorHasArmCrypt

Member Of:

LmiProcessor

Description:

Return whether the processor supports ARM Cryptographic instructions.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasArmCrypt(const LmiProcessor* p)

Parameters:

p The processor to query for ARM Cryptographic instructions.

Returns:

Whether the processor supports ARM Cryptographic instructions.

Function: LmiProcessorHasAvx

Member Of:

LmiProcessor

Description:

Return whether a processor supports Intel AVX instructions.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasAvx(const LmiProcessor* p)

Parameters:

p The processor to query for Intel AVX.

Returns:

Whether the processor supports Intel AVX instructions.

Function: LmiProcessorHasAvx2

Member Of:

LmiProcessor

Description:

Return whether a processor supports Intel AVX2 instructions.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasAvx2(const LmiProcessor* p)

Parameters:

p The processor to query for Intel AVX2.

Returns:

Whether the processor supports Intel AVX2 instructions.

Function: LmiProcessorHasHyperthreading

Member Of:

LmiProcessor

Description:

Return whether a processor supports Intel Hyperthreading.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasHyperthreading(const LmiProcessor* p)

Parameters:

p The processor to query for Intel Hyperthreading.

Returns:

Whether the processor supports Intel Hyperthreading.

Function: LmiProcessorHasNeon

Member Of:

LmiProcessor

Description:

Return whether the processor supports ARM NEON instructions.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasNeon(const LmiProcessor* p)

Parameters:

p The processor to query for ARM NEON.

Returns:

Whether the processor supports ARM NEON instructions.

Function: LmiProcessorHasSse

Member Of:

LmiProcessor

Description:

Return whether a processor supports Intel SSE instructions.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasSse(const LmiProcessor* p)

Parameters:

p The processor to query for Intel SSE.

Returns:

Whether a processor supports Intel SSE instructions.

Function: LmiProcessorHasSse2

Member Of:

LmiProcessor

Description:

Return whether a processor supports Intel SSE2 instructions.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasSse2(const LmiProcessor* p)

Parameters:

p The processor to query for Intel SSE2.

Returns:

Whether the processor supports Intel SSE2 instructions.

Function: LmiProcessorHasSse3

Member Of:

LmiProcessor

Description:

Return whether a processor supports Intel SSE3 instructions.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasSse3(const LmiProcessor* p)

Parameters:

p The processor to query for Intel SSE3.

Returns:

Whether the processor supports Intel SSE3 instructions.

Function: LmiProcessorHasSse4_1

Member Of:

LmiProcessor

Description:

Return whether a processor supports Intel SSE4.1 instructions.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasSse4_1(const LmiProcessor* p)

Parameters:

p The processor to query for Intel SSE4.1.

Returns:

Whether the processor supports Intel SSE4.1 instructions.

Function: LmiProcessorHasSse4_2

Member Of:

LmiProcessor

Description:

Return whether a processor supports Intel SSE4.2 instructions.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasSse4_2(const LmiProcessor* p)

Parameters:

p The processor to query for Intel SSE4.2.

Returns:

Whether the processor supports Intel SSE4.2 instructions.

Function: LmiProcessorHasSsse3

Member Of:

LmiProcessor

Description:

Return whether a processor supports Intel Supplemental SSE3 instructions.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiBool LmiProcessorHasSsse3(const LmiProcessor* p)

Parameters:

p The processor to query for Intel Supplemental SSE3.

Returns:

Whether the processor supports Intel Supplemental SSE3 instructions.

Function: LmiProcessorModelGetName

Member Of:

LmiProcessor

Description:

Get a textual description of a processor model identifier.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

const char* LmiProcessorModelGetName(LmiProcessorModel model)

Parameters:

model The processor model.

Returns:

A textual description of the processor model.

Function: LmiProcessorTimesAssign

Member Of:

LmiProcessorTimes

Description:

Assign the value of one LmiProcessorTimes object to another one.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiProcessorTimes* LmiProcessorTimesAssign(LmiProcessorTimes* dst, const LmiProcessorTimes* src)

Parameters:

dst A pointer to the LmiProcessorTimes object to be assigned.
src A pointer to an existing LmiProcessorTimes object.

Returns:

A pointer to dst, or NULL on failure.

Function: LmiProcessorTimesCalcAvgUsage

Member Of:

LmiProcessorTimes

Description:

Calculate percentage CPU usage that has occurred between two LmiProcessorTimes instances.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint LmiProcessorTimesCalcAvgUsage(const LmiProcessorTimes* t1, const LmiProcessorTimes* t2)

Parameters:

t1 An earlier LmiProcessorTimes object.
t2 A later LmiProcessorTimes object.

Returns:

The usage level of the processor in this interval, as a percentage.

Note 1:

If the two LmiProcessorTimes objects have the same total time -- indicating that no time has elapsed between them -- the value returned will instead be the percentage usage represented in t2.

Function: LmiProcessorTimesConstructCopy

Member Of:

LmiProcessorTimes

Description:

Construct a new LmiProcessorTimes object as a copy of an existing one.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiProcessorTimes* LmiProcessorTimesConstructCopy(LmiProcessorTimes* dst, const LmiProcessorTimes* src)

Parameters:

dst A pointer to the LmiProcessorTimes object to initialize as a copy.
src An existing LmiProcessorTimes object.

Returns:

The constructed object on success, otherwise NULL.

Function: LmiProcessorTimesConstructDefault

Member Of:

LmiProcessorTimes

Description:

Construct a default instance of an LmiProcessorTimes object.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiProcessorTimes* LmiProcessorTimesConstructDefault(LmiProcessorTimes* obj)

Parameters:

obj A pointer to the LmiProcessorTimes object to initialize.

Returns:

The constructed object on success, otherwise NULL.

Note 1:

Both the total time and idle time values of the LmiProcessorTimes object will be initialized with the value 0.

Function: LmiProcessorTimesDestruct

Member Of:

LmiProcessorTimes

Description:

Destruct an LmiProcessorTimes object.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

void LmiProcessorTimesDestruct(LmiProcessorTimes* obj)

Parameters:

obj A pointer to the LmiProcessorTimes object to destruct.

Function: LmiProcessorTimesGetIdleTime

Member Of:

LmiProcessorTimes

Description:

Get the number of idle cycles represented in an LmiProcessorTimes object.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint64 LmiProcessorTimesGetIdleTime(const LmiProcessorTimes* t)

Parameters:

t The LmiProcessorTimes object from which to get the idle time.

Returns:

The number of idle cycles represented in this object. The units are system-dependent and arbitrary, but are consistent with the total time in the same object, and with other LmiProcessorTimes derived from the same processor or core.

Function: LmiProcessorTimesGetTotalTime

Member Of:

LmiProcessorTimes

Description:

Get the total number of cycles represented in an LmiProcessorTimes object.

Include:

Lmi/Os/LmiProcessor.h

Library:

LmiOs

Syntax:

LmiUint64 LmiProcessorTimesGetTotalTime(const LmiProcessorTimes* t)

Parameters:

t The LmiProcessorTimes object from which to get the total time.

Returns:

The total number of cycles represented in this object. The units are system-dependent and arbitrary, but are consistent with the idle time in the same object, and with other LmiProcessorTimes derived from the same processor or core.

Function: LmiPropertiesAddBoolValue

Member Of:

LmiProperties

Description:

Adds LmiBool property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddBoolValue(LmiProperties* x, const LmiString* name, LmiBool b, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
b Value of the property of LmiBool type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddBoolValueCStr

Member Of:

LmiProperties

Description:

Adds LmiBool property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddBoolValueCStr(LmiProperties* x, const char* name, LmiBool b, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
b Value of the property of LmiBool type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddFloat32Value

Member Of:

LmiProperties

Description:

Adds LmiFloat32 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddFloat32Value(LmiProperties* x, const LmiString* name, LmiFloat32 f32, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
f32 Value of the property of LmiFloat32 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddFloat32ValueCStr

Member Of:

LmiProperties

Description:

Adds LmiFloat32 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddFloat32ValueCStr(LmiProperties* x, const char* name, LmiFloat32 f32, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
f32 Value of the property of LmiFloat32 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddFloat64Value

Member Of:

LmiProperties

Description:

Adds LmiFloat64 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddFloat64Value(LmiProperties* x, const LmiString* name, LmiFloat64 f64, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
f64 Value of the property of LmiFloat64 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddFloat64ValueCStr

Member Of:

LmiProperties

Description:

Adds LmiFloat64 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddFloat64ValueCStr(LmiProperties* x, const char* name, LmiFloat64 f64, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
f64 Value of the property of LmiFloat64 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddInt16Value

Member Of:

LmiProperties

Description:

Adds LmiInt16 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddInt16Value(LmiProperties* x, const LmiString* name, LmiInt16 i16, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i16 Value of the property of LmiInt16 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddInt16ValueCStr

Member Of:

LmiProperties

Description:

Adds LmiInt16 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddInt16ValueCStr(LmiProperties* x, const char* name, LmiInt16 i16, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i16 Value of the property of LmiInt16 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddInt64Value

Member Of:

LmiProperties

Description:

Adds LmiInt64 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddInt64Value(LmiProperties* x, const LmiString* name, LmiInt64 i64, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i64 Value of the property of LmiInt64 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddInt64ValueCStr

Member Of:

LmiProperties

Description:

Adds LmiInt64 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddInt64ValueCStr(LmiProperties* x, const char* name, LmiInt64 i64, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i64 Value of the property of LmiInt64 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddIntValue

Member Of:

LmiProperties

Description:

Adds LmiInt property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddIntValue(LmiProperties* x, const LmiString* name, LmiInt i, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i Value of the property of LmiInt type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddIntValueCStr

Member Of:

LmiProperties

Description:

Adds LmiInt property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddIntValueCStr(LmiProperties* x, const char* name, LmiInt i, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i Value of the property of LmiInt type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddListener

Member Of:

LmiProperties

Description:

Adds a listener to the property set. Note: it's possible to register a property listener for a specific property even before before the property has been added.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddListener(LmiProperties* x, LmiPropertyListener* listener)

Parameters:

x A property set.
listener The listener to add.

Returns:

Returns LMI_TRUE if the listener was added successfully, or LMI_FALSE if an error occurred.

Example 1:

				
		#include <stdio.h>
		#include <Lmi/Os/LmiMallocAllocator.h>
		#include <Lmi/Os/LmiProperties.h>
		void PrintPropertyValue(FILE* fp, const LmiPropertyValue* v) {
			LmiPropertyValueType type = LmiPropertyValueGetType(v);
			if (type == LMI_PROPERTYVALUE_TYPE_Bool) {
				fprintf(fp, "%s", (*LmiPropertyValueGetBool(v)) ? "true" : "false");
			} else if (type == LMI_PROPERTYVALUE_TYPE_Int) {
				fprintf(fp, "%d", *LmiPropertyValueGetInt(v));
			} else if (type == LMI_PROPERTYVALUE_TYPE_Int16) {
				fprintf(fp, "%d", *LmiPropertyValueGetInt16(v));
			} else if (type == LMI_PROPERTYVALUE_TYPE_Int64) {
				fprintf(fp, "%lld", *LmiPropertyValueGetInt64(v));
			} else if (type == LMI_PROPERTYVALUE_TYPE_Uint) {
				fprintf(fp, "%u", *LmiPropertyValueGetUint(v));
			} else if (type == LMI_PROPERTYVALUE_TYPE_Uint16) {
				fprintf(fp, "%u", *LmiPropertyValueGetUint16(v));
			} else if (type == LMI_PROPERTYVALUE_TYPE_SizeT) {
				fprintf(fp, "%zu", *LmiPropertyValueGetSizeT(v));
			} else if (type == LMI_PROPERTYVALUE_TYPE_Float32) {
				fprintf(fp, "%.2f", *LmiPropertyValueGetFloat32(v));
			} else if (type == LMI_PROPERTYVALUE_TYPE_Float64) {
				fprintf(fp, "%.5f", *LmiPropertyValueGetFloat64(v));
			} else if (type == LMI_PROPERTYVALUE_TYPE_Time) {
				fprintf(fp, "%lld", (long long)*LmiPropertyValueGetTime(v));
			} else if (type == LMI_PROPERTYVALUE_TYPE_VoidPtr) {
				fprintf(fp, "%p", *LmiPropertyValueGetVoidPtr(v));
			} else if (type == LMI_PROPERTYVALUE_TYPE_String) {
				fprintf(fp, "\"%s\"", LmiStringCStr(LmiPropertyValueGetString(v)));
			}
		}

		void BeforeCb(const LmiPropertyListener* x, LmiProperties* properties, const LmiString* name, const LmiPropertyValue* oldValue, const LmiPropertyValue* newValue) {
			FILE* fp = (FILE*)LmiPropertyListenerGetData(x);

			fprintf(fp, "Before Event: ");

			/* Value Changed */
			if ((oldValue != NULL) && (newValue != NULL)) {
				fprintf(fp, "Property %s will change value from ", LmiStringCStr(name));
				PrintPropertyValue(fp, oldValue);
				fprintf(fp, " to ");
				PrintPropertyValue(fp, newValue);
				fprintf(fp, ".n");

			/* Property Removed */
			} else if (oldValue != NULL) {
				fprintf(fp, "Property %s will be removed (value currently is ", LmiStringCStr(name));
				PrintPropertyValue(fp, oldValue);
				fprintf(fp, ").n");
			/* Property Added */
			} else if (newValue != NULL) {
				fprintf(fp, "Property %s will be added (value will be ", LmiStringCStr(name));
				PrintPropertyValue(fp, newValue);
				fprintf(fp, ").n");
			}
		}

		void AfterCb(const LmiPropertyListener* x, LmiProperties* properties, const LmiString* name, const LmiPropertyValue* oldValue, const LmiPropertyValue* newValue) {
			FILE* fp = (FILE*)LmiPropertyListenerGetData(x);

			fprintf(fp, "After Event: ");

			/* Value changed */
			if ((oldValue != NULL) && (newValue != NULL)) {
				fprintf(fp, "Property %s has value changed to ", LmiStringCStr(name));
				PrintPropertyValue(fp, newValue);
				fprintf(fp, ".n");
			/* Property Removed */
			} else if ((oldValue == NULL) && (newValue == NULL)) {
				fprintf(fp, "Property %s was removed.n", LmiStringCStr(name));
			/* Property Added */
			} else if (newValue != NULL) {
				fprintf(fp, "Property %s was added (value is ", LmiStringCStr(name));
				PrintPropertyValue(fp, newValue);
				fprintf(fp, ").n");
			}
		}

		int main() {
			LmiAllocator* alloc;
			LmiProperties properties;
			LmiString name;
			LmiPropertyValue value, value2;
			LmiPropertyListener before, after;
			char nameCStr[] = "path1.path2.path3";

			LmiMallocAllocatorInitialize();
			alloc = LmiMallocAllocatorGetDefault();
			LmiStringConstructCStr(&name, "prop1.prop2", alloc);

			/* Construct a property set */
			LmiPropertiesConstructDefault(&properties, alloc);

			/* Register a "before" listener property */
			LmiPropertyListenerConstruct(&before, LMI_PROPERTYLISTENER_TRIGGER_Before, &name, BeforeCb, stdout);
			LmiPropertiesAddListener(&properties, &before);

			/* Register a "after" listener property */
			LmiPropertyListenerConstruct(&after, LMI_PROPERTYLISTENER_TRIGGER_After, &name, AfterCb, stdout);
			LmiPropertiesAddListener(&properties, &after);

			/* Add a property */
			LmiPropertyValueConstructInt(&value, 123, LMI_TRUE);
			LmiPropertiesAddProperty(&properties, &name, &value);

			/* Set a property */
			LmiPropertyValueConstructInt(&value2, 456, LMI_TRUE);
			LmiPropertiesSetProperty(&properties, &name, &value2);

			/* Another way to set property */
			LmiPropertiesSetIntValueCStr(&properties, nameCStr, 42, LMI_TRUE, alloc);

			/* Remove a property */
			LmiPropertiesRemoveProperty(&properties, &name);

			/* Clean-up */
			LmiPropertyValueDestruct(&value2);
			LmiPropertyValueDestruct(&value);
			LmiStringDestruct(&name);
			LmiPropertyListenerDestruct(&before);
			LmiPropertyListenerDestruct(&after);
			LmiPropertiesDestruct(&properties);

			return 0;
		}
	
			

Function: LmiPropertiesAddPropertiesValue

Member Of:

LmiProperties

Description:

Adds LmiProperties property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddPropertiesValue(LmiProperties* x, const LmiString* name, const LmiProperties* pr, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
pr Value of the property of LmiProperties pointer type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddPropertiesValueCStr

Member Of:

LmiProperties

Description:

Adds LmiProperties property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddPropertiesValueCStr(LmiProperties* x, const char* name, const LmiProperties* pr, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
pr Value of the property of LmiProperties pointer type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddProperty

Member Of:

LmiProperties

Description:

Adds a property to the property set. Adding a property triggers matching property listeners.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddProperty(LmiProperties* x, const LmiString* name, const LmiPropertyValue* v)

Parameters:

x A property set.
name The name or path to the property (i.e. "valueName", "valueParent.valueName", etc). Paths are specified using dotted notation (element1.element2) where elements of the path are delimited by dots ('.'). Path delimiters can be escaped with a backslash ('\'). For example, "path\.continues" specifies a simple name rather than a path.
v The property value to set the property to.

Returns:

Returns LMI_TRUE if the property does not yet exist and the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesAddPropertyCStr

Member Of:

LmiProperties

Description:

Adds a property to the property set. Adding a property triggers matching property listeners.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddPropertyCStr(LmiProperties* x, const char* name, const LmiPropertyValue* v)

Parameters:

x A property set.
name The name or path to the property (i.e. "valueName", "valueParent.valueName", etc). Paths are specified using dotted notation (element1.element2) where elements of the path are delimited by dots ('.'). Path delimiters can be escaped with a backslash ('\'). For example, "path\.continues" specifies a simple name rather than a path.
v The property value to set the property to.

Returns:

Returns LMI_TRUE if the property does not yet exist and the property value was successful set or LMI_FALSE otherwise.

Function: LmiPropertiesAddSharedVoidPtrValue

Member Of:

LmiProperties

Description:

Adds LmiSharedVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddSharedVoidPtrValue(LmiProperties* x, const LmiString* name, const LmiSharedVoidPtr* sp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
sp Value of the property of LmiSharedVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddSharedVoidPtrValueCStr

Member Of:

LmiProperties

Description:

Adds LmiSharedVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddSharedVoidPtrValueCStr(LmiProperties* x, const char* name, const LmiSharedVoidPtr* sp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
sp Value of the property of LmiSharedVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddSizeTValue

Member Of:

LmiProperties

Description:

Adds LmiSizeT property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddSizeTValue(LmiProperties* x, const LmiString* name, LmiSizeT sz, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
sz Value of the property of LmiSizeT type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddSizeTValueCStr

Member Of:

LmiProperties

Description:

Adds LmiSizeT property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddSizeTValueCStr(LmiProperties* x, const char* name, LmiSizeT sz, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
sz Value of the property of LmiSizeT type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddStringCStrValue

Member Of:

LmiProperties

Description:

Adds C string property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddStringCStrValue(LmiProperties* x, const LmiString* name, const char* str, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
str Value of the property of C string type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddStringCStrValueCStr

Member Of:

LmiProperties

Description:

Adds C string property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddStringCStrValueCStr(LmiProperties* x, const char* name, const char* str, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
str Value of the property of C string type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddStringValue

Member Of:

LmiProperties

Description:

Adds LmiString property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddStringValue(LmiProperties* x, const LmiString* name, const LmiString* s, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
s Value of the property of LmiString pointer type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddStringValueCStr

Member Of:

LmiProperties

Description:

Adds LmiString property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddStringValueCStr(LmiProperties* x, const char* name, const LmiString* s, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
s Value of the property of LmiString pointer type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddTimeValue

Member Of:

LmiProperties

Description:

Adds LmiTime property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddTimeValue(LmiProperties* x, const LmiString* name, LmiTime t, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
t Value of the property of LmiTime type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddTimeValueCStr

Member Of:

LmiProperties

Description:

Adds LmiTime property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddTimeValueCStr(LmiProperties* x, const char* name, LmiTime t, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
t Value of the property of LmiTime type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddUint16Value

Member Of:

LmiProperties

Description:

Adds LmiUint16 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddUint16Value(LmiProperties* x, const LmiString* name, LmiUint16 ui16, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
ui16 Value of the property of LmiUint16 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddUint16ValueCStr

Member Of:

LmiProperties

Description:

Adds LmiUint16 property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddUint16ValueCStr(LmiProperties* x, const char* name, LmiUint16 ui16, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
ui16 Value of the property of LmiUint16 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddUintValue

Member Of:

LmiProperties

Description:

Adds LmiUint property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddUintValue(LmiProperties* x, const LmiString* name, LmiUint ui, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
ui Value of the property of LmiUint type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddUintValueCStr

Member Of:

LmiProperties

Description:

Adds LmiUint property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddUintValueCStr(LmiProperties* x, const char* name, LmiUint ui, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
ui Value of the property of LmiUint type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddVectorValue

Member Of:

LmiProperties

Description:

Adds LmiVector(LmiPropertyValue) property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddVectorValue(LmiProperties* x, const LmiString* name, const LmiVector(LmiPropertyValue)* v, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
v Value of the property of LmiVector(LmiPropertyValue) type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddVectorValueCStr

Member Of:

LmiProperties

Description:

Adds LmiVector(LmiPropertyValue) property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddVectorValueCStr(LmiProperties* x, const char* name, const LmiVector(LmiPropertyValue)* v, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
v Value of the property of LmiVector(LmiPropertyValue) type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddVoidPtrValue

Member Of:

LmiProperties

Description:

Adds LmiVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddVoidPtrValue(LmiProperties* x, const LmiString* name, LmiVoidPtr vp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
vp Value of the property of LmiVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddVoidPtrValueCStr

Member Of:

LmiProperties

Description:

Adds LmiVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddVoidPtrValueCStr(LmiProperties* x, const char* name, LmiVoidPtr vp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
vp Value of the property of LmiVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddWeakVoidPtrValue

Member Of:

LmiProperties

Description:

Adds LmiWeakVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddWeakVoidPtrValue(LmiProperties* x, const LmiString* name, const LmiWeakVoidPtr* wp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
wp Value of the property of LmiWeakVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAddWeakVoidPtrValueCStr

Member Of:

LmiProperties

Description:

Adds LmiWeakVoidPtr property value to the specified path. See LmiPropertiesAddProperty for details on behavior.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesAddWeakVoidPtrValueCStr(LmiProperties* x, const char* name, const LmiWeakVoidPtr* wp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
wp Value of the property of LmiWeakVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully added or LMI_FALSE on failure or if property exists.

Function: LmiPropertiesAssign

Member Of:

LmiProperties

Description:

Assigns one property set to another property set.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiProperties* LmiPropertiesAssign(LmiProperties* x, const LmiProperties* y)

Parameters:

x A property set.
y A property set.

Returns:

Returns a pointer to the assigned-to object or NULL on error.

Function: LmiPropertiesConstructCopy

Member Of:

LmiProperties

Description:

Constructs a property set from another property set.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiProperties* LmiPropertiesConstructCopy(LmiProperties* x, const LmiProperties* y)

Parameters:

x A property set.
y A property set.

Returns:

Returns a pointer to the constructed object or NULL on error.

Function: LmiPropertiesConstructDefault

Member Of:

LmiProperties

Description:

Constructs an empty property set.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiProperties* LmiPropertiesConstructDefault(LmiProperties* x, LmiAllocator* a)

Parameters:

x A property set.
a An allocator.

Returns:

Returns a pointer to the constructed object or NULL on error.

Function: LmiPropertiesDestruct

Member Of:

LmiProperties

Description:

Destructs a property set.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

void LmiPropertiesDestruct(LmiProperties* x)

Parameters:

x A property set.

Function: LmiPropertiesDumpToJSON

Member Of:

LmiProperties

Description:

Gets all names for the values in properties.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiString* LmiPropertiesDumpToJSON(const LmiProperties* x, LmiString *json)

Parameters:

x A properties object.
json Empty initialized string, JSON string representing content of the x.

Returns:

Pointer to a string representing x, or NULL on failure.

Note 1:

This function is expensive, please be thoughtful of that.

Function: LmiPropertiesEqual

Member Of:

LmiProperties

Description:

Compares one property set to another property set for equality.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesEqual(const LmiProperties* x, const LmiProperties* y)

Parameters:

x A property set.
y A property set.

Returns:

Returns LMI_TRUE if the property sets are equal or LMI_FALSE otherwise.

Function: LmiPropertiesGetAllNames

Member Of:

LmiProperties

Description:

Gets all the names of the property values in the property set.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesGetAllNames(const LmiProperties* x, LmiVector(LmiString) *names)

Parameters:

x A property set.
names The names.

Returns:

Returns LMI_TRUE if successful or LMI_FALSE otherwise.

Function: LmiPropertiesGetAllocator

Member Of:

LmiProperties

Description:

Gets the allocator of the property set.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiAllocator* LmiPropertiesGetAllocator(const LmiProperties* x)

Parameters:

x A property set.

Returns:

Returns a pointer to the property set's allocator.

Function: LmiPropertiesGetBoolValue

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiBool of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiBool* LmiPropertiesGetBoolValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiBool of the property value on success, or NULL if the type of the property value is not an LmiBool or property is not set.

Function: LmiPropertiesGetBoolValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiBool of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiBool* LmiPropertiesGetBoolValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiBool of the property value on success, or NULL if the type of the property value is not an LmiBool or property is not set.

Function: LmiPropertiesGetFloat32Value

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiFloat32 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiFloat32* LmiPropertiesGetFloat32Value(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiFloat32 of the property value on success, or NULL if the type of the property value is not an LmiFloat32 or property is not set.

Function: LmiPropertiesGetFloat32ValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiFloat32 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiFloat32* LmiPropertiesGetFloat32ValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiFloat32 of the property value on success, or NULL if the type of the property value is not an LmiFloat32 or property is not set.

Function: LmiPropertiesGetFloat64Value

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiFloat64 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiFloat64* LmiPropertiesGetFloat64Value(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiFloat64 of the property value on success, or NULL if the type of the property value is not an LmiFloat64 or property is not set.

Function: LmiPropertiesGetFloat64ValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiFloat64 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiFloat64* LmiPropertiesGetFloat64ValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiFloat64 of the property value on success, or NULL if the type of the property value is not an LmiFloat64 or property is not set.

Function: LmiPropertiesGetInt16Value

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiInt16 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiInt16* LmiPropertiesGetInt16Value(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiInt16 of the property value on success, or NULL if the type of the property value is not an LmiInt16 or property is not set.

Function: LmiPropertiesGetInt16ValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiInt16 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiInt16* LmiPropertiesGetInt16ValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiInt16 of the property value on success, or NULL if the type of the property value is not an LmiInt16 or property is not set.

Function: LmiPropertiesGetInt64Value

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiInt64 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiInt64* LmiPropertiesGetInt64Value(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiInt64 of the property value on success, or NULL if the type of the property value is not an LmiInt64 or property is not set.

Function: LmiPropertiesGetInt64ValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiInt64 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiInt64* LmiPropertiesGetInt64ValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiInt64 of the property value on success, or NULL if the type of the property value is not an LmiInt64 or property is not set.

Function: LmiPropertiesGetIntValue

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiInt of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiInt* LmiPropertiesGetIntValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiInt of the property value on success, or NULL if the type of the property value is not an LmiInt or property is not set.

Function: LmiPropertiesGetIntValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiInt of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiInt* LmiPropertiesGetIntValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiInt of the property value on success, or NULL if the type of the property value is not an LmiInt or property is not set.

Function: LmiPropertiesGetPropertiesValue

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiProperties of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiProperties* LmiPropertiesGetPropertiesValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiProperties of the property value on success, or NULL if the type of the property value is not an LmiProperties or property is not set.

Function: LmiPropertiesGetPropertiesValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiProperties of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiProperties* LmiPropertiesGetPropertiesValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiProperties of the property value on success, or NULL if the type of the property value is not an LmiProperties or property is not set.

Function: LmiPropertiesGetProperty

Member Of:

LmiProperties

Description:

Gets the property value of a property in the property set.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertiesGetProperty(LmiProperties* x, const LmiString* name)

Parameters:

x A property set.
name The name or path to the property (i.e. "valueName", "valueParent.valueName", etc). Paths are specified using dotted notation (element1.element2) where elements of the path are delimited by dots ('.'), and vector elements are indicated by brackets ('['). Path delimiters can be escaped with a backslash ('\'). For example, "path\.continues" specifies a simple name rather than a path.

Returns:

Returns a pointer to the property's value or NULL if the property was not found.

Function: LmiPropertiesGetPropertyCStr

Member Of:

LmiProperties

Description:

Gets the property value of a property in the property set.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertiesGetPropertyCStr(LmiProperties* x, const char* name)

Parameters:

x A property set.
name The name or path to the property (i.e. "valueName", "valueParent.valueName", etc). Paths are specified using dotted notation (element1.element2) where elements of the path are delimited by dots ('.'), and vector elements are indicated by brackets ('['). Path delimiters can be escaped with a backslash ('\'). For example, "path\.continues" specifies a simple name rather than a path.

Returns:

Returns a pointer to the property's value or NULL if the property was not found.

Function: LmiPropertiesGetPropertyCStrConst

Member Of:

LmiProperties

Description:

Gets the property value of a property in the property set.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiPropertyValue* LmiPropertiesGetPropertyCStrConst(const LmiProperties* x, const char* name)

Parameters:

x A property set.
name The name or path to the property (i.e. "valueName", "valueParent.valueName", etc). Paths are specified using dotted notation (element1.element2) where elements of the path are delimited by dots ('.'), and vector elements are indicated by brackets ('['). Path delimiters can be escaped with a backslash ('\'). For example, "path\.continues" specifies a simple name rather than a path.

Returns:

Returns a pointer to the property's value or NULL if the property was not found.

Function: LmiPropertiesGetPropertyConst

Member Of:

LmiProperties

Description:

Gets the property value of a property in the property set.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiPropertyValue* LmiPropertiesGetPropertyConst(const LmiProperties* x, const LmiString* name)

Parameters:

x A property set.
name The name or path to the property (i.e. "valueName", "valueParent.valueName", etc). Paths are specified using dotted notation (element1.element2) where elements of the path are delimited by dots ('.'), and vector elements are indicated by brackets ('['). Path delimiters can be escaped with a backslash ('\'). For example, "path\.continues" specifies a simple name rather than a path.

Returns:

Returns a pointer to the property's value or NULL if the property was not found.

Function: LmiPropertiesGetSharedVoidPtrValue

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiSharedVoidPtr of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiSharedVoidPtr* LmiPropertiesGetSharedVoidPtrValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiSharedVoidPtr of the property value on success, or NULL if the type of the property value is not an LmiSharedVoidPtr or property is not set.

Function: LmiPropertiesGetSharedVoidPtrValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiSharedVoidPtr of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiSharedVoidPtr* LmiPropertiesGetSharedVoidPtrValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiSharedVoidPtr of the property value on success, or NULL if the type of the property value is not an LmiSharedVoidPtr or property is not set.

Function: LmiPropertiesGetSizeTValue

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiSizeT of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiSizeT* LmiPropertiesGetSizeTValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiSizeT of the property value on success, or NULL if the type of the property value is not an LmiSizeT or property is not set.

Function: LmiPropertiesGetSizeTValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiSizeT of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiSizeT* LmiPropertiesGetSizeTValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiSizeT of the property value on success, or NULL if the type of the property value is not an LmiSizeT or property is not set.

Function: LmiPropertiesGetStringValue

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiString of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiString* LmiPropertiesGetStringValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiString of the property value on success, or NULL if the type of the property value is not an LmiString or property is not set.

Function: LmiPropertiesGetStringValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiString of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiString* LmiPropertiesGetStringValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiString of the property value on success, or NULL if the type of the property value is not an LmiString or property is not set.

Function: LmiPropertiesGetTimeValue

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiTime of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiTime* LmiPropertiesGetTimeValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiTime of the property value on success, or NULL if the type of the property value is not an LmiTime or property is not set.

Function: LmiPropertiesGetTimeValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiTime of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiTime* LmiPropertiesGetTimeValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiTime of the property value on success, or NULL if the type of the property value is not an LmiTime or property is not set.

Function: LmiPropertiesGetTypeValue

Member Of:

LmiProperties

Description:

Gets the property value type of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiPropertyValueType* LmiPropertiesGetTypeValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to the type of the property value or NULL on failure.

Function: LmiPropertiesGetTypeValueCStr

Member Of:

LmiProperties

Description:

Gets the property value type of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiPropertyValueType* LmiPropertiesGetTypeValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to the type of the property value or NULL on failure.

Function: LmiPropertiesGetUint16Value

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiUint16 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiUint16* LmiPropertiesGetUint16Value(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiUint16 of the property value on success, or NULL if the type of the property value is not an LmiUint16 or property is not set.

Function: LmiPropertiesGetUint16ValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiUint16 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiUint16* LmiPropertiesGetUint16ValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiUint16 of the property value on success, or NULL if the type of the property value is not an LmiUint16 or property is not set.

Function: LmiPropertiesGetUintValue

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiUint of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiUint* LmiPropertiesGetUintValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiUint of the property value on success, or NULL if the type of the property value is not an LmiUint or property is not set.

Function: LmiPropertiesGetUintValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiUint of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiUint* LmiPropertiesGetUintValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiUint of the property value on success, or NULL if the type of the property value is not an LmiUint or property is not set.

Function: LmiPropertiesGetVectorValue

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiVector(LmiPropertyValue) of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiVector(LmiPropertyValue)* LmiPropertiesGetVectorValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiVector(LmiPropertyValue) of the property value on success, or NULL if the type of the property value is not an LmiVector(LmiPropertyValue) or property is not set.

Function: LmiPropertiesGetVectorValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiVector(LmiPropertyValue) of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiVector(LmiPropertyValue)* LmiPropertiesGetVectorValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiVector(LmiPropertyValue) of the property value on success, or NULL if the type of the property value is not an LmiVector(LmiPropertyValue) or property is not set.

Function: LmiPropertiesGetVoidPtrValue

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiVoidPtr of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiVoidPtr* LmiPropertiesGetVoidPtrValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiVoidPtr of the property value on success, or NULL if the type of the property value is not an LmiVoidPtr or property is not set.

Function: LmiPropertiesGetVoidPtrValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiVoidPtr of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiVoidPtr* LmiPropertiesGetVoidPtrValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiVoidPtr of the property value on success, or NULL if the type of the property value is not an LmiVoidPtr or property is not set.

Function: LmiPropertiesGetWeakVoidPtrValue

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiWeakVoidPtr of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiWeakVoidPtr* LmiPropertiesGetWeakVoidPtrValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiWeakVoidPtr of the property value on success, or NULL if the type of the property value is not an LmiWeakVoidPtr or property is not set.

Function: LmiPropertiesGetWeakVoidPtrValueCStr

Member Of:

LmiProperties

Description:

Gets a const pointer to an LmiWeakVoidPtr of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiWeakVoidPtr* LmiPropertiesGetWeakVoidPtrValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns a pointer to an LmiWeakVoidPtr of the property value on success, or NULL if the type of the property value is not an LmiWeakVoidPtr or property is not set.

Function: LmiPropertiesIsSettableValue

Member Of:

LmiProperties

Description:

Determines whether or not a property value in a path is settable.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiBool* LmiPropertiesIsSettableValue(const LmiProperties* x, const LmiString* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns pointer to the boolean, which is LMI_TRUE if the property value is settable or LMI_FALSE otherwise. NULL on failure.

Function: LmiPropertiesIsSettableValueCStr

Member Of:

LmiProperties

Description:

Determines whether or not a property value in a path is settable.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiBool* LmiPropertiesIsSettableValueCStr(const LmiProperties* x, const char* name)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.

Returns:

Returns pointer to the boolean, which is LMI_TRUE if the property value is settable or LMI_FALSE otherwise. NULL on failure.

Function: LmiPropertiesLess

Member Of:

LmiProperties

Description:

Compares one property set to another property set for less-than equality.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesLess(const LmiProperties* x, const LmiProperties* y)

Parameters:

x A property set.
y A property set.

Returns:

Returns LMI_TRUE if the x is less than y or LMI_FALSE otherwise.

Function: LmiPropertiesMerge

Member Of:

LmiProperties

Description:

Merges two properties. Read only properties are not updated.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiProperties* LmiPropertiesMerge(LmiProperties* x, const LmiProperties* y)

Parameters:

x A property set that will contain a merged value.
y A property set.

Returns:

Returns a pointer to the merged object or NULL on error.

Function: LmiPropertiesRemoveListener

Member Of:

LmiProperties

Description:

Removes a listener from the property set.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesRemoveListener(LmiProperties* x, LmiPropertyListener* listener)

Parameters:

x A property set.
listener The listener to remove.

Returns:

Returns LMI_TRUE if the listener was successfully removed or LMI_FALSE otherwise.

Function: LmiPropertiesRemoveProperty

Member Of:

LmiProperties

Description:

Removes a property from the property set. Removing a property triggers matching property listeners registered for the property.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesRemoveProperty(LmiProperties* x, const LmiString* name)

Parameters:

x A property set.
name The name or path to the property (i.e. "valueName", "valueParent.valueName", etc). Paths are specified using dotted notation (element1.element2) where elements of the path are delimited by dots ('.'). Path delimiters can be escaped with a backslash ('\'). For example, "path\.continues" specifies a simple name rather than a path.

Returns:

Returns LMI_TRUE if the property exists and the property was removed successful or LMI_FALSE otherwise.

Note 1:

if path has multiple components, levels below last will not be removed. For example removing of "path1.path2" path will only cause "path2" to be removed; "path1" will stay even when empty.

Function: LmiPropertiesRemovePropertyCStr

Member Of:

LmiProperties

Description:

Removes a property to the property set. Removing a property triggers matching property listeners.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesRemovePropertyCStr(LmiProperties* x, const char* name)

Parameters:

x A property set.
name The name or path to the property (i.e. "valueName", "valueParent.valueName", etc). Paths are specified using dotted notation (element1.element2) where elements of the path are delimited by dots ('.'). Path delimiters can be escaped with a backslash ('\'). For example, "path\.continues" specifies a simple name rather than a path.

Returns:

Returns LMI_TRUE if the property exists and the property was removed successful or LMI_FALSE otherwise.

Note 1:

if path has multiple components, levels below last will not be removed. For example removing of "path1.path2" path will only cause "path2" to be removed; "path1" will stay even when empty.

Function: LmiPropertiesSetBoolValue

Member Of:

LmiProperties

Description:

Sets LmiBool property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetBoolValue(LmiProperties* x, const LmiString* name, LmiBool b, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
b Value of the property of LmiBool type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetBoolValueCStr

Member Of:

LmiProperties

Description:

Sets LmiBool property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetBoolValueCStr(LmiProperties* x, const char* name, LmiBool b, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
b Value of the property of LmiBool type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetFloat32Value

Member Of:

LmiProperties

Description:

Sets LmiFloat32 property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetFloat32Value(LmiProperties* x, const LmiString* name, LmiFloat32 f32, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
f32 Value of the property of LmiFloat32 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetFloat32ValueCStr

Member Of:

LmiProperties

Description:

Sets LmiFloat32 property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetFloat32ValueCStr(LmiProperties* x, const char* name, LmiFloat32 f32, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
f32 Value of the property of LmiFloat32 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetFloat64Value

Member Of:

LmiProperties

Description:

Sets LmiFloat64 property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetFloat64Value(LmiProperties* x, const LmiString* name, LmiFloat64 f64, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
f64 Value of the property of LmiFloat64 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetFloat64ValueCStr

Member Of:

LmiProperties

Description:

Sets LmiFloat64 property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetFloat64ValueCStr(LmiProperties* x, const char* name, LmiFloat64 f64, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
f64 Value of the property of LmiFloat64 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetInt16Value

Member Of:

LmiProperties

Description:

Sets LmiInt16 property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetInt16Value(LmiProperties* x, const LmiString* name, LmiInt16 i16, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i16 Value of the property of LmiInt16 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetInt16ValueCStr

Member Of:

LmiProperties

Description:

Sets LmiInt16 property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetInt16ValueCStr(LmiProperties* x, const char* name, LmiInt16 i16, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i16 Value of the property of LmiInt16 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetInt64Value

Member Of:

LmiProperties

Description:

Sets LmiInt64 property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetInt64Value(LmiProperties* x, const LmiString* name, LmiInt64 i64, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i64 Value of the property of LmiInt64 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetInt64ValueCStr

Member Of:

LmiProperties

Description:

Sets LmiInt64 property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetInt64ValueCStr(LmiProperties* x, const char* name, LmiInt64 i64, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i64 Value of the property of LmiInt64 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetIntValue

Member Of:

LmiProperties

Description:

Sets LmiInt property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetIntValue(LmiProperties* x, const LmiString* name, LmiInt i, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i Value of the property of LmiInt type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetIntValueCStr

Member Of:

LmiProperties

Description:

Sets LmiInt property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetIntValueCStr(LmiProperties* x, const char* name, LmiInt i, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
i Value of the property of LmiInt type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetPropertiesValue

Member Of:

LmiProperties

Description:

Sets LmiProperties property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetPropertiesValue(LmiProperties* x, const LmiString* name, const LmiProperties* pr, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
pr Value of the property of LmiProperties pointer type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetPropertiesValueCStr

Member Of:

LmiProperties

Description:

Sets LmiProperties property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetPropertiesValueCStr(LmiProperties* x, const char* name, const LmiProperties* pr, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
pr Value of the property of LmiProperties pointer type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetProperty

Member Of:

LmiProperties

Description:

Sets the value of a property in the property set. If the property doesn't already exist, the property is added. Setting a property triggers matching top level property listeners.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetProperty(LmiProperties* x, const LmiString* name, const LmiPropertyValue* v)

Parameters:

x A property set.
name The name or path to the property (i.e. "valueName", "valueParent.valueName", etc). Paths are specified using dotted notation (element1.element2) where elements of the path are delimited by dots ('.'). Path delimiters can be escaped with a backslash ('\'). For example, "path\.continues" specifies a simple name rather than a path.
v The property value to set the property to.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Note 1:

Path will be created if does not exist. If one of the path's components already exists and is not a type of LmiProperties, it will be replaced with LmiProperties.

Function: LmiPropertiesSetPropertyCStr

Member Of:

LmiProperties

Description:

Sets the value of a property in the property set. If the property doesn't already exist, the property is added. Setting a property triggers top level property listeners registered for the property.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetPropertyCStr(LmiProperties* x, const char* name, const LmiPropertyValue* v)

Parameters:

x A property set.
name The name or path to the property (i.e. "valueName", "valueParent.valueName", etc). Paths are specified using dotted notation (element1.element2) where elements of the path are delimited by dots ('.'). Path delimiters can be escaped with a backslash ('\'). For example, "path\.continues" specifies a simple name rather than a path.
v The property value to set the property to.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetSharedVoidPtrValue

Member Of:

LmiProperties

Description:

Sets LmiSharedVoidPtr property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetSharedVoidPtrValue(LmiProperties* x, const LmiString* name, const LmiSharedVoidPtr* sp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
sp Value of the property of LmiSharedVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetSharedVoidPtrValueCStr

Member Of:

LmiProperties

Description:

Sets LmiSharedVoidPtr property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetSharedVoidPtrValueCStr(LmiProperties* x, const char* name, const LmiSharedVoidPtr* sp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
sp Value of the property of LmiSharedVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetSizeTValue

Member Of:

LmiProperties

Description:

Sets LmiSizeT property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetSizeTValue(LmiProperties* x, const LmiString* name, LmiSizeT sz, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
sz Value of the property of LmiSizeT type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetSizeTValueCStr

Member Of:

LmiProperties

Description:

Sets LmiSizeT property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetSizeTValueCStr(LmiProperties* x, const char* name, LmiSizeT sz, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
sz Value of the property of LmiSizeT type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetStringCStrValue

Member Of:

LmiProperties

Description:

Sets C string property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetStringCStrValue(LmiProperties* x, const LmiString* name, const char* str, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
str Value of the property of C string type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetStringCStrValueCStr

Member Of:

LmiProperties

Description:

Sets C string property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetStringCStrValueCStr(LmiProperties* x, const char* name, const char* str, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
str Value of the property of C string type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetStringValue

Member Of:

LmiProperties

Description:

Sets LmiString property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetStringValue(LmiProperties* x, const LmiString* name, const LmiString* s, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
s Value of the property of LmiString pointer type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetStringValueCStr

Member Of:

LmiProperties

Description:

Sets LmiString property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetStringValueCStr(LmiProperties* x, const char* name, const LmiString* s, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
s Value of the property of LmiString pointer type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetTimeValue

Member Of:

LmiProperties

Description:

Sets LmiTime property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetTimeValue(LmiProperties* x, const LmiString* name, LmiTime t, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
t Value of the property of LmiTime type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetTimeValueCStr

Member Of:

LmiProperties

Description:

Sets LmiTime property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetTimeValueCStr(LmiProperties* x, const char* name, LmiTime t, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
t Value of the property of LmiTime type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetUint16Value

Member Of:

LmiProperties

Description:

Sets LmiUint16 property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetUint16Value(LmiProperties* x, const LmiString* name, LmiUint16 ui16, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
ui16 Value of the property of LmiUint16 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetUint16ValueCStr

Member Of:

LmiProperties

Description:

Sets LmiUint16 property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetUint16ValueCStr(LmiProperties* x, const char* name, LmiUint16 ui16, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
ui16 Value of the property of LmiUint16 type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetUintValue

Member Of:

LmiProperties

Description:

Sets LmiUint property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetUintValue(LmiProperties* x, const LmiString* name, LmiUint ui, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
ui Value of the property of LmiUint type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetUintValueCStr

Member Of:

LmiProperties

Description:

Sets LmiUint property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetUintValueCStr(LmiProperties* x, const char* name, LmiUint ui, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
ui Value of the property of LmiUint type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetVectorValue

Member Of:

LmiProperties

Description:

Sets LmiVector(LmiPropertyValue) property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetVectorValue(LmiProperties* x, const LmiString* name, const LmiVector(LmiPropertyValue)* v, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
v Value of the property of LmiVector(LmiPropertyValue) type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetVectorValueCStr

Member Of:

LmiProperties

Description:

Sets LmiVector(LmiPropertyValue) property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetVectorValueCStr(LmiProperties* x, const char* name, const LmiVector(LmiPropertyValue)* v, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
v Value of the property of LmiProperties pointer type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetVoidPtrValue

Member Of:

LmiProperties

Description:

Sets LmiVoidPtr property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetVoidPtrValue(LmiProperties* x, const LmiString* name, LmiVoidPtr vp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
vp Value of the property of LmiVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetVoidPtrValueCStr

Member Of:

LmiProperties

Description:

Sets LmiVoidPtr property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetVoidPtrValueCStr(LmiProperties* x, const char* name, LmiVoidPtr vp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
vp Value of the property of LmiVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetWeakVoidPtrValue

Member Of:

LmiProperties

Description:

Sets LmiWeakVoidPtr property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetWeakVoidPtrValue(LmiProperties* x, const LmiString* name, const LmiWeakVoidPtr* wp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
wp Value of the property of LmiWeakVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertiesSetWeakVoidPtrValueCStr

Member Of:

LmiProperties

Description:

Sets LmiWeakVoidPtr property value to the specified path.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertiesSetWeakVoidPtrValueCStr(LmiProperties* x, const char* name, const LmiWeakVoidPtr* wp, LmiBool settable)

Parameters:

x A properties object.
name The path to the property, i.e. "valueName", "valueParent.valueName", etc.
wp Value of the property of LmiWeakVoidPtr type.
settable Defines if property can be overwritten.

Returns:

Returns LMI_TRUE if the property value was successfully set or LMI_FALSE otherwise.

Function: LmiPropertyListenerAssign

Member Of:

LmiPropertyListener

Description:

Assigns a property listener from another property listener.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyListener* LmiPropertyListenerAssign(LmiPropertyListener* x, const LmiPropertyListener* y)

Parameters:

x A property listener.
y A property listener.

Returns:

Returns a pointer to the assigned-to object or NULL on error.

Function: LmiPropertyListenerConstruct

Member Of:

LmiPropertyListener

Description:

Constructs a property listener.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyListener* LmiPropertyListenerConstruct(LmiPropertyListener* x, LmiPropertyListenerTrigger trigger, const LmiString* name, LmiPropertyListenerCallback cb, LmiVoidPtr data)

Parameters:

x A property listener.
trigger The trigger to listen for.
name The name of the property to listen to or NULL to listener to all properties.
cb The callback to call when the property is changed.
data A user data pointer.

Returns:

Returns a pointer to the constructed object or NULL on error.

Function: LmiPropertyListenerConstructCStr

Member Of:

LmiPropertyListener

Description:

Constructs a property listener.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyListener* LmiPropertyListenerConstructCStr(LmiPropertyListener* x, LmiPropertyListenerTrigger trigger, const char* name, LmiPropertyListenerCallback cb, LmiVoidPtr data, LmiAllocator* a)

Parameters:

x A property listener.
trigger The trigger to listen for.
name The name of the property to listen to or NULL to listen to all properties.
cb The callback to call when the property is changed.
data A user data pointer.
a An allocator.

Returns:

Returns a pointer to the constructed object or NULL on error.

Note 1:

Path notation cannot be used in the property listeners.

Function: LmiPropertyListenerConstructCopy

Member Of:

LmiPropertyListener

Description:

Constructs a property listener from another property listener.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyListener* LmiPropertyListenerConstructCopy(LmiPropertyListener* x, const LmiPropertyListener* y)

Parameters:

x A property listener.
y A property listener.

Returns:

Returns a pointer to the constructed object or NULL on error.

Note 1:

Path notation cannot be used in the property listeners.

Function: LmiPropertyListenerDestruct

Member Of:

LmiPropertyListener

Description:

Destructs a property listener.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

void LmiPropertyListenerDestruct(LmiPropertyListener* x)

Parameters:

x A property listener.

Function: LmiPropertyListenerEqual

Member Of:

LmiPropertyListener

Description:

Determines whether two property listeners are equal.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertyListenerEqual(const LmiPropertyListener* x, const LmiPropertyListener* y)

Parameters:

x A property listener.
y A property listener.

Returns:

Returns LMI_TRUE if the listeners are equal or LMI_FALSE otherwise.

Function: LmiPropertyListenerGetData

Member Of:

LmiPropertyListener

Description:

Gets the user data pointer of the property listener.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiVoidPtr LmiPropertyListenerGetData(const LmiPropertyListener* x)

Parameters:

x A property listener.

Returns:

Returns the user data pointer passed to LmiPropertyListenerConstruct or LmiPropertyListenerConstructCStr.

Function: LmiPropertyListenerGetName

Member Of:

LmiPropertyListener

Description:

Gets the property name the listener is set on.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiString* LmiPropertyListenerGetName(const LmiPropertyListener* x)

Parameters:

x A property listener.

Returns:

Returns a pointer to the name or NULL if the listener is listening to all properties.

Function: LmiPropertyListenerGetTrigger

Member Of:

LmiPropertyListener

Description:

Gets the trigger of a property listener.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyListenerTrigger LmiPropertyListenerGetTrigger(const LmiPropertyListener* x)

Parameters:

x A property listener.

Returns:

Returns the trigger for the listener.

Function: LmiPropertyValueAssign

Member Of:

LmiPropertyValue

Description:

Assigns one property value to another.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueAssign(LmiPropertyValue* x, const LmiPropertyValue* y)

Parameters:

x A property value.
y A property value whose value to assign to x .

Returns:

Returns a pointer to the assigned-to property value or NULL if x is not settable or some other error occurred.

Function: LmiPropertyValueConstructBool

Member Of:

LmiPropertyValue

Description:

Constructs an LmiBool property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructBool(LmiPropertyValue* x, LmiBool b, LmiBool settable)

Parameters:

x A property value.
b The LmiBool to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructCopy

Member Of:

LmiPropertyValue

Description:

Constructs a property value from another property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructCopy(LmiPropertyValue* x, const LmiPropertyValue* y)

Parameters:

x A property value.
y A property value whose value to assign to x .

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructFloat32

Member Of:

LmiPropertyValue

Description:

Constructs an LmiFloat32 property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructFloat32(LmiPropertyValue* x, LmiFloat32 f32, LmiBool settable)

Parameters:

x A property value.
f32 The LmiFloat32 to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructFloat64

Member Of:

LmiPropertyValue

Description:

Constructs an LmiFloat64 property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructFloat64(LmiPropertyValue* x, LmiFloat64 f64, LmiBool settable)

Parameters:

x A property value.
f64 The LmiFloat64 to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructInt

Member Of:

LmiPropertyValue

Description:

Constructs an LmiInt property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructInt(LmiPropertyValue* x, LmiInt i, LmiBool settable)

Parameters:

x A property value.
i The LmiInt to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructInt16

Member Of:

LmiPropertyValue

Description:

Constructs an LmiInt16 property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructInt16(LmiPropertyValue* x, LmiInt16 i16, LmiBool settable)

Parameters:

x A property value.
i16 The LmiInt16 to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructInt64

Member Of:

LmiPropertyValue

Description:

Constructs an LmiInt64 property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructInt64(LmiPropertyValue* x, LmiInt64 i64, LmiBool settable)

Parameters:

x A property value.
i64 The LmiInt64 to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructProperties

Member Of:

LmiPropertyValue

Description:

Constructs an LmiProperties property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructProperties(LmiPropertyValue* x, const LmiProperties* p, LmiBool settable)

Parameters:

x A property value.
p The LmiProperties to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructSharedVoidPtr

Member Of:

LmiPropertyValue

Description:

Constructs an LmiSharedVoidPtr property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructSharedVoidPtr(LmiPropertyValue* x, const LmiSharedVoidPtr* sp, LmiBool settable)

Parameters:

x A property value.
sp The LmiSharedVoidPtr to assign to the property value.
settable Defines whether or not LmiSharedVoidPtrAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructSizeT

Member Of:

LmiPropertyValue

Description:

Constructs an LmiSizeT property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructSizeT(LmiPropertyValue* x, LmiSizeT sz, LmiBool settable)

Parameters:

x A property value.
sz The LmiSizeT to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructString

Member Of:

LmiPropertyValue

Description:

Constructs an LmiString property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructString(LmiPropertyValue* x, const LmiString* s, LmiBool settable)

Parameters:

x A property value.
s The LmiString to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructStringCStr

Member Of:

LmiPropertyValue

Description:

Constructs an LmiString property value from a C string.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructStringCStr(LmiPropertyValue* x, const char* s, LmiBool settable, LmiAllocator* a)

Parameters:

x A property value.
s The C string to assign to the LmiString property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.
a An allocator.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructTime

Member Of:

LmiPropertyValue

Description:

Constructs an LmiTime property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructTime(LmiPropertyValue* x, LmiTime t, LmiBool settable)

Parameters:

x A property value.
t The LmiTime to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructUint

Member Of:

LmiPropertyValue

Description:

Constructs an LmiUint property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructUint(LmiPropertyValue* x, LmiUint ui, LmiBool settable)

Parameters:

x A property value.
ui The LmiUint to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructUint16

Member Of:

LmiPropertyValue

Description:

Constructs an LmiUint16 property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructUint16(LmiPropertyValue* x, LmiUint16 ui16, LmiBool settable)

Parameters:

x A property value.
ui16 The LmiUint16 to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructVector

Member Of:

LmiPropertyValue

Description:

Constructs an LmiVector(LmiPropertyValue) property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructVector(LmiPropertyValue* x, const LmiVector(LmiPropertyValue)* v, LmiBool settable)

Parameters:

x A property value.
v The LmiVector(LmiPropertyValue) to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructVoidPtr

Member Of:

LmiPropertyValue

Description:

Constructs an LmiVoidPtr property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructVoidPtr(LmiPropertyValue* x, LmiVoidPtr vp, LmiBool settable)

Parameters:

x A property value.
vp The LmiVoidPtr to assign to the property value.
settable Defines whether or not LmiPropertyValueAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueConstructWeakVoidPtr

Member Of:

LmiPropertyValue

Description:

Constructs an LmiSharedVoidPtr property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValue* LmiPropertyValueConstructWeakVoidPtr(LmiPropertyValue* x, const LmiWeakVoidPtr* wp, LmiBool settable)

Parameters:

x A property value.
wp The LmiWeakVoidPtr to assign to the property value.
settable Defines whether or not LmiWeakVoidPtrAssign will succeed on the property value.

Returns:

Returns a pointer to the constructed property value or NULL on error.

Function: LmiPropertyValueDestruct

Member Of:

LmiPropertyValue

Description:

Destructs a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

void LmiPropertyValueDestruct(LmiPropertyValue* x)

Parameters:

x A property value.

Function: LmiPropertyValueEqual

Member Of:

LmiPropertyValue

Description:

Determines whether two property values are equal.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertyValueEqual(const LmiPropertyValue* x, const LmiPropertyValue* y)

Parameters:

x A property value.
y A property value.

Returns:

Return LMI_TRUE if the properties are of the same type and value, or LMI_FALSE otherwise.

Function: LmiPropertyValueGetBool

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiBool of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiBool* LmiPropertyValueGetBool(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiBool of the property value on success, or NULL if the type of the property value is not an LmiBool.

Function: LmiPropertyValueGetFloat32

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiFloat32 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiFloat32* LmiPropertyValueGetFloat32(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiFloat32 of the property value on success, or NULL if the type of the property value is not an LmiFloat32.

Function: LmiPropertyValueGetFloat64

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiFloat64 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiFloat64* LmiPropertyValueGetFloat64(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiFloat64 of the property value on success, or NULL if the type of the property value is not an LmiFloat64.

Function: LmiPropertyValueGetInt

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiInt of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiInt* LmiPropertyValueGetInt(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiInt of the property value on success, or NULL if the type of the property value is not an LmiInt.

Function: LmiPropertyValueGetInt16

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiInt16 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiInt16* LmiPropertyValueGetInt16(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiInt16 of the property value on success, or NULL if the type of the property value is not an LmiInt16.

Function: LmiPropertyValueGetInt64

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiInt64 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiInt64* LmiPropertyValueGetInt64(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiInt64 of the property value on success, or NULL if the type of the property value is not an LmiInt64.

Function: LmiPropertyValueGetProperties

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiProperties of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiProperties* LmiPropertyValueGetProperties(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiProperties of the property value on success, or NULL if the type of the property value is not an LmiProperties.

Function: LmiPropertyValueGetSharedVoidPtr

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiSharedVoidPtr of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiSharedVoidPtr* LmiPropertyValueGetSharedVoidPtr(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiSharedVoidPtr of the property value on success, or NULL if the type of the property value is not an LmiSharedVoidPtr.

Function: LmiPropertyValueGetSizeT

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiSizeT of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiSizeT* LmiPropertyValueGetSizeT(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiSizeT of the property value on success, or NULL if the type of the property value is not an LmiSizeT.

Function: LmiPropertyValueGetString

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiString of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiString* LmiPropertyValueGetString(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiString of the property value on success, or NULL if the type of the property value is not an LmiString.

Function: LmiPropertyValueGetTime

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiTime of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiTime* LmiPropertyValueGetTime(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiTime of the property value on success, or NULL if the type of the property value is not an LmiTime.

Function: LmiPropertyValueGetType

Member Of:

LmiPropertyValue

Description:

Gets the property value type of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiPropertyValueType LmiPropertyValueGetType(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns the type of the property value.

Function: LmiPropertyValueGetUint

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiUint of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiUint* LmiPropertyValueGetUint(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiUint of the property value on success, or NULL if the type of the property value is not an LmiUint.

Function: LmiPropertyValueGetUint16

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiUint16 of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiUint16* LmiPropertyValueGetUint16(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiUint16 of the property value on success, or NULL if the type of the property value is not an LmiUint16.

Function: LmiPropertyValueGetVector

Member Of:

LmiPropertyValue

Description:

Gets a LmiVector(LmiPropertyValue) pointer to an LmiVector(LmiPropertyValue) of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiVector(LmiPropertyValue)* LmiPropertyValueGetVector(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiVector(LmiPropertyValue) of the property value on success, or NULL if the type of the property value is not an LmiVector(LmiPropertyValue).

Function: LmiPropertyValueGetVoidPtr

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiVoidPtr of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiVoidPtr* LmiPropertyValueGetVoidPtr(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiVoidPtr of the property value on success, or NULL if the type of the property value is not an LmiVoidPtr.

Function: LmiPropertyValueGetWeakVoidPtr

Member Of:

LmiPropertyValue

Description:

Gets a const pointer to an LmiWeakVoidPtr of a property value.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

const LmiWeakVoidPtr* LmiPropertyValueGetWeakVoidPtr(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns a pointer to an LmiWeakVoidPtr of the property value on success, or NULL if the type of the property value is not an LmiWeakVoidPtr.

Function: LmiPropertyValueIsSettable

Member Of:

LmiPropertyValue

Description:

Determines whether or not a property value is settable.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool LmiPropertyValueIsSettable(const LmiPropertyValue* x)

Parameters:

x A property value.

Returns:

Returns LMI_TRUE if the property value is settable or LMI_FALSE otherwise.

Function: LmiPropertyValueToBool

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiBool.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiBool* LmiPropertyValueToBool(const LmiPropertyValue* x, LmiBool* b)

Parameters:

x A property value.
b An LmiBool to hold a copy of the property's value.

Returns:

Returns b on success, or NULL if the type of the property value is not an LmiBool or any other error occurs.

Function: LmiPropertyValueToFloat32

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiFloat32.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiFloat32* LmiPropertyValueToFloat32(const LmiPropertyValue* x, LmiFloat32* f32)

Parameters:

x A property value.
f32 An LmiFloat32 to hold a copy of the property's value.

Returns:

Returns f32 on success, or NULL if the type of the property value is not an LmiFloat32 or any other error occurs.

Function: LmiPropertyValueToFloat64

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiFloat64.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiFloat64* LmiPropertyValueToFloat64(const LmiPropertyValue* x, LmiFloat64* f64)

Parameters:

x A property value.
f64 An LmiFloat64 to hold a copy of the property's value.

Returns:

Returns f64 on success, or NULL if the type of the property value is not an LmiFloat64 or any other error occurs.

Function: LmiPropertyValueToInt

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiInt.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiInt* LmiPropertyValueToInt(const LmiPropertyValue* x, LmiInt* i)

Parameters:

x A property value.
i An LmiInt to hold a copy of the property's value.

Returns:

Returns i on success, or NULL if the type of the property value is not an LmiInt or any other error occurs.

Function: LmiPropertyValueToInt16

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiInt16.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiInt16* LmiPropertyValueToInt16(const LmiPropertyValue* x, LmiInt16* i16)

Parameters:

x A property value.
i16 An LmiInt16 to hold a copy of the property's value.

Returns:

Returns i16 on success, or NULL if the type of the property value is not an LmiInt16 or any other error occurs.

Function: LmiPropertyValueToInt64

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiInt64.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiInt64* LmiPropertyValueToInt64(const LmiPropertyValue* x, LmiInt64* i64)

Parameters:

x A property value.
i64 An LmiInt64 to hold a copy of the property's value.

Returns:

Returns i64 on success, or NULL if the type of the property value is not an LmiInt64 or any other error occurs.

Function: LmiPropertyValueToProperties

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiProperties.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiProperties* LmiPropertyValueToProperties(const LmiPropertyValue* x, LmiProperties* p)

Parameters:

x A property value.
p An LmiProperties to hold a copy of the property's value.

Returns:

Returns s on success, or NULL if the type of the property value is not an LmiProperties or any other error occurs.

Function: LmiPropertyValueToSharedVoidPtr

Member Of:

LmiPropertyValue

Description:

Converts a property value to a void pointer.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiSharedVoidPtr* LmiPropertyValueToSharedVoidPtr(const LmiPropertyValue* x, LmiSharedVoidPtr* sp)

Parameters:

x A property value.
sp An LmiSharedVoidPtr to hold a copy of the property's value.

Returns:

Returns sp on success, or NULL if the type of the property value is not an LmiSharedVoidPtr or any other error occurs.

Function: LmiPropertyValueToSizeT

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiSizeT.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiSizeT* LmiPropertyValueToSizeT(const LmiPropertyValue* x, LmiSizeT* sz)

Parameters:

x A property value.
sz An LmiSizeT to hold a copy of the property's value.

Returns:

Returns sz on success, or NULL if the type of the property value is not an LmiSizeT or any other error occurs.

Function: LmiPropertyValueToString

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiString.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiString* LmiPropertyValueToString(const LmiPropertyValue* x, LmiString* s)

Parameters:

x A property value.
s An LmiString to hold a copy of the property's value.

Returns:

Returns s on success, or NULL if the type of the property value is not an LmiString or any other error occurs.

Function: LmiPropertyValueToTime

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiTime.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiTime* LmiPropertyValueToTime(const LmiPropertyValue* x, LmiTime* t)

Parameters:

x A property value.
t An LmiTime to hold a copy of the property's value.

Returns:

Returns t on success, or NULL if the type of the property value is not an LmiTime or any other error occurs.

Function: LmiPropertyValueToUint

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiUint.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiUint* LmiPropertyValueToUint(const LmiPropertyValue* x, LmiUint* ui)

Parameters:

x A property value.
ui An LmiUint to hold a copy of the property's value.

Returns:

Returns ui on success, or NULL if the type of the property value is not an LmiUint or any other error occurs.

Function: LmiPropertyValueToUint16

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiUint16.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiUint16* LmiPropertyValueToUint16(const LmiPropertyValue* x, LmiUint16* ui16)

Parameters:

x A property value.
ui16 An LmiUint16 to hold a copy of the property's value.

Returns:

Returns ui16 on success, or NULL if the type of the property value is not an LmiUint16 or any other error occurs.

Function: LmiPropertyValueToVector

Member Of:

LmiPropertyValue

Description:

Converts a property value to an LmiVector(LmiPropertyValue).

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiVector(LmiPropertyValue)* LmiPropertyValueToVector(const LmiPropertyValue* x, LmiVector(LmiPropertyValue)* v)

Parameters:

x A property value.
v An LmiVector(LmiPropertyValue) to hold a copy of the property's value.

Returns:

Returns v on success, or NULL if the type of the property value is not an LmiVector(LmiPropertyValue) or any other error occurs.

Function: LmiPropertyValueToVoidPtr

Member Of:

LmiPropertyValue

Description:

Converts a property value to a void pointer.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiVoidPtr* LmiPropertyValueToVoidPtr(const LmiPropertyValue* x, LmiVoidPtr* vp)

Parameters:

x A property value.
vp An LmiVoidPtr to hold a copy of the property's value.

Returns:

Returns vp on success, or NULL if the type of the property value is not an LmiVoidPtr or any other error occurs.

Function: LmiPropertyValueToWeakVoidPtr

Member Of:

LmiPropertyValue

Description:

Converts a property value to a void pointer.

Include:

Lmi/Os/LmiProperties.h

Library:

LmiOs

Syntax:

LmiWeakVoidPtr* LmiPropertyValueToWeakVoidPtr(const LmiPropertyValue* x, LmiWeakVoidPtr* wp)

Parameters:

x A property value.
wp An LmiWeakVoidPtr to hold a copy of the property's value.

Returns:

Returns wp on success, or NULL if the type of the property value is not an LmiWeakVoidPtr or any other error occurs.

Function: LmiPseudoRandomSimulatorGetDefault

Member Of:

Random

Description:

Returns an LmiVariableSimulator object that uses a pseudorandom source of random numbers. If higher-quality random numbers are required, use LmiRandomSimulatorGetDefault instead.

Include:

Lmi/Os/LmiRandom.h

Library:

LmiOs

Syntax:

LmiVariableSimulator *LmiPseudoRandomSimulatorGetDefault(void)

Returns:

The simulator object.

Note 1:

The object returned does its own locking; it is safe to use it from multiple threads at once.

Function: LmiRandomSimulatorGetDefault

Member Of:

Random

Description:

Returns an LmiVariableSimulator object that uses a cryptographically secure source of random numbers. This source may be slower than a pseudorandom source; if high-quality random numbers are not necessary, use LmiPseudoRandomSimulatorGetDefault instead.

Include:

Lmi/Os/LmiRandom.h

Library:

LmiOs

Syntax:

LmiVariableSimulator *LmiRandomSimulatorGetDefault(void)

Returns:

The simulator object.

Note 1:

The object returned does its own locking; it is safe to use it from multiple threads at once.

Function: LmiReferenceCountedObjectAddReference

Member Of:

LmiReferenceCountedObject

Description:

Increments an object's reference count.

Include:

Lmi/Os/LmiReferenceCountedObject.h

Library:

LmiOs

Syntax:

void LmiReferenceCountedObjectAddReference(LmiReferenceCountedObject *obj)

Parameters:

obj The LmiReferenceCountedObject.

Function: LmiReferenceCountedObjectConstruct

Member Of:

LmiReferenceCountedObject

Description:

Constructs an LmiReferenceCountedObject.

Include:

Lmi/Os/LmiReferenceCountedObject.h

Library:

LmiOs

Syntax:

LmiReferenceCountedObject *LmiReferenceCountedObjectConstruct(LmiReferenceCountedObject *obj, LmiReferenceCountedObjectDeleteCallback deleteCallback)

Parameters:

obj The LmiReferenceCountedObject to construct.
deleteCallback A callback to be invoked when all references to the object have been removed.

Returns:

A pointer to a constructed object on success, or NULL on failure.

Function: LmiReferenceCountedObjectDestruct

Member Of:

LmiReferenceCountedObject

Description:

Destructs an LmiReferenceCountedObject.

Include:

Lmi/Os/LmiReferenceCountedObject.h

Library:

LmiOs

Syntax:

void LmiReferenceCountedObjectDestruct(LmiReferenceCountedObject *obj)

Parameters:

obj The LmiReferenceCountedObject to destruct.

Function: LmiReferenceCountedObjectRemoveReference

Member Of:

LmiReferenceCountedObject

Description:

Decrements an object's reference count. When the count becomes 0, the LmiReferenceCountedObjectDeleteCallback is invoked.

Include:

Lmi/Os/LmiReferenceCountedObject.h

Library:

LmiOs

Syntax:

void LmiReferenceCountedObjectRemoveReference(LmiReferenceCountedObject *obj)

Parameters:

obj The LmiReferenceCountedObject.

Function: LmiReferenceCountedObjectUnique

Member Of:

LmiReferenceCountedObject

Description:

Get the whether a reference counted object is unique, i.e. its reference count is 1.

Include:

Lmi/Os/LmiReferenceCountedObject.h

Library:

LmiOs

Syntax:

LmiBool LmiReferenceCountedObjectUnique(const LmiReferenceCountedObject *obj)

Parameters:

obj The LmiReferenceCountedObject.

Returns:

Whether the reference counted object's reference count is 1.

Function: LmiSharedPtrAssign

Member Of:

LmiSharedPtr

Description:

Assign the value of one shared pointer to another existing one.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrAssign(T_)(LmiSharedPtr(T_)* s, const LmiSharedPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer to assign.
orig An existing shared pointer to copy.

Returns:

The assigned-to shared pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::operator=(shared_ptr& const) .

Note 2:

If s and orig refer to different shared pointers, s's use count is decremented, and orig's use count is incremented.

Function: LmiSharedPtrAssignFromOtherSharedPtr

Member Of:

LmiSharedPtr

Description:

Assign the value of shared pointer to a shared pointer of a different type, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrAssignFromOtherSharedPtr(T_, U_)(LmiSharedPtr(T_)* s, const LmiSharedPtr(U_)* orig)

Template Parameters:

T_ The type pointed to by the shared pointer to be assigned to.
U_ The type pointed to by the existing shared pointer.

Parameters:

s The shared pointer to assign.
orig An existing shared pointer. The type of the object pointed to by this shared pointer must be compatible with T_.

Returns:

The assigned-to shared pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::operator=(shared_ptr<U_>& const) .

Note 2:

An expansion of the macro Declare_LmiSharedPtrAssignFromOtherSharedPtr(T_, U_) must be in scope before calling this function, and an expansion of the macro Define_LmiSharedPtrAssignFromOtherSharedPtr(T_, U_) must be present in exactly one object file at link time.

Function: LmiSharedPtrAssignFromSharedVoidPtr

Member Of:

LmiSharedPtr

Description:

Assign the value of shared void pointer to a shared pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrAssignFromSharedVoidPtr(T_)(LmiSharedPtr(T_)* s, const LmiSharedVoidPtr* orig)

Template Parameters:

T_ The type pointed to by the shared pointer to be assigned to.

Parameters:

s The shared pointer to assign.
orig An existing shared void pointer. The actual type of the object pointed to by this shared pointer must be compatible with T_.

Returns:

The assigned-to shared pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::operator=(shared_ptr<void>& const) .

Function: LmiSharedPtrConstruct

Member Of:

LmiSharedPtr

Description:

Construct a shared pointer corresponding to a specified pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrConstruct(T_)(LmiSharedPtr(T_)* s, T_* p, LmiAllocator* a)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer to construct.
p The pointer to share. This memory for the pointed-to object pointer must have been allocated using the LmiAllocator a.
a An allocator. This will be used both to allocate internal data structures for the shared pointer and to deallocate memory for the pointed-to object when its use count becomes 0.

Returns:

The constructed shared pointer on success, or NULL on failure.

Note 1:

LmiDestruct(T_)(p) will be called when the object's use count becomes 0.

Note 2:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::shared_ptr(T_* p) , but taking an allocator.

Function: LmiSharedPtrConstructCopy

Member Of:

LmiSharedPtr

Description:

Construct a shared pointer as a copy of an existing one, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrConstructCopy(T_)(LmiSharedPtr(T_)* s, const LmiSharedPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer to construct.
orig An existing shared pointer to copy.

Returns:

The constructed shared pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::shared_ptr(shared_ptr& const) .

Function: LmiSharedPtrConstructDefault

Member Of:

LmiSharedPtr

Description:

Construct an empty shared pointer, pointing to NULL and with a use-count of 0.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrConstructDefault(T_)(LmiSharedPtr(T_)* s)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The empty shared pointer to construct.

Returns:

The constructed shared pointer. Does not fail.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::shared_ptr() .

Function: LmiSharedPtrConstructFromOtherSharedPtr

Member Of:

LmiSharedPtr

Description:

Construct a shared pointer from a shared pointer of a different type, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrConstructFromOtherSharedPtr(T_, U_)(LmiSharedPtr(T_)* s, const LmiSharedPtr(U_)* orig)

Template Parameters:

T_ The type pointed to by the shared pointer to construct.
U_ The type pointed to by the existing shared pointer.

Parameters:

s The shared pointer to construct.
orig An existing shared pointer. The type of the object pointed to by this shared pointer must be compatible with T_.

Returns:

The constructed shared pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::shared_ptr(shared_ptr<U_>& const) .

Note 2:

An expansion of the macro Declare_LmiSharedPtrConstructFromOtherSharedPtr(T_, U_) must be in scope before calling this function, and an expansion of the macro Define_LmiSharedPtrConstructFromOtherSharedPtr(T_, U_) must be present in exactly one object file at link time.

Function: LmiSharedPtrConstructFromOtherWeakPtr

Member Of:

LmiSharedPtr

Description:

Construct a shared pointer based on a weak pointer of a different type, sharing the same underlying pointer, if the weak pointer is not expired.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrConstructFromOtherWeakPtr(T_, U_)(LmiSharedPtr(T_)* s, const LmiWeakPtr(U_)* orig)

Template Parameters:

T_ The type pointed to by the shared pointer to construct.
U_ The type pointed to by the existing weak pointer.

Parameters:

s The shared pointer to construct.
orig An existing weak pointer. The type of the object pointed to by this weak pointer must be compatible with T_.

Returns:

The constructed shared pointer on success, or NULL on failure, including if the weak pointer is expired.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::shared_ptr(weak_ptr<U_>& const) , except returning NULL if the weak pointer is expired, rather than throwing std::bad_weak_ptr.

Note 2:

An expansion of the macro Declare_LmiSharedPtrConstructFromOtherWeakPtr(T_, U_) must be in scope before calling this function, and an expansion of the macro Define_LmiSharedPtrConstructFromOtherWeakPtr(T_, U_) must be present in exactly one object file at link time.

Function: LmiSharedPtrConstructFromSharedVoidPtr

Member Of:

LmiSharedPtr

Description:

Construct a shared pointer from a shared void pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrConstructFromSharedVoidPtr(T_)(LmiSharedPtr(T_)* s, const LmiSharedVoidPtr* orig)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer to construct.
orig An existing shared void pointer. The actual type of the object pointed to by the shared void pointer must be compatible with T_.

Returns:

The constructed shared pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::shared_ptr(shared_ptr<void>& const) .

Function: LmiSharedPtrConstructFromWeakPtr

Member Of:

LmiSharedPtr

Description:

Construct a shared pointer based on a weak pointer, sharing the same underlying pointer, if the weak pointer is not expired.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrConstructFromWeakPtr(T_)(LmiSharedPtr(T_)* s, const LmiWeakPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer to construct.
orig An existing weak pointer to copy.

Returns:

The constructed shared pointer on success, or NULL on failure, including if the weak pointer is expired.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::shared_ptr(weak_ptr& const) , except returning NULL if the weak pointer is expired, rather than throwing std::bad_weak_ptr.

Function: LmiSharedPtrConstructFromWeakVoidPtr

Member Of:

LmiSharedPtr

Description:

Construct a shared pointer based on a weak void pointer, sharing the same underlying pointer, if the weak pointer is not expired.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrConstructFromWeakVoidPtr(T_)(LmiSharedPtr(T_)* s, const LmiWeakVoidPtr* orig)

Template Parameters:

T_ The type pointed to by the shared pointer to construct.

Parameters:

s The shared pointer to construct.
orig An existing weak void pointer. The type of the object pointed to by this weak pointer must be compatible with T_.

Returns:

The constructed shared pointer on success, or NULL on failure, including if the weak pointer is expired.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::shared_ptr(weak_ptr<void>& const) , except returning NULL if the weak pointer is expired, rather than throwing std::bad_weak_ptr.

Function: LmiSharedPtrConstructWithDeleter

Member Of:

LmiSharedPtr

Description:

Construct a shared pointer corresponding to a specified pointer with a custom deleter.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtr(T_)* LmiSharedPtrConstructWithDeleter(T_)(LmiSharedPtr(T_)* s, T_* p, LmiSharedPtrDeleterCallback d, LmiAllocator* a)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer to construct.
p The pointer to share.
d A deleter to be called when the shared pointer's reference count becomes 0.
a An allocator. This will only be used to allocate internal data structures, and will be passed to the deleter when the shared pointer's reference count becomes 0.

Returns:

The constructed shared pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::shared_ptr(T_* p, D d, A a) .

Function: LmiSharedPtrDestruct

Member Of:

LmiSharedPtr

Description:

Destruct a shared pointer. If this brings the shared pointer's use count to 0, delete the underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

void LmiSharedPtrDestruct(T_)(LmiSharedPtr(T_)* s)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer to destruct.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::~shared_ptr() .

Function: LmiSharedPtrEqual

Member Of:

LmiSharedPtr

Description:

Compare the values of two shared pointers for equality.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiSharedPtrEqual(T_)(const LmiSharedPtr(T_)* a, const LmiSharedPtr(T_)* b)

Template Parameters:

T_ The type pointed to by the shared pointers.

Parameters:

a The first shared pointer to compare.
b The second shared pointer to compare.

Returns:

Whether the pointers contained in the shared pointer objects are the same.

Note 1:

Like ISO C++ TR1 function template<T_> operator==(const std::tr1::shared_ptr<T_>&, const std::tr1::shared_ptr<T_>&) .

Function: LmiSharedPtrGet

Member Of:

LmiSharedPtr

Description:

Get the pointer pointed-to by a shared pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

T_* LmiSharedPtrGet(T_)(const LmiSharedPtr(T_)* s)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer whose pointer to get.

Returns:

The pointer pointed-to by the shared pointer, or NULL.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::get() const .

Function: LmiSharedPtrGetAllocator

Member Of:

LmiSharedPtr

Description:

Get the allocator used by a shared pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiAllocator* LmiSharedPtrGetAllocator(T_)(const LmiSharedPtr(T_)* s)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer whose allocator to get.

Returns:

The allocator used by the shared pointer, or NULL if the shared pointer is empty.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::get_allocator() const .

Function: LmiSharedPtrGetDeleter

Member Of:

LmiSharedPtr

Description:

Get the deleter associated with a shared pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtrDeleterCallback LmiSharedPtrGetDeleter(T_)(const LmiSharedPtr(T_)* s)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer whose deleter to get.

Returns:

The deleter associated with the shared pointer. If the shared pointer was constructed without an explicit deleter, the default deleter function for the type is returned. For a default-constructed shared pointer, this may be NULL.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::get_deleter() const .

Function: LmiSharedPtrLess

Member Of:

LmiSharedPtr

Description:

Compare the values of two shared pointers for ordering.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiSharedPtrLess(T_)(const LmiSharedPtr(T_)* a, const LmiSharedPtr(T_)* b)

Template Parameters:

T_ The type pointed to by the shared pointers.

Parameters:

a The first shared pointer to compare.
b The second shared pointer to compare.

Returns:

Whether the pointer contained in the first shared pointer objects is less than the second one.

Note 1:

Like ISO C++ TR1 function template<T_> operator<(const std::tr1::shared_ptr<T_>&, const std::tr1::shared_ptr<T_>&) .

Function: LmiSharedPtrMakeUnique

Member Of:

LmiSharedPtr

Description:

Cause a shared pointer to become unique, by duplicating the underlying object it points to.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiSharedPtrMakeUnique(T_)(LmiSharedPtr(T_)* s)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer to make unique.

Returns:

LMI_TRUE if the pointer was successfully made unique, LMI_FALSE otherwise.

Note 1:

If the shared pointer was already unique prior to this function being called, the function will do nothing and return LMI_TRUE. If the shared pointer was empty, the function will do nothing and return LMI_FALSE.

Note 2:

An expansion of the macro Declare_LmiSharedPtrMakeUnique(T) must be in scope before invoking this function, and an expansion of the macro Define_LmiSharedPtrMakeUnique(T) must be present in exactly one object file at link time. This function is not included in Declare_LmiSharedPtr.

Note 3:

The type pointed to by this shared pointer must have a ConstructCopy method LmiConstructCopy(T_).

Note 4:

The underlying object will be duplicated by calling LmiConstructCopy(T_), writing into memory of size sizeof(T_). If the underlying object is not actually of type T_ -- for instance, if it is actually a derivative class, or if the shared pointer was created by LmiSharedPtrConstructFromOtherSharedPtr -- this will probably do the wrong thing.

Note 5:

This will invalidate any previous value returned by LmiSharedPtrGet on this shared pointer.

Note 6:

This does not correspond to any ISO C++ TR1 function.

Function: LmiSharedPtrReset

Member Of:

LmiSharedPtr

Description:

Reset the value of a shared pointer, pointing to NULL and with a use-count of 0.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

void LmiSharedPtrReset(T_)(LmiSharedPtr(T_)* s)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer to be reset.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::reset() .

Function: LmiSharedPtrSwap

Member Of:

LmiSharedPtr

Description:

Swap the values of two shared pointers.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiSharedPtrSwap(T_)(LmiSharedPtr(T_)* a, LmiSharedPtr(T_)* b)

Template Parameters:

T_ The type pointed to by the shared pointers.

Parameters:

a The first shared pointer to be swapped.
b The second shared pointer to be swapped.

Returns:

LMI_TRUE, always (cannot fail).

Note 1:

Like ISO C++ TR1 function template<T_> std::swap(std::tr1::shared_ptr<T_>&, std::tr1::shared_ptr<T_>&) .

Function: LmiSharedPtrUnique

Member Of:

LmiSharedPtr

Description:

Get the whether a shared pointer is unique, i.e. its use count is 1.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiSharedPtrUnique(T_)(const LmiSharedPtr(T_)* s)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer whose uniqueness to get.

Returns:

Whether the shared pointer's use-count is 1.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::unique() .

Note 2:

This function will return false for an empty shared pointer (one constructed with LmiSharedPtrConstructDefault(T_)).

Function: LmiSharedPtrUseCount

Member Of:

LmiSharedPtr

Description:

Get the current use-count of a shared pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiInt LmiSharedPtrUseCount(T_)(const LmiSharedPtr(T_)* s)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

s The shared pointer whose use count to get.

Returns:

The use count of the shared pointer.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<T_>::use_count() .

Function: LmiSharedVoidPtrAssign

Member Of:

LmiSharedVoidPtr

Description:

Assign the value of one shared void pointer to another existing one.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedVoidPtr* LmiSharedVoidPtrAssign(LmiSharedVoidPtr* s, const LmiSharedVoidPtr* orig)

Parameters:

s The shared void pointer to assign.
orig An existing shared void pointer to copy.

Returns:

The assigned-to shared void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::operator=(shared_ptr& const) .

Note 2:

If s and orig refer to different shared void pointers, s's use count is decremented, and orig's use count is incremented.

Function: LmiSharedVoidPtrAssignFromSharedPtr

Member Of:

LmiSharedVoidPtr

Description:

Assign the value of shared pointer to a shared void pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedVoidPtr* LmiSharedVoidPtrAssignFromSharedPtr(T_)(LmiSharedVoidPtr* s, const LmiSharedPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the existing shared pointer.

Parameters:

s The shared void pointer to assign.
orig An existing shared pointer.

Returns:

The assigned-to shared void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::operator=(shared_ptr<T_>& const) .

Note 2:

This function is declared and defined by Declare_LmiSharedPtr(T_) and Define_LmiSharedPtr(T_) respectively.

Function: LmiSharedVoidPtrConstructCopy

Member Of:

LmiSharedVoidPtr

Description:

Construct a shared void pointer as a copy of an existing one, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedVoidPtr* LmiSharedVoidPtrConstructCopy(LmiSharedVoidPtr* s, const LmiSharedVoidPtr* orig)

Parameters:

s The shared void pointer to construct.
orig An existing shared void pointer to copy.

Returns:

The constructed shared void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::shared_ptr(shared_ptr& const) .

Function: LmiSharedVoidPtrConstructDefault

Member Of:

LmiSharedVoidPtr

Description:

Construct an empty shared void pointer, pointing to NULL and with a use-count of 0.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedVoidPtr* LmiSharedVoidPtrConstructDefault(LmiSharedVoidPtr* s)

Parameters:

s The empty shared void pointer to construct.

Returns:

The constructed shared void pointer. Does not fail.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::shared_ptr() .

Function: LmiSharedVoidPtrConstructFromSharedPtr

Member Of:

LmiSharedVoidPtr

Description:

Construct a shared void pointer from a shared pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedVoidPtr* LmiSharedVoidPtrConstructFromSharedPtr(T_)(LmiSharedVoidPtr* s, const LmiSharedPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the original shared pointer.

Parameters:

s The shared void pointer to construct.
orig An existing shared pointer.

Returns:

The constructed shared void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::shared_ptr(shared_ptr<T_>& const) .

Note 2:

This function is declared and defined by Declare_LmiSharedPtr(T_) and Define_LmiSharedPtr(T_) respectively.

Function: LmiSharedVoidPtrConstructFromWeakPtr

Member Of:

LmiSharedVoidPtr

Description:

Construct a shared void pointer based on a weak pointer, sharing the same underlying pointer, if the weak pointer is not expired.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedVoidPtr* LmiSharedVoidPtrConstructFromWeakPtr(T_)(LmiSharedVoidPtr* s, const LmiWeakPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the existing weak pointer.

Parameters:

s The shared void pointer to construct.
orig An existing weak pointer.

Returns:

The constructed shared void pointer on success, or NULL on failure, including if the weak pointer is expired.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::shared_ptr(weak_ptr<T_>& const) , except returning NULL if the weak pointer is expired, rather than throwing std::bad_weak_ptr.

Note 2:

This function is declared and defined by Declare_LmiSharedPtr(T_) and Define_LmiSharedPtr(T_) respectively.

Function: LmiSharedVoidPtrConstructFromWeakVoidPtr

Member Of:

LmiSharedVoidPtr

Description:

Construct a shared void pointer based on a weak void pointer, sharing the same underlying pointer, if the weak void pointer is not expired.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedVoidPtr* LmiSharedVoidPtrConstructFromWeakVoidPtr(LmiSharedVoidPtr* s, const LmiWeakVoidPtr* orig)

Parameters:

s The shared void pointer to construct.
orig An existing weak void pointer to copy.

Returns:

The constructed shared void pointer on success, or NULL on failure, including if the weak void pointer is expired.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::shared_ptr(weak_ptr& const) , except returning NULL if the weak void pointer is expired, rather than throwing std::bad_weak_ptr.

Function: LmiSharedVoidPtrConstructWithDeleter

Member Of:

LmiSharedVoidPtr

Description:

Construct a shared void pointer corresponding to a specified pointer with a custom deleter.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedVoidPtr* LmiSharedVoidPtrConstructWithDeleter(LmiSharedVoidPtr* s, LmiVoidPtr p, LmiSharedPtrDeleterCallback d, LmiAllocator* a)

Parameters:

s The shared void pointer to construct.
p The pointer to share.
d A deleter to be called when the shared void pointer's reference count becomes 0.
a An allocator. This will only be used to allocate internal data structures, and will be passed to the deleter when the shared void pointer's reference count becomes 0.

Returns:

The constructed shared void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::shared_ptr(void* p, D d, A a) .

Function: LmiSharedVoidPtrDestruct

Member Of:

LmiSharedVoidPtr

Description:

Destruct a shared void pointer. If this brings the shared void pointer's use count to 0, delete the underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

void LmiSharedVoidPtrDestruct(LmiSharedVoidPtr* s)

Parameters:

s The shared void pointer to destruct.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::~shared_ptr() .

Function: LmiSharedVoidPtrEqual

Member Of:

LmiSharedVoidPtr

Description:

Compare the values of two shared void pointers for equality.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiSharedVoidPtrEqual(const LmiSharedVoidPtr* a, const LmiSharedVoidPtr* b)

Parameters:

a The first shared void pointer to compare.
b The second shared void pointer to compare.

Returns:

Whether the pointers contained in the shared void pointer objects are the same.

Note 1:

Like ISO C++ TR1 function operator==(const std::tr1::shared_ptr<void>&, const std::tr1::shared_ptr<void>&) .

Function: LmiSharedVoidPtrGet

Member Of:

LmiSharedVoidPtr

Description:

Get the pointer pointed-to by a shared void pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiVoidPtr LmiSharedVoidPtrGet(const LmiSharedVoidPtr* s)

Parameters:

s The shared void pointer whose pointer to get.

Returns:

The pointer pointed-to by the shared void pointer, or NULL.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::get() const .

Function: LmiSharedVoidPtrGetAllocator

Member Of:

LmiSharedVoidPtr

Description:

Get the allocator used by a shared void pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiAllocator* LmiSharedVoidPtrGetAllocator(const LmiSharedVoidPtr* s)

Parameters:

s The shared void pointer whose allocator to get.

Returns:

The allocator used by the shared void pointer, or NULL if the shared void pointer is empty.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::get_allocator() const .

Function: LmiSharedVoidPtrGetDeleter

Member Of:

LmiSharedVoidPtr

Description:

Get the deleter associated with a shared void pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiSharedPtrDeleterCallback LmiSharedVoidPtrGetDeleter(const LmiSharedVoidPtr* s)

Parameters:

s The shared void pointer whose deleter to get.

Returns:

The deleter associated with the shared void pointer. For a default-constructed shared void pointer, this may be NULL.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::get_deleter() const .

Function: LmiSharedVoidPtrLess

Member Of:

LmiSharedVoidPtr

Description:

Compare the values of two shared void pointers for ordering.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiSharedVoidPtrLess(const LmiSharedVoidPtr* a, const LmiSharedVoidPtr* b)

Parameters:

a The first shared void pointer to compare.
b The second shared void pointer to compare.

Returns:

Whether the pointer contained in the first shared void pointer objects is less than the second one.

Note 1:

Like ISO C++ TR1 function operator<(const std::tr1::shared_ptr<void>&, const std::tr1::shared_ptr<void>&) .

Function: LmiSharedVoidPtrReset

Member Of:

LmiSharedVoidPtr

Description:

Reset the value of a shared void pointer, pointing to NULL and with a use-count of 0.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

void LmiSharedVoidPtrReset(LmiSharedVoidPtr* s)

Parameters:

s The shared void pointer to be reset.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::reset() .

Function: LmiSharedVoidPtrSwap

Member Of:

LmiSharedVoidPtr

Description:

Swap the values of two shared void pointers.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiSharedVoidPtrSwap(LmiSharedVoidPtr* a, LmiSharedVoidPtr* b)

Parameters:

a The first shared void pointer to be swapped.
b The second shared void pointer to be swapped.

Returns:

LMI_TRUE, always (cannot fail).

Note 1:

Like ISO C++ TR1 function std::swap(std::tr1::shared_ptr<void>&, std::tr1::shared_ptr<void>&) .

Function: LmiSharedVoidPtrUnique

Member Of:

LmiSharedVoidPtr

Description:

Get the whether a shared void pointer is unique, i.e. its use count is 1.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiSharedVoidPtrUnique(LmiSharedVoidPtr* s)

Parameters:

s The shared void pointer whose uniqueness to get.

Returns:

Whether the shared void pointer's use-count is 1.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::unique() .

Note 2:

This function will return false for an empty shared void pointer (one constructed with LmiSharedVoidPtrConstructDefault).

Function: LmiSharedVoidPtrUseCount

Member Of:

LmiSharedVoidPtr

Description:

Get the current use-count of a shared void pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiInt LmiSharedVoidPtrUseCount(LmiSharedVoidPtr* s)

Parameters:

s The shared void pointer whose use count to get.

Returns:

The use count of the shared void pointer.

Note 1:

Like ISO C++ TR1 function std::tr1::shared_ptr<void>::use_count() .

Function: LmiThreadAddGlobalExitCallback

Member Of:

LmiThread

Description:

Add a global exit callback to be called whenever any LmiThread exits.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

LmiBool LmiThreadAddGlobalExitCallback(LmiThreadExitCallback exitCb, void* userData)

Parameters:

exitCb The global exit callback to be called.
userData A user data pointer that will be passed to the exit callback whenever it is called. May be NULL.

Returns:

LMI_TRUE if the exit callback function was successfully added or was already present; LMI_FALSE if there were insufficient system resources.

Note 1:

This function must not be called from within an executing exit callback. In most cases it should be called from system initialization.

Note 2:

If an instance of this callback and user data pointer are already present in the list of global exit callbacks, the callback will not be added again.

Function: LmiThreadConstruct

Member Of:

LmiThread

Description:

Construct a thread object.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

LmiThread* LmiThreadConstruct(LmiThread* x, const char* name, LmiThreadPriority priority, LmiSizeT stackSize, LmiThreadFunc func, void* userData)

Parameters:

x A pointer to the thread object to construct.
name A C string containing the thread's name.
priority A platform dependent priority value, the range of which can be determined by calling LmiThreadGetPriorityMin and LmiThreadGetPriorityMax. On Windows operating systems the priority values THREAD_PRIORITY_TIME_IDLE and THREAD_PRIORITY_TIME_CRITICAL have been remapped such that the range of priority values is contiguous. So applications should use LmiThreadGetPriorityMin() and LmiThreadGetPriorityMax() in place of these values when constructing an LmiThread.
stackSize A platform dependent stack size. Setting stack size to 0 (recommended) will create the thread with a system dependent default stack size.
func A function pointer containing the code to execute in the created thread.
userData A pointer to user specified memory that will be passed to the created threads function pointer when the thread is started.

Returns:

A pointer to the thread object, or NULL on failure.

Function: LmiThreadDestruct

Member Of:

LmiThread

Description:

Destruct a thread object.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

void LmiThreadDestruct(LmiThread* x)

Parameters:

x A pointer to the thread object to destruct.

Function: LmiThreadGetName

Member Of:

LmiThread

Description:

Get the name of a thread object.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

const char* LmiThreadGetName(LmiThread* x)

Parameters:

x A pointer to the thread object.

Returns:

A C string containing the name of the thread.

Function: LmiThreadGetPriorityMax

Member Of:

LmiThread

Description:

Get the maximum thread priority value supported by the platform's scheduler. The maximum thread priority value may be numerically lower in value then the minimum thread priority value on systems where higher priority values are represented by lower numeric values.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

LmiThreadPriority LmiThreadGetPriorityMax(void)

Returns:

The maximum thread priority value of the platform's scheduler.

Note 1:

On WindowsTM operating systems the priority values THREAD_PRIORITY_TIME_IDLE and THREAD_PRIORITY_TIME_CRITICAL are not included in the range formed by [LmiThreadGetPriorityMin(), LmiThreadGetPriorityMax()].

Function: LmiThreadGetPriorityMedium

Member Of:

LmiThread

Description:

Get an appropriate medium-priority value for the platform's scheduler. The medium thread priority will be a value roughly intermediate in value between the maximum and minimum thread priorities, as returned by LmiThreadGetPriorityMax and LmiThreadGetPriorityMin, respectively.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

LmiThreadPriority LmiThreadGetPriorityMedium(void)

Returns:

The maximum thread priority value of the platform's scheduler.

Function: LmiThreadGetPriorityMin

Member Of:

LmiThread

Description:

Get the minimum thread priority value supported by the platform's scheduler. The minimum thread priority value may be numerically higher in value then the maximum thread priority value on systems where higher priority values are represented by lower numeric values.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

LmiThreadPriority LmiThreadGetPriorityMin(void)

Returns:

The minimum thread priority value of the platform's scheduler.

Note 1:

On WindowsTM operating systems the priority values THREAD_PRIORITY_TIME_IDLE and THREAD_PRIORITY_TIME_CRITICAL are not included in the range formed by [LmiThreadGetPriorityMin(), LmiThreadGetPriorityMax()].

Function: LmiThreadIdEqual

Member Of:

LmiThreadId

Description:

Compare two LmiThreadIds for equality.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

LmiBool LmiThreadIdEqual(const LmiThreadId* a, const LmiThreadId* b)

Parameters:

a The first thread identifier to compare.
b The second thread identifier to compare.

Returns:

LMI_TRUE if the identifiers refer to the same thread, LMI_FALSE otherwise.

Note 1:

If either thread identifier refers to a thread that has exited, the result is undefined.

Function: LmiThreadIdGetCurrent

Member Of:

LmiThreadId

Description:

Get an LmiThreadId identifying the current thread.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

LmiThreadId LmiThreadIdGetCurrent(void)

Returns:

An LmiThreadId uniquely identifying the current thread. This value is unique for the lifetime of the thread, but may be re-used once the thread has exited.

Function: LmiThreadIdIsCurrent

Member Of:

LmiThreadId

Description:

Determine whether an LmiThreadId identifies the current thread.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

LmiBool LmiThreadIdIsCurrent(const LmiThreadId* t)

Parameters:

t The thread ID to query whether it identifies the current thread.

Returns:

LMI_TRUE if the thread identifies the current thread; LMI_FALSE if not.

Function: LmiThreadJoin

Member Of:

LmiThread

Description:

Wait for a thread object to stop.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

void* LmiThreadJoin(LmiThread* x)

Parameters:

x A pointer to the thread object.

Returns:

The return value of the thread's function.

Note 1:

Only one thread may "join" another thread.

Note 2:

Calling this function on the current thread will cause the thread to deadlock.

Note 3:

This function can not be executed while a call to LmiThreadStart is in progress.

Function: LmiThreadPoolExecute

Member Of:

LmiThreadPool

Description:

Queue a function for execution by the thread pool. Note that this function may block depending on the number of tasks queued for execution and the queue size specified in the constructor

Include:

Lmi/Os/LmiThreadPool.h

Library:

LmiOs

Syntax:

LmiBool LmiThreadPoolExecute( LmiThreadPool *threadPool, LmiThreadPoolUserFunction func, void *data )

Parameters:

threadPool The thread pool object to use for execution of the function
func The function that the thread pool will execute
data A pointer that will be passed to the user function executed by the thread pool

Returns:

LMI_TRUE on success, LMI_FALSE on error queueing the function for execution.

Function: LmiThreadPoolGetNumThreads

Member Of:

LmiThreadPool

Description:

Get the number of threads a thread pool is using.

Include:

Lmi/Os/LmiThreadPool.h

Library:

LmiOs

Syntax:

LmiSizeT LmiThreadPoolGetNumThreads(LmiThreadPool *threadPool )

Parameters:

threadPool The thread pool object to query for the number of threads.

Returns:

The number of threads the thread pool is using.

Function: LmiThreadPoolTryExecute

Member Of:

LmiThreadPool

Description:

Try to queue a function for execution by the thread pool, but fail if the thread pool's task queue is full.

Include:

Lmi/Os/LmiThreadPool.h

Library:

LmiOs

Syntax:

LmiBool LmiThreadPoolTryExecute( LmiThreadPool *threadPool, LmiThreadPoolUserFunction func, void *data )

Parameters:

threadPool The thread pool object to use for execution of the function
func The function that the thread pool will execute
data A pointer that will be passed to the user function executed by the thread pool

Returns:

LMI_TRUE on success, LMI_FALSE on queue full or error queueing the function for execution.

Function: LmiThreadRemoveGlobalExitCallback

Member Of:

LmiThread

Description:

Remove a global exit callback from the list of callbacks to be called whenever any LmiThread exits.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

LmiBool LmiThreadRemoveGlobalExitCallback(LmiThreadExitCallback exitCb, void* userData)

Parameters:

exitCb The exit callback to remove.
userData The user data pointer that was passed when the exit callback was added.

Returns:

LMI_TRUE if a global exit callback with the given user data pointer was found and was removed; LMI_FALSE if there was no such global exit callback and user data pointer registered.

Note 1:

This function must not be called from within an executing exit callback. In most cases it should be called from system uninitialization.

Function: LmiThreadSelf

Member Of:

LmiThread

Description:

Get a pointer to the LmiThread object of the current thread.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

LmiThread* LmiThreadSelf(void)

Returns:

A pointer to the LmiThread object of the current thread or NULL if the thread is not associated with an LmiThread object.

Function: LmiThreadSleep

Member Of:

LmiThread

Description:

Put the current thread to sleep for a specified number of nanoseconds.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

void LmiThreadSleep(LmiTime ns)

Parameters:

ns The number of nanoseconds to sleep.

Function: LmiThreadSleepUntil

Member Of:

LmiThread

Description:

Put the current thread to sleep until a specified monotonic time.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

void LmiThreadSleepUntil(LmiTime wakeTime)

Parameters:

wakeTime The time to wake up.

Note 1:

If wakeTime is in the past, this function does the equivalent of LmiThreadSleep(0); the result of this is Operating System-dependent.

Function: LmiThreadStart

Member Of:

LmiThread

Description:

Start a thread object.

Include:

Lmi/Os/LmiThread.h

Library:

LmiOs

Syntax:

LmiBool LmiThreadStart(LmiThread* x)

Parameters:

x A pointer to the thread object.

Returns:

LMI_TRUE if the thread was started or LMI_FALSE if it was not.

Note 1:

Only newly constructed threads can be started. It is not possible to restart threads that have completed.

Note 2:

All started threads must have LmiThreadJoin called on them.

Function: LmiTimeAssign

Member Of:

LmiTime

Description:

Assign the value of one LmiTime object to another one.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime* LmiTimeAssign(LmiTime* dst, const LmiTime* src)

Parameters:

dst A pointer to the LmiTime object to be assigned. The object is assumed to already be initialized.
src A pointer to an existing LmiTime object.

Returns:

A pointer to dst, or NULL on failure.

Note 1:

LmiTime assignment will not fail.

Function: LmiTimeConstruct

Member Of:

LmiTime

Description:

Construct a default instance of an LmiTime object.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime* LmiTimeConstruct(LmiTime* obj)

Parameters:

obj A pointer to the LmiTime object to initialize.

Returns:

A pointer to the constructed object on full successful completion, otherwise NULL.

Note 1:

The LmiTime object is initialized with the value 0. LmiTime construction will not fail.

Function: LmiTimeConstructCopy

Member Of:

LmiTime

Description:

Construct a new LmiTime object as a copy of an existing one.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime* LmiTimeConstructCopy(LmiTime* dst, const LmiTime* src)

Parameters:

dst A pointer to the LmiTime object to initialize as a copy.
src An existing LmiTime object.

Returns:

A pointer to the constructed object on full successful completion, otherwise NULL.

Note 1:

LmiTime construction will not fail.

Function: LmiTimeConstructFromNtp

Member Of:

LmiTime

Description:

Construct an LmiTime object with a wall-clock time corresponding to a given NTP time.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime* LmiTimeConstructFromNtp(LmiTime* t, LmiUint64 ntp)

Parameters:

t A pointer to the LmiTime object to initialize.
ntp The NTP time value with which to construct the NTP time.

Returns:

A pointer to the constructed LmiTime object on success, otherwise NULL.

Function: LmiTimeDestruct

Member Of:

LmiTime

Description:

Destruct an LmiTime object.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

void LmiTimeDestruct(LmiTime* obj)

Parameters:

obj A pointer to the LmiTime object to destruct. The object is assumed to be previously initialized.

Note 1:

This function does nothing; it is provided for completeness and to support the use of container classes.

Function: LmiTimeEqual

Member Of:

LmiTime

Description:

Compare the values of two LmiTime objects for equality.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiBool LmiTimeEqual(const LmiTime* a, const LmiTime* b)

Parameters:

a A pointer to the first LmiTime object to be compared.
b A pointer to the second LmiTime object to be compared.

Returns:

LMI_TRUE if the objects pointed to are equal, otherwise LMI_FALSE.

Function: LmiTimeGetCurrentMonotonicTime

Member Of:

LmiTime

Description:

Get an LmiTime value corresponding to the current system monotonic time.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiTimeGetCurrentMonotonicTime(void)

Returns:

The current system monotonic time.

Function: LmiTimeGetCurrentWallTime

Member Of:

LmiTime

Description:

Get an LmiTime value corresponding to the current wall-clock time.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiTimeGetCurrentWallTime(void)

Returns:

The current wall-clock time.

Function: LmiTimeGetElapsed [REPLACED BY LmiTimeGetElapsedRelativeTo]

Member Of:

LmiTime

Description:

Get the time interval elapsed since the specified time.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiTimeGetElapsed(LmiTime t)

Parameters:

t The timestamp.

Returns:

Elapsed time interval in nanosecs.

Function: LmiTimeGetElapsedMsec [REPLACED BY LmiTimeGetElapsedMsecRelativeTo]

Member Of:

LmiTime

Description:

Get the number of milliseconds elapsed since the specified time.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiUint LmiTimeGetElapsedMsec(LmiTime t)

Parameters:

t The timestamp.

Returns:

Elapsed time interval in msec.

Function: LmiTimeGetElapsedMsecRelativeTo

Member Of:

LmiTime

Description:

Get the number of milliseconds elapsed since the specified time, passing the current time explicitly.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiUint LmiTimeGetElapsedMsecRelativeTo(LmiTime curTime, LmiTime t)

Parameters:

curTime The current time.
t The timestamp.

Returns:

Elapsed time interval in msec.

Function: LmiTimeGetElapsedRelativeTo

Member Of:

LmiTime

Description:

Get the time interval elapsed since the specified time.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiTimeGetElapsedRelativeTo(LmiTime curTime, LmiTime t)

Parameters:

curTime The current time.
t The timestamp.

Returns:

Elapsed time interval in nanosecs.

Function: LmiTimeLess

Member Of:

LmiTime

Description:

Compare the values of two LmiTime objects for ordering.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiBool LmiTimeLess(const LmiTime* a, const LmiTime* b)

Parameters:

a A pointer to the first LmiTime object to be compared.
b A pointer to the second LmiTime object to be compared.

Returns:

LMI_TRUE if the parameter pointed to by a is less than the one pointed to by b, otherwise LMI_FALSE.

Function: LmiTimeMsecs

Member Of:

LmiTime

Description:

Given a number of milliseconds, return the corresponding LmiTime interval value.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiTimeMsecs(LmiInt64 msecs)

Parameters:

msecs The number of milliseconds.

Returns:

The number of nanoseconds, i.e. the argument times one million.

Note 1:

Undefined if the resulting number of nanoseconds would exceed 2^63 - 1.

Function: LmiTimePrintCompact

Member Of:

LmiTime

Description:

Print a time value as a short, easily readable string. The time will be printed with low precision, using units appropriate for its magnitude.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

const char *LmiTimePrintCompact(LmiTime t, char *buf, LmiSizeT len)

Parameters:

t A pointer to the LmiTime object to initialize.
buf A buffer that will hold the string.
len The length of the buffer in bytes. Use a buffer of at least LMI_TIME_COMPACTPRINTBUFFERLENGTH bytes, otherwise the string may be truncated.

Returns:

The buffer (buf) that was passed in.

Function: LmiTimeRangeAssign

Member Of:

LmiTimeRange

Description:

Assigns an LmiTimeRange object from another object.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTimeRange* LmiTimeRangeAssign(LmiTimeRange *x, const LmiTimeRange *y)

Parameters:

x The LmiTimeRange object to assign.
y The LmiTimeRange object from which the object need to be assigned.

Returns:

Returns a pointer to the assigned object or NULL on failure.

Function: LmiTimeRangeBegin

Member Of:

LmiTimeRange

Description:

Gets the first value of the time range.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiTimeRangeBegin(const LmiTimeRange *x)

Parameters:

x The LmiTimeRange object.

Returns:

Returns the first value of the time range.

Function: LmiTimeRangeConstruct

Member Of:

LmiTimeRange

Description:

Constructs an LmiTimeRange object.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTimeRange* LmiTimeRangeConstruct(LmiTimeRange *x, LmiTime begin, LmiTime end)

Parameters:

x The LmiTimeRange object to construct.
begin The first interval of the time range.
end The last interval of the time range.

Returns:

Returns a pointer to the constructed object or NULL on failure.

Function: LmiTimeRangeConstructCopy

Member Of:

LmiTimeRange

Description:

Constructs an LmiTimeRange object as a copy of another object.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTimeRange* LmiTimeRangeConstructCopy(LmiTimeRange *x, const LmiTimeRange *y)

Parameters:

x The LmiTimeRange object to construct.
y The LmiTimeRange object from which the object need to be constructed.

Returns:

Returns a pointer to the constructed object or NULL on failure.

Function: LmiTimeRangeDestruct

Member Of:

LmiTimeRange

Description:

Destructs an LmiTimeRange object.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

void LmiTimeRangeDestruct(LmiTimeRange *x)

Parameters:

x The LmiTimeRange object to destruct.

Function: LmiTimeRangeEnd

Member Of:

LmiTimeRange

Description:

Gets the last value of the time range.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiTimeRangeEnd(const LmiTimeRange *x)

Parameters:

x The LmiTimeRange object.

Returns:

Returns the last value of the time range.

Function: LmiTimeRangeEqual

Member Of:

LmiTimeRange

Description:

Determines the equality of two LmiTimeRange objects.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiBool LmiTimeRangeEqual(const LmiTimeRange *x, const LmiTimeRange *y)

Parameters:

x The LmiTimeRange object.
y The LmiTimeRange object.

Returns:

Returns LMI_TRUE if equal or LMI_FALSE otherwise.

Function: LmiTimeRangeIntersection

Member Of:

LmiTimeRange

Description:

Computes the intersection of two LmiTimeRange objects.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

void LmiTimeRangeIntersection(const LmiTimeRange *x, const LmiTimeRange *y, LmiTimeRange *result)

Parameters:

x A LmiTimeRange object.
y A LmiTimeRange object.
result The resulting LmiTimeRange object. If x and y do not intersect the result will be invalid. Use LmiTimeRangeIsValid to determine this condition.

Function: LmiTimeRangeIntersects

Member Of:

LmiTimeRange

Description:

Determines whether an LmiTimeRange object intersects another LmiTimeRange object.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiBool LmiTimeRangeIntersects(const LmiTimeRange *x, const LmiTimeRange *y)

Parameters:

x A LmiTimeRange object.
y A LmiTimeRange object.

Returns:

Returns LMI_TRUE if the time ranges intersect or LMI_FALSE otherwise.

Function: LmiTimeRangeIsValid

Member Of:

LmiTimeRange

Description:

Determines whether an LmiTimeRange object is valid.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiBool LmiTimeRangeIsValid(const LmiTimeRange *x)

Parameters:

x The LmiTimeRange object.

Returns:

Returns LMI_TRUE if the time range represents a valid range or LMI_FALSE otherwise.

Function: LmiTimeRangeLess

Member Of:

LmiTimeRange

Description:

Determines whether an LmiTimeRange object is less than another LmiTimeRange object.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiBool LmiTimeRangeLess(const LmiTimeRange *x, const LmiTimeRange *y)

Parameters:

x The LmiTimeRange object.
y The LmiTimeRange object.

Returns:

Returns LMI_TRUE if less or LMI_FALSE otherwise.

Function: LmiTimeRangeSubsumes

Member Of:

LmiTimeRange

Description:

Determines whether an time range x subsumes (contains) time range y.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiBool LmiTimeRangeSubsumes(const LmiTimeRange *x, const LmiTimeRange *y)

Parameters:

x A LmiTimeRange object.
y A LmiTimeRange object.

Returns:

Return LMI_TRUE if x subsumes (contains) y or LMI_FALSE otherwise.

Function: LmiTimeRangeSwap

Member Of:

LmiTimeRange

Description:

Swaps an LmiTimeRange object with another LmiTimeRange object.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

void LmiTimeRangeSwap(LmiTimeRange *x, LmiTimeRange *y)

Parameters:

x A LmiTimeRange object to swap.
y A LmiTimeRange object to swap.

Function: LmiTimeRangeUnion

Member Of:

LmiTimeRange

Description:

Computes the union of two LmiTimeRange objects.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

void LmiTimeRangeUnion(const LmiTimeRange *x, const LmiTimeRange *y, LmiTimeRange *result)

Parameters:

x A LmiTimeRange object.
y A LmiTimeRange object.
result The resulting LmiTimeRange object.

Function: LmiTimeSecs

Member Of:

LmiTime

Description:

Given a number of seconds, return the corresponding LmiTime interval value.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiTimeSecs(LmiInt64 secs)

Parameters:

secs The number of seconds.

Returns:

The number of nanoseconds, i.e. the argument times one billion.

Note 1:

Undefined if the resulting number of nanoseconds would exceed 2^63 - 1.

Function: LmiTimeSwap

Member Of:

LmiTime

Description:

Swap the contents of two LmiTime objects.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiBool LmiTimeSwap(LmiTime* a, LmiTime* b)

Parameters:

a A pointer to the first LmiTime object to be swapped.
b A pointer to the second LmiTime object to be swapped.

Returns:

LMI_TRUE on success, LMI_FALSE on failure.

Note 1:

LmiTime swapping will not fail.

Function: LmiTimeUsecs

Member Of:

LmiTime

Description:

Given a number of microseconds, return the corresponding LmiTime interval value.

Include:

Lmi/Os/LmiTime.h

Library:

LmiOs

Syntax:

LmiTime LmiTimeUsecs(LmiInt64 usecs)

Parameters:

usecs The number of microseconds.

Returns:

The number of nanoseconds, i.e. the argument times one thousand.

Note 1:

Undefined if the resulting number of nanoseconds would exceed 2^63 - 1.

Function: LmiTimerLoopConstruct

Member Of:

LmiTimerLoop

Description:

Construct an LmiTimerLoop object.

Include:

Lmi/Os/LmiTimerLoop.h

Library:

LmiOs

Syntax:

LmiTimerLoop* LmiTimerLoopConstruct(LmiTimerLoop* tl, const char *name, LmiThreadPriority priority, LmiSizeT numThreads, LmiAllocator* alloc)

Parameters:

tl The LmiTimerLoop object to construct.
name Application given name (no more than 31-[max number of digits in thread num] chars long) for the timer threads.
priority The priority to use for the LmiTimerLoop threads.
numThreads The number of timer threads to start.
alloc The allocator to use.

Returns:

tl on success, NULL on failure.

Function: LmiTimerLoopDestruct

Member Of:

LmiTimerLoop

Description:

Destruct an LmiTimerLoop object.

Include:

Lmi/Os/LmiTimerLoop.h

Library:

LmiOs

Syntax:

void LmiTimerLoopDestruct(LmiTimerLoop* tl)

Parameters:

tl The LmiTimerLoop object to destruct.

Function: LmiTimerLoopGetSleepCount

Member Of:

LmiTimerLoop

Description:

Get the number of times the timer loop has slept, since it was started.

Include:

Lmi/Os/LmiTimerLoop.h

Library:

LmiOs

Syntax:

LmiUint64 LmiTimerLoopGetSleepCount(LmiTimerLoop* tl)

Parameters:

tl The LmiTimerLoop whose sleep count to get.

Returns:

The number of times the timer loop has slept, since it was started.

Note 1:

This number is an aggregation across all the timer loop's threads.

Function: LmiTimerLoopGetTimerManager

Member Of:

LmiTimerLoop

Description:

Get the timer manager created by the LmiTimerLoop object.

Include:

Lmi/Os/LmiTimerLoop.h

Library:

LmiOs

Syntax:

LmiTimerManager* LmiTimerLoopGetTimerManager(LmiTimerLoop* tl)

Parameters:

tl The LmiTimerLoop object.

Returns:

The timer manager object.

Note 1:

The LmiTimerLoop object sets the timer manager's first expiry callback. If any other code subsequently resets the timer manager's callback to something else, the LmiTimerLoop will misbehave.

Function: LmiTimerLoopStop

Member Of:

LmiTimerLoop

Description:

Stop an LmiTimerLoop object. This causes all the LmiTimerLoop threads to exit.

Include:

Lmi/Os/LmiTimerLoop.h

Library:

LmiOs

Syntax:

void LmiTimerLoopStop(LmiTimerLoop* tl)

Parameters:

tl The LmiTimerLoop to stop.

Function: LmiTimerManagerConstruct

Member Of:

LmiTimerManager

Description:

Constructs a timer manager.

Include:

Lmi/Os/LmiTimer.h

Library:

LmiOs

Syntax:

LmiTimerManager* LmiTimerManagerConstruct(LmiTimerManager* tm, LmiSizeT numberTimers, LmiSizeT numberTimerThreads, LmiAllocator* a)

Parameters:

tm A pointer to the timer manager to construct.
numberTimers A hint to the number of timers the timer manager is to manage. If the number of timers exceeds this value the timer manager will grow to meet the demand, but may incur some administrative overhead.
numberTimerThreads The number of distinct timer threads the timer manager is to manage.
a pointer to the timer manager's allocator.

Returns:

A pointer to the constructed object or NULL on failure.

Function: LmiTimerManagerDestruct

Member Of:

LmiTimerManager

Description:

Destructs a timer manager.

Include:

Lmi/Os/LmiTimer.h

Library:

LmiOs

Syntax:

void LmiTimerManagerDestruct(LmiTimerManager* tm)

Parameters:

tm A pointer to LmiTimerManager struct

Function: LmiTimerManagerExecute

Member Of:

LmiTimerManager

Description:

Determines all timers (allocated to a specific timer manager thread) whose expiry time has passed since the last invocation of this function and triggers the expiry callbacks on each. This function is typically called cyclically by the application.

Include:

Lmi/Os/LmiTimer.h

Library:

LmiOs

Syntax:

LmiTime LmiTimerManagerExecute(LmiTimerManager* tm, LmiSizeT timerThreadNum)

Parameters:

tm A pointer to a timer manager.
timerThreadNum An identifier of the timer thread number for the timer manager.

Returns:

The absolute monotonic time when the next timer will expire.

Function: LmiTimerManagerGetAllocator

Member Of:

LmiTimerManager

Description:

Returns the allocator with which a timer manager was constructed.

Include:

Lmi/Os/LmiTimer.h

Library:

LmiOs

Syntax:

LmiAllocator* LmiTimerManagerGetAllocator(LmiTimerManager* tm)

Parameters:

tm A pointer to a timer manager.

Returns:

The allocator.

Function: LmiTimerManagerRegisterFirstExpiryCallback

Member Of:

LmiTimerManager

Description:

Registers a callback that notifies the application of the absolute monotonic time when the next timer will expire for a given timer manager thread. This mechanism is used to notify the application when a new timer has been added which is to expire before the absolute monotonic time returned by the most recent call to LmiTimerManagerExecute.

Include:

Lmi/Os/LmiTimer.h

Library:

LmiOs

Syntax:

void LmiTimerManagerRegisterFirstExpiryCallback(LmiTimerManager* tm, LmiSizeT timerThreadNum, LmiTimerManagerNotifyFirstExpiryCallback cb, LmiVoidPtr userData)

Parameters:

tm A pointer to a timer manager.
timerThreadNum The timer thread number.
cb Callback to be invoked.
userData Any user data to be passed to the callback.

Function: LmiWatchdogConstruct

Member Of:

LmiWatchdog

Description:

Construct an LmiWatchdog object.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiWatchdog* LmiWatchdogConstruct(LmiWatchdog* wd, LmiTime expiryTime, LmiWatchdogExpiryCallback cb, LmiVoidPtr userData, LmiTimerManager *tm)

Parameters:

wd The LmiWatchdog object to construct.
expiryTime Watchdog expiry time in nanoseconds.
cb The callback function invoked upon watchdog expiry.
userData A pointer to user data (may be NULL) that will be passed on callback function invocation.
tm A pointer to timer manager to use for scheduling the timer.

Returns:

A pointer to the constructed object or NULL on failure.

Function: LmiWatchdogDestruct

Member Of:

LmiWatchdog

Description:

Destruct an LmiWatchdog object.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

void LmiWatchdogDestruct(LmiWatchdog* wd)

Parameters:

wd The LmiWatchdog object to destruct.

Note 1:

If the timer has been started, it is stopped.

Function: LmiWatchdogDisable

Member Of:

LmiWatchdog

Description:

Disable LmiWatchdog timer.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiBool LmiWatchdogDisable(LmiWatchdog *wd)

Parameters:

wd The LmiWatchdog object.

Returns:

LMI_TRUE or success or LMI_FALSE otherwise.

Note 1:

LmiWatchdog is enabled by default. Disable has no effect if LmiWatchdog is already disabled

Note 2:

If LmiWatchdog is disabled, all the further operations on LmiWatchdog have no effect.

Note 3:

If LmiWatchdog is running, disable will stop the LmiWatchdog.

Function: LmiWatchdogEnable

Member Of:

LmiWatchdog

Description:

Enable LmiWatchdog timer.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiBool LmiWatchdogEnable(LmiWatchdog *wd)

Parameters:

wd The LmiWatchdog object.

Returns:

LMI_TRUE or success or LMI_FALSE otherwise.

Note 1:

LmiWatchdog is enabled by default. Enable has no effect if LmiWatchdog is already enabled.

Note 2:

Enable will not have any effect on the previously issued commands, only the future commands are affected.

Function: LmiWatchdogGetDuration

Member Of:

LmiWatchdog

Description:

Get the duration of LmiWatchdog.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiTime LmiWatchdogGetDuration(const LmiWatchdog *wd)

Parameters:

wd The LmiWatchdog object.

Returns:

Duration of the LmiWatchdog.

Note 1:

Duration provided during construction can be overridden by expiryTime provided during further invocations to LmiWatchdogStartWithTime and LmiWatchdogResetEx. The latest value provided will be returned.

Function: LmiWatchdogGetUserData

Member Of:

LmiWatchdog

Description:

Get the user data of LmiWatchdog.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiVoidPtr LmiWatchdogGetUserData(const LmiWatchdog *wd)

Parameters:

wd The LmiWatchdog object.

Returns:

User data of the LmiWatchdog.

Function: LmiWatchdogIsActive

Member Of:

LmiWatchdog

Description:

Check whether LmiWatchdog is running or not.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiBool LmiWatchdogIsActive(const LmiWatchdog *wd)

Parameters:

wd The LmiWatchdog object.

Returns:

LMI_TRUE if running, LMI_FALSE otherwise.

Function: LmiWatchdogIsEnabled

Member Of:

LmiWatchdog

Description:

Check whether LmiWatchdog is enabled or not.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiBool LmiWatchdogIsEnabled(const LmiWatchdog *wd)

Parameters:

wd The LmiWatchdog object.

Returns:

LMI_TRUE if enabled, LMI_FALSE otherwise.

Note 1:

LmiWatchdog is enabled by default.

Function: LmiWatchdogReset

Member Of:

LmiWatchdog

Description:

Reset an LmiWatchdog timer.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiBool LmiWatchdogReset(LmiWatchdog *wd)

Parameters:

wd The LmiWatchdog object.

Returns:

LMI_TRUE or success or LMI_FALSE otherwise.

Function: LmiWatchdogResetEx

Member Of:

LmiWatchdog

Description:

Reset an LmiWatchdog timer with modified watchdog parameters.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiBool LmiWatchdogResetEx(LmiWatchdog *wd, LmiTime expiryTime, LmiWatchdogExpiryCallback cb, LmiVoidPtr userData)

Parameters:

wd The LmiWatchdog object.
expiryTime Watchdog expiry time in nanoseconds. Ignored if zero.
cb The callback function invoked upon watchdog expiry. Ignored if NULL.
userData A pointer to user data (may be NULL) that will be passed on callback function invocation. Ignored if NULL.

Returns:

LMI_TRUE or success or LMI_FALSE otherwise.

Note 1:

expiryTime will override the existing watchdog duration provided earlier.

Note 2:

If the expiryTime is different from the expiry time provided earlier, the LmiWatchdogGetDuration called before this function call will become obsolete.

Function: LmiWatchdogStart

Member Of:

LmiWatchdog

Description:

Starts a watchdog.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiBool LmiWatchdogStart(LmiWatchdog *wd)

Parameters:

wd The LmiWatchdog object.

Returns:

LMI_TRUE or success or LMI_FALSE otherwise.

Note 1:

Start has no effect if it is already running.

Function: LmiWatchdogStartWithTime

Member Of:

LmiWatchdog

Description:

Starts a watchdog with a specific duration.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiBool LmiWatchdogStartWithTime(LmiWatchdog *wd, LmiTime expiryTime)

Parameters:

wd The LmiWatchdog object.
expiryTime Watchdog expiry time in nanoseconds.

Returns:

LMI_TRUE or success or LMI_FALSE otherwise.

Note 1:

expiryTime will override the existing watchdog duration provided earlier.

Note 2:

If the expiryTime is different from the expiry time provided earlier, the LmiWatchdogGetDuration called before this function call will become obsolete.

Note 3:

Start has no effect if it is already running.

Function: LmiWatchdogStop

Member Of:

LmiWatchdog

Description:

Stop an LmiWatchdog timer.

Include:

Lmi/Os/LmiWatchdog.h

Library:

LmiOs

Syntax:

LmiBool LmiWatchdogStop(LmiWatchdog* wd)

Parameters:

wd The LmiWatchdog to stop.

Returns:

LMI_TRUE or success or LMI_FALSE otherwise.

Function: LmiWeakPtrAssign

Member Of:

LmiWeakPtr

Description:

Assign the value of one weak pointer to another existing one.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrAssign(T_)(LmiWeakPtr(T_)* w, const LmiWeakPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The weak pointer to assign.
orig An existing weak pointer to copy.

Returns:

The assigned-to weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::operator=(weak_ptr& const) .

Note 2:

If s and orig refer to different weak pointers, s's use count is decremented, and orig's use count is incremented.

Function: LmiWeakPtrAssignFromOtherSharedPtr

Member Of:

LmiWeakPtr

Description:

Assign to a weak pointer from a shared pointer of a different type, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrAssignFromOtherSharedPtr(T_, U_)(LmiWeakPtr(T_)* w, const LmiSharedPtr(U_)* orig)

Template Parameters:

T_ The type pointed to by the weak pointer.
U_ The type pointed to by the shared pointer.

Parameters:

w The weak pointer to construct.
orig An existing shared pointer. The type of the object pointed to by this shared pointer must be compatible with T_.

Returns:

The assigned-to weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::operator=(shared_ptr<U_>& const) .

Note 2:

An expansion of the macro Declare_LmiWeakPtrAssignFromOtherSharedPtr(T_, U_) must be in scope before declaring an object of this type, and an expansion of the macro Define_LmiWeakPtrAssignFromOtherSharedPtr(T_, U_) must be present in exactly one object file at link time.

Function: LmiWeakPtrAssignFromOtherWeakPtr

Member Of:

LmiWeakPtr

Description:

Assign the value of a weak pointer to a weak pointer of a different type.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrAssignFromOtherWeakPtr(T_, U_)(LmiWeakPtr(T_)* w, const LmiWeakPtr(U_)* orig)

Template Parameters:

T_ The type pointed to by the weak pointer to assign.
U_ The type pointed to by the existing weak pointer.

Parameters:

w The weak pointer to assign.
orig An existing weak pointer. The type of the object pointed to by this weak pointer must be compatible with T_.

Returns:

The constructed weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::operator=(weak_ptr<U_>& const) .

Note 2:

An expansion of the macro Declare_LmiWeakPtrAssignFromOtherWeakPtr(T_, U_) must be in scope before declaring an object of this type, and an expansion of the macro Define_LmiWeakPtrAssignFromOtherWeakPtr(T_, U_) must be present in exactly one object file at link time.

Note 3:

If w and orig refer to different weak pointers, w's use count is decremented, and orig's use count is incremented.

Function: LmiWeakPtrAssignFromSharedPtr

Member Of:

LmiWeakPtr

Description:

Assign to a weak pointer from a shared pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrAssignFromSharedPtr(T_)(LmiWeakPtr(T_)* w, const LmiSharedPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The weak pointer to assign to.
orig An existing shared pointer to copy.

Returns:

The assigned-to weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::operator=(shared_ptr<T_>& const) .

Note 2:

This function is declared and defined by Declare_LmiSharedPtr(T_) and Define_LmiSharedPtr(T_) respectively.

Function: LmiWeakPtrAssignFromSharedVoidPtr

Member Of:

LmiWeakPtr

Description:

Assign to a weak pointer from a shared void pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrAssignFromSharedVoidPtr(T_)(LmiWeakPtr(T_)* w, const LmiSharedVoidPtr* orig)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The weak pointer to construct.
orig An existing shared void pointer. The underlying type of the object pointed to by this shared pointer must be compatible with T_.

Returns:

The assigned-to weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::operator=(shared_ptr<void>& const) .

Function: LmiWeakPtrAssignFromWeakVoidPtr

Member Of:

LmiWeakPtr

Description:

Assign the value of a weak void pointer to a weak pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrAssignFromWeakVoidPtr(T_)(LmiWeakPtr(T_)* w, const LmiWeakVoidPtr* orig)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The weak pointer to assign.
orig An existing weak void pointer. The underlying type of the object pointed to by this weak pointer must be compatible with T_.

Returns:

The constructed weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::operator=(weak_ptr<void>& const) .

Note 2:

If w and orig refer to different weak pointers, w's use count is decremented, and orig's use count is incremented.

Function: LmiWeakPtrConstructCopy

Member Of:

LmiWeakPtr

Description:

Construct a weak pointer as a copy of an existing one, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrConstructCopy(T_)(LmiWeakPtr(T_)* w, const LmiWeakPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The weak pointer to construct.
orig An existing weak pointer to copy.

Returns:

The constructed weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::weak_ptr(weak_ptr& const) .

Function: LmiWeakPtrConstructDefault

Member Of:

LmiWeakPtr

Description:

Construct an empty weak pointer, pointing to NULL and with a use-count of 0.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrConstructDefault(T_)(LmiWeakPtr(T_)* w)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The empty weak pointer to construct.

Returns:

The constructed weak pointer. Does not fail.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::weak_ptr() .

Function: LmiWeakPtrConstructFromOtherSharedPtr

Member Of:

LmiWeakPtr

Description:

Construct a weak pointer based on a shared pointer of a different type, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrConstructFromOtherSharedPtr(T_, U_)(LmiWeakPtr(T_)* s, const LmiSharedPtr(U_)* orig)

Template Parameters:

T_ The type pointed to by the weak pointer to construct.
U_ The type pointed to by the existing shared pointer.

Parameters:

s The weak pointer to construct.
orig An existing shared pointer. The type of the object pointed to by this shared pointer must be compatible with T_.

Returns:

The constructed weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::weak_ptr(shared_ptr<U_>& const) .

Note 2:

An expansion of the macro Declare_LmiWeakPtrConstructFromOtherSharedPtr(T_, U_) must be in scope before declaring an object of this type, and an expansion of the macro Define_LmiWeakPtrConstructFromOtherSharedPtr(T_, U_) must be present in exactly one object file at link time.

Function: LmiWeakPtrConstructFromOtherWeakPtr

Member Of:

LmiWeakPtr

Description:

Construct a weak pointer from a weak pointer of a different type, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrConstructFromOtherWeakPtr(T_, U_)(LmiWeakPtr(T_)* s, const LmiWeakPtr(U_)* orig)

Template Parameters:

T_ The type pointed to by the weak pointer to construct.
U_ The type pointed to by the existing weak pointer.

Parameters:

s The weak pointer to construct.
orig An existing weak pointer. The type of the object pointed to by this weak pointer must be compatible with T_.

Returns:

The constructed weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::weak_ptr(weak_ptr<U_>& const) .

Note 2:

An expansion of the macro Declare_LmiWeakPtrConstructFromOtherWeakPtr(T_, U_) must be in scope before declaring an object of this type, and an expansion of the macro Define_LmiWeakPtrConstructFromOtherWeakPtr(T_, U_) must be present in exactly one object file at link time.

Function: LmiWeakPtrConstructFromSharedPtr

Member Of:

LmiWeakPtr

Description:

Construct a weak pointer based on a shared pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrConstructFromSharedPtr(T_)(LmiWeakPtr(T_)* w, const LmiSharedPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The weak pointer to construct.
orig An existing shared pointer to copy.

Returns:

The constructed weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::weak_ptr(shared_ptr& const) .

Note 2:

This function is declared and defined by Declare_LmiSharedPtr(T_) and Define_LmiSharedPtr(T_) respectively.

Function: LmiWeakPtrConstructFromSharedVoidPtr

Member Of:

LmiWeakPtr

Description:

Construct a weak pointer based on a shared void pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrConstructFromSharedVoidPtr(T_)(LmiWeakPtr(T_)* s, const LmiSharedVoidPtr* orig)

Template Parameters:

T_ The type pointed to by the weak pointer to construct.

Parameters:

s The weak pointer to construct.
orig An existing shared void pointer. The type of the object pointed to by this shared pointer must be compatible with T_.

Returns:

The constructed weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::weak_ptr(shared_ptr<void>& const) .

Function: LmiWeakPtrConstructFromWeakVoidPtr

Member Of:

LmiWeakPtr

Description:

Construct a weak pointer from a weak void pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakPtr(T_)* LmiWeakPtrConstructFromWeakVoidPtr(T_)(LmiWeakPtr(T_)* s, const LmiWeakVoidPtr* orig)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

s The weak pointer to construct.
orig An existing weak void pointer. The actual type of the object pointed to by the weak void pointer must be compatible with T_.

Returns:

The constructed weak pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::weak_ptr(weak_ptr<void>& const) .

Function: LmiWeakPtrDestruct

Member Of:

LmiWeakPtr

Description:

Destruct a weak pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

void LmiWeakPtrDestruct(T_)(LmiWeakPtr(T_)* w)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The weak pointer to destruct.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::~weak_ptr() .

Function: LmiWeakPtrEqual

Member Of:

LmiWeakPtr

Description:

Compare the values of two weak pointers for equality.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiWeakPtrEqual(T_)(const LmiWeakPtr(T_)* a, const LmiWeakPtr(T_)* b)

Template Parameters:

T_ The type pointed to by the weak pointers.

Parameters:

a The first weak pointer to compare.
b The second weak pointer to compare.

Returns:

Whether the pointers contained in the weak pointer objects are the same.

Note 1:

Like ISO C++ TR1 function template<T_> operator==(const std::tr1::weak_ptr<T_>&, const std::tr1::weak_ptr<T_>&) .

Function: LmiWeakPtrExpired

Member Of:

LmiWeakPtr

Description:

Get the whether a weak pointer is expired, i.e. its use count is 0.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiWeakPtrExpired(T_)(const LmiWeakPtr(T_)* w)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The weak pointer whose expiredness to get.

Returns:

Whether the weak pointer's use-count is 0.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::expired() .

Note 2:

This function will return true for an empty weak pointer (one constructed with LmiWeakPtrConstructDefault(T_)).

Function: LmiWeakPtrGetAllocator

Member Of:

LmiWeakPtr

Description:

Get the allocator used by a weak pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiAllocator* LmiWeakPtrGetAllocator(T_)(const LmiWeakPtr(T_)* w)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The weak pointer whose allocator to get.

Returns:

The allocator used by the weak pointer, or NULL if the weak pointer is empty.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::get_allocator() const .

Function: LmiWeakPtrLess

Member Of:

LmiWeakPtr

Description:

Compare the values of two weak pointers for ordering.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiWeakPtrLess(T_)(const LmiWeakPtr(T_)* a, const LmiWeakPtr(T_)* b)

Template Parameters:

T_ The type pointed to by the weak pointers.

Parameters:

a The first weak pointer to compare.
b The second weak pointer to compare.

Returns:

Whether the pointer contained in the first weak pointer objects is less than the second one.

Note 1:

Like ISO C++ TR1 function template<T_> operator<(const std::tr1::weak_ptr<T_>&, const std::tr1::weak_ptr<T_>&) .

Function: LmiWeakPtrReset

Member Of:

LmiWeakPtr

Description:

Reset the value of a weak pointer, pointing to NULL and with a use-count of 0.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

void LmiWeakPtrReset(T_)(LmiWeakPtr(T_)* w)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The weak pointer to be reset.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::reset() .

Function: LmiWeakPtrSwap

Member Of:

LmiWeakPtr

Description:

Swap the values of two weak pointers.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiWeakPtrSwap(T_)(LmiWeakPtr(T_)* a, LmiWeakPtr(T_)* b)

Template Parameters:

T_ The type pointed to by the weak pointers.

Parameters:

a The first weak pointer to be swapped.
b The second weak pointer to be swapped.

Returns:

LMI_TRUE, always (cannot fail).

Note 1:

Like ISO C++ TR1 function template<T_> std::swap(std::tr1::weak_ptr<T_>&, std::tr1::weak_ptr<T_>&) .

Function: LmiWeakPtrUseCount

Member Of:

LmiWeakPtr

Description:

Get the current use-count of a weak pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiInt LmiWeakPtrUseCount(T_)(const LmiWeakPtr(T_)* w)

Template Parameters:

T_ The type pointed to by the weak pointer.

Parameters:

w The weak pointer whose use count to get.

Returns:

The use count of the weak pointer.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<T_>::use_count() .

Function: LmiWeakVoidPtrAssign

Member Of:

LmiWeakVoidPtr

Description:

Assign the value of one weak void pointer to another existing one.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakVoidPtr* LmiWeakVoidPtrAssign(LmiWeakVoidPtr* w, const LmiWeakVoidPtr* orig)

Parameters:

w The weak void pointer to assign.
orig An existing weak void pointer to copy.

Returns:

The assigned-to weak void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::operator=(weak_ptr& const) .

Note 2:

If s and orig refer to different weak void pointers, s's use count is decremented, and orig's use count is incremented.

Function: LmiWeakVoidPtrAssignFromSharedPtr

Member Of:

LmiWeakVoidPtr

Description:

Assign to a weak void pointer from a shared pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakVoidPtr LmiWeakVoidPtrAssignFromSharedPtr(T_)(LmiWeakVoidPtr* w, const LmiSharedPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the shared pointer.

Parameters:

w The weak void pointer to construct.
orig An existing shared pointer.

Returns:

The assigned-to weak void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::operator=(shared_ptr<U_>& const) .

Note 2:

This function is declared and defined by Declare_LmiSharedPtr(T_) and Define_LmiSharedPtr(T_) respectively.

Function: LmiWeakVoidPtrAssignFromSharedVoidPtr

Member Of:

LmiWeakVoidPtr

Description:

Construct a weak void pointer based on a shared void pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakVoidPtr* LmiWeakVoidPtrAssignFromSharedVoidPtr(LmiWeakVoidPtr* w, const LmiSharedVoidPtr* orig)

Parameters:

w The weak void pointer to assign to.
orig An existing shared void pointer to copy.

Returns:

The assigned-to weak void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::operator=(shared_ptr<void>& const) .

Function: LmiWeakVoidPtrAssignFromWeakPtr

Member Of:

LmiWeakPtr

Description:

Assign the value of a weak pointer to a weak void pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakVoidPtr LmiWeakVoidPtrAssignFromWeakPtr(T_)(LmiWeakVoidPtr* w, const LmiWeakPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the existing weak pointer.

Parameters:

w The weak void pointer to assign.
orig An existing weak pointer

Returns:

The assigned-to weak void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::operator=(weak_ptr<T_>& const) .

Note 2:

This function is declared and defined by Declare_LmiSharedPtr(T_) and Define_LmiSharedPtr(T_) respectively.

Note 3:

If w and orig refer to different weak pointers, w's use count is decremented, and orig's use count is incremented.

Function: LmiWeakVoidPtrConstructCopy

Member Of:

LmiWeakVoidPtr

Description:

Construct a weak void pointer as a copy of an existing one, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakVoidPtr* LmiWeakVoidPtrConstructCopy(LmiWeakVoidPtr* w, const LmiWeakVoidPtr* orig)

Parameters:

w The weak void pointer to construct.
orig An existing weak void pointer to copy.

Returns:

The constructed weak void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::weak_ptr(weak_ptr& const) .

Function: LmiWeakVoidPtrConstructDefault

Member Of:

LmiWeakVoidPtr

Description:

Construct an empty weak void pointer, pointing to NULL and with a use-count of 0.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakVoidPtr* LmiWeakVoidPtrConstructDefault(LmiWeakVoidPtr* w)

Parameters:

w The empty weak void pointer to construct.

Returns:

The constructed weak void pointer. Does not fail.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::weak_ptr() .

Function: LmiWeakVoidPtrConstructFromSharedPtr

Member Of:

LmiWeakVoidPtr

Description:

Construct a weak void pointer based on a shared pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakVoidPtr* LmiWeakVoidPtrConstructFromSharedPtr(T_)(LmiWeakVoidPtr* s, const LmiSharedPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the existing shared pointer.

Parameters:

s The weak void pointer to construct.
orig An existing shared pointer.

Returns:

The constructed weak void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::weak_ptr(shared_ptr<T_>& const) .

Function: LmiWeakVoidPtrConstructFromSharedVoidPtr

Member Of:

LmiWeakVoidPtr

Description:

Construct a weak void pointer based on a shared void pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakVoidPtr* LmiWeakVoidPtrConstructFromSharedVoidPtr(LmiWeakVoidPtr* w, const LmiSharedVoidPtr* orig)

Parameters:

w The weak void pointer to construct.
orig An existing shared void pointer to copy.

Returns:

The constructed weak void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::weak_ptr(shared_ptr& const) .

Function: LmiWeakVoidPtrConstructFromWeakPtr

Member Of:

LmiWeakVoidPtr

Description:

Construct a weak void pointer from a weak pointer, sharing the same underlying pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiWeakVoidPtr* LmiWeakVoidPtrConstructFromWeakPtr(T_)(LmiWeakVoidPtr* s, const LmiWeakPtr(T_)* orig)

Template Parameters:

T_ The type pointed to by the original weak pointer.

Parameters:

s The weak void pointer to construct.
orig An existing weak pointer.

Returns:

The constructed weak void pointer on success, or NULL on failure.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::weak_ptr(weak_ptr<T_>& const) .

Note 2:

This function is declared and defined by Declare_LmiSharedPtr(T_) and Define_LmiSharedPtr(T_) respectively.

Function: LmiWeakVoidPtrDestruct

Member Of:

LmiWeakVoidPtr

Description:

Destruct a weak void pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

void LmiWeakVoidPtrDestruct(LmiWeakVoidPtr* w)

Parameters:

w The weak void pointer to destruct.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::~weak_ptr() .

Function: LmiWeakVoidPtrEqual

Member Of:

LmiWeakVoidPtr

Description:

Compare the values of two weak void pointers for equality.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiWeakVoidPtrEqual(const LmiWeakVoidPtr* a, const LmiWeakVoidPtr* b)

Parameters:

a The first weak void pointer to compare.
b The second weak void pointer to compare.

Returns:

Whether the pointers contained in the weak void pointer objects are the same.

Note 1:

Like ISO C++ TR1 function operator==(const std::tr1::weak_ptr<void>&, const std::tr1::weak_ptr<void>&) .

Function: LmiWeakVoidPtrExpired

Member Of:

LmiWeakVoidPtr

Description:

Get the whether a weak void pointer is expired, i.e. its use count is 0.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiWeakVoidPtrExpired(const LmiWeakVoidPtr* w)

Parameters:

w The weak void pointer whose expiredness to get.

Returns:

Whether the weak void pointer's use-count is 0.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::expired() .

Note 2:

This function will return true for an empty weak void pointer (one constructed with LmiWeakVoidPtrConstructDefault).

Function: LmiWeakVoidPtrGetAllocator

Member Of:

LmiWeakVoidPtr

Description:

Get the allocator used by a weak void pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiAllocator* LmiWeakVoidPtrGetAllocator(const LmiWeakVoidPtr* w)

Parameters:

w The weak void pointer whose allocator to get.

Returns:

The allocator used by the weak void pointer, or NULL if the weak void pointer is empty.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::get_allocator() const .

Function: LmiWeakVoidPtrLess

Member Of:

LmiWeakVoidPtr

Description:

Compare the values of two weak void pointers for ordering.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiWeakVoidPtrLess(const LmiWeakVoidPtr* a, const LmiWeakVoidPtr* b)

Parameters:

a The first weak void pointer to compare.
b The second weak void pointer to compare.

Returns:

Whether the pointer contained in the first weak void pointer objects is less than the second one.

Note 1:

Like ISO C++ TR1 function operator<(const std::tr1::weak_ptr<void>&, const std::tr1::weak_ptr<void>&) .

Function: LmiWeakVoidPtrReset

Member Of:

LmiWeakVoidPtr

Description:

Reset the value of a weak void pointer, pointing to NULL and with a use-count of 0.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

void LmiWeakVoidPtrReset(LmiWeakVoidPtr* w)

Parameters:

w The weak void pointer to be reset.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::reset() .

Function: LmiWeakVoidPtrSwap

Member Of:

LmiWeakVoidPtr

Description:

Swap the values of two weak void pointers.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiBool LmiWeakVoidPtrSwap(LmiWeakVoidPtr* a, LmiWeakVoidPtr* b)

Parameters:

a The first weak void pointer to be swapped.
b The second weak void pointer to be swapped.

Returns:

LMI_TRUE, always (cannot fail).

Note 1:

Like ISO C++ TR1 function std::swap(std::tr1::weak_ptr<void>&, std::tr1::weak_ptr<void>&) .

Function: LmiWeakVoidPtrUseCount

Member Of:

LmiWeakVoidPtr

Description:

Get the current use-count of a weak void pointer.

Include:

Lmi/Os/LmiSharedPtr.h

Library:

LmiOs

Syntax:

LmiInt LmiWeakVoidPtrUseCount(const LmiWeakVoidPtr* w)

Parameters:

w The weak void pointer whose use count to get.

Returns:

The use count of the weak void pointer.

Note 1:

Like ISO C++ TR1 function std::tr1::weak_ptr<void>::use_count() .