eimSetAttribute()--Set EIM
attributes
Syntax
#include <eim.h>
int eimSetAttribute(EimHandle * eim,
enum EimHandleAttr attrName,
void * attrValue,
EimRC * eimrc)
Service Program Name: QSYS/QSYEIM
Default Public Authority: *USE
Threadsafe: Yes
The eimSetAttribute() function is used to set attributes in
the EIM handle structure.
Authorities and Locks
None.
Parameters
- eimhandle (Input)
- The EIM handle returned by a previous call to eimCreateHandle().
- attrName (Input)
- The name of the attribute to set. Following are valid values:
EIM_HANDLE_CCSID (0) |
This is the CCSID of character data passed by the
caller of EIM APIs using the specified EimHandle. This field is a 4 byte
integer. When a handle is created, this is set to the job default CCSID. |
- attrValue (Input)
- A pointer to the attribute value.
- eimrc (Input/Output)
- The structure in which to return error code information. If the return
value is not 0, eimrc is set with additional information. This parameter may be
NULL. For the format of the structure, see EimRC--EIM
Return Code Parameter.
Return Value
The return value from the API. Following each return value is the list of
possible values for the messageCatalogMessageID field in the
eimrc parameter for that value.
- 0
- Request was successful.
- EBADDATA
- eimrc is not valid.
- EBUSY
- Unable to allocate internal system object.
EIMERR_NOLOCK (26) |
Unable to allocate internal system object. |
- EINVAL
- Input parameter was not valid.
EIMERR_ATTR_INVAL (5) |
Attribute name is not valid. |
EIMERR_CCSID_INVAL (8) |
CCSID is outside of valid range or CCSID is not
supported. |
EIMERR_HANDLE_INVAL (17) |
EimHandle is not valid. |
EIMERR_PARM_REQ (34) |
Missing required parameter. Please check API
documentation. |
EIMERR_PTR_INVAL (35) |
Pointer parameter is not valid. |
- ENOTSUP
- Attribute type is not supported.
EIMERR_ATTR_NOTSUPP (6) |
Attribute not supported. |
- EUNKNOWN
- Unexpected exception.
EIMERR_UNKNOWN (44) |
Unknown error or unknown system state. |
Related Information
Example
See Code disclaimer information
for information pertaining to code examples.
The following example will set the CCSID attribute in the EIM handle.
#include <eim.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
int rc;
char eimerr[100];
EimRC * err;
EimHandle * handle;
unsigned int ccsid = 37;
/* Get eim handle from input arg. */
/* This handle is already connected to EIM. */
handle = (EimHandle *)argv[1];
/* Set up error structure. */
memset(eimerr,0x00,100);
err = (EimRC *)eimerr;
err->memoryProvidedByCaller = 100;
/* Change the CCSID for this handle. */
if (0 != (rc = eimSetAttribute(handle,
EIM_HANDLE_CCSID,
(void *)&ccsid,
err)))
printf("Set Attribute error = %d", rc);
return 0;
}
API introduced: V5R2