]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/rm-lld.git/blobdiff - rm.h
Fixes for multi-threaded client test
[keystone-rtos/rm-lld.git] / rm.h
diff --git a/rm.h b/rm.h
index 1b897a751f1f7d651ca6db1ebe657e15069dabec..0d81d1230754c63915258ecc3bf4308cf099b33a 100644 (file)
--- a/rm.h
+++ b/rm.h
@@ -274,8 +274,9 @@ extern "C" {
 #define RM_ERROR_VALID_INST_NAME_TOO_LONG          RM_ERROR_BASE-11
 /** Instance name in permissions assignment is greater than RM_NAME_MAX_CHARS */
 #define RM_ERROR_INST_NAME_IN_ASSIGNMENT_TOO_LONG  RM_ERROR_BASE-12
-/** NameServer name in global resource list nameServer assignment is greater than RM_NAME_MAX_CHARS */
-#define RM_ERROR_GRL_NS_ASSIGNMENT_NAME_TOO_LONG   RM_ERROR_BASE-13
+/** NameServer name in global resource list nameServer assignment and/or service request
+ *  is greater than RM_NAME_MAX_CHARS */
+#define RM_ERROR_NAMESERVER_NAME_TOO_LONG          RM_ERROR_BASE-13
 /** Linux alias assignment in global resource list is invalid */
 #define RM_ERROR_GRL_INVALID_LINUX_ALIAS_FORMAT    RM_ERROR_BASE-14
 /** Error allocating memory for the service handle */
@@ -365,6 +366,12 @@ extern "C" {
 /** The provided character buffer that will contain the service source inst name or pkt
  *  source inst name is not of size RM_NAME_MAX_CHARS */
 #define RM_ERROR_SRC_NAME_BUF_INVALID_SIZE         RM_ERROR_BASE-51
+/** 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
@@ -481,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 */