rciGetJls(3)

NAME
rciGetJls, rciGetKyn -- access to RCI robot data structures for both planning and control level.

USAGE
#include <rci.h>

JLS *rciGetJls(name)
   const char *name;

void *rciGetKyn(name, size)
   const char *name;
   int *size;

ARGUMENTS

name --
    Name of the robot.

size --
    Place to return the size of the ext component of the KYN structure.

RESTRICTIONS
For each robot, one of these routines must be called first from the planning level.

DESCRIPTION
These routines function identically to getJls() and getKyn(), except that they may be called from both the planning and control levels.

rciGetJls() returns the JLS structure (q.v.) for a robot.

rciGetKyn() returns the kinematic/dynamic, or KYN, structure (q.v.) associated with a robot.

Before being called from the control level, at least one of these routines must be called from the planning level for each robot in question. This is because the first routine call reads in information from a file. On Sun4 and Micro-VAX systems, the first routine call should also be done when control tasks are switched off, because of some problems with the memory locking code.

DIAGNOSTICS
Both routines return NULL if they are unable to allocate or find structures for the specified robot. Error information is reported on the errorStack (q.v.). Returned error codes are accessible with getErrorCode():

ENotDefined --
    The named robot is not defined in the system tables, or, if this happens at the control level, rciGetJls() or rciGetKyn() may have not been called initially at the planning level for the desired robot.

EBadFxn --
    There is no internal access function defined with which to get the data structure.

EBadAccess --
    Can't open the required information file in $RCCL/conf.

EBadObj --
    The required information file in $RCCL/conf is corrupted or malformed.

EMemory --
    System is out of memory.

EInternal --
    Internal system software error.

SEE ALSO
JLS(3), KYN(3), getJls(), RCI_RBT(3), errorMsg(3).