]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/rm-lld.git/blobdiff - rm.h
.gitignore left out k2e/k2l makefile
[keystone-rtos/rm-lld.git] / rm.h
diff --git a/rm.h b/rm.h
index 79af0bcfe9990802e38544e0e5ad8c92f48c9b80..349508b8ddf111b7ded33421d58416714b290ab0 100644 (file)
--- a/rm.h
+++ b/rm.h
@@ -181,11 +181,13 @@ extern "C" {
 #define RM_OK                                      0
 /** RM processing requested service */
 #define RM_SERVICE_PROCESSING                      1
+/** RM CD has placed on the request on hold pending a Server response */
+#define RM_SERVICE_PENDING_SERVER_RESPONSE         2
 /** RM has approved requested service */
-#define RM_SERVICE_APPROVED                        2
+#define RM_SERVICE_APPROVED                        3
 /** RM has approved requested service based on static policy.  Request will be validated 
  *  against global policy once all transports have been registered */
-#define RM_SERVICE_APPROVED_STATIC                 3
+#define RM_SERVICE_APPROVED_STATIC                 4
 
 /** RM service request denial reasons base */
 #define RM_SERVICE_DENIED_BASE                     64
@@ -228,6 +230,13 @@ extern "C" {
 /** Allocate request denied because the resource is already reserved by Linux and "Shared Linux"
  *  privileges are not assigned to the requesting instance */
 #define RM_SERVICE_DENIED_RES_NOT_SHARED_LINUX     RM_SERVICE_DENIED_BASE+17
+/** Status request resource range partially found (Handling of partial status requests not yet implemented) */
+#define RM_SERVICE_DENIED_PARTIAL_STATUS           RM_SERVICE_DENIED_BASE+18
+
+/** RM Client Delegate instance is not stable.  RM system operation cannot be guarateed
+ *  if a CD instance is used.  At the time please manage resources using Server and Client
+ *  instances - tracked by SDOCM00100797 */
+#define RM_WARNING_CD_INSTANCE_NOT_STABLE          (-1024)
 
 /** Start of libfdt.h error codes */
 #define RM_ERROR_LIBFDT_START                      (-1)
@@ -313,36 +322,43 @@ extern "C" {
 /** RM client attempted to register with more than one Server or CD or a CD attempted to register 
  *  with more than one Server */
 #define RM_ERROR_ALREADY_REGD_SERVER_OR_CD         RM_ERROR_BASE-35
-/** Service has both a NameServer name and a base, length, or alignment specified */
-#define RM_ERROR_NS_NAME_AND_RES_VAL_CONFLICT      RM_ERROR_BASE-36
 /** Instance type not recognized */
-#define RM_ERROR_INVALID_INST_TYPE                 RM_ERROR_BASE-37
+#define RM_ERROR_INVALID_INST_TYPE                 RM_ERROR_BASE-36
 /** RM attempted to allocate a transport packet but the rmAllocPkt callout was not registered */
-#define RM_ERROR_TRANSPORT_ALLOC_PKT_NOT_REGD      RM_ERROR_BASE-38
+#define RM_ERROR_TRANSPORT_ALLOC_PKT_NOT_REGD      RM_ERROR_BASE-37
 /** RM attempted to send a packet but the rmSendPkt callout was not registered */
-#define RM_ERROR_TRANSPORT_SEND_NOT_REGD           RM_ERROR_BASE-39
-/** RM attempted to send a response packet but the transport to the remote instance that sent
- *  the request packet is not registered */
-#define RM_ERROR_TRANSPORT_REMOTE_HNDL_NOT_REGD    RM_ERROR_BASE-40
+#define RM_ERROR_TRANSPORT_SEND_NOT_REGD           RM_ERROR_BASE-38
 /** RM instance cannot be deleted with transports still registered */
-#define RM_ERROR_CANT_DELETE_WITH_REGD_TRANSPORT   RM_ERROR_BASE-41
+#define RM_ERROR_CANT_DELETE_WITH_REGD_TRANSPORT   RM_ERROR_BASE-39
 /** RM instance cannot be deleted with open service handle */
-#define RM_ERROR_CANT_DELETE_WITH_OPEN_SERV_HNDL   RM_ERROR_BASE-42
+#define RM_ERROR_CANT_DELETE_WITH_OPEN_SERV_HNDL   RM_ERROR_BASE-40
 /** RM instance cannot be deleted when there are transactions pending and the 
  *  ignorePendingServices parameter is set to false */
-#define RM_ERROR_CANT_DELETE_PENDING_TRANSACTIONS  RM_ERROR_BASE-43
+#define RM_ERROR_CANT_DELETE_PENDING_TRANSACTIONS  RM_ERROR_BASE-41
 /** Only the Server instance can be used to return resource status via the
  *  Rm_resourceStatus API */
-#define RM_ERROR_INVALID_RES_STATUS_INSTANCE       RM_ERROR_BASE-44
+#define RM_ERROR_INVALID_RES_STATUS_INSTANCE       RM_ERROR_BASE-42
 /** RM Shared Server and Client instances should always return a finished request since 
  *  the instance has access to the resource structures no matter what core the service
  *  is requested from */
-#define RM_ERROR_SHARED_INSTANCE_UNFINISHED_REQ    RM_ERROR_BASE-45
+#define RM_ERROR_SHARED_INSTANCE_UNFINISHED_REQ    RM_ERROR_BASE-43
 /** RM Shared Server and Client instances cannot register transports */
-#define RM_ERROR_SHARED_INSTANCE_CANNOT_REG_TRANS  RM_ERROR_BASE-46
+#define RM_ERROR_SHARED_INSTANCE_CANNOT_REG_TRANS  RM_ERROR_BASE-44
 /** RM Shared Client handle was provided an invalid Shared Server handle.  The shared
  *  server handle was either NULL or was not an instance of type Rm_instType_SHARED_SERVER */
-#define RM_ERROR_INVALID_SHARED_SERVER_HANDLE      RM_ERROR_BASE-47
+#define RM_ERROR_INVALID_SHARED_SERVER_HANDLE      RM_ERROR_BASE-45
+/** A RM Client failed to create a new transaction to request data from the Server in order
+ *  to potentially process a transaction on a Client Delegate */
+#define RM_ERROR_TRANS_REQ_TO_SERVER_NOT_CREATED   RM_ERROR_BASE-46
+/** Service request required a policy check but instance was not initialized with a policy */
+#define RM_ERROR_INSTANCE_HAS_NO_POLICY            RM_ERROR_BASE-47
+/** RM Client Delegate was not provided a policy at initialization */
+#define RM_ERROR_INVALID_CD_CONFIGURATION          RM_ERROR_BASE-48
+/** RM CD freed local resources which allowed a free request of local request to be sent to
+ *  the Server.  The Server free failed so the CD tried to realloc the local resources 
+ *  that were originally freed.  The re-allocate operation failed causing a resource loss
+ *  on the CD */
+#define RM_ERROR_LOST_RESOURCES_ON_CD              RM_ERROR_BASE-49 
 
 /** 
  * @brief Maximum number of characters allowed for RM instance, resource, and
@@ -480,12 +496,11 @@ typedef struct {
  *      status will be printed for every resource.  Also, the NameServer name
  *      entries will be displayed.
  *
- *      This function only prints resources when provided the server handle
- *      since the server stores all the resource and NameServer
- *      data structures.
+ *      This function will return error if a Client handle is provided since
+ *      Clients do not track any resource data structures
  *
- *  @param[in]  rmServerHandle
- *      Server instance handle.
+ *  @param[in]  rmHandle
+ *      Instance handle.
  *
  *  @param[in]  printResources
  *      Non-zero - Resource ownership details will be printed for all
@@ -500,7 +515,7 @@ typedef struct {
  *  @retval
  *      Failure - #RM_ERROR_INVALID_RES_STATUS_INSTANCE  
  */
-int32_t Rm_resourceStatus(Rm_Handle rmServerHandle, int printResources);
+int32_t Rm_resourceStatus(Rm_Handle rmHandle, int printResources);
 
 /**
  *  @b Description