Alan Opcode Reference
The Alan Standard Library, AMM, and AGA formats all make extensive use of opcodes defined within the Alan VM to do useful work.
The AVM opcodes are identified with a 64-bit integer and have exactly 3 64-bit arguments. The 64-bit integers have been chosen to match a space-padded string of the name of the opcode (therefore allowing the opcodes to have names from 1-8 ASCII characters long). Most opcodes use the first two arguments as input addresses and the last argument as an output address, but some treat them as constants, event ids, or ignored values.
The following table will specify the opcode name followed by the three arguments (arg0, arg1, arg2) with the kind of argument given (IN = Input Address, OUT = Output Address, CONST = Constant Value, EVENT = Event Name, NULL = Ignored) and then a short description of what that opcode does. A few opcodes will have an UNSAFE flag on them in their description. These opcodes can potentially crash the AVM if called incorrectly and rely on the compiler to use them wisely.
Opcode | arg0 | arg1 | arg2 | Description |
i8f64 | IN | NULL | OUT | Converts an i8 to an f64 |
i16f64 | IN | NULL | OUT | Converts an i16 to an f64 |
i32f64 | IN | NULL | OUT | Converts an i32 to an f64 |
i64f64 | IN | NULL | OUT | Converts an i64 to an f64 |
f32f64 | IN | NULL | OUT | Converts an f32 to an f64 |
strf64 | IN | NULL | OUT | Converts a string to an f64 |
boolf64 | IN | NULL | OUT | Converts a bool to an f64 |
i8f32 | IN | NULL | OUT | Converts an i8 to an f32 |
i16f32 | IN | NULL | OUT | Converts an i16 to an f32 |
i32f32 | IN | NULL | OUT | Converts an i32 to an f32 |
i64f32 | IN | NULL | OUT | Converts an i64 to an f32 |
f64f32 | IN | NULL | OUT | Converts an f64 to an f32 |
strf32 | IN | NULL | OUT | Converts a string to an f32 |
boolf32 | IN | NULL | OUT | Converts a bool to an f32 |
i8i64 | IN | NULL | OUT | Converts an i8 to an i64 |
i16i64 | IN | NULL | OUT | Converts an i16 to an i64 |
i32i64 | IN | NULL | OUT | Converts an i32 to an i64 |
f32i64 | IN | NULL | OUT | Converts an f32 to an i64 |
f64i64 | IN | NULL | OUT | Converts an f64 to an i64 |
stri64 | IN | NULL | OUT | Converts a string to an i64 |
booli64 | IN | NULL | OUT | Converts a bool to an i64 |
i8i32 | IN | NULL | OUT | Converts an i8 to an i32 |
i16i32 | IN | NULL | OUT | Converts an i16 to an i32 |
i64i32 | IN | NULL | OUT | Converts an i64 to an i32 |
f32i32 | IN | NULL | OUT | Converts an f32 to an i32 |
f64i32 | IN | NULL | OUT | Converts an f64 to an i32 |
stri32 | IN | NULL | OUT | Converts a string to an i32 |
booli32 | IN | NULL | OUT | Converts a bool to an i32 |
i8i16 | IN | NULL | OUT | Converts an i8 to an i16 |
i32i16 | IN | NULL | OUT | Converts an i32 to an i16 |
i64i16 | IN | NULL | OUT | Converts an i64 to an i16 |
f32i16 | IN | NULL | OUT | Converts an f32 to an i16 |
f64i16 | IN | NULL | OUT | Converts an f64 to an i16 |
stri16 | IN | NULL | OUT | Converts a string to an i16 |
booli16 | IN | NULL | OUT | Converts a bool to an i16 |
i16i8 | IN | NULL | OUT | Converts an i16 to an i8 |
i32i8 | IN | NULL | OUT | Converts an i32 to an i8 |
i64i8 | IN | NULL | OUT | Converts an i64 to an i8 |
f32i8 | IN | NULL | OUT | Converts an f32 to an i8 |
f64i8 | IN | NULL | OUT | Converts an f64 to an i8 |
stri8 | IN | NULL | OUT | Converts a string to an i8 |
booli8 | IN | NULL | OUT | Converts a bool to an i8 |
i8bool | IN | NULL | OUT | Converts an i8 to a bool |
i16bool | IN | NULL | OUT | Converts an i16 to a bool |
i32bool | IN | NULL | OUT | Converts an i32 to a bool |
i64bool | IN | NULL | OUT | Converts an i64 to a bool |
f32bool | IN | NULL | OUT | Converts an f32 to a bool |
f64bool | IN | NULL | OUT | Converts an f64 to a bool |
strbool | IN | NULL | OUT | Converts a string to a bool |
i8str | IN | NULL | OUT | Converts an i8 to a string |
i16str | IN | NULL | OUT | Converts an i16 to a string |
i32str | IN | NULL | OUT | Converts an i32 to a string |
i64str | IN | NULL | OUT | Converts an i64 to a string |
f32str | IN | NULL | OUT | Converts an f32 to a string |
f64str | IN | NULL | OUT | Converts an f64 to a string |
boolstr | IN | NULL | OUT | Converts a bool to a string |
addi8 | IN | IN | OUT | Adds two i8's together |
addi16 | IN | IN | OUT | Adds two i16's together |
addi32 | IN | IN | OUT | Adds two i32's together |
addi64 | IN | IN | OUT | Adds two i64's together |
addf32 | IN | IN | OUT | Adds two f32's together |
addf64 | IN | IN | OUT | Adds two f64's together |
subi8 | IN | IN | OUT | Subtracts the second i8 from the first |
subi16 | IN | IN | OUT | Subtracts the second i16 from the first |
subi32 | IN | IN | OUT | Subtracts the second i32 from the first |
subi64 | IN | IN | OUT | Subtracts the second i64 from the first |
subf32 | IN | IN | OUT | Subtracts the second f32 from the first |
subf64 | IN | IN | OUT | Subtracts the second f64 from the first |
negi8 | IN | NULL | OUT | Negates the i8 |
negi16 | IN | NULL | OUT | Negates the i16 |
negi32 | IN | NULL | OUT | Negates the i32 |
negi64 | IN | NULL | OUT | Negates the i64 |
negf32 | IN | NULL | OUT | Negates the f32 |
negf64 | IN | NULL | OUT | Negates the f64 |
absi8 | IN | NULL | OUT | Makes the i8 magnitude positive |
absi16 | IN | NULL | OUT | Makes the i16 magnitude positive |
absi32 | IN | NULL | OUT | Makes the i32 magnitude positive |
absi64 | IN | NULL | OUT | Makes the i64 magnitude positive |
absf32 | IN | NULL | OUT | Makes the f32 magnitude positive |
absf64 | IN | NULL | OUT | Makes the f64 magnitude positive |
muli8 | IN | IN | OUT | Multiplies the two i8's together |
muli16 | IN | IN | OUT | Multiplies the two i16's together |
muli32 | IN | IN | OUT | Multiplies the two i32's together |
muli64 | IN | IN | OUT | Multiplies the two i64's together |
mulf32 | IN | IN | OUT | Multiplies the two f32's together |
mulf64 | IN | IN | OUT | Multiplies the two f64's together |
divi8 | IN | IN | OUT | Divides the first i8 by the second |
divi16 | IN | IN | OUT | Divides the first i16 by the second |
divi32 | IN | IN | OUT | Divides the first i32 by the second |
divi64 | IN | IN | OUT | Divides the first i64 by the second |
divf32 | IN | IN | OUT | Divides the first f32 by the second |
divf64 | IN | IN | OUT | Divides the first f64 by the second |
modi8 | IN | IN | OUT | Divides the first i8 by the second and returns the remainder |
modi16 | IN | IN | OUT | Divides the first i16 by the second and returns the remainder |
modi32 | IN | IN | OUT | Divides the first i32 by the second and returns the remainder |
modi64 | IN | IN | OUT | Divides the first i64 by the second and returns the remainder |
powi8 | IN | IN | OUT | Raises the first i8 by the second's power |
powi16 | IN | IN | OUT | Raises the first i16 by the second's power |
powi32 | IN | IN | OUT | Raises the first i32 by the second's power |
powi64 | IN | IN | OUT | Raises the first i64 by the second's power |
powf32 | IN | IN | OUT | Raises the first f32 by the second's power |
powf64 | IN | IN | OUT | Raises the first f64 by the second's power |
sqrtf32 | IN | NULL | OUT | Returns the square root of the f32 |
sqrtf64 | IN | NULL | OUT | Returns the square root of the f64 |
andi8 | IN | IN | OUT | Returns the bitwise and of the two i8's |
andi16 | IN | IN | OUT | Returns the bitwise and of the two i16's |
andi32 | IN | IN | OUT | Returns the bitwise and of the two i32's |
andi64 | IN | IN | OUT | Returns the bitwise and of the two i64's |
andbool | IN | IN | OUT | Returns the boolean and of the two bool's |
ori8 | IN | IN | OUT | Returns the bitwise or of the two i8's |
ori16 | IN | IN | OUT | Returns the bitwise or of the two i16's |
ori32 | IN | IN | OUT | Returns the bitwise or of the two i32's |
ori64 | IN | IN | OUT | Returns the bitwise or of the two i64's |
orbool | IN | IN | OUT | Returns the boolean or of the two bool's |
xori8 | IN | IN | OUT | Returns the bitwise xor of the two i8's |
xori16 | IN | IN | OUT | Returns the bitwise xor of the two i16's |
xori32 | IN | IN | OUT | Returns the bitwise xor of the two i32's |
xori64 | IN | IN | OUT | Returns the bitwise xor of the two i64's |
xorbool | IN | IN | OUT | Returns the boolean xor of the two bool's |
noti8 | IN | NULL | OUT | Returns the bitwise not of the i8 |
noti16 | IN | NULL | OUT | Returns the bitwise not of the i16 |
noti32 | IN | NULL | OUT | Returns the bitwise not of the i32 |
noti64 | IN | NULL | OUT | Returns the bitwise not of the i64 |
notbool | IN | NULL | OUT | Returns the boolean not of the bool |
nandi8 | IN | IN | OUT | Returns the bitwise nand of the two i8's |
nandi16 | IN | IN | OUT | Returns the bitwise nand of the two i16's |
nandi32 | IN | IN | OUT | Returns the bitwise nand of the two i32's |
nandi64 | IN | IN | OUT | Returns the bitwise nand of the two i64's |
nandboo | IN | IN | OUT | Returns the boolean nand of the two bool's |
nori8 | IN | IN | OUT | Returns the bitwise nor of the two i8's |
nori16 | IN | IN | OUT | Returns the bitwise nor of the two i16's |
nori32 | IN | IN | OUT | Returns the bitwise nor of the two i32's |
nori64 | IN | IN | OUT | Returns the bitwise nor of the two i64's |
norbool | IN | IN | OUT | Returns the boolean nor of the two bool's |
xnori8 | IN | IN | OUT | Returns the bitwise xnor of the two i8's |
xnori16 | IN | IN | OUT | Returns the bitwise xnor of the two i16's |
xnori32 | IN | IN | OUT | Returns the bitwise xnor of the two i32's |
xnori64 | IN | IN | OUT | Returns the bitwise xnor of the two i64's |
xnorboo | IN | IN | OUT | Returns the boolean xnor of the two bool's |
eqi8 | IN | IN | OUT | Determines if the two i8's are equal |
eqi16 | IN | IN | OUT | Determines if the two i16's are equal |
eqi32 | IN | IN | OUT | Determines if the two i32's are equal |
eqi64 | IN | IN | OUT | Determines if the two i64's are equal |
eqf32 | IN | IN | OUT | Determines if the two f32's are equal |
eqf64 | IN | IN | OUT | Determines if the two f64's are equal |
eqstr | IN | IN | OUT | Determines if the two str's are equal |
eqbool | IN | IN | OUT | Determines if the two bool's are equal |
neqi8 | IN | IN | OUT | Determines if the two i8's are not equal |
neqi16 | IN | IN | OUT | Determines if the two i16's are not equal |
neqi32 | IN | IN | OUT | Determines if the two i32's are not equal |
neqi64 | IN | IN | OUT | Determines if the two i64's are not equal |
neqf32 | IN | IN | OUT | Determines if the two f32's are not equal |
neqf64 | IN | IN | OUT | Determines if the two f64's are not equal |
neqstr | IN | IN | OUT | Determines if the two str's are not equal |
neqbool | IN | IN | OUT | Determines if the two bool's are not equal |
lti8 | IN | IN | OUT | Determines if the first i8 is less than the second |
lti16 | IN | IN | OUT | Determines if the first i16 is less than the second |
lti32 | IN | IN | OUT | Determines if the first i32 is less than the second |
lti64 | IN | IN | OUT | Determines if the first i64 is less than the second |
ltf32 | IN | IN | OUT | Determines if the first f32 is less than the second |
ltf64 | IN | IN | OUT | Determines if the first f64 is less than the second |
ltstr | IN | IN | OUT | Determines if the first str is less than the second |
ltei8 | IN | IN | OUT | Determines if the first i8 is less than or equal to the second |
ltei16 | IN | IN | OUT | Determines if the first i16 is less than or equal to the second |
ltei32 | IN | IN | OUT | Determines if the first i32 is less than or equal to the second |
ltei64 | IN | IN | OUT | Determines if the first i64 is less than or equal to the second |
ltef32 | IN | IN | OUT | Determines if the first f32 is less than or equal to the second |
ltef64 | IN | IN | OUT | Determines if the first f64 is less than or equal to the second |
ltestr | IN | IN | OUT | Determines if the first str is less than or equal to the second |
gti8 | IN | IN | OUT | Determines if the first i8 is greater than the second |
gti16 | IN | IN | OUT | Determines if the first i16 is greater than the second |
gti32 | IN | IN | OUT | Determines if the first i32 is greater than the second |
gti64 | IN | IN | OUT | Determines if the first i64 is greater than the second |
gtf32 | IN | IN | OUT | Determines if the first f32 is greater than the second |
gtf64 | IN | IN | OUT | Determines if the first f64 is greater than the second |
gtstr | IN | IN | OUT | Determines if the first str is greater than the second |
gtei8 | IN | IN | OUT | Determines if the first i8 is greater than or equal to the second |
gtei16 | IN | IN | OUT | Determines if the first i16 is greater than or equal to the second |
gtei32 | IN | IN | OUT | Determines if the first i32 is greater than or equal to the second |
gtei64 | IN | IN | OUT | Determines if the first i64 is greater than or equal to the second |
gtef32 | IN | IN | OUT | Determines if the first f32 is greater than or equal to the second |
gtef64 | IN | IN | OUT | Determines if the first f64 is greater than or equal to the second |
gtestr | IN | IN | OUT | Determines if the first str is greater than or equal to the second |
catstr | IN | IN | OUT | Concatenates the first string to the second (non-mutating result in output) |
split | IN | IN | OUT | Splits the first string by all occurrences of the second into a new array of strings |
repstr | IN | IN | OUT | Repeats the string (first arg) by the specified number of occurrences (second arg) in a new string (output arg) |
matches | IN | IN | OUT | Determines if the second arg string, treated as a regular expression, matches the first string |
indstr | IN | IN | OUT | Determines the index of the second string occurring within the first string and returns it as a Result, or errors |
lenstr | IN | NULL | OUT | Returns the length of the string |
trim | IN | NULL | OUT | Removes leading and trailing whitespace from the string |
copyfrom | IN | IN | OUT | Treats the first argument as an array, the second argument as an index, and makes a duplicate of the array's nth element and stores it in the output argument (UNSAFE) |
copytof | IN | IN | IN | Treats the first argument as an array, the second argument as an index, and the third argument as the address of fixed data and stores that fixed data in the array at the specified index (UNSAFE) |
copytov | IN | IN | IN | Treats the first argument as an array, the second argument as an index, and the third argument as the address of an array of data and stores a copy of that second array within the first array at the specified address (UNSAFE) |
register | IN | IN | OUT | Treats the first argument as an array, the second argument as an index, and places a pointer to the array's nth element and stores it in the output argument (UNSAFE) |
newarr | IN | NULL | OUT | Creates a new array of the specified initial size and stores it at the output address |
pusharr | IN | IN | IN | Treats the first argument as an array, the second argument as the address of a value, and the third argument as a flag on whether the value is a fixed or array type, and pushes a duplicate of that value into the array |
poparr | IN | NULL | OUT | Pops the last element off of the specified array and returns it in a Result object, or returns an error if the array is empty |
lenarr | IN | NULL | OUT | Returns the length of the array |
indarrf | IN | IN | OUT | Treats the first argument as an array, the second argument as a fixed value, and returns a result-wrapped index the value is first seen in the array, or an error |
indarrv | IN | IN | OUT | Treats the first argument as an array, the second argument as an array value, and returns a result-wrapped index the value is first seen in the array, or an error |
join | IN | IN | OUT | Treats the first argument as an array of strings, the second argument as a string, and returns a new string where the string array elements are joined together with the second argument in between |
map | IN | EVENT | OUT | Treats the first argument as an array and the second argument as an event ID that a single event handler should be registered to (it will only trigger the first one). It then has that handler mutate the array one element at a time and returns the results as a new array. Done in parallel if the array is large enough. |
mapl | IN | EVENT | OUT | Treats the first argument as an array and the second argument as an event ID that a single event handler should be registered to (it will only trigger the first one). It then has that handler mutate the array one element at a time and returns the results as a new array. Done sequentially. |
reparr | IN | IN | OUT | Treats the first argument as an array and creates a new array made up with n duplicates based on the value of the second argument |
each | IN | EVENT | NULL | Treats the first argument as an array and the second argument as an event ID, which it then executes for each element of the array in any order. |
eachl | IN | EVENT | NULL | Treats the first argument as an array and the second argument as an event ID, which it then executes for each element sequentially |
find | IN | EVENT | OUT | Treats the first argument as an array and the second argument as an event ID, which it then executes in parallel to find the first value that passes the test of the second argument and returns Result-wrapped, or errors. Still returns the first such value in the array, not the first encountered. |
findl | IN | EVENT | OUT | Treats the first argument as an array and the second argument as an event ID, which it then executes sequentially to find the first value that passes the test of the second argument and returns Result-wrapped, or errors. |
every | IN | EVENT | OUT | Treats the first argument as an array and tests every element with the second argument in parallel, and returns true only if all elements return true. |
everyl | IN | EVENT | OUT | Treats the first argument as an array and tests every element with the second argument sequentially, and returns true only if all elements return true. |
some | IN | EVENT | OUT | Treats the first argument as an array and tests every element with the second argument in parallel, and returns true if any element return true. |
somel | IN | EVENT | OUT | Treats the first argument as an array and tests every element with the second argument sequentially, and returns true if any element return true. |
filter | IN | EVENT | OUT | Treats the first argument as an array and test every element with the second argument in parallel, putting the element in the new array if it passes the test |
filterl | IN | EVENT | OUT | Treats the first argument as an array and test every element with the second argument sequentially, putting the element in the new array if it passes the test |
reducel | IN | EVENT | OUT | Treats the first argument as an array and the second argument as an event ID, which it executes sequentially to combine array elements together (maintaining the same type throughout) and finally returning the combined form |
reducep | IN | EVENT | OUT | Treats the first argument as an array and the second argument as an event ID, which it executes in parallel to combine array elements together (maintaining the same type throughout) and finally returning the combined form. Requires the reducer function to be commutative. |
foldl | IN | EVENT | OUT | Treats the first argument as a special array that houses the actual array in the first address and the initial value to reduce with in the second address. This allows for the output to store as a new type, with the initial value being of the same type as the output. The second argument has the event ID to perform the reduction with and this is executed sequentially. |
foldp | IN | EVENT | OUT | Treats the first argument as a special array that houses the actual array in the first address and the initial value to reduce with in the second address. This allows for the output to store as a new type, with the initial value being of the same type as the output. The second argument has the event ID to perform the reduction with and this is executed in parallel. This means the initial value will be merged in one OR MORE times and therefore the merging operation with that value must be idempotent, and the reducer function must be commutative. |
catarr | IN | IN | OUT | Creates a new array consisting first of the elements of the first array and second of the elements of the second array. |
condfn | IN | EVENT | NULL | Uses the first argument as a boolean to check if the second argument, an event ID, should be executed or not |
copyi8 | IN | NULL | OUT | Copies the i8 to a new address |
copyi16 | IN | NULL | OUT | Copies the i16 to a new address |
copyi32 | IN | NULL | OUT | Copies the i32 to a new address |
copyi64 | IN | NULL | OUT | Copies the i64 to a new address |
copyvoid | IN | NULL | OUT | Copies the void to a new address |
copyf32 | IN | NULL | OUT | Copies the f32 to a new address |
copyf64 | IN | NULL | OUT | Copies the f64 to a new address |
copybool | IN | NULL | OUT | Copies the bool to a new address |
copystr | IN | NULL | OUT | Copies the str to a new address |
copyarr | IN | NULL | OUT | Copies the array to a new address |
zeroed | NULL | NULL | OUT | Blanks the specified address |
lnf64 | IN | NULL | OUT | Executes a trigonometric ln on the f64 |
logf64 | IN | NULL | OUT | Executes a trigonometric log on the f64 |
sinf64 | IN | NULL | OUT | Executes a trigonometric sin on the f64 |
cosf64 | IN | NULL | OUT | Executes a trigonometric cos on the f64 |
tanf64 | IN | NULL | OUT | Executes a trigonometric tan on the f64 |
asinf64 | IN | NULL | OUT | Executes a trigonometric asin on the f64 |
acosf64 | IN | NULL | OUT | Executes a trigonometric acos on the f64 |
atanf64 | IN | NULL | OUT | Executes a trigonometric atan on the f64 |
sinhf64 | IN | NULL | OUT | Executes a trigonometric sinh on the f64 |
coshf64 | IN | NULL | OUT | Executes a trigonometric cosh on the f64 |
tanhf64 | IN | NULL | OUT | Executes a trigonometric tanh on the f64 |
error | IN | NULL | OUT | Turns the specified error message into an Error type |
noerr | NULL | NULL | OUT | Creates an empty non-error Error |
errorstr | IN | NULL | OUT | Extracts the error message from the Error |
someM | IN | NULL | OUT | Wraps the provided value in a Maybe type |
noneM | NULL | NULL | OUT | Creates an empty Maybe |
isSome | IN | NULL | OUT | Tests if the Maybe has a value |
isNone | IN | NULL | OUT | Tests if the Maybe has no value |
getOrM | IN | IN | OUT | Extracts the value from the Maybe in the first argument, or returns the default value in the second argument |
okR | IN | NULL | OUT | Wraps the provided value in a Result type |
err | IN | NULL | OUT | Wraps the provided error message in a Result type |
isOk | IN | NULL | OUT | Tests if the Result has a successful value |
isErr | IN | NULL | OUT | Tests if the Result has an error value |
getOrR | IN | IN | OUT | Returns the Result-wrapped value or the default value |
getOrRS | IN | IN | OUT | Returns the Result-wrapped string or the default string (workaround for kink involving strings in global memory) |
getR | IN | NULL | OUT | Returns the Result-wrapped value or crashes the runtime (UNSAFE) |
getErr | IN | IN | OUT | Returns the Result-wrapped error or a default error value |
resfrom | IN | IN | OUT | Looks up the value of the index (second argument of the array (first argument) and returns that value Result-wrapped, or returns a Result-wrapped error |
mainE | IN | NULL | OUT | Creates an Either-wrapped main value |
altE | IN | NULL | OUT | Creates an Either-wrapped alternate value |
isMain | IN | NULL | OUT | Tests if the Etiher is a main value |
isAlt | IN | NULL | OUT | Tests if the Either is an alternate value |
mainOr | IN | IN | OUT | Returns the Either-wrapped main value or the default value |
altOr | IN | IN | OUT | Returns the Either-wrapped alt value or the default value |
hashf | IN | NULL | OUT | Returns the 64-bit hash of the specified fixed value |
hashv | IN | NULL | OUT | Returns the 64-bit hash of the specified array value |
dssetf | IN | IN | IN | Stores the specified fixed value (third argument) in the namespace (first argument) and key (second argument) pair |
dssetv | IN | IN | IN | Stores the specified array value (third argument) in the namespace (first argument) and key (second argument) pair |
dshas | IN | IN | OUT | Checks the namespace (first argument) and key (second argument) pair for the presence of a value |
dsdel | IN | IN | OUT | Checks the namespace (first argument) and key (second argument) pair for the presence of a value and returns that status. If there was a value it also removes it. |
dsgetf | IN | IN | OUT | Returns a Result-wrapped fixed value (or error) for the specified namespace-key pair |
dsgetv | IN | IN | OUT | Returns a Result-wrapped array value (or error) for the specified namespace-key pair |
httpget | IN | NULL | OUT | Returns a Result-wrapped string (or error) for the specified URL request |
httppost | IN | IN | OUT | Returns a Result-wrapped string (or error) for the specified post URL and body |
httplsn | IN | NULL | OUT | Starts an HTTP server on the specified port and returns a Result-wrapped 'ok' string or an Error |
httpsend | IN | NULL | OUT | For a given connection response payload, send that payload to the client requesting it and returns a Result-wrapped 'ok' string or an Error if it failed |
waitop | IN | NULL | NULL | Waits the specified number of milliseconds, then continues execution |
execop | IN | NULL | OUT | Executes the specified shell string and returns the exit code and stdout and stderr strings in an array |
stdoutp | IN | NULL | NULL | Writes the specified string to standard output |
exitop | IN | NULL | NULL | Terminates the process with the specified exit code |