Retrieves an object from an ODM object class by its ID.
Object Data Manager Library (libodm.a)
struct ClassName *odm_get_by_id(ClassSymbol, ObjectID, ReturnData) CLASS_SYMBOL ClassSymbol; int ObjectID; struct ClassName *ReturnData;
The odm_get_by_id subroutine retrieves an object from an object class. The object to be retrieved is specified by passing its ObjectID parameter from its corresponding ClassName structure.
|ClassSymbol||Specifies a class symbol identifier of the form ClassName_CLASS, which is declared in the .h file created by the odmcreate command.|
|ObjectID||Specifies an identifier retrieved from the corresponding ClassName structure of the object class.|
|ReturnData||Specifies a pointer to an instance of the C language structure corresponding to the object class referenced by the ClassSymbol parameter. The structure is declared in the .h file created by the odmcreate command and has the same name as the object class.|
Upon successful completion, a pointer to the ClassName structure containing the object is returned. If the odm_get_by_id subroutine is unsuccessful, a value of -1 is returned and the odmerrno variable is set to an error code.
Failure of the odm_get_by_id subroutine sets the odmerrno variable to one of the following error codes:
|The specified object class does not exist. Check path name and permissions.|
|The object class cannot be opened because of the file permissions.|
|Either the specified collection is not a valid object class collection or the collection does not contain consistent data.|
|The specified path does not exist on the file system. Make sure the path is accessible.|
|The class symbol does not identify a valid object class.|
|Cannot allocate sufficient storage. Try again later or contact the person responsible for the system.|
|The specified object identifier did not refer to a valid object.|
|Cannot open the object class. Check path name and permissions.|
|The parameters passed to the subroutine were not correct. Make sure there are the correct number of parameters and that they are valid.|
|Too many object classes have been accessed. An application can only access less than 1024 object classes.|
This subroutine is part of Base Operating System (BOS) Runtime.
The odm_get_obj, odm_get_first, or odm_get_next subroutine.
The odmcreate command.
List of ODM Commands and Subroutines.
See ODM Example Code and Output in AIX Version 4.3 General Programming Concepts: Writing and Debugging Programs for an example of a .h file.
Object Data Manager (ODM) Overview for Programmers in AIX Version 4.3 General Programming Concepts: Writing and Debugging Programs.