]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/rm-lld.git/blobdiff - rm.h
Resolved SDOCM00114533
[keystone-rtos/rm-lld.git] / rm.h
diff --git a/rm.h b/rm.h
index 988401f50d8a9a462b95044a5c9e1b42a5963b25..0d81d1230754c63915258ecc3bf4308cf099b33a 100644 (file)
--- a/rm.h
+++ b/rm.h
@@ -369,6 +369,9 @@ extern "C" {
 /** A resource name specified in the GRL, policy, and/or service request is greater than
  *  RM_NAME_MAX_CHARS */
 #define RM_ERROR_RESOURCE_NAME_TOO_LONG            RM_ERROR_BASE-52
+/** RM failed to create a new allocator - Occurred because an instance that does not use
+ *  allocators tried to create one (RM Client) */
+#define RM_ERROR_COULD_NOT_CREATE_NEW_ALLOCATOR    RM_ERROR_BASE-53
 
 /** 
  * @brief Maximum number of characters allowed for RM instance, resource, and
@@ -485,6 +488,16 @@ typedef struct {
     const char  *instName;
     /** The type of RM instance that will be created. */
     Rm_InstType  instType;
+    /** Instance's multi-threaded semaphore object.  Two or more RM instances can have
+     *  their service transactions to the Server serialized by providing a valid
+     *  multi-threaded semaphore object.  The semaphore object will be used by the 
+     *  Osal_rmMtCsEnter and Osal_rmMtCsExit functions.  The multi-threaded
+     *  semaphore associated with the provided object will be taken when a
+     *  service transaction is requested.  The semaphore will be released when
+     *  the service response is returned.  This will serialize the transactions
+     *  of any RM instance initialized with the same multi-threaded sem object.
+     *  Multi-threaded semaphores will not be used if NULL is provided as the object */
+    uint32_t    *mtSemObj;
     /** Instance-type specific configurations */
     union {
         /** #Rm_ServerCfg */