OSAReturnValues(S_ADM)
OSAReturnValues: OSAReturnLong, OSAReturnDouble, OSAReturnString, OSAReturnBoolean, OSAReturnActionData --
return values to library routine
Syntax
#include <scoAdmin/osaStdDef.h>
void OSAReturnLong(returnListPtr, attributeToken, integerValue)
void OSAReturnDouble(returnListPtr, attributeToken, floatingPointValue)
void OSAReturnString(returnListPtr, attributeToken, stringValue)
void OSAReturnBoolean(returnListPtr, booleanValue)
void OSAReturnActionData(returnListPtr, stringValue)
Description
These procedures allow the C/C++ OSAs to return values to the
SCOadmin services library routine calling them.
OSAReturnLong passes the value of a
integer number to the return list
structure and associates it with an attribute. If this function is
called repeatedly on for the same attribute in the same return list
then the results depend on the associated attribute
(represented by the attributeToken);
if the attribute is of single-valued type then the given integer will
replace any previous integer associated with the attribute,
if the attribute is of set-valued type then the given integer will be
added to the list of previous values associated with the attribute, and all
the integer values given with that attribute will be returned.
OSAReturnDouble works in an
identical manner to OSAReturnLong
except it expects a floating point number.
OSAReturnString works in an
identical manner to OSAReturnLong
except it expects a pointer to a string.
OSAReturnBoolean is used while evaluating Filter operations.
As filters will only return a true or false, they do not need to associate
values with an attribute. This function should only be called once for each
return list.
OSAReturnActionData is used while
evaluating Action operations.
As actions only return ``raw'' data,
they do not need to associate values with
an attribute. This function can be called repeatedly, each will create a
new string element that will be returned.
Note that OSAReturnActionData s used by the ``list''
execution procedures to return the names of objects held by containers.
All of these procedures copy the data passed to them so that passing them
volatile data will not result in an error.
Unexpected results will occur if one of these procedures is called with an
attribute of a data type other than its own. The programmer should
take care to call OSAReturnString() only with attributes of data
type of string, etc.
Arguments
ofParameterList_cl *returnListPtr-
A pointer to the return list data structure. All return values are
contained in this structure and are accessed and changed via
SCOadmin services library routines.
attributeToken_t attributeToken-
The predefined token that represents the attribute to which the given value
should be associated with. These tokens are defined in the
OSA's CDT.
long integerValue-
The value of the integer that will be associated with the named
attribute.
double floatingPointValue-
The value of the floating point number that will be associated with the
named attribute.
char *stringValue-
The a pointer to the string that will be associated with the
named attribute or an action operation. This data will be copied and
stored by the return list
data structure, so passing this function volatile data is acceptable.
bool_t booleanValue-
One of the two boolean values (TRUE or FALSE) that is to be
associated with a filter request.
Error messages
Assertion Failed deltaSize != 0-
Failure on part of the Server API, asked for
a list to grow by zero elements.
Assertion Failed newValues != NULL && newTypes != NULL-
Malloc failed in list memory space allocation.
Assertion Failed messageListOutput != NULL-
Invoked routine was passed a returnListPtr
that was set to NULL.
Assertion Failed beginingOfTypeList[data] == string_value-
OSAReturnString called on attribute that is not of type string.
Assertion Failed beginingOfTypeList[data] == long_value-
OSAReturnLong called on attribute that is not of type long.
Assertion Failed beginingOfTypeList[data] == double_value-
OSAReturnDouble called on attribute that is not of type double.
Assertion Failed index < numberOfElementsInList-
For some reason the Server API is attempting to index more
attributes than are stored on the returnListPtr list.
16 September 2002
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003