[ Previous | Next | Contents | Glossary | Home | Search ]
AIX Version 4.3 Base Operating System and Extensions Technical Reference, Volume 1

odm_add_obj Subroutine


Adds a new object into an object class.


Object Data Manager Library (libodm.a)


#include <odmi.h>
int odm_add_obj (ClassSymbolDataStructure)
struct ClassName *DataStructure;


The odm_add_obj subroutine takes as input the class symbol that identifies both the object class to add and a pointer to the data structure containing the object to be added.

The odm_add_obj subroutine opens and closes the object class around the subroutine if the object class was not previously opened. If the object class was previously opened, the subroutine leaves the object class open when it returns.


ClassSymbol Specifies a class symbol identifier returned from an odm_open_class subroutine. If the odm_open_class subroutine has not been called, then this identifier is the ClassName_CLASS structure that was created by the odmcreate command.
DataStructure 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.

Return Values

Upon successful completion, an identifier for the object that was added is returned. If the odm_add_obj subroutine is unsuccessful, a value of -1 is returned and the odmerrno variable is set to an error code.

Error Codes

Failure of the odm_add_obj 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 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.
                          The specified object class is opened as read-only and cannot be modified.
                          Too many object classes have been accessed. An application can only access less than 1024 object classes.

Implementation Specifics

This subroutine is part of Base Operating System (BOS) Runtime.

Related Information

The odm_create_class subroutine, odm_open_class subroutine, odm_rm_obj 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.

[ Previous | Next | Contents | Glossary | Home | Search ]