eSNMP API Routines
*_set Routine
Return Values
ESNMP_MTHD_noError The routine completed successfully.
ESNMP_MTHD_notWritable The requested object cannot be set or was not
implemented.
ESNMP_MTHD_wrongType The data type for the requested value is the
wrong type.
ESNMP_MTHD_
wrongLength
The requested value is the wrong length.
ESNMP_MTHD_
wrongEncoding
The requested value is represented incorrectly.
ESNMP_MTHD_wrongValue The requested value is out of range.
ESNMP_MTHD_noCreation The requested instance can never be created.
ESNMP_MTHD_
inconsistentName
The requested instance cannot currently be
created.
ESNMP_MTHD_
inconsistentValue
The requested value is not consistent.
ESNMP_MTHD_
resourceUnavailable
A failure due to some resource constraint.
ESNMP_MTHD_genErr A general processing error.
ESNMP_MTHD_
commitFailed
The commit phase failed.
ESNMP_MTHD_undoFailed The undo phase failed.
5.2.1 Processing *_set Routines
This following is the sequence of operations performed for
*_set
routines
1. Every variable binding is parsed and its object is located in the object table. A
METHOD structure is created for each VARBIND structure. These METHOD
structures point to a ROW_CONTEXT structure, which is useful for handling
these phases. Objects in the same conceptual row all point to the same ROW_
CONTEXT structure. This determination is made by checking the following:
• The referenced objects are in the same MIB group.
• The VARBIND structures have the same instance OIDs.
2. Each ROW_CONTEXT structure is loaded with the instance information
for that conceptual row. The ROW_CONTEXT structure context and save
fields are set to NULL, and the state field is set to ESNMP_SET_UNKNOWN
structure.
3. The method routine for each object is called and is passed its METHOD
structure with an action code of ESNMP_ACT_SET.
If all method routines return success, a single method routine (the last
one called for the row) is called for each row, with method->action equal to
ESNMP_ACT_COMMIT.
5–24 eSNMP API Routines