5.2. Data types
The SystemTap language includes a small number of data types, but no type declarations. A variable's type is inferred from its use. To support this inference, the translator enforces consistent typing of function arguments and return values, array indices and values. There are no implicit type conversions between strings and numbers. Inconsistent type-related use of identifiers signals an error.
5.2.1. Literals Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Literals are either strings or integers. Literals can be expressed as decimal, octal, or hexadecimal, using C notation. Type suffixes (e.g., L or U) are not used.
5.2.2. Integers Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Integers are decimal, hexadecimal, or octal, and use the same notation as in C. Integers are 64-bit signed quantities, although the parser also accepts (and wraps around) values above positive
263
but below 264
.
5.2.3. Strings Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Strings are enclosed in quotation marks (“string”), and pass through standard C escape codes with backslashes. Strings are limited in length to MAXSTRINGLEN. For more information about this and other limits, see Section Section 1.6, “Safety and security”.
5.2.4. Associative arrays Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
See Section Chapter 7, Associative arrays
5.2.5. Statistics Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
See Section Chapter 8, Statistics (aggregates)