Callin Function Reference
This reference chapter contains detailed descriptions of all InterSystems Callin functions, arranged in alphabetical order. For an introduction to the Callin functions organized by function, see Using the Callin Functions.
InterSystems Callin functions that operate on strings have both 8-bit and Unicode versions. These functions use a suffix character to indicate the type of string that they handle:
-
Names with an “A” suffix or no suffix at all (for example, IrisEvalA or IrisPopExStr) are versions for 8-bit character strings.
-
Names with a “W” suffix (for example, IrisEvalW or IrisPopExStrW) are versions for Unicode character strings on platforms that use 2–byte Unicode characters.
-
Names with an “H” suffix (for example, IrisEvalH or IrisPopExStrH) are versions for Unicode character strings on platforms that use 4–byte Unicode characters.
For convenience, the different versions of each function are listed together here. For example, IrisEvalA[W][H] or IrisPopExStr[W][H] .
Alphabetical Function List
This section contains an alphabetical list of all Callin functions with a brief description of each function and links to detailed descriptions.
-
IrisAbort — Tells InterSystems IRIS® to cancel the current request being processed on the InterSystems IRIS side, when it is convenient to do so.
-
IrisAcquireLock — Executes an InterSystems IRIS LOCK command. The lock reference should already be set up with IrisPushLockX[W][H].
-
IrisCallExecuteFunc — Performs the $Xecute() function after the command string has been pushed onto the stack by IrisPushExecuteFuncA[W][H].
-
IrisChangePasswordA[W][H] — Changes the user's password if InterSystems authentication is used (not valid for other forms of authentication).
-
IrisBitFind[B] — Returns the position of specified bit values within a bitstring (similar to InterSystems IRIS $BITFIND).
-
IrisCloseOref — Decrements the system reference counter for an OREF.
-
IrisContext — Returns true if there is a request currently being processed on the InterSystems IRIS side of the connection when using an external Callin program.
-
IrisConvert — Converts the value returned by IrisEvalA[W][H] into proper format and places in address specified in its return value.
-
IrisCtrl — Determines whether or not InterSystems IRIS ignores CTRL-C.
-
IrisCvtExStrInA[W][H] — Translates a string with specified external character set encoding to the local 8-bit character string encoding used internally only in 8-bit versions of InterSystems IRIS.
-
IrisCvtExStrOutA[W][H] — Translates a string from the local 8-bit character string encoding used internally in the InterSystems IRIS 8-bit product to a string with the specified external character set encoding. (This is only available with 8-bit versions of InterSystems IRIS.)
-
IrisCvtInA[W][H] — Translates string with specified external character set encoding to the local 8-bit character string encoding (used internally only in 8-bit versions of InterSystems IRIS) or the Unicode character string encoding (used internally in Unicode versions of InterSystems IRIS).
-
IrisCvtOutA[W][H] — Translates a string from the local 8-bit character string encoding used internally in the InterSystems IRIS 8-bit product to a string with the specified external character set encoding. (This is only available with 8-bit versions of InterSystems IRIS.)
-
IrisDoFun — Performs a routine call (special case).
-
IrisDoRtn — Performs a routine call.
-
IrisEnd — Terminates an InterSystems IRIS process. If there is a broken connection, it also performs clean-up operations.
-
IrisEndAll — Disconnects all Callin threads and waits until they terminate.
-
IrisErrorA[W][H] — Returns the most recent error message, its associated source string, and the offset to where in the source string the error occurred.
-
IrisErrxlateA[W][H] — Translates an integer error code into an InterSystems IRIS error string.
-
IrisEvalA[W][H] — Evaluates a string as if it were an InterSystems IRIS expression and places the return value in memory for further processing by IrisType and IrisConvert.
-
IrisExecuteA[W][H] — Executes a command string as if it were typed in the Terminal.
-
IrisExecuteArgs — Executes a command string with arguments.
-
IrisExStrKill — Releases the storage associated with an EXSTR string.
-
IrisExStrNew[W][H] — Allocates the requested amount of storage for a string, and fills in the EXSTR structure with the length and a pointer to the value field of the structure.
-
IrisExtFun — Performs an extrinsic function call where the return value is pushed onto the argument stack.
-
IrisGetProperty — Obtains the value of the property defined by IrisPushProperty[W][H]. The value is pushed onto the argument stack.
-
IrisGlobalData — Performs a $Data on the specified global.
-
IrisGlobalGet — Obtains the value of the global reference defined by IrisPushGlobal[W][H] and any subscripts. The node value is pushed onto the argument stack.
-
IrisGlobalIncrement — Performs a $INCREMENT and returns the result on top of the stack.
-
IrisGlobalKill — Performs a ZKILL on a global node or tree.
-
IrisGlobalOrder — Performs a $Order on the specified global.
-
IrisGlobalQuery — Performs a $Query on the specified global.
-
IrisGlobalRelease — Release ownership of a retained global buffer, if one exists.
-
IrisGlobalSet — Stores the value of the global reference defined by IrisPushGlobal[W][H] and any subscripts. The node value must be pushed onto the argument stack before this call.
-
IrisIncrementCountOref — Increments the system reference counter for an OREF.
-
IrisInvokeClassMethod — Executes the class method call defined by IrisPushClassMethod[W][H] and any arguments. The return value is pushed onto the argument stack.
-
IrisInvokeMethod — Executes the instance method call defined by IrisPushMethod[W][H] and any arguments pushed onto the argument stack.
-
IrisOflush — Flushes any pending output.
-
IrisPop — Pops a value off argument stack.
-
IrisPopCvtW[H] — Pops a local 8-bit string off argument stack and translates it to Unicode. Identical to IrisPopStr[W][H] for Unicode versions.
-
IrisPopDbl — Pops a value off argument stack and converts it to a double.
-
IrisPopExStr[W][H] — Pops a value off argument stack and converts it to a string.
-
IrisPopExStrCvtW[H] — Pops a value off argument stack and converts it to a long Unicode string.
-
IrisPopInt — Pops a value off argument stack and converts it to an integer.
-
IrisPopInt64 — Pops a value off argument stack and converts it to a 64-bit (long long) number.
-
IrisPopList — Pops a $LIST object off argument stack and converts it.
-
IrisPopOref — Pops an OREF off argument stack.
-
IrisPopPtr — Pops a pointer off argument stack in internal format.
-
IrisPopStr[W][H] — Pops a value off argument stack and converts it to a string.
-
IrisPromptA[W][H] — Returns a string that would be the Terminal.
-
IrisPushClassMethod[W][H] — Pushes a class method reference onto the argument stack.
-
IrisPushCvtW[H] — Translates a Unicode string to local 8-bit and pushes it onto the argument stack. Identical to IrisPushStr[W][H] for Unicode versions.
-
IrisPushDbl — Pushes a double onto the argument stack.
-
IrisPushExecuteFuncA[W][H] — Pushes the $Xecute() command string onto the stack in preparation for a call by IrisCallExecuteFunc.
-
IrisPushExStr[W][H] — Pushes a string onto the argument stack.
-
IrisPushExStrCvtW[H] — Converts a Unicode string to local 8–bit encoding and pushes it onto the argument stack.
-
IrisPushFunc[W][H] — Pushes an extrinsic function reference onto the argument stack.
-
IrisPushFuncX[W][H] — Pushes an extended extrinsic function reference onto the argument stack.
-
IrisPushGlobal[W][H] — Pushes a global reference onto the argument stack.
-
IrisPushGlobalX[W][H] — Pushes an extended global reference onto the argument stack.
-
IrisPushIEEEDbl — Pushes an IEEE double onto the argument stack.
-
IrisPushInt — Pushes an integer onto the argument stack.
-
IrisPushInt64 — Pushes a 64-bit (long long) number onto the argument stack.
-
IrisPushList — Converts a $LIST object and pushes it onto the argument stack.
-
IrisPushLock[W][H] — Initializes a IrisAcquireLock command by pushing the lock name on the argument stack.
-
IrisPushLockX[W][H] — Initializes a IrisAcquireLock command by pushing the lock name and an environment string on the argument stack.
-
IrisPushMethod[W][H] — Pushes an instance method reference onto the argument stack.
-
IrisPushOref — Pushes an OREF onto the argument stack.
-
IrisPushProperty[W][H] — Pushes a property reference onto the argument stack.
-
IrisPushPtr — Pushes a pointer onto the argument stack in internal format.
-
IrisPushRtn[W][H] — Pushes a routine reference onto the argument stack.
-
IrisPushRtnX[W][H] — Pushes an extended routine reference onto the argument stack.
-
IrisPushStr[W][H] — Pushes a byte string onto the argument stack.
-
IrisPushUndef — pushes an Undefined value that is interpreted as an omitted function argument.
-
IrisReleaseAllLocks — Performs an argumentless InterSystems IRIS LOCK command to remove all locks currently held by the process.
-
IrisReleaseLock — Executes an InterSystems IRIS LOCK command to decrement the lock count for the specified lock name. This command will only release one incremental lock at a time.
-
IrisSecureStartA[W][H] — Calls into InterSystems IRIS to set up a process.
-
IrisSetDir — Dynamically sets the name of the manager's directory at runtime.
-
IrisSetProperty — Stores the value of the property defined by IrisPushProperty[W][H].
-
IrisSignal — Passes on signals caught by user's program to InterSystems IRIS.
-
IrisSPCReceive — Receive single-process-communication message.
-
IrisSPCSend — Send a single-process-communication message.
-
IrisStartA[W][H] — Calls into InterSystems IRIS to set up an InterSystems IRIS process.
-
IrisTCommit — Executes an InterSystems IRIS TCommit command.
-
IrisTLevel — Returns the current nesting level ($TLEVEL) for transaction processing.
-
IrisTRollback — Executes an InterSystems IRIS TRollback command.
-
IrisTStart — Executes an InterSystems IRIS TStart command.
-
IrisType — Returns the native type of the item returned by IrisEvalA[W][H], as the function value.
IrisAbort
int IrisAbort(unsigned long type)
type | Either of the following predefined values that specify how the termination occurs:
|
Tells InterSystems IRIS to cancel the current request being processed on the InterSystems IRIS side, when it is convenient to do so. This function is for use if you detect some critical event in an AST (asynchronous trap) or thread running on the Callin side. (You can use IrisContext to determine if there is an InterSystems IRIS request currently being processed.) Note that this only applies to Callin programs that use an AST or separate thread.
IRIS_BADARG | The termination type is invalid. |
IRIS_CONBROKEN | Connection has been broken. |
IRIS_NOCON | No connection has been established. |
IRIS_NOTINCACHE | The Callin partner is not in InterSystems IRIS at this time. |
IRIS_SUCCESS | Connection formed. |
rc = IrisAbort(IRIS_CTRLC);
IrisAcquireLock
int IrisAcquireLock(int nsub, int flg, int tout, int * rval)
nsub | Number of subscripts in the lock reference. |
flg | Modifiers to the lock command. Valid values are one or both of IRIS_INCREMENTAL_LOCK and IRIS_SHARED_LOCK. |
tout | Number of seconds to wait for the lock command to complete. Negative for no timeout. 0 means return immediately if the lock is not available, although a minimum timeout may be applied if the lock is mapped to a remote system. |
rval | Optional pointer to an int return value: success = 1, failure = 0. |
Executes an InterSystems IRIS LOCK command. The lock reference should already be set up with IrisPushLock.
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_SUCCESS | Successfully called the LOCK command (but the rval parameter must be examined to determine if the lock succeeded). |
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERARGSTACK | Argument stack overflow. |
IrisBitFind
int IrisBitFind(int strlen, unsigned short *bitstr, int newlen, int srch, int revflg)
strlen | Data length of the bitstring. |
bitstr | Pointer to a Unicode bitstring. |
newlen | 0 to start at the beginning, otherwise 1–based starting position |
srch | The bit value (0 or 1) to search for within the bitstring. |
revflg | Specifies the search direction:
1 — Search forward (left to right) from the position indicated by newlen. 0 — Search backward from the position indicated by newlen. |
Returns the bit position (1-based) of the next bit within bitstring bitstr that has the value specified by srch. The direction of the search is indicated by revflg. Returns 0 if there are no more bits of the specified value in the specified direction.
This function is similar to InterSystems IRIS $BITFIND (also see “General Information on Bitstring Functions”).
IRIS_SUCCESS | The operation was successful. |
IrisBitFindB
int IrisBitFindB(int strlen, unsigned char *bitstr, int newlen, int srch, int revflg)
strlen | Data length of the bitstring. |
bitstr | Pointer to a bitstring. |
newlen | 0 to start at the beginning, otherwise 1–based starting position. |
srch | The bit value (0 or 1) to search for within the bitstring. |
revflg | Specifies the search direction:
1 — Search forward (left to right) from the position indicated by newlen. 0 — Search backward from the position indicated by newlen. |
Returns the bit position (1-based) of the next bit within bitstring bitstr that has the value specified by srch. The direction of the search is indicated by revflg. Returns 0 if there are no more bits of the specified value in the specified direction.
This function is similar to InterSystems IRIS $BITFIND (also see “General Information on Bitstring Functions”).
IRIS_SUCCESS | The operation was successful. |
IrisCallExecuteFunc
int IrisCallExecuteFunc(int numargs)
numargs | Number of arguments pushed onto the stack. |
Calls the $Xecute() function with arguments. The function command string must have been pushed onto the argument stack by IrisPushExecuteFuncA[W][H], followed by pushing the arguments. The number of arguments may be 0. The result of the function will be left on the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_BADARG | Invalid call argument. |
IRIS_STRTOOLONG | String is too long. |
IRIS_ERPARAMETER | Xecute string is not expecting arguments |
IRIS_SUCCESS | The operation was successful. |
IRIS_FAILURE | An unexpected error has occurred. |
IrisChangePasswordA
Variants: IrisChangePasswordW, IrisChangePasswordH
int IrisChangePasswordA(IRIS_ASTRP username, IRIS_ASTRP oldpassword, IRIS_ASTRP newpassword)
username | Username of the user whose password must be changed. |
oldpassword | User's old password. |
newpassword | New password. |
This function can change the user's password if InterSystems authentication or delegated authentication is used. It is not valid for LDAP, Kerberos, or other forms of authentication. It must be called before a Callin session is initialized. A typical use would be to handle a IRIS_CHANGEPASSWORD error from IrisSecureStart. In such a case IrisChangePassword would be called to change the password, then IrisSecureStart would be called again.
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_SUCCESS | Password changed. |
IrisChangePasswordH
Variants: IrisChangePasswordA, IrisChangePasswordW
int IrisChangePasswordH(IRISHSTRP username, IRISHSTRP oldpassword, IRISHSTRP newpassword)
username | Username of the user whose password must be changed. |
oldpassword | User's old password. |
newpassword | New password. |
This function can change the user's password if InterSystems authentication or delegated authentication is used. It is not valid for LDAP, Kerberos, or other forms of authentication. It must be called before a Callin session is initialized. A typical use would be to handle a IRIS_CHANGEPASSWORD error from IrisSecureStart. In such a case IrisChangePassword would be called to change the password, then IrisSecureStart would be called again.
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_SUCCESS | Password changed. |
IrisChangePasswordW
Variants: IrisChangePasswordA, IrisChangePasswordH
int IrisChangePasswordW(IRISWSTRP username, IRISWSTRP oldpassword, IRISWSTRP newpassword)
username | Username of the user whose password must be changed. |
oldpassword | User's old password. |
newpassword | New password. |
This function can change the user's password if InterSystems authentication or delegated authentication is used. It is not valid for LDAP, Kerberos, or other forms of authentication. It must be called before a Callin session is initialized. A typical use would be to handle a IRIS_CHANGEPASSWORD error from IrisSecureStart. In such a case IrisChangePassword would be called to change the password, then IrisSecureStart would be called again.
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_SUCCESS | Password changed. |
IrisCloseOref
int IrisCloseOref(unsigned int oref)
oref | Object reference. |
Decrements the system reference counter for an OREF.
IRIS_ERBADOREF | Invalid OREF. |
IRIS_SUCCESS | The operation was successful. |
IrisContext
int IrisContext()
Returns an integer as the function value.
If you are using an external Callin program (as opposed to a module that was called from a $ZF function) and your program employs an AST or separate thread, then IrisContext tells you if there is a request currently being processed on the InterSystems IRIS side of the connection. This information is needed to decide if you must return to InterSystems IRIS to allow processing to complete.
-1 | Created in InterSystems IRIS via a $ZF callback. |
0 | No connection or not in InterSystems IRIS at the moment. |
1 | In InterSystems IRIS via an external (i.e., not $ZF) connection. An asynchronous trap (AST), such as an exit-handler, would need to return to InterSystems IRIS to allow processing to complete. |
The information about whether you are in a $ZF function from a program or an AST is needed because, if you are in an AST, then you need to return to InterSystems IRIS to allow processing to complete.
rc = IrisContext();
IrisConvert
int IrisConvert(unsigned long type, void * rbuf)
type | The #define'd type, with valid values listed below. |
rbuf | Address of a data area of the proper size for the data type. If the type is IRIS_ASTRING, rbuf should be the address of a IRIS_ASTR structure that will contain the result, and the len element in the structure should be filled in to represent the maximum size of the string to be returned (in characters). Similarly, if the type is IRIS_WSTRING, rbuf should be the address of a IRISWSTR structure whose len element has been filled in to represent the maximum size (in characters). |
Converts the value returned by IrisEval into proper format and places in address specified in its return value (listed below as rbuf).
Valid values of type are:
-
IRIS_ASTRING — 8-bit character string.
-
IRIS_CHAR — 8-bit signed integer.
-
IRIS_DOUBLE — 64-bit floating point.
-
IRIS_FLOAT — 32-bit floating point.
-
IRIS_INT — 32-bit signed integer.
-
IRIS_INT2 — 16-bit signed integer.
-
IRIS_INT4 — 32-bit signed integer.
-
IRIS_INT8 — 64-bit signed integer.
-
IRIS_UCHAR — 8-bit unsigned integer.
-
IRIS_UINT — 32-bit unsigned integer.
-
IRIS_UINT2 — 16-bit unsigned integer.
-
IRIS_UINT4 — 32-bit unsigned integer.
-
IRIS_UINT8 — 64-bit unsigned integer.
-
IRIS_WSTRING — Unicode character string.
IRIS_BADARG | Type is invalid. |
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERSYSTEM | Either ObjectScript generated a <SYSTEM> error, or if called from a $ZF function, an internal counter may be out of sync. |
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_NOCON | No connection has been established. |
IRIS_NORES | No result whose type can be returned (no call to IrisEvalA preceded this call). |
IRIS_RETTRUNC | Success, but the type IRIS_ASTRING, IRIS_INT8, IRIS_UINT8 and IRIS_WSTRING resulted in a value that would not fit in the space allocated in retval. For IRIS_INT8 and IRIS_UINT8, this means that the expression resulted in a floating point number that could not be normalized to fit within 64 bits. |
IRIS_STRTOOLONG | String is too long. |
IRIS_SUCCESS | Value returned by last IrisEval converted successfully. |
InterSystems IRIS may perform division when calculating the return value for floating point types, IRIS_FLOAT and IRIS_DOUBLE, which have decimal parts (including negative exponents), as well as the 64-bit integer types (IRIS_INT8 and IRIS_UINT8). Therefore, the returned result may not be identical in value to the original. IRIS_ASTRING, IRIS_INT8, IRIS_UINT8 and IRIS_WSTRING can return the status IRIS_RETTRUNC.
IRIS_ASTR retval;
/* define variable retval */
retval.len = 20;
/* maximum return length of string */
rc = IrisConvert(IRIS_ASTRING,&retval);
IrisCtrl
int IrisCtrl(unsigned long flags)
flags | Either of two #define'd values specifying how InterSystems IRIS handles certain keystrokes. |
Determines whether or not InterSystems IRIS ignores CTRL-C. flags can have bit state values of
-
IRIS_DISACTRLC — InterSystems IRIS ignores CTRL-C.
-
IRIS_ENABCTRLC — Default if function is not called, unless overridden by a BREAK or an OPEN command. In InterSystems IRIS, CTRL-C generates an <INTERRUPT>.
IRIS_FAILURE | Returns if called from a $ZF function (rather than from within a Callin executable). |
IRIS_SUCCESS | Control function performed. |
rc = IrisCtrl(IRIS_ENABCTRLC);
IrisCvtExStrInA
Variants: IrisCvtExStrInW, IrisCvtExStrInH
int IrisCvtExStrInA(IRIS_EXSTRP src, IRIS_ASTRP tbl, IRIS_EXSTRP res)
src | Address of a IRIS_EXSTRP variable that contains the string to be converted. |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRIS_EXSTRP variable that will contain the result. |
Translates a string with specified external character set encoding to the local 8-bit character string encoding used internally.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for Unicode. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisCvtExStrInW
Variants: IrisCvtExStrInA, IrisCvtExStrInH
int IrisCvtExStrInW(IRIS_EXSTRP src, IRISWSTRP tbl, IRIS_EXSTRP res)
src | Address of a IRIS_EXSTRP variable that contains the string to be converted. |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRIS_EXSTRP variable that will contain the result. |
Translates a string with specified external character set encoding to the 2–byte Unicode character string encoding used internally in InterSystems IRIS.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for 8–bit systems. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisCvtExStrInH
Variants: IrisCvtExStrInA, IrisCvtExStrInW
int IrisCvtExStrInH(IRIS_EXSTRP src, IRISWSTRP tbl, IRIS_EXSTRP res)
src | Address of a IRIS_EXSTRP variable that contains the string to be converted. |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRIS_EXSTRP variable that will contain the result. |
Translates a string with specified external character set encoding to the 4–byte Unicode character string encoding used internally in InterSystems IRIS.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for 8–bit systems. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisCvtExStrOutA
Variants: IrisCvtExStrOutW, IrisCvtExStrOutH
int IrisCvtExStrOutA(IRIS_EXSTRP src, IRIS_ASTRP tbl, IRIS_EXSTRP res)
src | Address of a IRIS_EXSTRP variable that contains the string to be converted. |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRIS_EXSTRP variable that will contain the result. |
Translates a string from the 8-bit character string encoding used internally in an older InterSystems 8-bit product to a string with the specified external character set encoding.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for Unicode. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisCvtExStrOutW
Variants: IrisCvtExStrOutA, IrisCvtExStrOutH
int IrisCvtExStrOutW(IRIS_EXSTRP src, IRISWSTRP tbl, IRIS_EXSTRP res)
src | Address of a IRIS_EXSTRP variable that contains the string to be converted. |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRIS_EXSTRP variable that will contain the result. |
Translates a string from the 2–byte Unicode character string encoding used internally in InterSystems IRIS to a string with the specified external character set encoding.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for 8–bit systems. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisCvtExStrOutH
Variants: IrisCvtExStrOutA, IrisCvtExStrOutW
int IrisCvtExStrOutH(IRIS_EXSTRP src, IRISWSTRP tbl, IRIS_EXSTRP res)
src | Address of a IRIS_EXSTRP variable that contains the string to be converted. |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRIS_EXSTRP variable that will contain the result. |
Translates a string from the 4–byte Unicode character string encoding used internally in InterSystems IRIS to a string with the specified external character set encoding.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for 8–bit systems. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisCvtInA
Variants: IrisCvtInW, IrisCvtInH
int IrisCvtInA(IRIS_ASTRP src, IRIS_ASTRP tbl, IRIS_ASTRP res)
src | The string in an external character set encoding to be translated (described using a counted character string buffer). The string should be initialized, for example, by setting the value to the number of blanks representing the maximum number of characters expected as output. |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRIS_ASTR variable that will contain the counted 8-bit string result. |
Translates string with specified external character set encoding to the local 8-bit character string encoding used internally only in 8-bit versions of InterSystems IRIS.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for Unicode. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisCvtInW
Variants: IrisCvtInA, IrisCvtInH
int IrisCvtInW(IRIS_ASTRP src, IRISWSTRP tbl, IRISWSTRP res)
src | The string in an external character set encoding to be translated (described using the number of bytes required to hold the Unicode string). |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRISWSTR variable that will contain the counted Unicode string result. |
Translates string with specified external character set encoding to the Unicode character string encoding used internally in Unicode versions of InterSystems IRIS.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for 8–bit systems. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisCvtInH
Variants: IrisCvtInA, IrisCvtInW
int IrisCvtInH(IRIS_ASTRP src, IRISHSTRP tbl, IRISHSTRP res)
src | The string in an external character set encoding to be translated (described using the number of bytes required to hold the Unicode string). |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRISHSTRP variable that will contain the counted Unicode string result. |
Translates string with specified external character set encoding to the Unicode character string encoding used internally in Unicode versions of InterSystems IRIS.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for 8–bit systems. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisCvtOutA
Variants: IrisCvtOutW, IrisCvtOutH
int IrisCvtOutA(IRIS_ASTRP src, IRIS_ASTRP tbl, IRIS_ASTRP res)
src | The string in the local 8-bit character string encoding used internally in the InterSystems IRIS 8-bit product (if a NULL pointer is passed, InterSystems IRIS will use the result from the last call to IrisEvalA or IrisEvalW). |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRIS_ASTR variable that will contain the result in the target external character set encoding (described using a counted 8-bit character string buffer). |
Translates a string from the local 8-bit character string encoding used internally in the InterSystems IRIS 8-bit product to a string with the specified external character set encoding. (This is only available with 8-bit versions of InterSystems IRIS.)
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for Unicode. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisCvtOutW
Variants: IrisCvtOutA, IrisCvtOutH
int IrisCvtOutW(IRISWSTRP src, IRISWSTRP tbl, IRIS_ASTRP res)
src | The string in the Unicode character string encoding used internally in the InterSystems IRIS Unicode product (if a NULL pointer is passed, InterSystems IRIS will use the result from the last call to IrisEvalA or IrisEvalW). |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRIS_ASTR variable that will contain the result in the target external character set encoding (described using a counted 8-bit character string buffer). |
Translates a string from the Unicode character string encoding used internally in Unicode versions of InterSystems IRIS to a string with the specified external character set encoding. (This is only available with Unicode versions of InterSystems IRIS.)
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for 8–bit systems. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisCvtOutH
Variants: IrisCvtOutA, IrisCvtOutW
int IrisCvtOutH(IRISHSTRP src, IRISHSTRP tbl, IRIS_ASTRP res)
src | The string in the Unicode character string encoding used internally in the InterSystems IRIS Unicode product (if a NULL pointer is passed, InterSystems IRIS will use the result from the last call to IrisEvalA or IrisEvalW). |
tbl | The name of the I/O translation table to use to perform the translation (a null string indicates that the default process I/O translation table name should be used). |
res | Address of a IRIS_ASTR variable that will contain the result in the target external character set encoding (described using a counted 8-bit character string buffer). |
Translates a string from the Unicode character string encoding used internally in Unicode versions of InterSystems IRIS to a string with the specified external character set encoding. (This is only available with Unicode versions of InterSystems IRIS.)
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_ERRUNIMPLEMENTED | Not available for 8–bit systems. |
IRIS_ERVALUE | The specified I/O translation table name was undefined or did not have an input component. |
IRIS_ERXLATE | Input string could not be translated using the specified I/O translation table. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTRUNC | Result was truncated because result buffer was too small. |
IRIS_FAILURE | Error encountered while trying to build translation data structures (probably not enough partition memory). |
IRIS_SUCCESS | Translation completed successfully. |
IrisDoFun
int IrisDoFun(unsigned int flags, int narg)
flags | Routine flags from IrisPushRtn[XW] |
narg | Number of call arguments pushed onto the argument stack. Target must have a (possibly empty) formal parameter list. |
Performs a routine call (special case).
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_FAILURE | Internal consistency error. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisDoRtn
int IrisDoRtn(unsigned int flags, int narg)
flags | Routine flags from IrisPushRtn[XW] |
narg | Number of call arguments pushed onto the argument stack. If zero, target must not have a formal parameter list. |
Performs a routine call.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_FAILURE | Internal consistency error. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisEnd
int IrisEnd()
Terminates an InterSystems IRIS process. If there is a broken connection, it also performs clean-up operations.
IRIS_FAILURE | Returns if called from a $ZF function (rather than from within a Callin executable). |
IRIS_NOCON | No connection has been established. |
IRIS_SUCCESS | InterSystems IRIS session terminated/cleaned up. |
IrisEnd can also return any of the InterSystems IRIS error codes.
rc = IrisEnd();
IrisEndAll
int IrisEndAll()
Disconnects all threads in a threaded Callin environment, then schedules the threads for termination and waits until they are done.
IRIS_SUCCESS | InterSystems IRIS session terminated/cleaned up. |
rc = IrisEndAll();
IrisErrorA
Variants: IrisErrorW, IrisErrorH
int IrisErrorA(IRIS_ASTRP msg, IRIS_ASTRP src, int * offp)
msg | The error message or the address of a variable to receive the error message. |
src | The source string for the error or the address of a variable to receive the source string the error message. |
offp | An integer that specifies the offset to location in errsrc or the address of an integer to receive the offset to the source string the error message. |
Returns the most recent error message, its associated source string, and the offset to where in the source string the error occurred.
IRIS_CONBROKEN | Connection has been broken. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTOOSMALL | The length of the return value for either errmsg or errsrc was not of the valid size. |
IRIS_SUCCESS | Connection formed. |
IRIS_ASTR errmsg;
IRIS_ASTR srcline;
int offset;
errmsg.len = 50;
srcline.len = 100;
if ((rc = IrisErrorA(&errmsg, &srcline, &offset)) != IRIS_SUCCESS)
printf("\r\nfailed to display error - rc = %d",rc);
IrisErrorH
Variants: IrisErrorA, IrisErrorW
int IrisErrorH(IRISHSTRP msg, IRISHSTRP src, int * offp)
msg | The error message or the address of a variable to receive the error message. |
src | The source string for the error or the address of a variable to receive the source string the error message. |
offp | The offset to location in errsrc or the address of an integer to receive the offset to the source string the error message. |
Returns the most recent error message, its associated source string, and the offset to where in the source string the error occurred.
IRIS_CONBROKEN | Connection has been broken. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTOOSMALL | The length of the return value for either errmsg or errsrc was not of the valid size. |
IRIS_SUCCESS | Connection formed. |
IRISHSTRP errmsg;
IRISHSTRP srcline;
int offset;
errmsg.len = 50;
srcline.len = 100;
if ((rc = IrisErrorH(&errmsg, &srcline, &offset)) != IRIS_SUCCESS)
printf("\r\nfailed to display error - rc = %d",rc);
IrisErrorW
Variants: IrisErrorA, IrisErrorH
int IrisErrorW(IRISWSTRP msg, IRISWSTRP src, int * offp)
msg | The error message or the address of a variable to receive the error message. |
src | The source string for the error or the address of a variable to receive the source string the error message. |
offp | The offset to location in errsrc or the address of an integer to receive the offset to the source string the error message. |
Returns the most recent error message, its associated source string, and the offset to where in the source string the error occurred.
IRIS_CONBROKEN | Connection has been broken. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTOOSMALL | The length of the return value for either errmsg or errsrc was not of the valid size. |
IRIS_SUCCESS | Connection formed. |
IRISWSTRP errmsg;
IRISWSTRP srcline;
int offset;
errmsg.len = 50;
srcline.len = 100;
if ((rc = IrisErrorW(&errmsg, &srcline, &offset)) != IRIS_SUCCESS)
printf("\r\nfailed to display error - rc = %d",rc);
IrisErrxlateA
Variants: IrisErrxlateW, IrisErrxlateH
int IrisErrxlateA(int code, IRIS_ASTRP rbuf)
code | The error code. |
rbuf | Address of a IRIS_ASTR variable to contain the InterSystems IRIS error string. The len field should be loaded with the maximum string size that can be returned. |
Translates error code code into an InterSystems IRIS error string, and writes that string into the structure pointed to by rbuf
IRIS_ERUNKNOWN | The specified code is less than 1 (in the range of the Callin interface errors) or is above the largest InterSystems IRIS error number. |
IRIS_RETTRUNC | The associated error string was truncated to fit in the allocated area. |
IRIS_SUCCESS | Connection formed. |
IRIS_ASTR retval; /* define variable retval */
retval.len = 30; /* maximum return length of string */
rc = IrisErrxlateA(IRIS_ERSTORE,&retval);
IrisErrxlateH
Variants: IrisErrxlateA, IrisErrxlateW
int IrisErrxlateH(int code, IRISHSTRP rbuf)
code | The error code. |
rbuf | Address of a IRISHSTRP variable to contain the InterSystems IRIS error string. The len field should be loaded with the maximum string size that can be returned. |
Translates error code code into an InterSystems IRIS error string, and writes that string into the structure pointed to by rbuf
IRIS_ERUNKNOWN | The specified code is less than 1 (in the range of the Callin interface errors) or is above the largest InterSystems IRIS error number. |
IRIS_RETTRUNC | The associated error string was truncated to fit in the allocated area. |
IRIS_SUCCESS | Connection formed. |
IRISHSTR retval; /* define variable retval */
retval.len = 30; /* maximum return length of string */
rc = IrisErrxlateH(IRIS_ERSTORE,&retval);
IrisErrxlateW
Variants: IrisErrxlateA, IrisErrxlateH
int IrisErrxlateW(int code, IRISWSTRP rbuf)
code | The error code. |
rbuf | Address of a IRISWSTR variable to contain the InterSystems IRIS error string. The len field should be loaded with the maximum string size that can be returned. |
Translates error code code into an InterSystems IRIS error string, and writes that string into the structure pointed to by rbuf
IRIS_ERUNKNOWN | The specified code is less than 1 (in the range of the Callin interface errors) or is above the largest InterSystems IRIS error number. |
IRIS_RETTRUNC | The associated error string was truncated to fit in the allocated area. |
IRIS_SUCCESS | Connection formed. |
IRISWSTR retval; /* define variable retval */
retval.len = 30; /* maximum return length of string */
rc = IrisErrxlateW(IRIS_ERSTORE,&retval);
IrisEvalA
Variants: IrisEvalW, IrisEvalH
int IrisEvalA(IRIS_ASTRP volatile expr)
expr | The address of a IRIS_ASTR variable. |
Evaluates a string as if it were an InterSystems IRIS expression and places the return value in memory for further processing by IrisType and IrisConvert.
If IrisEvalA completes successfully, it sets a flag that allows calls to IrisType and IrisConvert to complete. These functions are used to process the item returned from IrisEvalA.
The next call to IrisEvalA, IrisExecuteA, or IrisEnd will overwrite the existing return value.
IRIS_CONBROKEN | Connection has been closed due to a serious error condition or RESJOB. |
IRIS_ERSYSTEM | Either InterSystems IRIS generated a <SYSTEM> error, or if called from a $ZF function, an internal counter may be out of sync. |
IRIS_NOCON | No connection has been established. |
IRIS_STRTOOLONG | String is too long. |
IRIS_SUCCESS | String evaluated successfully. |
IrisEvalA can also return any of the InterSystems IRIS error codes.
int rc;
IRIS_ASTR retval;
IRIS_ASTR expr;
strcpy(expr.str, "\"Record\"_^Recnum_\" = \"_$$^GetRec(^Recnum)");
expr.len = strlen(expr.str);
rc = IrisEvalA(&expr);
if (rc == IRIS_SUCCESS)
rc = IrisConvert(IRIS_ASTRING,&retval);
IrisEvalH
Variants: IrisEvalA, IrisEvalW
int IrisEvalH(IRISHSTRP volatile expr)
expr | The address of a IRISHSTRP variable. |
Evaluates a string as if it were an InterSystems IRIS expression and places the return value in memory for further processing by IrisType and IrisConvert.
If IrisEvalH completes successfully, it sets a flag that allows calls to IrisType and IrisConvert to complete. These functions are used to process the item returned from IrisEvalA.
The next call to IrisEvalH, IrisExecuteH, or IrisEnd will overwrite the existing return value.
IRIS_CONBROKEN | Connection has been closed due to a serious error condition or RESJOB. |
IRISW_ERSYSTEM | Either InterSystems IRIS generated a <SYSTEM> error, or if called from a $ZF function, an internal counter may be out of sync. |
IRIS_NOCON | No connection has been established. |
IRIS_STRTOOLONG | String is too long. |
IRIS_SUCCESS | String evaluated successfully. |
IrisEvalH can also return any of the InterSystems IRIS error codes.
int rc;
IRISHSTRP retval;
IRISHSTRP expr;
strcpy(expr.str, "\"Record\"_^Recnum_\" = \"_$$^GetRec(^Recnum)");
expr.len = strlen(expr.str);
rc = IrisEvalH(&expr);
if (rc == IRIS_SUCCESS)
rc = IrisConvert(ING,&retval);
IrisEvalW
Variants: IrisEvalA, IrisEvalH
int IrisEvalW(IRISWSTRP volatile expr)
expr | The address of a IRISWSTR variable. |
Evaluates a string as if it were an InterSystems IRIS expression and places the return value in memory for further processing by IrisType and IrisConvert.
If IrisEvalW completes successfully, it sets a flag that allows calls to IrisType and IrisConvert to complete. These functions are used to process the item returned from IrisEvalA.
The next call to IrisEvalW, IrisExecuteW, or IrisEnd will overwrite the existing return value.
IRIS_CONBROKEN | Connection has been closed due to a serious error condition or RESJOB. |
IRISHW_ERSYSTEM | Either InterSystems IRIS generated a <SYSTEM> error, or if called from a $ZF function, an internal counter may be out of sync. |
IRIS_NOCON | No connection has been established. |
IRIS_STRTOOLONG | String is too long. |
IRIS_SUCCESS | String evaluated successfully. |
IrisEvalW can also return any of the InterSystems IRIS error codes.
int rc;
IRISWSTR retval;
IRISWSTR expr;
strcpy(expr.str, "\"Record\"_^Recnum_\" = \"_$$^GetRec(^Recnum)");
expr.len = strlen(expr.str);
rc = IrisEvalW(&expr);
if (rc == IRIS_SUCCESS)
rc = IrisConvert(ING,&retval);
IrisExecuteA
Variants: IrisExecuteW, IrisExecuteH
int IrisExecuteA(IRIS_ASTRP volatile cmd)
cmd | The address of a IRIS_ASTR variable. |
Executes the command string as if it were typed in the Terminal.
The next call to IrisEvalA, IrisExecuteA, or IrisEnd will overwrite the existing return value.
IRIS_CONBROKEN | Connection has been closed due to a serious error condition or RESJOB. |
IRIS_ERSYSTEM | Either ObjectScript generated a <SYSTEM> error, or if called from a $ZF function, an internal counter may be out of sync. |
IRIS_NOCON | No connection has been established. |
IRIS_STRTOOLONG | String is too long. |
IRIS_SUCCESS | String executed successfully. |
IrisExecuteA can also return any of the InterSystems IRIS error codes.
int rc;
IRIS_ASTR command;
sprintf(command.str,"set $namespace = \"USER\""); /* changes namespace */
command.len = strlen(command.str);
rc = IrisExecuteA(&command);
IrisExecuteH
Variants: IrisExecuteA, IrisExecuteW
int IrisExecuteH(IRISHSTRP volatile cmd)
cmd | The address of a IRIS_ASTR variable. |
Executes the command string as if it were typed in the Terminal.
If IrisExecuteH completes successfully, it sets a flag that allows calls to IrisType and IrisConvert to complete. These functions are used to process the item returned from IrisEvalH.
The next call to IrisEvalH, IrisExecuteH, or IrisEnd will overwrite the existing return value.
IRIS_CONBROKEN | Connection has been closed due to a serious error condition or RESJOB. |
IRIS_ERSYSTEM | Either ObjectScript generated a <SYSTEM> error, or if called from a $ZF function, an internal counter may be out of sync. |
IRIS_NOCON | No connection has been established. |
IRIS_STRTOOLONG | String is too long. |
IRIS_SUCCESS | String executed successfully. |
IrisExecuteH can also return any of the InterSystems IRIS error codes.
int rc;
unsigned short zname[] = {'Z','N',' ','"','U','S','E','R','"'};
IRISHSTRP pcommand;
pcommand.str = zname;
pcommand.len = sizeof(zname) / sizeof(unsigned short);
rc = IrisExecuteH(pcommand);
IrisExecuteW
Variants: IrisExecuteA, IrisExecuteH
int IrisExecuteW(IRISWSTRP volatile cmd)
cmd | The address of a IRIS_ASTR variable. |
Executes the command string as if it were typed in the Terminal.
If IrisExecuteW completes successfully, it sets a flag that allows calls to IrisType and IrisConvert to complete. These functions are used to process the item returned from IrisEvalW.
The next call to IrisEvalW, IrisExecuteW, or IrisEnd will overwrite the existing return value.
IRIS_CONBROKEN | Connection has been closed due to a serious error condition or RESJOB. |
IRIS_ERSYSTEM | Either ObjectScript generated a <SYSTEM> error, or if called from a $ZF function, an internal counter may be out of sync. |
IRIS_NOCON | No connection has been established. |
IRIS_STRTOOLONG | String is too long. |
IRIS_SUCCESS | String executed successfully. |
IrisExecuteW can also return any of the InterSystems IRIS error codes.
int rc;
unsigned short zname[] = {'Z','N',' ','"','U','S','E','R','"'};
IRISWSTRP pcommand;
pcommand.str = zname;
pcommand.len = sizeof(zname) / sizeof(unsigned short);
rc = IrisExecuteW(pcommand);
IrisExecuteArgs
int IrisExecuteArgs(int numargs)
numargs | Number of arguments pushed onto the stack. |
Executes a command string with arguments. The command string must have been pushed onto the argument stack with normal push string functions, followed by pushing the arguments. The number of arguments may be 0.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_BADARG | Invalid call argument. |
IRIS_STRTOOLONG | String is too long. |
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_SUCCESS | The operation was successful. |
IrisExStrKill
int IrisExStrKill(IRIS_EXSTRP obj)
obj | Pointer to the string. |
Releases the storage associated with an EXSTR string.
IRIS_ERUNIMPLEMENTED | String is undefined. |
IRIS_SUCCESS | String storage has been released. |
IrisExStrNew
Variants: IrisExStrNewW, IrisExStrNewH
unsigned char * IrisExStrNew(IRIS_EXSTRP zstr, int size)
zstr | Pointer to a IRIS_EXSTR string descriptor. |
size | Number of 8–bit characters to allocate. |
Allocates the requested amount of storage for a string, and fills in the EXSTR structure with the length and a pointer to the value field of the structure.
Returns a pointer to the allocated string, or NULL if no string was allocated.
IrisExStrNewW
Variants: IrisExStrNew, IrisExStrNewH
unsigned short * IrisExStrNewW(IRIS_EXSTRP zstr, int size)
zstr | Pointer to a IRIS_EXSTR string descriptor. |
size | Number of 2–byte characters to allocate. |
Allocates the requested amount of storage for a string, and fills in the EXSTR structure with the length and a pointer to the value field of the structure.
Returns a pointer to the allocated string, or NULL if no string was allocated.
IrisExStrNewH
Variants: IrisExStrNew, IrisExStrNewW
unsigned short * IrisExStrNewH(IRIS_EXSTRP zstr, int size)
zstr | Pointer to a IRIS_EXSTR string descriptor. |
size | Number of 4–byte characters to allocate. |
Allocates the requested amount of storage for a string, and fills in the EXSTR structure with the length and a pointer to the value field of the structure.
Returns a pointer to the allocated string, or NULL if no string was allocated.
IrisExtFun
int IrisExtFun(unsigned int flags, int narg)
flags | Routine flags from IrisPushFunc[XW]. |
narg | Number of call arguments pushed onto the argument stack. |
Performs an extrinsic function call where the return value is pushed onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_FAILURE | Internal consistency error. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisGetProperty
int IrisGetProperty()
Obtains the value of the property defined by IrisPushProperty. The value is pushed onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisGlobalData
int IrisGlobalData(int narg, int valueflag)
narg | Number of call arguments pushed onto the argument stack. |
valueflag | Indicates whether the data value, if there is one, should be returned. |
Performs a $Data on the specified global.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_ERPROTECT | Protection violation. |
IRIS_ERUNDEF | Node has no associated value. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisGlobalGet
int IrisGlobalGet(int narg, int flag)
narg | Number of subscript expressions pushed onto the argument stack. |
flag | Indicates behavior when global reference is undefined:
|
Obtains the value of the global reference defined by IrisPushGlobal and any subscripts. The node value is pushed onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_ERPROTECT | Protection violation. |
IRIS_ERUNDEF | Node has no associated value. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisGlobalGetBinary
int IrisGlobalGetBinary(int numsub, int flag, int *plen, Callin_char_t **pbuf)
numsub | Number of subscript expressions pushed onto the argument stack. |
flag | Indicates behavior when global reference is undefined:
|
plen | Pointer to length of buffer. |
pbuf | Pointer to buffer pointer. |
Obtains the value of the global reference defined by IrisPushGlobal[W][H] and any subscripts, and also tests to make sure that the result is a binary string that will fit in the provided buffer. The node value is pushed onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_ERPROTECT | Protection violation. |
IRIS_ERUNDEF | Node has no associated value. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisGlobalIncrement
int IrisGlobalIncrement(int narg)
narg | Number of call arguments pushed onto the argument stack. |
Performs a $INCREMENT and returns the result on top of the stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_ERPROTECT | Protection violation. |
IRIS_ERUNDEF | Node has no associated value. |
IRIS_ERMAXINCR | MAXINCREMENT system error |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisGlobalKill
int IrisGlobalKill(int narg, int nodeonly)
narg | Number of call arguments pushed onto the argument stack. |
nodeonly | A value of 1 indicates that only the specified node should be killed. When the value is 0, the entire specified global tree is killed. |
Performs a ZKILL on a global node or tree.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_ERPROTECT | Protection violation. |
IRIS_ERUNDEF | Node has no associated value. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisGlobalOrder
int IrisGlobalOrder(int narg, int dir, int valueflag)
narg | Number of call arguments pushed onto the argument stack. |
dir | Direction for the $Order is 1 for forward, -1 for reverse. |
valueflag | Indicates whether the data value, if there is one, should be returned. |
Performs a $Order on the specified global.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_ERPROTECT | Protection violation. |
IRIS_ERUNDEF | Node has no associated value. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisGlobalQuery
int IrisGlobalQuery(int narg, int dir, int valueflag)
narg | Number of call arguments pushed onto the argument stack. |
dir | Direction for the $Query is 1 for forward, -1 for reverse. |
valueflag | Indicates whether the data value, if there is one, should be returned. |
Performs a $Query on the specified global.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_ERPROTECT | Protection violation. |
IRIS_ERUNDEF | Node has no associated value. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisGlobalRelease
int IrisGlobalRelease( )
Release ownership of a retained global buffer, if one exists.
IRIS_SUCCESS | The operation was successful. |
IrisGlobalSet
int IrisGlobalSet(int narg)
narg | Number of subscript expressions pushed onto the argument stack. |
Stores the value of the global reference defined by IrisPushGlobal and any subscripts. The node value must be pushed onto the argument stack before this call.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisIncrementCountOref
int IrisIncrementCountOref(unsigned int oref)
oref | Object reference. |
Increments the system reference counter for an OREF.
IRIS_ERBADOREF | Invalid OREF. |
IRIS_SUCCESS | The operation was successful. |
IrisInvokeClassMethod
int IrisInvokeClassMethod(int narg)
narg | Number of call arguments pushed onto the argument stack. |
Executes the class method call defined by IrisPushClassMethod[W] and any arguments. The return value is pushed onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisInvokeMethod
int IrisInvokeMethod(int narg)
narg | Number of call arguments pushed onto the argument stack. |
Executes the instance method call defined by IrisPushMethod[W] and any arguments pushed onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisOflush
int IrisOflush()
Flushes any pending output.
IRIS_FAILURE | Returns if called from a $ZF function (rather than from within a Callin executable). |
IRIS_SUCCESS | Control function performed. |
IrisPop
int IrisPop(void ** arg)
arg | Pointer to argument stack entry. |
Pops a value off argument stack.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_SUCCESS | The operation was successful. |
IrisPopCvtW
Variants: IrisPopCvtH
int IrisPopCvtW(int * lenp, unsigned short ** strp)
lenp | Pointer to length of string. |
strp | Pointer to string pointer. |
Deprecated: The long string function IrisPopExStrCvtW should be used for all strings.
Pops a local 8-bit string off argument stack and translates it to 2–byte Unicode. Identical to IrisPopStrW in Unicode environments.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPopCvtH
Variants: IrisPopCvtW
int IrisPopCvtH(int * lenp, wchar_t ** strp)
lenp | Pointer to length of string. |
strp | Pointer to string pointer. |
Pops a local 8-bit string off argument stack and translates it to 4–byte Unicode. Identical to IrisPopStrH in Unicode environments.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPopDbl
int IrisPopDbl(double * nump)
nump | Pointer to double value. |
Pops a value off argument stack and converts it to a double.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_SUCCESS | The operation was successful. |
IrisPopExStr
Variants: IrisPopExStrW, IrisPopExStrH
int IrisPopExStr(IRIS_EXSTRP sstrp)
sstrp | Pointer to standard string pointer. |
Pops a value off argument stack and converts it to a string in local 8–bit encoding.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_SUCCESS | The operation was successful. |
IRIS_EXSTR_INUSE | Returned if sstrp has not been initialized to NULL. |
IrisPopExStrW
Variants: IrisPopExStr, IrisPopExStrH
int IrisPopExStrW(IRIS_EXSTRP sstrp)
sstrp | Pointer to standard string pointer. |
Pops a value off argument stack and converts it to a 2–byte Unicode string.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IRIS_EXSTR_INUSE | Returned if sstrp has not been initialized to NULL. |
IrisPopExStrH
Variants: IrisPopExStr, IrisPopExStrW
int IrisPopExStrH(IRIS_EXSTRP sstrp)
sstrp | Pointer to standard string pointer. |
Pops a value off argument stack and converts it to a 4–byte Unicode string.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IRIS_EXSTR_INUSE | Returned if sstrp has not been initialized to NULL. |
IrisPopExStrCvtW
Variants: IrisPopExStrCvtH
int IrisPopExStrCvtW(IRIS_EXSTRP sstr)
sstr | Pointer to long string pointer. |
Pops a local 8-bit string off the argument stack and translates it to a 2–byte Unicode string. On Unicode systems, this is the same as IrisPopExStrW.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPopExStrCvtH
Variants: IrisPopExStrCvtW
int IrisPopExStrCvtW(IRIS_EXSTRP sstr)
sstr | Pointer to long string pointer. |
Pops a local 8-bit string off argument stack and translates it to a 4–byte Unicode string. On Unicode systems, this is the same as IrisPopExStrH.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPopInt
int IrisPopInt(int* nump)
nump | Pointer to integer value. |
Pops a value off argument stack and converts it to an integer.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_SUCCESS | The operation was successful. |
IrisPopInt64
int IrisPopInt64(long long * nump)
nump | Pointer to long long value. |
Pops a value off argument stack and converts it to a 64–bit (long long) value.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_SUCCESS | The operation was successful. |
IrisPopList
int IrisPopList(int * lenp, Callin_char_t ** strp)
lenp | Pointer to length of string. |
strp | Pointer to string pointer. |
Pops a $LIST object off argument stack and converts it.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPopOref
int IrisPopOref(unsigned int * orefp)
orefp | Pointer to OREF value. |
Pops an OREF off argument stack.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_ERNOOREF | Result is not an OREF. |
IRIS_SUCCESS | The operation was successful. |
IrisPopPtr
int IrisPopPtr(void ** ptrp)
ptrp | Pointer to generic pointer. |
Pops a pointer off argument stack in internal format.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_BADARG | The entry is not a valid pointer. |
IRIS_SUCCESS | The operation was successful. |
IrisPopStr
Variants: IrisPopStrW, IrisPopStrH
int IrisPopStr(int * lenp, Callin_char_t ** strp)
lenp | Pointer to length of string. |
strp | Pointer to string pointer. |
Pops a value off argument stack and converts it to a string.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_SUCCESS | The operation was successful. |
IrisPopStrW
Variants: IrisPopStr, IrisPopStrH
int IrisPopStrW(int * lenp, unsigned short ** strp)
lenp | Pointer to length of string. |
strp | Pointer to string pointer. |
Pops a value off argument stack and converts it to a 2-byte Unicode string.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPopStrH
Variants: IrisPopStr, IrisPopStrW
int IrisPopStrH(int * lenp, wchar_t ** strp)
lenp | Pointer to length of string. |
strp | Pointer to string pointer. |
Pops a value off argument stack and converts it to a 4-byte Unicode string.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPromptA
Variants: IrisPromptW, IrisPromptH
int IrisPromptA(IRIS_ASTRP rbuf)
rbuf | The prompt string. The minimum length of the returned string is five characters. |
Returns a string that would be the Terminal (without the “>”).
IRIS_CONBROKEN | Connection has been broken. |
IRIS_ERSYSTEM | Either ObjectScript generated a <SYSTEM> error, or if called from a $ZF function, an internal counter may be out of sync. |
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTOOSMALL | rbuf must have a length of at least five. |
IRIS_SUCCESS | Connection formed. |
IRIS_ASTR retval; /* define variable retval */
retval.len = 5; /* maximum return length of string */
rc = IrisPromptA(&retval);
IrisPromptH
Variants: IrisPromptA, IrisPromptW
int IrisPromptH(IRISHSTRP rbuf)
rbuf | The prompt string. The minimum length of the returned string is five characters. |
Returns a string that would be the Terminal (without the “>”).
IRIS_CONBROKEN | Connection has been broken. |
IRIS_ERSYSTEM | Either ObjectScript generated a <SYSTEM> error, or if called from a $ZF function, an internal counter may be out of sync. |
IRIS_FAILURE | Request failed. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTOOSMALL | rbuf must have a length of at least five. |
IRIS_SUCCESS | Connection formed. |
IRISHSTRP retval; /* define variable retval */
retval.len = 5; /* maximum return length of string */
rc = IrisPromptH( &retval);
IrisPromptW
Variants: IrisPromptA, IrisPromptH
int IrisPromptW(IRISWSTRP rbuf)
rbuf | The prompt string. The minimum length of the returned string is five characters. |
Returns a string that would be the Terminal (without the “>”).
IRIS_CONBROKEN | Connection has been broken. |
IRIS_ERSYSTEM | Either ObjectScript generated a <SYSTEM> error, or if called from a $ZF function, an internal counter may be out of sync. |
IRIS_FAILURE | Request failed. |
IRIS_NOCON | No connection has been established. |
IRIS_RETTOOSMALL | rbuf must have a length of at least five. |
IRIS_SUCCESS | Connection formed. |
IRISWSTR retval; /* define variable retval */
retval.len = 5; /* maximum return length of string */
rc = IrisConvertW( &retval);
IrisPushClassMethod
Variants: IrisPushClassMethodW, IrisPushClassMethodH
int IrisPushClassMethod(int clen, const Callin_char_t * cptr,
int mlen, const Callin_char_t * mptr, int flg)
clen | Class name length (characters). |
cptr | Pointer to class name. |
mlen | Method name length (characters). |
mptr | Pointer to method name. |
flg |
Specifies whether the method will return a value. If the method returns a value, this flag must be set to 1 in order to retrieve it. The method must return a value via Quit with an argument. Set this parameter to 0 if no value will be returned. |
Pushes a class method reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_BADARG | Invalid call argument. |
IRIS_SUCCESS | The operation was successful. |
IrisPushClassMethodH
Variants: IrisPushClassMethod, IrisPushClassMethodW
int IrisPushClassMethodH(int clen, const wchar_t * cptr,
int mlen, const wchar_t * mptr, int flg)
clen | Class name length (characters). |
cptr | Pointer to class name. |
mlen | Method name length (characters). |
mptr | Pointer to method name. |
flg | Specifies whether the method will return a value. If the method returns a value, this flag must be set to 1 in order to retrieve it. The method must return a value via Quit with an argument. Set this parameter to 0 if no value will be returned. |
Pushes a 4-byte Unicode class method reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_BADARG | Invalid call argument. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushClassMethodW
Variants: IrisPushClassMethod, IrisPushClassMethodH
int IrisPushClassMethodW(int clen, const unsigned short * cptr,
int mlen, const unsigned short * mptr, int flg)
clen | Class name length (characters). |
cptr | Pointer to class name. |
mlen | Method name length (characters). |
mptr | Pointer to method name. |
flg | Specifies whether the method will return a value. If the method returns a value, this flag must be set to 1 in order to retrieve it. The method must return a value via Quit with an argument. Set this parameter to 0 if no value will be returned. |
Pushes a 2-byte Unicode class method reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_BADARG | Invalid call argument. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushCvtW
Variants: IrisPushCvtH
int IrisPushCvtW(int len, const unsigned short * ptr)
len | Number of characters in string. |
ptr | Pointer to string. |
Deprecated: The long string function IrisPushExStrCvtW should be used for all strings.
Translates a Unicode string to local 8-bit and pushes it onto the argument stack. Identical to IrisPushStrW for Unicode versions.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the InterSystems IRIS engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating the string. |
IrisPushCvtH
Variants: IrisPushCvtW
int IrisPushCvtH(int len, const wchar_t * ptr)
len | Number of characters in string. |
ptr | Pointer to string. |
Translates a Unicode string to local 8-bit and pushes it onto the argument stack. Identical to IrisPushStrH for Unicode versions.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the InterSystems IRIS engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating the string. |
IrisPushDbl
int IrisPushDbl(double num)
num | Double value. |
Pushes a double onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushExecuteFuncA
Variants: IrisPushExecuteFuncW, IrisPushExecuteFuncH
int IrisPushExecuteFuncA(int len, const unsigned char *ptr)
len | Length of command string |
ptr | Pointer to command string |
Pushes the $Xecute() command string onto the argument stack to prepare for a call by IrisCallExecuteFunc().
IRIS_STRTOOLONG | String is too long. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushExecuteFuncW
Variants: IrisPushExecuteFuncA, IrisPushExecuteFuncH
int IrisPushExecuteFuncW(int len, const unsigned short *ptr)
len | Length of command string |
ptr | Pointer to command string |
Pushes the $Xecute() command string onto the argument stack to prepare for a call by IrisCallExecuteFunc().
IRIS_STRTOOLONG | String is too long. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushExecuteFuncH
Variants: IrisPushExecuteFuncA, IrisPushExecuteFuncW
int IrisPushExecuteFuncH(int len, const wchar_t *ptr)
len | Length of command string |
ptr | Pointer to command string |
Pushes the $Xecute() command string onto the argument stack to prepare for a call by IrisCallExecuteFunc().
IRIS_STRTOOLONG | String is too long. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushExStr
Variants: IrisPushExStrW, IrisPushExStrH
int IrisPushExStr(IRIS_EXSTRP sptr)
sptr | Pointer to the argument value. |
Pushes a string onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushExStrW
Variants: IrisPushExStr, IrisPushExStrH
int IrisPushExStrW(IRIS_EXSTRP sptr)
sptr | Pointer to the argument value. |
Pushes a Unicode string onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushExStrH
Variants: IrisPushExStr, IrisPushExStrW
int IrisPushExStrH(IRIS_EXSTRP sptr)
sptr | Pointer to the argument value. |
Pushes a 4–byte Unicode string onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushExStrCvtW
Variants: IrisPushExStrCvtH
int IrisPushExStrCvtW(IRIS_EXSTRP sptr)
sptr | Pointer to the argument value. |
Translates a Unicode string to local 8-bit and pushes it onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the InterSystems IRIS engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating the string. |
IrisPushExStrCvtH
Variants: IrisPushExStrCvtW
int IrisPushExStrCvtH(IRIS_EXSTRP sptr)
sptr | Pointer to the argument value. |
Translates a 4–byte Unicode string to local 8-bit and pushes it onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the InterSystems IRIS engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating the string. |
IrisPushFunc
Variants: IrisPushFuncW, IrisPushFuncH
int IrisPushFunc(unsigned int * rflag, int tlen, const Callin_char_t * tptr,
int nlen, const Callin_char_t * nptr)
rflag | Routine flags for use by IrisExtFun. |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tagptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes an extrinsic function reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushFuncH
Variants: IrisPushFunc, IrisPushFuncW
int IrisPushFuncH(unsigned int * rflag, int tlen, const wchar_t * tptr,
int nlen, const wchar_t * nptr)
rflag | Routine flags for use by IrisExtFun. |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes a 4-byte Unicode extrinsic function reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushFuncW
Variants: IrisPushFunc, IrisPushFuncH
int IrisPushFuncW(unsigned int * rflag, int tlen, const unsigned short * tptr,
int nlen, const unsigned short * nptr)
rflag | Routine flags for use by IrisExtFun. |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes a 2-byte Unicode extrinsic function reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushFuncX
Variants: IrisPushFuncXW, IrisPushFuncXH
int IrisPushFuncX(unsigned int * rflag, int tlen, const Callin_char_t * tptr, int off,
int elen, const Callin_char_t * eptr,
int nlen, const Callin_char_t * nptr)
rflag | Routine flags for use by IrisExtFun. |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tptr is unused and (void *) 0 may be used as the pointer value. |
off | Line offset from specified tag, where 0 means that there is no offset. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes an extended extrinsic function reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushFuncXH
Variants: IrisPushFuncX, IrisPushFuncXW
int IrisPushFuncXH(unsigned int * rflag, int tlen, const wchar_t * tptr, int off,
int elen, const wchar_t * eptr, int nlen, const wchar_t * nptr)
rflag | Routine flags for use by IrisExtFun. |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tptr is unused and (void *) 0 may be used as the pointer value. |
off | Line offset from specified tag, where 0 means that there is no offset. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes a 4-byte Unicode extended function routine reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushFuncXW
Variants: IrisPushFuncX, IrisPushFuncXH
int IrisPushFuncXW(unsigned int * rflag, int tlen, const unsigned short * tptr, int off,
int elen, const unsigned short * eptr,
int nlen, const unsigned short * nptr)
rflag | Routine flags for use by IrisExtFun. |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tptr is unused and (void *) 0 may be used as the pointer value. |
off | Line offset from specified tag, where 0 means that there is no offset. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes a 2-byte Unicode extended function routine reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushGlobal
Variants: IrisPushGlobalW, IrisPushGlobalH
int IrisPushGlobal(int nlen, const Callin_char_t * nptr)
nlen | Global name length (characters). |
nptr | Pointer to global name. |
Pushes a global reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushGlobalH
Variants: IrisPushGlobal, IrisPushGlobalW
intIrisPushGlobalH(int nlen, const wchar_t * nptr)
nlen | Global name length (characters). |
nptr | Pointer to global name. |
Pushes a 4-byte Unicode global reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushGlobalW
Variants: IrisPushGlobal, IrisPushGlobalH
int IrisPushGlobalW(int nlen, const unsigned short * nptr)
nlen | Global name length (characters). |
nptr | Pointer to global name. |
Pushes a 2-byte Unicode global reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushGlobalX
Variants: IrisPushGlobalXW, IrisPushGlobalXH
int IrisPushGlobalX(int nlen, const Callin_char_t * nptr,
int elen, const Callin_char_t * eptr)
nlen | Global name length (characters). |
nptr | Pointer to global name. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
Pushes an extended global reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushGlobalXH
Variants: IrisPushGlobalX, IrisPushGlobalXW
int IrisPushGlobalXH(int nlen, const wchar_t * nptr, int elen, const wchar_t * eptr)
nlen | Global name length (characters). |
nptr | Pointer to global name. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
Pushes a 4-byte Unicode extended global reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTAC | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushGlobalXW
Variants: IrisPushGlobalX, IrisPushGlobalXH
int IrisPushGlobalXW(int nlen, const unsigned short * nptr,
int elen, const unsigned short * eptr)
nlen | Global name length (characters). |
nptr | Pointer to global name. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
Pushes a 2-byte Unicode extended global reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTAC | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushIEEEDbl
int IrisPushIEEEDbl(double num)
num | Double value. |
Pushes an IEEE double onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushInt
int IrisPushInt(int num)
num | Integer value. |
Pushes an integer onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushInt64
int IrisPushInt64(long long num)
num | long long value. |
Pushes a 64–bit (long long) value onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushList
int IrisPushList(int len, const Callin_char_t * ptr)
len | Number of characters in string. |
ptr | Pointer to string. |
Converts a $LIST object and pushes it onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a string element. |
IrisPushLock
Variants: IrisPushLockW, IrisPushLockH
int IrisPushLock(int nlen, const Callin_char_t * nptr)
nlen | Length (in bytes) of lock name. |
nptr | Pointer to lock name. |
Initializes a IrisAcquireLock command by pushing the lock name on the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushLockH
Variants: IrisPushLock, IrisPushLockW
int IrisPushLockH(int nlen, const wchar_t * nptr)
nlen | Length (number of 2–byte or 4–byte characters) of lock name. |
nptr | Pointer to lock name. |
Initializes a IrisAcquireLock command by pushing the lock name on the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushLockW
Variants: IrisPushLock, IrisPushLockH
int IrisPushLockW(int nlen, const unsigned short * nptr)
nlen | Length (number of 2–byte characters) of lock name. |
nptr | Pointer to lock name. |
Initializes a IrisAcquireLock command by pushing the lock name on the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushLockX
Variants: IrisPushLockXW, IrisPushLockXH
int IrisPushLockX(int nlen, const Callin_char_t * nptr, int elen, const Callin_char_t * eptr)
nlen | Length (number of 8–bit characters) of lock name. |
nptr | Pointer to lock name. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. Name must be of the form <Namespace>^[<system>]^<directory> |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
Initializes a IrisAcquireLock command by pushing the lock name and an environment string on the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushLockXH
Variants: IrisPushLockX, IrisPushLockXW
int IrisPushLockXH(int nlen, const wchar_t * nptr, int elen, const wchar_t * eptr)
nlen | Length (number of 2–byte or 4–byte characters) of lock name. |
nptr | Pointer to lock name. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. Name must be of the form <Namespace>^[<system>]^<directory> |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
Initializes a IrisAcquireLock command by pushing the lock name and an environment string on the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushLockXW
Variants: IrisPushLockX, IrisPushLockXH
int IrisPushLockXW(int nlen, const unsigned short * nptr, int elen, const unsigned short * eptr)
nlen | Length (number of 2–byte characters) of lock name. |
nptr | Pointer to lock name. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. Name must be of the form <Namespace>^[<system>]^<directory> |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
Initializes a IrisAcquireLock command by pushing the lock name and an environment string on the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushMethod
Variants: IrisPushMethodW, IrisPushMethodH
int IrisPushMethod(unsigned int oref, int mlen, const Callin_char_t * mptr, int flg)
oref | Object reference. |
mlen | Method name length (characters). |
mptr | Pointer to method name. |
flg | Specifies whether the method will return a value. If the method returns a value, this flag must be set to 1 in order to retrieve it. The method must return a value via Quit with an argument. Set this parameter to 0 if no value will be returned. |
Pushes an instance method reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_BADARG | Invalid call argument. |
IRIS_SUCCESS | The operation was successful. |
IrisPushMethodH
Variants: IrisPushMethod, IrisPushMethodW
int IrisPushMethodH(unsigned int oref, int mlen, const wchar_t * mptr, int flg)
oref | Object reference. |
mlen | Method name length (characters). |
mptr | Pointer to method name. |
flg | Specifies whether the method will return a value. If the method returns a value, this flag must be set to 1 in order to retrieve it. The method must return a value via Quit with an argument. Set this parameter to 0 if no value will be returned. |
Pushes a 4-byte Unicode instance method reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_BADARG | Invalid call argument. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushMethodW
Variants: IrisPushMethod, IrisPushMethodH
int IrisPushMethodW(unsigned int oref, int mlen, const unsigned short * mptr, int flg)
oref | Object reference. |
mlen | Method name length (characters). |
mptr | Pointer to method name. |
flg | Specifies whether the method will return a value. If the method returns a value, this flag must be set to 1 in order to retrieve it. The method must return a value via Quit with an argument. Set this parameter to 0 if no value will be returned. |
Pushes a 2-byte Unicode instance method reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_BADARG | Invalid call argument. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushOref
int IrisPushOref(unsigned int oref)
oref | Object reference. |
Pushes an OREF onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERBADOREF | Invalid OREF. |
IRIS_SUCCESS | The operation was successful. |
IrisPushProperty
Variants: IrisPushPropertyW, IrisPushPropertyH
int IrisPushProperty(unsigned int oref, int plen, const Callin_char_t * pptr)
oref | Object reference. |
plen | Property name length (characters). |
pptr | Pointer to property name. |
Pushes a property reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_BADARG | Invalid call argument. |
IRIS_SUCCESS | The operation was successful. |
IrisPushPropertyH
Variants: IrisPushProperty, IrisPushPropertyW
int IrisPushPropertyH(unsigned int oref, int plen, const wchar_t * pptr)
oref | Object reference. |
plen | Property name length (characters). |
pptr | Pointer to property name. |
Pushes a 4-byte Unicode property reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_BADARG | Invalid call argument. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushPropertyW
Variants: IrisPushProperty, IrisPushPropertyH
int IrisPushPropertyW(unsigned int oref, int plen, const unsigned short * pptr)
oref | Object reference. |
plen | Property name length (characters). |
pptr | Pointer to property name. |
Pushes a 2-byte Unicode property reference onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_BADARG | Invalid call argument. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushPtr
int IrisPushPtr(void * ptr)
ptr | Generic pointer. |
Pushes a pointer onto the argument stack in internal format.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushRtn
Variants: IrisPushRtnW, IrisPushRtnH
int IrisPushRtn(unsigned int * rflag, int tlen, const Callin_char_t * tptr,
int nlen, const Callin_char_t * nptr)
rflag | Routine flags for use by IrisDoRtn |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes a routine reference onto the argument stack. See IrisPushRtnX for a version that takes all arguments. This is a short form that only takes a tag name and a routine name.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushRtnH
Variants: IrisPushRtn, IrisPushRtnW
int IrisPushRtnH(unsigned int * rflag, int tlen, const wchar_t * tptr,
int nlen, const wchar_t * nptr)
rflag | Routine flags for use by IrisDoRtn |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes a 4–byte Unicode routine reference onto the argument stack. See IrisPushRtnXH for a version that takes all arguments. This is a short form that only takes a tag name and a routine name.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushRtnW
Variants: IrisPushRtn, IrisPushRtnH
int IrisPushRtnW(unsigned int * rflag, int tlen, const unsigned short * tptr,
int nlen, const unsigned short * nptr)
rflag | Routine flags for use by IrisDoRtn |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes a 2–byte Unicode routine reference onto the argument stack. See IrisPushRtnXW for a version that takes all arguments. This is a short form that only takes a tag name and a routine name.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushRtnX
Variants: IrisPushRtnXW, IrisPushRtnXH
int IrisPushRtnX(unsigned int * rflag, int tlen, const Callin_char_t * tptr,
int off, int elen, const Callin_char_t * eptr,
int nlen, const Callin_char_t * nptr)
rflag | Routine flags for use by IrisDoRtn |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tptr is unused and (void *) 0 may be used as the pointer value. |
off | Line offset from specified tag, where 0 means that there is no offset. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes an extended routine reference onto the argument stack. See IrisPushRtn for a short form that only takes a tag name and a routine name.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushRtnXH
Variants: IrisPushRtnX, IrisPushRtnXW
int IrisPushRtnXH(unsigned int * rflag, int tlen, const wchar_t * tptr,
int off, int elen, const wchar_t * eptr,
int nlen, const wchar_t * nptr)
rflag | Routine flags for use by IrisDoRtn |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tptr is unused and (void *) 0 may be used as the pointer value. |
off | Line offset from specified tag, where 0 means that there is no offset. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes a 4–byte Unicode extended routine reference onto the argument stack. See IrisPushRtnH for a short form that only takes a tag name and a routine name.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushRtnXW
Variants: IrisPushRtnX, IrisPushRtnXH
int IrisPushRtnXW(unsigned int * rflag, int tlen, const unsigned short * tptr,
int off, int elen, const unsigned short * eptr,
int nlen, const unsigned short * nptr)
rflag | Routine flags for use by IrisDoRtn |
tlen | Tag name length (characters), where 0 means that the tag name is null (""). |
tptr | Pointer to a tag name. If tlen == 0, then tptr is unused and (void *) 0 may be used as the pointer value. |
off | Line offset from specified tag, where 0 means that there is no offset. |
elen | Environment name length (characters), where 0 means that there is no environment specified and that the function uses the current environment. |
eptr | Pointer to environment name. If elen == 0, then eptr is unused and (void *) 0 may be used as the pointer value. |
nlen | Routine name length (characters), where 0 means that the routine name is null ("") and the current routine name is used. |
nptr | Pointer to routine name. If nlen == 0, then nptr is unused and (void *) 0 may be used as the pointer value. |
Pushes a 2–byte Unicode extended routine reference onto the argument stack. See IrisPushRtnW for a short form that only takes a tag name and a routine name.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisPushStr
Variants: IrisPushStrW, IrisPushStrH
int IrisPushStr(int len, const Callin_char_t * ptr)
len | Number of characters in string. |
ptr | Pointer to string. |
Pushes a byte string onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the InterSystems IRIS engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushStrW
Variants: IrisPushStr, IrisPushStrH
int IrisPushStrW(int len, const unsigned short * ptr)
len | Number of characters in string. |
ptr | Pointer to string. |
Pushes a 2-byte Unicode string onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the InterSystems IRIS engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushStrH
Variants: IrisPushStr, IrisPushStrW
int IrisPushStrH(int len, const wchar_t * ptr)
len | Number of characters in string. |
ptr | Pointer to string. |
Pushes a 4-byte Unicode string onto the argument stack.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the InterSystems IRIS engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisPushUndef
int IrisPushUndef()
Pushes an Undefined value on the argument stack. The value is interpreted as an omitted function argument.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_SUCCESS | The operation was successful. |
IrisReleaseAllLocks
int IrisReleaseAllLocks( )
Performs an argumentless InterSystems IRIS LOCK command to remove all locks currently held by the process.
IRIS_SUCCESS | The operation was successful. |
IrisReleaseLock
int IrisReleaseLock(int nsub, int flg)
nsub | Number of subscripts in the lock reference. |
flg | Modifiers to the lock command. Valid values are one or both of IRIS_IMMEDIATE_RELEASE and IRIS_SHARED_LOCK. |
Executes an InterSystems IRIS LOCK command to decrement the lock count for the specified lock name. This command will only release one incremental lock at a time.
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_SUCCESS | Successful lock. |
IrisSecureStartA
Variants: IrisSecureStartW, IrisSecureStartH
int IrisSecureStartA(IRIS_ASTRP username, IRIS_ASTRP password, IRIS_ASTRP exename,
unsigned long flags, int tout, IRIS_ASTRP prinp, IRIS_ASTRP prout)
username | Username to authenticate. Use NULL to authenticate as UnknownUseror OS authentication or kerberos credentials cache. |
password | Password to authenticate with. Use NULL to authenticate as UnknownUser or OS authentication or kerberos credentials cache. |
exename | Callin executable name (or other process identifier). This user-defined string will show up in JOBEXAM and in audit records. NULL is a valid value. |
flags | One or more of the terminal settings listed below. |
tout | The timeout specified in seconds. Default is 0. If 0 is specified, the timeout will never expire. The timeout applies only to waiting for an available partition, not the time associated with initializing the partition, waiting for internal resources, opening the principal input and output devices, etc. |
prinp | String that defines the principal input device for InterSystems IRIS. An empty string (prinp.len == 0) implies using the standard input device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
prout | String that defines the principal output device for InterSystems IRIS. An empty string (prout.len == 0) implies using the standard output device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
Calls into InterSystems IRIS to set up a process..
The input and output devices (prinp and prout) are opened when this command is executed, not deferred until the first I/O operation. By contrast, normally when you initiate a connection, InterSystems IRIS does not open the principal input or output device until it is first used.
Valid values for the flags variable are:
-
IRIS_PROGMODE — InterSystems IRIS should treat the connection as one in Programmer mode, rather than the Application mode. This means that distinct errors are reported to the calling function and the connection remains active. (By default, a Callin connection is like execution of a routine in application mode. Any runtime error detected by InterSystems IRIS results in closing the connection and returning error IRIS_CONBROKEN for both the current operation and any subsequent attempts to use Callin without establishing a new connection.)
-
IRIS_TTALL — Default. InterSystems IRIS should initialize the terminal's settings and restore them across each call into, and return from, the interface.
-
IRIS_TTCALLIN — InterSystems IRIS should initialize the terminal each time it is called but should restore it only when IrisEnd is called or the connection is broken.
-
IRIS_TTSTART — InterSystems IRIS should initialize the terminal when the connection is formed and reset it when the connection is terminated.
-
IRIS_TTNEVER — InterSystems IRIS should not alter the terminal's settings.
-
IRIS_TTNONE — InterSystems IRIS should not do any output or input from the principal input/output devices. This is equivalent to specifying the null device for principal input and principal output. Read commands from principal input generate an <ENDOFFILE> error and Write command to principal output are ignored.
-
IRIS_TTNOUSE — This flag is allowed with IRIS_TTALL, IRIS_TTCALLIN, and IRIS_TTSTART. It is implicitly set by the flags IRIS_TTNEVER and IRIS_TTNONE. It indicates that InterSystems IRIS Open and Use commands are not allowed to alter the terminal, subsequent to the initial open of principal input and principal output.
IRIS_ACCESSDENIED | Authentication has failed. Check the audit log for the real authentication error. |
IRIS_ALREADYCON | Connection already existed. Returned if you call IrisSecureStartH from a $ZF function. |
IRIS_CHANGEPASSWORD | Password change required. This return value is only returned if you are using InterSystems authentication. |
IRIS_CONBROKEN | Connection was formed and then broken, and IrisEnd has not been called to clean up. |
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_STRTOOLONG | prinp or prout is too long. |
IRIS_SUCCESS | Connection formed. |
The flags parameter(s) convey information about how your C program will behave and how you want InterSystems IRIS to set terminal characteristics. The safest, but slowest, route is to have InterSystems IRIS set and restore terminal settings for each call into ObjectScript. However, you can save ObjectScript overhead by handling more of that yourself, and collecting only information that matters to your program. The parameter IRIS_TTNEVER requires the least overhead.
IrisSecureStartH
Variants: IrisSecureStartA, IrisSecureStartW
int IrisSecureStartH(IRISHSTRP username, IRISHSTRP password, IRISHSTRP exename,
unsigned long flags, int tout, IRISHSTRP prinp, IRISHSTRP prout)
username | Username to authenticate. Use NULL to authenticate as UnknownUseror OS authentication or kerberos credentials cache. |
password | Password to authenticate with. Use NULL to authenticate as UnknownUser or OS authentication or kerberos credentials cache. |
exename | Callin executable name (or other process identifier). This user-defined string will show up in JOBEXAM and in audit records. NULL is a valid value. |
flags | One or more of the terminal settings listed below. |
tout | The timeout specified in seconds. Default is 0. If 0 is specified, the timeout will never expire. The timeout applies only to waiting for an available partition, not the time associated with initializing the partition, waiting for internal resources, opening the principal input and output devices, etc. |
prinp | String that defines the principal input device for InterSystems IRIS. An empty string (prinp.len == 0) implies using the standard input device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
prout | String that defines the principal output device for InterSystems IRIS. An empty string (prout.len == 0) implies using the standard output device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
Calls into InterSystems IRIS to set up a process..
The input and output devices (prinp and prout) are opened when this command is executed, not deferred until the first I/O operation. By contrast, normally when you initiate a connection, InterSystems IRIS does not open the principal input or output device until it is first used.
Valid values for the flags variable are:
-
IRIS_PROGMODE — InterSystems IRIS should treat the connection as one in Programmer mode, rather than the Application mode. This means that distinct errors are reported to the calling function and the connection remains active. (By default, a Callin connection is like execution of a routine in application mode. Any runtime error detected by InterSystems IRIS results in closing the connection and returning error IRIS_CONBROKEN for both the current operation and any subsequent attempts to use Callin without establishing a new connection.)
-
IRIS_TTALL — Default. InterSystems IRIS should initialize the terminal's settings and restore them across each call into, and return from, the interface.
-
IRIS_TTCALLIN — InterSystems IRIS should initialize the terminal each time it is called but should restore it only when IrisEnd is called or the connection is broken.
-
IRIS_TTSTART — InterSystems IRIS should initialize the terminal when the connection is formed and reset it when the connection is terminated.
-
IRIS_TTNEVER — InterSystems IRIS should not alter the terminal's settings.
-
IRIS_TTNONE — InterSystems IRIS should not do any output or input from the principal input/output devices. This is equivalent to specifying the null device for principal input and principal output. Read commands from principal input generate an <ENDOFFILE> error and Write command to principal output are ignored.
-
IRIS_TTNOUSE — This flag is allowed with IRIS_TTALL, IRIS_TTCALLIN, and IRIS_TTSTART. It is implicitly set by the flags IRIS_TTNEVER and IRIS_TTNONE. It indicates that InterSystems IRIS Open and Use commands are not allowed to alter the terminal, subsequent to the initial open of principal input and principal output.
IRIS_ACCESSDENIED | Authentication has failed. Check the audit log for the real authentication error. |
IRIS_ALREADYCON | Connection already existed. Returned if you call IrisSecureStartH from a $ZF function. |
IRIS_CHANGEPASSWORD | Password change required. This return value is only returned if you are using InterSystems authentication. |
IRIS_CONBROKEN | Connection was formed and then broken, and IrisEnd has not been called to clean up. |
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_STRTOOLONG | prinp or prout is too long. |
IRIS_SUCCESS | Connection formed. |
The flags parameter(s) convey information about how your C program will behave and how you want InterSystems IRIS to set terminal characteristics. The safest, but slowest, route is to have InterSystems IRIS set and restore terminal settings for each call into ObjectScript. However, you can save ObjectScript overhead by handling more of that yourself, and collecting only information that matters to your program. The parameter IRIS_TTNEVER requires the least overhead.
IrisSecureStartW
Variants: IrisSecureStartA, IrisSecureStartH
int IrisSecureStartW(IRISWSTRP username, IRISWSTRP password, IRISWSTRP exename,
unsigned long flags, int tout, IRISWSTRP prinp, IRISWSTRP prout)
username | Username to authenticate. Use NULL to authenticate as UnknownUseror OS authentication or kerberos credentials cache. |
password | Password to authenticate with. Use NULL to authenticate as UnknownUser or OS authentication or kerberos credentials cache. |
exename | Callin executable name (or other process identifier). This user-defined string will show up in JOBEXAM and in audit records. NULL is a valid value. |
flags | One or more of the terminal settings listed below. |
tout | The timeout specified in seconds. Default is 0. If 0 is specified, the timeout will never expire. The timeout applies only to waiting for an available partition, not the time associated with initializing the partition, waiting for internal resources, opening the principal input and output devices, etc. |
prinp | String that defines the principal input device for InterSystems IRIS. An empty string (prinp.len == 0) implies using the standard input device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
prout | String that defines the principal output device for InterSystems IRIS. An empty string (prout.len == 0) implies using the standard output device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
Calls into InterSystems IRIS to set up a process..
The input and output devices (prinp and prout) are opened when this command is executed, not deferred until the first I/O operation. By contrast, normally when you initiate a connection, InterSystems IRIS does not open the principal input or output device until it is first used.
Valid values for the flags variable are:
-
IRIS_PROGMODE — InterSystems IRIS should treat the connection as one in Programmer mode, rather than the Application mode. This means that distinct errors are reported to the calling function and the connection remains active. (By default, a Callin connection is like execution of a routine in application mode. Any runtime error detected by InterSystems IRIS results in closing the connection and returning error IRIS_CONBROKEN for both the current operation and any subsequent attempts to use Callin without establishing a new connection.)
-
IRIS_TTALL — Default. InterSystems IRIS should initialize the terminal's settings and restore them across each call into, and return from, the interface.
-
IRIS_TTCALLIN — InterSystems IRIS should initialize the terminal each time it is called but should restore it only when IrisEnd is called or the connection is broken.
-
IRIS_TTSTART — InterSystems IRIS should initialize the terminal when the connection is formed and reset it when the connection is terminated.
-
IRIS_TTNEVER — InterSystems IRIS should not alter the terminal's settings.
-
IRIS_TTNONE — InterSystems IRIS should not do any output or input from the principal input/output devices. This is equivalent to specifying the null device for principal input and principal output. Read commands from principal input generate an <ENDOFFILE> error and Write command to principal output are ignored.
-
IRIS_TTNOUSE — This flag is allowed with IRIS_TTALL, IRIS_TTCALLIN, and IRIS_TTSTART. It is implicitly set by the flags IRIS_TTNEVER and IRIS_TTNONE. It indicates that InterSystems IRIS Open and Use commands are not allowed to alter the terminal, subsequent to the initial open of principal input and principal output.
IRIS_ACCESSDENIED | Authentication has failed. Check the audit log for the real authentication error. |
IRIS_ALREADYCON | Connection already existed. Returned if you call IrisSecureStartH from a $ZF function. |
IRIS_CHANGEPASSWORD | Password change required. This return value is only returned if you are using InterSystems authentication. |
IRIS_CONBROKEN | Connection was formed and then broken, and IrisEnd has not been called to clean up. |
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_STRTOOLONG | prinp or prout is too long. |
IRIS_SUCCESS | Connection formed. |
The flags parameter(s) convey information about how your C program will behave and how you want InterSystems IRIS to set terminal characteristics. The safest, but slowest, route is to have InterSystems IRIS set and restore terminal settings for each call into ObjectScript. However, you can save ObjectScript overhead by handling more of that yourself, and collecting only information that matters to your program. The parameter IRIS_TTNEVER requires the least overhead.
IrisSetDir
int IrisSetDir(char * dir)
dir | Pointer to the directory name string. |
Dynamically sets the name of the manager's directory (IrisSys\Mgr) at runtime. On Windows, the shared library version of InterSystems IRIS requires the use of this function to identify the managers directory for the installation.
IRIS_FAILURE | Returns if called from a $ZF function (rather than from within a Callin executable). |
IRIS_SUCCESS | Control function performed. |
IrisSetProperty
int IrisSetProperty( )
Stores the value of the property defined by IrisPushProperty. The value must be pushed onto the argument stack before this call.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_SUCCESS | The operation was successful. |
IrisSignal
int IrisSignal(int signal)
signal | The operating system's signal value. |
Passes on signals caught by user's program to InterSystems IRIS.
This function is very similar to IrisAbort, but allows passing of any known signal value from a thread or user side of the connection to the InterSystems IRIS side, for whatever action might be appropriate. For example, this could be used to pass signals intercepted in a user-defined signal handler on to InterSystems IRIS.
rc = IrisSignal(CTRL_C_EVENT); // Windows response to Ctrl-C
rc = IrisSignal(CTRL_C_EVENT); // UNIX response to Ctrl-C
IRIS_CONBROKEN | Connection has been broken. |
IRIS_NOCON | No connection has been established. |
IRIS_NOTINIRIS | The Callin partner is not in InterSystems IRIS at this time. |
IRIS_SUCCESS | Connection formed. |
IrisSPCReceive
int IrisSPCReceive(int * lenp, Callin_char_t * ptr)
lenp | Maximum length to receive. Modified on return to indicate number of bytes actually received. |
ptr | Pointer to buffer that will receive message. Must be at least lenp bytes. |
Receive single-process-communication message. The current device must be a TCP device opened in SPC mode, or IRIS_ERFUNCTION will be returned.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERFUNCTION | Current device is not TCP device or is not connected. |
IRIS_SUCCESS | The operation was successful. |
IrisSPCSend
int IrisSPCSend(int len, const Callin_char_t * ptr)
len | Length of message in bytes. |
ptr | Pointer to string containing message. |
Send a single-process-communication message. The current device must be a TCP device opened in SPC mode, or IRIS_ERFUNCTION will be returned.
IRIS_CONBROKEN | Connection has been closed due to a serious error. |
IRIS_NOCON | No connection has been established. |
IRIS_ERSYSTEM | Either the database engine generated a <SYSTEM> error, or Callin detected an internal data inconsistency. |
IRIS_ERFUNCTION | Current device is not TCP device or is not connected. |
IRIS_ERARGSTACK | Argument stack overflow. |
IRIS_ERSTRINGSTACK | String stack overflow. |
IRIS_SUCCESS | The operation was successful. |
Any InterSystems IRIS error | From translating a name. |
IrisStartA
Variants: IrisStartW, IrisStartH
int IrisStartA(unsigned long flags, int tout, IRIS_ASTRP prinp, IRIS_ASTRP prout)
flags | One or more of the values listed in the description below. |
tout | The timeout specified in seconds. Default is 0. If 0 is specified, the timeout will never expire. The timeout applies only to waiting for an available partition, not the time associated with initializing the partition, waiting for internal resources, opening the principal input and output devices, etc. |
prinp | String that defines the principal input device for InterSystems IRIS. An empty string (prinp.len == 0) implies using the principal device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
prout | String that defines the principal output device for InterSystems IRIS. An empty string (prout.len == 0) implies using the principal device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
Calls into InterSystems IRIS to set up an InterSystems IRIS process.
The input and output devices (prinp and prout) are opened when this command is executed, not deferred until the first I/O operation. By contrast, normally when you initiate a connection, InterSystems IRIS does not open the principal input or output device until it is first used.
Valid values for the flags variable are:
-
IRIS_PROGMODE — InterSystems IRIS should treat the connection as one in Programmer mode, rather than the Application mode. This means that distinct errors are reported to the calling function and the connection remains active. (By default, a Callin connection is like execution of a routine in application mode. Any runtime error detected by InterSystems IRIS results in closing the connection and returning error IRIS_CONBROKEN for both the current operation and any subsequent attempts to use Callin without establishing a new connection.)
-
IRIS_TTALL — Default. InterSystems IRIS should initialize the terminal's settings and restore them across each call into, and return from, the interface.
-
IRIS_TTCALLIN — InterSystems IRIS should initialize the terminal each time it is called but should restore it only when IrisEnd is called or the connection is broken.
-
IRIS_TTSTART — InterSystems IRIS should initialize the terminal when the connection is formed and reset it when the connection is terminated.
-
IRIS_TTNEVER — InterSystems IRIS should not alter the terminal's settings.
-
IRIS_TTNONE — InterSystems IRIS should not do any output or input from the principal input/output devices. This is equivalent to specifying the null device for principal input and principal output. Read commands from principal input generate an <ENDOFFILE> error and Write command to principal output are ignored.
-
IRIS_TTNOUSE — This flag is allowed with IRIS_TTALL, IRIS_TTCALLIN, and IRIS_TTSTART. It is implicitly set by the flags IRIS_TTNEVER and IRIS_TTNONE. It indicates that InterSystems IRIS Open and Use commands are not allowed to alter the terminal, subsequent to the initial open of principal input and principal output.
IRIS_ALREADYCON | Connection already existed. Returned if you call IrisStartA from a $ZF function. |
IRIS_CONBROKEN | Connection was formed and then broken, and IrisEndA has not been called to clean up. |
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_STRTOOLONG | prinp or prout is too long. |
IRIS_SUCCESS | Connection formed. |
The flags parameter(s) convey information about how your C program will behave and how you want InterSystems IRIS to set terminal characteristics. The safest, but slowest, route is to have InterSystems IRIS set and restore terminal settings for each call into ObjectScript. However, you can save ObjectScript overhead by handling more of that yourself, and collecting only information that matters to your program. The parameter IRIS_TTNEVER requires the least overhead.
An InterSystems IRIS process is started. The terminal is reset after each interface Callin function. The start fails if a partition is not allocated within 20 seconds. The file dobackup is used for input. It contains an ObjectScript script for an InterSystems IRIS backup. Output appears on the terminal.
IRIS_ASTR inpdev;
IRIS_ASTR outdev;
int rc;
strcpy(inpdev.str, "[BATCHDIR]dobackup");
inpdev.len = strlen(inpdev.str);
strcpy(outdev.str,"");
outdev.len = strlen(outdev.str);
rc = IrisStartA(IRIS_TTALL|IRIS_TTNOUSE,0,inpdev,outdev);
IrisStartH
Variants: IrisStartA, IrisStartW
int IrisStartH(unsigned long flags,int tout,IRISHSTRP prinp,IRISHSTRP prout)
flags | One or more of the values listed in the description below. |
tout | The timeout specified in seconds. Default is 0. If 0 is specified, the timeout will never expire. The timeout applies only to waiting for an available partition, not the time associated with initializing the partition, waiting for internal resources, opening the principal input and output devices, etc. |
prinp | String that defines the principal input device for InterSystems IRIS. An empty string (prinp.len == 0) implies using the principal device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
prout | String that defines the principal output device for InterSystems IRIS. An empty string (prout.len == 0) implies using the principal device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
Calls into InterSystems IRIS to set up an InterSystems IRIS process.
The input and output devices (prinp and prout) are opened when this command is executed, not deferred until the first I/O operation. By contrast, normally when you initiate a connection, InterSystems IRIS does not open the principal input or output device until it is first used.
Valid values for the flags variable are:
-
IRIS_PROGMODE — InterSystems IRIS should treat the connection as one in Programmer mode, rather than the Application mode. This means that distinct errors are reported to the calling function and the connection remains active. (By default, a Callin connection is like execution of a routine in application mode. Any runtime error detected by InterSystems IRIS results in closing the connection and returning error IRIS_CONBROKEN for both the current operation and any subsequent attempts to use Callin without establishing a new connection.)
-
IRIS_TTALL — Default. InterSystems IRIS should initialize the terminal's settings and restore them across each call into, and return from, the interface.
-
IRIS_TTCALLIN — InterSystems IRIS should initialize the terminal each time it is called but should restore it only when IrisEnd is called or the connection is broken.
-
IRIS_TTSTART — InterSystems IRIS should initialize the terminal when the connection is formed and reset it when the connection is terminated.
-
IRIS_TTNEVER — InterSystems IRIS should not alter the terminal's settings.
-
IRIS_TTNONE — InterSystems IRIS should not do any output or input from the principal input/output devices. This is equivalent to specifying the null device for principal input and principal output. Read commands from principal input generate an <ENDOFFILE> error and Write command to principal output are ignored.
-
IRIS_TTNOUSE — This flag is allowed with IRIS_TTALL, IRIS_TTCALLIN, and IRIS_TTSTART. It is implicitly set by the flags IRIS_TTNEVER and IRIS_TTNONE. It indicates that InterSystems IRIS Open and Use commands are not allowed to alter the terminal, subsequent to the initial open of principal input and principal output.
IRIS_ALREADYCON | Connection already existed. Returned if you call IrisStartH from a $ZF function. |
IRIS_CONBROKEN | Connection was formed and then broken, and IrisEndH has not been called to clean up. |
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_STRTOOLONG | prinp or prout is too long. |
IRIS_SUCCESS | Connection formed. |
The flags parameter(s) convey information about how your C program will behave and how you want InterSystems IRIS to set terminal characteristics. The safest, but slowest, route is to have InterSystems IRIS set and restore terminal settings for each call into ObjectScript. However, you can save ObjectScript overhead by handling more of that yourself, and collecting only information that matters to your program. The parameter IRIS_TTNEVER requires the least overhead.
An InterSystems IRIS process is started. The terminal is reset after each interface Callin function. The start fails if a partition is not allocated within 20 seconds. The file dobackup is used for input. It contains an ObjectScript script for an InterSystems IRIS backup. Output appears on the terminal.
inpdev;
outdev;
int rc;
strcpy(inpdev.str, "[BATCHDIR]dobackup");
inpdev.len = strlen(inpdev.str);
strcpy(outdev.str,"");
outdev.len = strlen(outdev.str);
rc = IrisStartH(IRIS_TTALL|IRIS_TTNOUSE,0,inpdev,outdev);
IrisStartW
Variants: IrisStartA, IrisStartH
int IrisStartW(unsigned long flags,int tout,IRISWSTRP prinp,IRISWSTRP prout)
flags | One or more of the values listed in the description below. |
tout | The timeout specified in seconds. Default is 0. If 0 is specified, the timeout will never expire. The timeout applies only to waiting for an available partition, not the time associated with initializing the partition, waiting for internal resources, opening the principal input and output devices, etc. |
prinp | String that defines the principal input device for InterSystems IRIS. An empty string (prinp.len == 0) implies using the principal device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
prout | String that defines the principal output device for InterSystems IRIS. An empty string (prout.len == 0) implies using the principal device for the process. A NULL pointer ((void *) 0) implies using the NULL device. |
Calls into InterSystems IRIS to set up an InterSystems IRIS process.
The input and output devices (prinp and prout) are opened when this command is executed, not deferred until the first I/O operation. By contrast, normally when you initiate a connection, InterSystems IRIS does not open the principal input or output device until it is first used.
Valid values for the flags variable are:
-
IRIS_PROGMODE — InterSystems IRIS should treat the connection as one in Programmer mode, rather than the Application mode. This means that distinct errors are reported to the calling function and the connection remains active. (By default, a Callin connection is like execution of a routine in application mode. Any runtime error detected by InterSystems IRIS results in closing the connection and returning error IRIS_CONBROKEN for both the current operation and any subsequent attempts to use Callin without establishing a new connection.)
-
IRIS_TTALL — Default. InterSystems IRIS should initialize the terminal's settings and restore them across each call into, and return from, the interface.
-
IRIS_TTCALLIN — InterSystems IRIS should initialize the terminal each time it is called but should restore it only when IrisEnd is called or the connection is broken.
-
IRIS_TTSTART — InterSystems IRIS should initialize the terminal when the connection is formed and reset it when the connection is terminated.
-
IRIS_TTNEVER — InterSystems IRIS should not alter the terminal's settings.
-
IRIS_TTNONE — InterSystems IRIS should not do any output or input from the principal input/output devices. This is equivalent to specifying the null device for principal input and principal output. Read commands from principal input generate an <ENDOFFILE> error and Write command to principal output are ignored.
-
IRIS_TTNOUSE — This flag is allowed with IRIS_TTALL, IRIS_TTCALLIN, and IRIS_TTSTART. It is implicitly set by the flags IRIS_TTNEVER and IRIS_TTNONE. It indicates that InterSystems IRIS Open and Use commands are not allowed to alter the terminal, subsequent to the initial open of principal input and principal output.
IRIS_ALREADYCON | Connection already existed. Returned if you call IrisStartW from a $ZF function. |
IRIS_CONBROKEN | Connection was formed and then broken, and IrisEndW has not been called to clean up. |
IRIS_FAILURE | An unexpected error has occurred. |
IRIS_STRTOOLONG | prinp or prout is too long. |
IRIS_SUCCESS | Connection formed. |
The flags parameter(s) convey information about how your C program will behave and how you want InterSystems IRIS to set terminal characteristics. The safest, but slowest, route is to have InterSystems IRIS set and restore terminal settings for each call into ObjectScript. However, you can save ObjectScript overhead by handling more of that yourself, and collecting only information that matters to your program. The parameter IRIS_TTNEVER requires the least overhead.
An InterSystems IRIS process is started. The terminal is reset after each interface Callin function. The start fails if a partition is not allocated within 20 seconds. The file dobackup is used for input. It contains an ObjectScript script for an InterSystems IRIS backup. Output appears on the terminal.
inpdev;
outdev;
int rc;
strcpy(inpdev.str, "[BATCHDIR]dobackup");
inpdev.len = strlen(inpdev.str);
strcpy(outdev.str,"");
outdev.len = strlen(outdev.str);
rc = IrisStartW(IRIS_TTALL|IRIS_TTNOUSE,0,inpdev,outdev);
IrisTCommit
int IrisTCommit( )
Executes an InterSystems IRIS TCommit command.
IRIS_SUCCESS | TCommit was successful. |
IrisTLevel
int IrisTLevel( )
Returns the current nesting level ($TLEVEL) for transaction processing.
IRIS_SUCCESS | TLevel was successful. |
IrisTRollback
int IrisTRollback(int nlev)
nlev | Determines how many levels to roll back, (all levels if 0, one level if 1). |
Executes an InterSystems IRIS TRollback command. If nlev is 0, rolls back all transactions in progress (no matter how many levels of TSTART were issued) and resets $TLEVEL to 0. If nlev is 1, rolls back the current level of nested transactions (the one initiated by the most recent TSTART) and decrements $TLEVEL by 1.
IRIS_SUCCESS | TStart was successful. |
IrisTStart
int IrisTStart( )
Executes an InterSystems IRIS TStart command.
IRIS_SUCCESS | TStart was successful. |
IrisType
int IrisType( )
Returns the native type of the item returned by IrisEvalA, IrisEvalW, or IrisEvalH as the function value.
IRIS_ASTRING | 8-bit string. |
IRIS_CONBROKEN | Connection has been closed due to a serious error condition or RESJOB. |
IRIS_DOUBLE | 64-bit floating point. |
IRIS_ERSYSTEM | Either ObjectScript generated a <SYSTEM> error, or if called from a $ZF function, an internal counter may be out of sync. |
IRIS_IEEE_DBL | 64-bit IEEE floating point. |
IRIS_INT | 32-bit integer. |
IRIS_NOCON | No connection has been established. |
IRIS_NORES | No result whose type can be returned (no call to IrisEvalA or IrisEvalW preceded this call). |
IRIS_OREF | InterSystems IRIS object reference. |
IRIS_WSTRING | Unicode string. |
rc = IrisType();
IrisUnPop
int IrisUnPop( )
Restores the stack entry from IrisPop.
IRIS_NORES | No result whose type can be returned has preceded this call. |
IRIS_SUCCESS | The operation was successful. |