odm_get_list Subroutine
Purpose
Retrieves all objects in an object class that match the specified criteria.
Library
Object Data Manager Library (libodm.a)
Syntax
#include <odmi.h>
struct ClassName *odm_get_list (ClassSymbol, Criteria, ListInfo, MaxReturn, LinkDepth)
struct ClassName_CLASS ClassSymbol; char * Criteria; struct listinfo * ListInfo;
int MaxReturn, LinkDepth;
Description
The odm_get_list subroutine takes an object class and criteria as input, and returns a list of objects that satisfy the input criteria. The 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.
Parameters
Item | Description |
---|---|
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 is the ClassName_CLASS structure created by the odmcreate command. |
Criteria | Specifies a string that contains the qualifying criteria for selecting the objects to remove. |
ListInfo | Specifies a structure containing information about the retrieval
of the objects. The listinfo structure has the following form:
|
MaxReturn | Specifies the expected number of objects to be returned. This is used to control the increments in which storage for structures is allocated, to reduce the realloc subroutine copy overhead. |
LinkDepth | Specifies the number of levels to recurse for objects with ODM_LINK descriptors. A setting of 1 indicates only the top level is retrieved; 2 indicates ODM_LINKs will be followed from the top/first level only: 3 indicates ODM_LINKs will be followed at the first and second level, and so on. |
Return Values
Upon successful completion, a pointer to an array of C language structures containing the objects is returned. This structure matches that described in the .h file that is returned from the odmcreate command. If no match is found, null is returned. If the odm_get_list subroutine fails, a value of -1 is returned and the odmerrno variable is set to an error code.
Error Codes
Failure of the odm_get_list subroutine sets the odmerrno variable to one of the following error codes:
- ODMI_BAD_CRIT
- ODMI_CLASS_DNE
- ODMI_CLASS_PERMS
- ODMI_INTERNAL_ERR
- ODMI_INVALID_CLXN
- ODMI_INVALID_PATH
- ODMI_LINK_NOT_FOUND
- ODMI_MAGICNO_ERR
- ODMI_MALLOC_ERR
- ODMI_OPEN_ERR
- ODMI_PARAMS
- ODMI_TOOMANYCLASSES
See ../bostechref/odm_error_codes.html for explanations of the ODM error codes.