Get specifications
Get specifications return the address and length of a field value. Some Get specifications, especially the triplet type specifications, return multiple instances of a field (for example, if the triplet indicates multiple repetitions). Some Format specifications, such as FInt, ignore the length returned by the Get specification. Some Format specifications, such as FChar, can specify their own maximum length.
- GApf
- GArray
- GBase
- GCICSmonData
- GCICSmonPerf
- GCICSmonTriplet
- GCICSresSect
- GCompute
- GCondArray
- GConf
- GConst
- GCPUtime
- GDB2hdr
- GExt14
- GFList
- GIfElse
- GIndexed
- GInternal
- GIPAdj
- GJES
- GNAF
- GNestedTripletFW
- GNull()
- GOffset
- GOffsetBase
- GOffsetBase8
- GPreamble
- GPriv
- GRelo, GRelo81, GRelo83
- GRept
- GTime()
- GTimeE()
- GTriplet or GTripletFW
- GTripletArray
- GTripletDB2
- GTripletTable or GTripletTableFW
- GTripletXLen
- GTwoLoc
- GUACEE
- GUToken
- GXLen
GApf
GApf(GetDSNSpec(...) [GetVolserSpec(...)])
Returns the address of a 1-byte field that contains the value X'80', if the named data set is APF-authorized, otherwise X'00'
For information about the limitations of APF-status enrichment, see "Duplicate data set names and false positives" and "Other limitations" in SMF-record-enrichment.
You would usually use GApf with FBool, as in the following example:
Operand | Description |
---|---|
GetDSNSpec(...) | Location of the data set name in the record Specify any valid Get specification except GNull. The data must either be 44 bytes (or more) long, left-justified, and blank-padded, or GetDSNSpec must be able to return the exact data set name length. |
GetVolserSpec(...) | (Optional) Location of the volume serial in the record Specify any valid Get specification except GNull. The data is assumed to be 6-bytes long. If you omit the operand, then GApf returns X'80' if any APF-authorized data set with a matching name is found. |
GArray
GArray(countFormat GetCountSpec(...) GetFirstElementSpec(...) displacement length)
Returns the address of a field in each element of an array
The array elements are assumed to be of fixed length.
Operand | Description |
---|---|
countFormat | Format of the count of elements in the array Specify any integer type from the Integer types table except UCharUChar and UNiblUNibl (for GConst, specify LongLong). |
GetCountSpec(...) | Location of the count of elements in the record Specify any valid Get specification except GNull (including GConst, if appropriate). |
GetFirstElementSpec(...) | Location of the first element of the array in the record Specify any valid Get specification except GNull. |
displacement | Displacement of the field in each array element relative to zero |
length | Length of each element of the array Specify a positive integer from 1 to 32767. |
GBase
GBase(displacement [length])
Returns the address and length of a value in the base of the Event record
Operand | Description |
---|---|
displacement | Displacement of the value relative to zero and including the record control word (llbb) Offset 5, for instance, is the SMF record type field. This is the offset usually given in SMF record documentation and assembly listings. |
length | Length of the value If you omit the operand, the default length is the remainder of the record that is beyond the displacement specified. |
GCICSmonData
GCICSmonData(type displacement length)
Returns the address and length of fields referenced by an offset into a Performance, Exception or Resource data record of a CICS Monitor subtype 1 data record
Operand | Description |
---|---|
type | PERFormance, EXCEPT, or RESource, indicating the type of data record Do not use PERFormance; instead, use the GCICSmonPerf specification. |
displacement | Displacement, base zero, of the field in the data record |
length | Length of the value |
GCICSmonPerf
GCICSmonPerf([fieldName] [offset])
Returns the address and length of a CICS Monitoring Performance field
Operand | Description |
---|---|
fieldName | IBM name of a performance field The default value is the name of the BMC AMI Defender field (the name specified in DEF fieldname … GCICSmonPerf()). |
offset | Offset, in the range from -32,767 to +32,767, of the data relative to the named field If you omit the operand, the default value is zero. |
GCICSmonTriplet
GCICSmonTriplet(offsetOfTriplet displacement length)
Returns the address and length of fields in a section pointed to by a CICS performance data record triplet
SMF triplets are documented in the IBM documentation about SMF. Use GCICSmonTriplet only for the Transaction Resource ID triplet and not for triplets with a repetition count other than one (or zero).
Operand | Description |
---|---|
offsetOfTriplet | Offset of the pointer triplet in the current performance data record |
displacement | Displacement, base zero, of the field in the section |
length | Length of the value |
GCICSresSect
GCICSresSect(type displacement length)
Returns the address and length of fields referenced by an offset into a File, TSQueue, or DPL section of a CICS Monitor Resource (Class 5) data record
Operand | Description |
---|---|
type | FILE, TSQueue, or DPL, indicating the type of section |
displacement | Displacement, base zero, of the field in the section |
length | Length of the value |
GCompute
GCompute(FormatLeft GetLeft(…) operation FormatRight GetRight(…))
Returns the address and length of a signed 64-bit integer computed as specified
Operand | Description |
---|---|
FormatLeft | Format of the left-hand operand Specify any integer type from the Integer types table except UCharUChar and UNiblUNibl (for the result of GConst or GCompute, specify LongLong). |
GetLeft(…) | Location of the left-hand operand Specify any valid Get specification except GNull. |
operation | Arithmetic operation to be performed For example, the minus sign ( - ) specifies that the right-hand operand is to be subtracted from the left-hand operand. Specify any of the operators from the Arithmetic operator types table. |
FormatRight | Format of the right-hand operand Specify any integer type from the Integer types table except UCharUChar and UNiblUNibl (for the result of GConst or GCompute, use LongLong). |
GetRight(…) | Location of the right-hand operand Specify any valid Get specification except GNull. |
GCondArray
GCondArray(countFormat GetCountSpec(...) lengthFormat GetLengthSpec(...) offsetFormat GetOffsetSpec(...) displacement condFormat condDisplacement value)
Checks the value at the specified displacement from the start of each element in the array and, if true, returns the field address of the element
The array elements are assumed to be of fixed length.
Operand | Description | ||||||
---|---|---|---|---|---|---|---|
countFormat | Format of the count of elements in the array Specify any integer type from the Integer types table except UCharUChar and UNiblUNibl (for GConst, specify LongLong). | ||||||
GetCountSpec(...) | Location of the count of elements in the record Specify any valid Get specification (including GConst, if appropriate) except GNull. | ||||||
lengthFormat | Format of the length of each element in the array Specify any integer type from the Integer types table except UCharUChar and UNiblUNibl (for GConst, specify LongLong). | ||||||
GetLengthSpec(...) | Location of the length of elements in the record Specify any valid Get specification (including GConst, if appropriate) except GNull. | ||||||
offsetFormat | Format of the offset to the first element in the array Specify any integer type from the Integer types table except UCharUChar and UNiblUNibl (for GConst, specify LongLong). | ||||||
GetOffsetSpec(...) | Location of the offset to the first element in the array in the record Specify any valid Get specification (including GConst, if appropriate) except GNull. | ||||||
displacement | Displacement of the field in each array element relative to zero | ||||||
condFormat | Format of the conditional of elements in the array Specify any integer type from the Integer types table except UCharUChar and UNiblUNibl (for GConst, specify LongLong). | ||||||
condDisplacement | Offset of the field to be checked in each array element The offset is relative to the start of the current array element. | ||||||
value | Value to which the data in the record is to be compared, in one of the following formats:
|
GConf
GConf(secIDNumber displacement)
Returns the address and length of data in a configuration record section
The specification processes all the sections of the record with the given section identification number.
Operand | Description |
---|---|
secIDNumber | Section identification number The number is indicated in SMF22ETY for ACTIVATE command record (SMF22IND=09) and at displacement 1, base zero for all others. Valid values are from 1 to 12. |
displacement | Displacement, base zero, of the field in the section |
GConst
GConst(integer) GConst("charString")
Returns the address and length of some constant value, independent of the current event record
The value can be a signed 64-bit integer or a character string up to 32-characters long.
Operand | Description |
---|---|
integer | Constant integer to be returned Code an integer between the minimum and the maximum 64-bit signed integer, approximately +/- 18 * 1018. |
charString | 0- to 32 characters enclosed in quotation marks |
GCPUtime
GCPUtime(divisor)
Returns the address of an unsigned 32-bit integer representing the CPU time used by BMC AMI Defender, expressed as microseconds divided by a specified divisor
GCPUtime takes no parameters.
Operand | Description |
---|---|
divisor | CPU time divisor For example, specifying 1 causes GCPUtime to return the CPU time in microseconds. Specifying 1000 causes GCPUtime to return the CPU time in milliseconds. |
GDB2hdr
GDB2hdr(headerType displacement[length])
Returns the address of a field in a DB2 SMF header
Operand | Description |
---|---|
headerType | Type number of a DB2 header such as 1, 2, 4, 8, 16, or 32 |
displacement | Displacement, base zero, of the field in the specified header |
length | Length of the data field If you omit the operand, GDB2hdr returns the length from displacement to the end of the header. If you specify length and displacement plus length is greater than the length of the header, then the field is treated as not addressable. |
GExt14
GExt14(sectionType displacement length)
Returns SMF 14/15 Section Data
Operand | Description |
---|---|
sectionType | SMF 14/15 Extended Information Segment section type, which is a number from 1 to 9: 1 COMPRESSED FORMAT D/S |
displacement | Offset within the Extended Information Segment This offset must include the offset for the 4-byte segment prefix. The first field in the segment begins at offset 4. |
length | Length of the fixed-length SMF 14/15 field |
GFList
GFList(displacement length)
Returns an offset from the address returned by the FFlist field’s Get specification
Intended to be used only with fields subsidiary to FFlist. For more information, see Grouping-related-fields-with-FFlist-and-GFlist.
Operand | Description |
---|---|
displacement | Displacement, base zero, of the field in the address returned by the FFlist field’s Get specification |
length | Length of the field |
GIfElse
GIfElse(CondSpecification(…) GetSpecificationA(…) GetSpecificationB(…))
Returns the result of one of two Get specifications depending on whether the result of a specified Condition specification is true or false
Operand | Description |
---|---|
CondSpecification(…) | Name of a Condition specification, and the parameters for that Condition specification The Condition specification specifies a condition to be tested to determine which of the two Get specifications to invoke. |
GetSpecificationA(…) GetSpecificationB(…) | Names of two Get specifications and the parameters for those Get specifications The first Get specification specifies where the field data is to be located if the condition is true. The second Get specification specifies where the field data is to be located if the condition is false. |
GIndexed
GIndexed(GetSpecification(…) intFmt GetSpecificationIndex(...) [intFmtN GetSpecificationIndexn(...) ...])
Returns the address and length of a field located at an offset beyond the address returned by the primary Get specification
You can specify a single offset, or multiple offsets that are to be added together.
Operand | Description |
---|---|
GetSpecification(…) | Name of a Get specification and the parameters for that Get specification The Get specification specifies the location and length of the data, assuming an index of zero. |
intFmt | Format of the index Specify any integer type from the Integer types table except UCharUChar and UNiblUNibl. |
GetSpecificationIndex(…) | Name of a Get specification and the parameters for that Get specification The Get specification specifies the location and length of the index. |
intFmtN | Format of the next index Specify any integer type from the Integer types table except UCharUChar and UNiblUNibl. |
GetSpecificationIndexn(…) | Name of a Get specification and the parameters for that Get specification The Get specification specifies the location and length of the next index. |
GInternal
GInternal(Label)
Returns the address and length of data that is internal to BMC AMI Defender, that is, not part of an event record
Label represents the label assigned to the internal data.
The label is case-insensitive: HOST_SAF, Host_SAF, and host_saf are equivalent. Specify one of the following labels:
Label | Description |
---|---|
Event_SubType | Event subtype as determined by BMC AMI Defender , suitable for formatting with FInt(Long)This field is generally the same value as SMFXXSTY, but differs for events, such as DB2 and SMF 90, that have subtypes in a non-standard location. BMC AMI Defender assigns a subtype of -1 to events without a defined subtype. |
HOST_CPUID | CPU ID (CPU serial number) as 12 printable characters |
HOST_HOSTNAME | TCP/IP hostname as a character field of unknown length, suitable for formatting with FCstring |
HOST_IPV4 | Primary IPv4 address of the TCP/IP stack as a character field of unknown length, suitable for formatting with FCstring |
HOST_IPV6 | Primary IPv6 address of the TCP/IP stack of unknown length, suitable for formatting with FCstring |
HOST_JESNODE | JES node name as a character field of eight characters |
HOST_LPARNAME | LPAR name as a character field of eight characters |
HOST_SAF | LPAR security subsystem type, expressed as an integer suitable for formatting with FInt(UChar): 0 = None, 1 = RACF, 2 = CA ACF2, 3 = CA Top Secret (TSS) |
HOST_SAFD | LPAR security subsystem type, expressed as text of unknown length, suitable for formatting with FCstring: None, RACF, ACF2, or TSS |
HOST_SMFID | SMF ID of the LPAR as a character field of four characters. |
HOST_SYSNAME | System name (&SYSNAME as defined in the IEASYSxx or IEASYMxx parmlib member) as a character field of eight characters |
IEF_EXIT | Name of the z/OS installation exit or API from which the event record was received: API1, IEFU83, IEFU84, IEFU85, or IEFU86, as a character field of unknown length, suitable for formatting with FCstring |
SYSLOG_FACILITY | RFC3164 facility expressed as a number from 0 to 23, suitable for formatting with FInt(Long)For more information, see Syslog-facilities-and-severities. |
SYSLOG_FACILITY_D | RFC3164 facility expressed as a character string of unknown length, suitable for formatting with FInt(Long)For more information, see Syslog-facilities-and-severities. |
SYSLOG_SEVERITY | RFC3164 severity expressed as a number from 0 to 7, suitable for formatting with FInt(Long)For more information, see Syslog-facilities-and-severities. |
SYSLOG_SEVERITY_D | RFC3164 severity expressed as a character stringFor more information, see Syslog-facilities-and-severities. |
zDefender_Parms | Member name of current parameter file, expressed as a character field of unknown length, suitable for formatting with FCstring |
zDefender_SiemType | SIEM Type: RFC3164, CEF, Splunk, LEEF, DAM/DAMVISualizer, or JSON, expressed as a character field of unknown length, suitable for formatting with FCstring |
ZDefender_Version | BMC AMI Defender version in format v.r.m as a character field of 6 bytesThe length is subject to change in future releases. |
GIPAdj
GIPAdj(GetSpecification(…))
Returns an IP address in character form that has been adjusted so that it is a proper IPv4 address
An IPv6 address that cannot be converted to an IPv4 address is returned as 255.255.255.255.
Operand | Description |
---|---|
GetSpecification(…) | Name of a Get specification and the parameters for that Get specification The Get specification specifies where the IP address data in character form is located. |
GJES
GJES(typeNumber displacement)
Returns the address and length of data in a JES2/3 purge record section
Operand | Description |
---|---|
typeNumber | Specifies the entry type number as follows: 8: Descriptor section |
displacement | Displacement, base zero, of the field in the section |
GNAF
GNAF(recordNumber displacement)
Returns the address and length of data in a SuperSession NAF record
Operand | Description |
---|---|
recordNumber | Specifies the entry record number as follows: X’00’ = Startup record |
displacement | Displacement, base zero, of the field in the section |
GNestedTripletFW
GNestedTripletFW(firstOuterTripletDisplacement outerTripletCountDisplacement firstInnerTripletDisplacement innerTripletCountDisplacement dataFieldDisplacement outerTripletCountAdjustment)
Supports two levels of triplet processing, processes a triplet that points to a data section that contains another set of triplets that points to its own data sections
This specification supports a table of multiple triplets, which can point to data sections, which in turn can include a table of multiple triplets and further data sections. A field in the event record must reflect the number of triplets.
This specification supports only fullword (that is, 12-byte) triplets. The triplet displacement, length, and count must each be a fullword in length.
Operand | Description |
---|---|
firstOuterTripletDisplacement | Offset to the first triplet in the table of triplets The offset is relative to the start of the event record (RDW). |
outerTripletCountDisplacement | Offset to the event record field that contains the number of triplets This must be the offset to a fullword data element. This offset is relative to the start of the event record (RDW). |
firstInnerTripletDisplacement | Offset to the first subordinate (or inner) triplet in a table of triplets The offset is relative to the data section pointed to by the outer triplet. |
innerTripletCountDisplacement | Offset to the event record field that contains the number of triplets This must be the offset to a fullword data element. This offset is relative to the data section pointed to by the outer triplet. |
dataFieldDisplacement | Offset from the inner data section, pointed to by the inner triplet to the data element being selected |
outerTripletCountAdjustment | Outer triplet count within the event record, which can include other triplets within the record You can use this is a numeric count field to deduct from the total number of triplets store in the record (pointed to by outerTripletCountDisplacement). |
GNull()
Used with Format specifications, such as FFlist, that do not require a field value address
GNull takes no parameters and always returns an address and length of zero.
GOffset
GOffset(GetSpecification(…) displacement lengthAdjustment)
Returns the address and length of a field value that consists of a 16-bit displacement in a variable section that points to a 16-bit length followed by the actual value
Operand | Description |
---|---|
GetSpecification(…) | Name of a Get specification and the parameters for that Get specification The Get specification specifies the location of the Event record segment containing the pointer, length, and data. |
displacement | Offset of the displacement pointer from the address returned by the Get specification, base 0 |
lengthAdjustment | Adjustment to be made to the length value in the record For example, some length values include their own size, so a length_adjustment of -2 would be appropriate. |
GOffsetBase
GOffsetBase(offsetOfPointer offsetOfData [length])
Returns the address and length of a field value that is some fixed displacement into a structure pointed to by a 16-bit displacement in the base section of an Event record
Operand | Description |
---|---|
offsetOfPointer | Offset, base zero, into the base of an Event record, of a 16-bit displacement to the structure containing the field value |
offsetOfData | Offset, base zero, of the data value into the structure pointed to by the displacement value |
length | Length of the field If you omit the operand, you must have a format type that indicates the length. For information about format types, see Format-specifications. |
GOffsetBase8
GOffsetBase8(offsetOfPointer offsetOfData[length])
Returns the address and length of a field value that is some fixed displacement into a structure pointed to by an 8-bit displacement in the base section of an Event record
Operand | Description |
---|---|
offsetOfPointer | Offset, base zero, into the base of an Event record, of an 8-bit displacement to the structure containing the field value |
offsetOfData | Offset, base zero, of the data value into the structure pointed to by the displacement value |
length | Length of the field If you omit the operand, you must have a format type that indicates the length. For information about format types, see Format-specifications. |
GPreamble
GPreamble(displacement length)
Returns the address and length of a value in the base of the preamble for an SMF record or API 1 event
The preamble has a BMC-defined format and is subject to change.
Operand | Description |
---|---|
displacement | Displacement of the value relative to zero and including the record control word (llbb) |
length | Length of the value |
GPriv
GPriv([ESC|CHG])
Returns a 1-byte code indicating the privilege status of the SMF enrichment user ID if the field type is specified as ESC or omitted
GPriv takes no operands. For more information, see Privilege escalation detection in the "SMF record enrichment" topic.ESC
The code values are as follows:
Value | Description |
---|---|
‘ ’ | Not a privileged userBecause the value is blank, it is normally suppresses and is not transmitted (assuming OPTions FORMAT(ERGO) |
‘E’ | Escalated privilegesThis user ID was last seen as unprivileged or with lesser privileges, but has now escalated privileges. |
‘K’ | Known privileged userThis user ID has been seen before, and the last time it was seen, it had the same privileges as now. |
‘P’ | New privileged userThis is the first time that this user ID is seen in the current execution of BMC AMI Defender, and the user is privileged. |
CHG
- If the field type is specified as CHG, it returns a 32-bit unsigned integer, the low-order 8 bits of which correspond to the escalation change in ACEEFLG1.
- If no escalation has occurred, it returns zero.
For example, if the escalation were from not SPECIAL to SPECIAL, the returned integer is X'00000080'.
GRelo, GRelo81, GRelo83
GRelo(typeNumber displacement) GRelo (for SMF 80/TSS) GRelo81 (for SMF 81) GRelo83 (for SMF 83)
Returns the address and length of data in a RACF relocate section
Relocate sections are documented in the IBM z/OS Security Server RACF Macros and Interfaces Manual.
Operand | Description |
---|---|
typeNumber | Relocate section type number You can specify a nonextended-length relocate section (type numbers less than 256) or an extended-length relocate section (type numbers 256 and above). Specify a number from 1 to 999. (As of RACF V2R1, the maximum IBM-defined Extended Relocate type is 429.) |
displacement | Displacement, base zero, of the field in the relocate section |
GRept
GRept(GetSpecification(…) lengthEach [maxCount])
Returns the address and length of a field or set of fields that repeat within a section
The section might occur once or multiple times (such as GRelo, GTriplet). The addressed data might be a single field or multiple fields to be formatted with FFlist.
Operand | Description |
---|---|
GetSpecification(…) | Name of a Get specification and the parameters for that Get specification The Get specification specifies the location of the first element of the repeating data. |
lengthEach | Length of each field or set of fields in the series of repetitions |
maxCount | Maximum number of repetitions per section Specify a number from 1 to 65535. If you omit the operand, the default value is unlimited, and the number of fields or sets of fields is limited only by the length of the containing section. |
GTime()
Returns an 8-byte STCK (store clock) value corresponding to the current hardware clock time
GTime takes no operands. The non-extended hardware clock will wrap to zero on 17-Sep-2042. Consider using GTimeE() instead.
GTimeE()
Returns a 16-byte STCKE (store clock extended) value corresponding to the current hardware clock time
GTimeE takes no operands.
GTriplet or GTripletFW
GTriplet(offsetOfTriplet|GetSpecTriplet(…)displacement [OCCURrence(occurrence)]) or GTripletFW(offsetOfTriplet|GetSpecTriplet(…)displacement [OCCURrence(occurrence)])
Returns the address and length of fields in one or more Event record sections pointed to by a triplet of a non-DB2 Event record
GTriplet specification supports 8-byte triplets. The triplet displacement must be 4 bytes. The length and count must each be 2-bytes long.
GTripletFW specification supports only fullword (that is, 12-byte) triplets. The triplet displacement, length, and count must each be a fullword in length.
SMF triplets are documented in the IBM Manual System Management Facilities.
Operand | Description |
---|---|
offsetOfTriplet | Offset of the pointer triplet in the base of the Event record Specify a number in Signed Extended Numeric Format between the minimum and maximum permitted triplet offsets for the event (for more information, see TYPE-and-RETYPE-statements). Either offset_of_triplet or GetSpecTriplet(…) is required. |
GetSpecTriplet() | Specify a Get specification for the location of the triplet Specify any valid Get specification except GNull. Any length returned by the Get specification is ignored; a triplet length of 8 is assumed. Either offset_of_triplet or GetSpecTriplet(…) is required |
displacement | Displacement, base zero, of the field in the section |
OCCURrence(occurrence) | Specifies that GTriplet is to return only a single specified occurrence of the triplet record sections Specify an occurrence number from 1 to 32767 inclusive. If the specified number is greater than the number of occurrences indicated by the triplet in the record, then GTriplet returns not present for the field. If you omit the operand, then all occurrences are returned in succession. |
GTripletArray
GTripletArray(offsetOfTriplet|GetSpecTriplet(…) displacement [countFormat])
Returns the address and length of the elements of an array of fields in an Event record section pointed to by a triplet, other than in a DB2 SMF record
Each entry in the array is assumed to be preceded by a half-word length of the entry. SMF triplets are documented in the IBM documentation.
Operand | Description |
---|---|
offsetOfTriplet | Offset of the pointer triplet in the base of the Event record |
GetSpecTriplet() | Specify a Get specification for the location of the triplet Specify any valid Get specification except GNull. Any length returned by the Get specification is ignored; a triplet length of 8 is assumed. Either offset_of_triplet or GetSpecTriplet(…) is required. |
displacement | Displacement, base zero, of the first field of the array in the section |
GTripletDB2
GTripletDB2(offsetOfTriplet displacement [length [lengthAdjust]])
Returns the address and length of fields in one or more SMF record sections pointed to by a triplet of a DB2 SMF record
DB2 SMF triplets are documented in IBM documentation (for example, DB2 10 for z/OS Managing Performance). GTripletDB2First is identical to GTripletDB2, but returns only the first instance of the field.
Operand | Description |
---|---|
offsetOfTriplet | Offset of the pointer triplet in the base of the Event record |
displacement | Displacement, base zero, of the field in the section |
length | Length of the field If you omit the operand, you must have a format type that indicates the length. For information about format types, see Format-specifications. If you specify the length only as a placeholder for length_adjust, then specify 32767. |
lengthAdjust | Specify any adjustment to be made to the length value in the record for Db2 variable-length segments where the length in the triplet is zero For example, some length values include their own size, so a length_adjustment of -2 would be appropriate. If you omit the operand, the default value is zero, meaning that the length in the length value is the exact length of the data without the length field. |
GTripletTable or GTripletTableFW
GTripletTable(firstTripletDisplacement tripletCountDisplacement dataFieldDisplacement tripletCountAdjustment) or GTripletTableFW(firstTripletDisplacement tripletCountDisplacement dataFieldDisplacement tripletCountAdjustment)
Supports a table of multiple triplets that can point to multiple data sections
A field in the event record must reflect the number of triplets.
GTripletTable specification supports 8-byte triplets. The triplet displacement must be 4 bytes. The length and count must each be 2-bytes long.
GTripletTableFW specification supports only fullword (that is, 12-byte) triplets. The triplet displacement, length, and count must each be a fullword in length.
Operand | Description |
---|---|
firstTripletDisplacement | Offset to the first triplet in the table of triplets The offset is relative to the start of the event record (RDW). |
tripletCountDisplacement | Offset to the event record field that contains the number of triplets This must be the offset to a fullword data element. The offset is relative to the start of the event record (RDW). |
dataFieldDisplacement | Offset from the inner data section, pointed to by the triplet to the data element being selected |
tripletCountAdjustment | Triplet count within the event record can include other triplets within the record This is a numeric count field that can be used to deduct from the total number of triplets stored in the record (pointed to by tripletCountDisplacement). |
GTripletXLen
GTripletXLen(offsetOfTriplet displacementOfLength displacementOfField [lengthAdjustment])
Returns the address and length of a field with an explicit length in an Event record section pointed to by a triplet
Compare with GXlen, which is more flexible in its specification.
Operand | Description |
---|---|
offsetOfTriplet | Offset of the pointer triplet in the base of the Event record |
displacementOfLength | Displacement, base zero, of the length halfword in the section |
displacementOfField | Displacement, base zero, of the field in the section |
lengthAdjustment | An adjustment to be applied to the length to obtain the actual length of the field If you omit the operand, the length in the Event record is used directly as the length of the field. |
GTwoLoc
GTwoLoc(GetSection(…) displacementOfFixed length displacementOfPointer)
Used to get the address and length of a field that is present in one or two locations in an Event record: a fixed-length field, and a variable-length field that is populated if the data is longer than the fixed-length field
Compare with GXlen, which is not limited to triplet-located data.
Operand | Description |
---|---|
GetSection(…) | Name of a Get specification and the parameters for that Get specification The Get specification specifies the location of the Event record segment containing the length and data fields. GetSection would typically be GBase or GTripletDB2. |
displacementOfFixed | Displacement, base zero, of the fixed-length field |
length | Length of the fixed-length field |
displacementOfPointer | Displacement, base zero, of a 16-bit pointer containing the offset from the base of the section to the variable-length field Displacement is assumed to begin with a 16-bit length field preceding the actual data. |
GUACEE
GUACEE(GetUserId(…))
Returns the name from ACEE by calling the RACROUTE macro for the given user ID
Operand | Description |
---|---|
GetUserId(...) | Location of the user ID in the record Specify any valid Get specification except GNull. |
GUToken
GUToken(FieldNum,GetTokenArea(…))
Returns the external token by calling the RACROUTE TOKENMAP macro for the given user token
Operand | Description |
---|---|
FieldNum | Specify any value from 1 to 3 1 = Terminal ID 2 = User ID 3 = Group ID |
GetTokenArea(...) | Location of the user token in the record Specify any valid Get specification except GNull. |
GXLen
GXLen(GetSpecificationOffset(...) intFmt GetSpecificationLength(...) [lengthAdjustment])
Returns the address and length of a field with an explicit length in any part of the event record
The length returned is the lesser of the length returned by GetSpecificationOffset and the explicit length field, adjusted as specified. Compare with GTripletXLen, which might be more efficient or easier to use if the data and the length are located in a triplet-located section.
Operand | Description |
---|---|
GetSpecificationOffset(…) | Name of a Get specification that specifies the offset or location of the data field and the parameters for that Get specification |
intFmt | Format of the index Specify any integer type from the Integer types table except UCharUChar and UNiblUNibl. |
GetSpecificationLength(…) | Name of a Get specification that specifies the offset or location of the explicit length field and the parameters for that Get specification |
lengthAdjustment | Adjustment to be applied to the length to obtain the actual length of the field If you omit the operand, the length in the Event record is used directly as the length of the field. |