Data Structures | Defines | Typedefs | Enumerations | Functions
rm.h File Reference

This is the Resource Manager include file. More...

#include <stdint.h>

Data Structures

struct  Rm_ServerCfg
 RM server (includes shared server) initialization configurations. More...
struct  Rm_ClientDelegateCfg
 RM client delegate (CD) initialization configurations. More...
struct  Rm_ClientCfg
 RM client initialization configurations. More...
struct  Rm_SharedClientCfg
 RM shared client initialization configurations. More...
struct  Rm_InitCfg
 RM instance initialization structure. More...

Defines

#define RM_OK   0
#define RM_SERVICE_PROCESSING   1
#define RM_SERVICE_PENDING_SERVER_RESPONSE   2
#define RM_SERVICE_APPROVED   3
#define RM_SERVICE_APPROVED_STATIC   4
#define RM_SERVICE_DENIED_BASE   64
#define RM_SERVICE_DENIED_RES_DOES_NOT_EXIST   RM_SERVICE_DENIED_BASE+1
#define RM_SERVICE_DENIED_RES_RANGE_DOES_NOT_EXIST   RM_SERVICE_DENIED_BASE+2
#define RM_SERVICE_DENIED_RES_NOT_ALLOCD_TO_INST   RM_SERVICE_DENIED_BASE+3
#define RM_SERVICE_DENIED_RES_ALREADY_FREE   RM_SERVICE_DENIED_BASE+4
#define RM_SERVICE_DENIED_PARTIAL_ALLOCATION   RM_SERVICE_DENIED_BASE+5
#define RM_SERVICE_DENIED_PARTIAL_FREE   RM_SERVICE_DENIED_BASE+6
#define RM_SERVICE_DENIED_RES_ALLOC_REQS_NOT_MET   RM_SERVICE_DENIED_BASE+7
#define RM_SERVICE_DENIED_NAME_EXISTS_IN_NS   RM_SERVICE_DENIED_BASE+8
#define RM_SERVICE_DENIED_INST_NAME_NOT_VALID   RM_SERVICE_DENIED_BASE+9
#define RM_SERVICE_DENIED_INIT_PERM_NOT_GIVEN   RM_SERVICE_DENIED_BASE+10
#define RM_SERVICE_DENIED_USE_PERM_NOT_GIVEN   RM_SERVICE_DENIED_BASE+11
#define RM_SERVICE_DENIED_EXCLUSIVE_RES_ALLOCD   RM_SERVICE_DENIED_BASE+12
#define RM_SERVICE_DENIED_ALLOCD_TO_EXCLUSIVE_INST   RM_SERVICE_DENIED_BASE+13
#define RM_SERVICE_DENIED_INVALID_STATIC_REQUEST   RM_SERVICE_DENIED_BASE+14
#define RM_SERVICE_DENIED_BY_STATIC_POLICY   RM_SERVICE_DENIED_BASE+15
#define RM_SERVICE_DENIED_RM_INSTANCE_LOCKED   RM_SERVICE_DENIED_BASE+16
#define RM_SERVICE_DENIED_RES_NOT_SHARED_LINUX   RM_SERVICE_DENIED_BASE+17
#define RM_SERVICE_DENIED_PARTIAL_STATUS   RM_SERVICE_DENIED_BASE+18
#define RM_WARNING_CD_INSTANCE_NOT_STABLE   (-1024)
#define RM_ERROR_LIBFDT_START   (-1)
#define RM_ERROR_LIBFDT_END   (-13)
#define RM_ERROR_BASE   (-64)
#define RM_ERROR_INVALID_INST_NAME   RM_ERROR_BASE-1
#define RM_ERROR_NO_VALID_INST_IN_POLICY   RM_ERROR_BASE-2
#define RM_ERROR_PERM_STR_INST_NOT_VALID   RM_ERROR_BASE-3
#define RM_ERROR_UNKNOWN_RESOURCE_IN_POLICY   RM_ERROR_BASE-4
#define RM_ERROR_PERM_STR_TOO_MANY_INST_GROUPS   RM_ERROR_BASE-5
#define RM_ERROR_PERM_STR_TOO_MANY_ASSIGN_CHARS   RM_ERROR_BASE-6
#define RM_ERROR_PERM_STR_INVALID_CHAR   RM_ERROR_BASE-7
#define RM_ERROR_PERM_CHAR_WITHOUT_ASSIGN_CHAR   RM_ERROR_BASE-8
#define RM_ERROR_INVALID_PERMS_CHAR_ON_RIGHT   RM_ERROR_BASE-9
#define RM_ERROR_UNKNOWN_POLICY_RESOURCE_PROPERTY   RM_ERROR_BASE-10
#define RM_ERROR_VALID_INST_NAME_TOO_LONG   RM_ERROR_BASE-11
#define RM_ERROR_INST_NAME_IN_ASSIGNMENT_TOO_LONG   RM_ERROR_BASE-12
#define RM_ERROR_GRL_NS_ASSIGNMENT_NAME_TOO_LONG   RM_ERROR_BASE-13
#define RM_ERROR_GRL_INVALID_LINUX_ALIAS_FORMAT   RM_ERROR_BASE-14
#define RM_ERROR_SERVICE_HANDLE_MEM_ALLOC_FAILED   RM_ERROR_BASE-15
#define RM_ERROR_SERVICE_HANDLE_ALREADY_CLOSED   RM_ERROR_BASE-16
#define RM_ERROR_GRL_UNKNOWN_RESOURCE_PROPERTY   RM_ERROR_BASE-17
#define RM_ERROR_RES_ALLOCATOR_DOES_NOT_EXIST   RM_ERROR_BASE-18
#define RM_ERROR_GRL_RES_SPECIFIED_MORE_THAN_ONCE   RM_ERROR_BASE-19
#define RM_ERROR_DATA_NOT_FOUND_AT_LINUX_ALIAS   RM_ERROR_BASE-20
#define RM_ERROR_INVALID_SERVER_CONFIGURATION   RM_ERROR_BASE-21
#define RM_ERROR_INVALID_SERVICE_TYPE   RM_ERROR_BASE-22
#define RM_ERROR_TRANSPORT_ALLOC_PKT_ERROR   RM_ERROR_BASE-23
#define RM_ERROR_TRANSPORT_SEND_ERROR   RM_ERROR_BASE-24
#define RM_ERROR_SERVICE_TRANS_NOT_CREATED   RM_ERROR_BASE-25
#define RM_ERROR_SERVICE_TRANS_DOES_NOT_EXIST   RM_ERROR_BASE-26
#define RM_ERROR_NAMESERVER_DOES_NOT_EXIST   RM_ERROR_BASE-27
#define RM_ERROR_NAMESERVER_NAME_ADD_FAILED   RM_ERROR_BASE-28
#define RM_ERROR_NAMESERVER_NAME_DOES_NOT_EXIST   RM_ERROR_BASE-29
#define RM_ERROR_REQ_FAILED_NO_STATIC_POLICY   RM_ERROR_BASE-30
#define RM_ERROR_TRANSPORT_HANDLE_DOES_NOT_EXIST   RM_ERROR_BASE-31
#define RM_ERROR_RECEIVED_INVALID_PACKET_TYPE   RM_ERROR_BASE-32
#define RM_ERROR_PKT_RESP_DOES_NOT_MATCH_ANY_REQ   RM_ERROR_BASE-33
#define RM_ERROR_INVALID_REMOTE_INST_TYPE   RM_ERROR_BASE-34
#define RM_ERROR_ALREADY_REGD_SERVER_OR_CD   RM_ERROR_BASE-35
#define RM_ERROR_INVALID_INST_TYPE   RM_ERROR_BASE-36
#define RM_ERROR_TRANSPORT_ALLOC_PKT_NOT_REGD   RM_ERROR_BASE-37
#define RM_ERROR_TRANSPORT_SEND_NOT_REGD   RM_ERROR_BASE-38
#define RM_ERROR_CANT_DELETE_WITH_REGD_TRANSPORT   RM_ERROR_BASE-39
#define RM_ERROR_CANT_DELETE_WITH_OPEN_SERV_HNDL   RM_ERROR_BASE-40
#define RM_ERROR_CANT_DELETE_PENDING_TRANSACTIONS   RM_ERROR_BASE-41
#define RM_ERROR_INVALID_RES_STATUS_INSTANCE   RM_ERROR_BASE-42
#define RM_ERROR_SHARED_INSTANCE_UNFINISHED_REQ   RM_ERROR_BASE-43
#define RM_ERROR_SHARED_INSTANCE_CANNOT_REG_TRANS   RM_ERROR_BASE-44
#define RM_ERROR_INVALID_SHARED_SERVER_HANDLE   RM_ERROR_BASE-45
#define RM_ERROR_TRANS_REQ_TO_SERVER_NOT_CREATED   RM_ERROR_BASE-46
#define RM_ERROR_INSTANCE_HAS_NO_POLICY   RM_ERROR_BASE-47
#define RM_ERROR_INVALID_CD_CONFIGURATION   RM_ERROR_BASE-48
#define RM_ERROR_LOST_RESOURCES_ON_CD   RM_ERROR_BASE-49
#define RM_ERROR_PKT_AND_SERVICE_SRC_NOT_AVAIL   RM_ERROR_BASE-50
#define RM_ERROR_SRC_NAME_BUF_INVALID_SIZE   RM_ERROR_BASE-51
#define RM_NAME_MAX_CHARS   (32)
 Maximum number of characters allowed for RM instance, resource, and NameServer names.

Typedefs

typedef void * Rm_Handle
 RM instance handle. The RM handle is used to register transports between RM instances and request resource services from the RM instance.

Enumerations

enum  Rm_InstType {
  Rm_instType_SERVER = 0, Rm_instType_CLIENT_DELEGATE, Rm_instType_CLIENT, Rm_instType_SHARED_SERVER,
  Rm_instType_SHARED_CLIENT, Rm_instType_LAST
}
 RM instance types. More...

Functions

int32_t Rm_resourceStatus (Rm_Handle rmHandle, int printResources)
void Rm_instanceStatus (Rm_Handle rmHandle)
Rm_Handle Rm_init (const Rm_InitCfg *initCfg, int32_t *result)
int32_t Rm_delete (Rm_Handle rmHandle, int ignorePendingServices)
uint32_t Rm_getVersion (void)
const char * Rm_getVersionStr (void)

Detailed Description

This is the Resource Manager include file.

============================================================================
(C) Copyright 2012-2014, Texas Instruments, Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Copyright 2014, Texas Instruments Incorporated