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

odm_rm_by_id Subroutine


Removes objects specified by their IDs from an ODM object class.


Object Data Manager Library (libodm.a)


#include <odmi.h>
int odm_rm_by_id(ClassSymbolObjectID)
int ObjectID;


The odm_rm_by_id subroutine is called to delete an object from an object class. The object to be deleted is specified by passing its object ID from its corresponding ClassName structure.


ClassSymbol Identifies a class symbol returned from an odm_open_class subroutine. If the odm_open_class subroutine has not been called, this is the ClassName_CLASS structure that was created by the odmcreate command.
ObjectID Identifies the object. This information is retrieved from the corresponding ClassName structure of the object class.

Return Values

Upon successful completion, a value of 0 is returned. If the odm_rm_by_id 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_rm_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.
                          Cannot fork the child process. Make sure the child process is executable and try again.
                          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.
                          Cannot open a pipe to a child process. Make sure the child process is executable and try again.
                          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.
                          Cannot read from the pipe of the child process. Make sure the child process is executable and try again.
                          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_get_obj subroutine, odm_open_class subroutine.

The odmdelete command.

List of ODM Commands and Subroutines.

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 ]