Defines |
#define | ASEBA_BINARY_OPERATOR_MASK 0xff |
#define | ASEBA_DEFAULT_HOST "localhost" |
#define | ASEBA_DEFAULT_LISTEN_TARGET "tcpin:33333" |
#define | ASEBA_DEFAULT_PORT 33333 |
#define | ASEBA_DEFAULT_TARGET "tcp:localhost;33333" |
#define | ASEBA_IF_IS_WHEN_BIT 8 |
#define | ASEBA_IF_WAS_TRUE_BIT 9 |
#define | ASEBA_MAX_EVENT_ARG_SIZE ((ASEBA_MAX_PACKET_SIZE-6)/2) |
#define | ASEBA_PROTOCOL_VERSION 4 |
#define | ASEBA_UNARY_OPERATOR_MASK 0xff |
#define | AsebaBytecodeFromId(id) ((id) << 12) |
Enumerations |
enum | AsebaBinaryOperator {
ASEBA_OP_SHIFT_LEFT = 0x0,
ASEBA_OP_SHIFT_RIGHT,
ASEBA_OP_ADD,
ASEBA_OP_SUB,
ASEBA_OP_MULT,
ASEBA_OP_DIV,
ASEBA_OP_MOD,
ASEBA_OP_BIT_OR,
ASEBA_OP_BIT_XOR,
ASEBA_OP_BIT_AND,
ASEBA_OP_EQUAL,
ASEBA_OP_NOT_EQUAL,
ASEBA_OP_BIGGER_THAN,
ASEBA_OP_BIGGER_EQUAL_THAN,
ASEBA_OP_SMALLER_THAN,
ASEBA_OP_SMALLER_EQUAL_THAN,
ASEBA_OP_OR,
ASEBA_OP_AND,
ASEBA_OP_SHIFT_LEFT = 0x0,
ASEBA_OP_SHIFT_RIGHT,
ASEBA_OP_ADD,
ASEBA_OP_SUB,
ASEBA_OP_MULT,
ASEBA_OP_DIV,
ASEBA_OP_MOD,
ASEBA_OP_BIT_OR,
ASEBA_OP_BIT_XOR,
ASEBA_OP_BIT_AND,
ASEBA_OP_EQUAL,
ASEBA_OP_NOT_EQUAL,
ASEBA_OP_BIGGER_THAN,
ASEBA_OP_BIGGER_EQUAL_THAN,
ASEBA_OP_SMALLER_THAN,
ASEBA_OP_SMALLER_EQUAL_THAN,
ASEBA_OP_OR,
ASEBA_OP_AND
} |
enum | AsebaBytecodeId {
ASEBA_BYTECODE_STOP = 0x0,
ASEBA_BYTECODE_SMALL_IMMEDIATE = 0x1,
ASEBA_BYTECODE_LARGE_IMMEDIATE = 0x2,
ASEBA_BYTECODE_LOAD = 0x3,
ASEBA_BYTECODE_STORE = 0x4,
ASEBA_BYTECODE_LOAD_INDIRECT = 0x5,
ASEBA_BYTECODE_STORE_INDIRECT = 0x6,
ASEBA_BYTECODE_UNARY_ARITHMETIC = 0x7,
ASEBA_BYTECODE_BINARY_ARITHMETIC = 0x8,
ASEBA_BYTECODE_JUMP = 0x9,
ASEBA_BYTECODE_CONDITIONAL_BRANCH = 0xA,
ASEBA_BYTECODE_EMIT = 0xB,
ASEBA_BYTECODE_NATIVE_CALL = 0xC,
ASEBA_BYTECODE_SUB_CALL = 0xD,
ASEBA_BYTECODE_SUB_RET = 0xE,
ASEBA_BYTECODE_STOP = 0x0,
ASEBA_BYTECODE_SMALL_IMMEDIATE = 0x1,
ASEBA_BYTECODE_LARGE_IMMEDIATE = 0x2,
ASEBA_BYTECODE_LOAD = 0x3,
ASEBA_BYTECODE_STORE = 0x4,
ASEBA_BYTECODE_LOAD_INDIRECT = 0x5,
ASEBA_BYTECODE_STORE_INDIRECT = 0x6,
ASEBA_BYTECODE_UNARY_ARITHMETIC = 0x7,
ASEBA_BYTECODE_BINARY_ARITHMETIC = 0x8,
ASEBA_BYTECODE_JUMP = 0x9,
ASEBA_BYTECODE_CONDITIONAL_BRANCH = 0xA,
ASEBA_BYTECODE_EMIT = 0xB,
ASEBA_BYTECODE_NATIVE_CALL = 0xC,
ASEBA_BYTECODE_SUB_CALL = 0xD,
ASEBA_BYTECODE_SUB_RET = 0xE
} |
enum | AsebaExecutionStates {
ASEBA_VM_EVENT_ACTIVE_MASK = 0x1,
ASEBA_VM_STEP_BY_STEP_MASK = 0x2,
ASEBA_VM_EVENT_RUNNING_MASK = 0x4,
ASEBA_VM_EVENT_ACTIVE_MASK = 0x1,
ASEBA_VM_STEP_BY_STEP_MASK = 0x2,
ASEBA_VM_EVENT_RUNNING_MASK = 0x4
} |
enum | AsebaLimits { ASEBA_MAX_PACKET_SIZE = 512+6,
ASEBA_MAX_PACKET_SIZE = 512+6
} |
enum | AsebaMessagesDests { ASEBA_DEST_DEBUG = 0,
ASEBA_DEST_INVALID = 0xFFFF,
ASEBA_DEST_DEBUG = 0,
ASEBA_DEST_INVALID = 0xFFFF
} |
enum | AsebaSpecialEventId { ASEBA_EVENT_INIT = 0xFFFF,
ASEBA_EVENT_LOCAL_EVENTS_START = 0xFFFE,
ASEBA_EVENT_INIT = 0xFFFF,
ASEBA_EVENT_LOCAL_EVENTS_START = 0xFFFE
} |
enum | AsebaSystemMessagesTypes {
ASEBA_MESSAGE_BOOTLOADER_RESET = 0x8000,
ASEBA_MESSAGE_BOOTLOADER_READ_PAGE,
ASEBA_MESSAGE_BOOTLOADER_WRITE_PAGE,
ASEBA_MESSAGE_BOOTLOADER_PAGE_DATA_WRITE,
ASEBA_MESSAGE_BOOTLOADER_DESCRIPTION,
ASEBA_MESSAGE_BOOTLOADER_PAGE_DATA_READ,
ASEBA_MESSAGE_BOOTLOADER_ACK,
ASEBA_MESSAGE_DESCRIPTION = 0x9000,
ASEBA_MESSAGE_NAMED_VARIABLE_DESCRIPTION,
ASEBA_MESSAGE_LOCAL_EVENT_DESCRIPTION,
ASEBA_MESSAGE_NATIVE_FUNCTION_DESCRIPTION,
ASEBA_MESSAGE_DISCONNECTED,
ASEBA_MESSAGE_VARIABLES,
ASEBA_MESSAGE_ARRAY_ACCESS_OUT_OF_BOUNDS,
ASEBA_MESSAGE_DIVISION_BY_ZERO,
ASEBA_MESSAGE_EVENT_EXECUTION_KILLED,
ASEBA_MESSAGE_NODE_SPECIFIC_ERROR,
ASEBA_MESSAGE_EXECUTION_STATE_CHANGED,
ASEBA_MESSAGE_BREAKPOINT_SET_RESULT,
ASEBA_MESSAGE_GET_DESCRIPTION = 0xA000,
ASEBA_MESSAGE_SET_BYTECODE,
ASEBA_MESSAGE_RESET,
ASEBA_MESSAGE_RUN,
ASEBA_MESSAGE_PAUSE,
ASEBA_MESSAGE_STEP,
ASEBA_MESSAGE_STOP,
ASEBA_MESSAGE_GET_EXECUTION_STATE,
ASEBA_MESSAGE_BREAKPOINT_SET,
ASEBA_MESSAGE_BREAKPOINT_CLEAR,
ASEBA_MESSAGE_BREAKPOINT_CLEAR_ALL,
ASEBA_MESSAGE_GET_VARIABLES,
ASEBA_MESSAGE_SET_VARIABLES,
ASEBA_MESSAGE_WRITE_BYTECODE,
ASEBA_MESSAGE_REBOOT,
ASEBA_MESSAGE_SUSPEND_TO_RAM,
ASEBA_MESSAGE_INVALID = 0xFFFF,
ASEBA_MESSAGE_BOOTLOADER_RESET = 0x8000,
ASEBA_MESSAGE_BOOTLOADER_READ_PAGE,
ASEBA_MESSAGE_BOOTLOADER_WRITE_PAGE,
ASEBA_MESSAGE_BOOTLOADER_PAGE_DATA_WRITE,
ASEBA_MESSAGE_BOOTLOADER_DESCRIPTION,
ASEBA_MESSAGE_BOOTLOADER_PAGE_DATA_READ,
ASEBA_MESSAGE_BOOTLOADER_ACK,
ASEBA_MESSAGE_DESCRIPTION = 0x9000,
ASEBA_MESSAGE_NAMED_VARIABLE_DESCRIPTION,
ASEBA_MESSAGE_LOCAL_EVENT_DESCRIPTION,
ASEBA_MESSAGE_NATIVE_FUNCTION_DESCRIPTION,
ASEBA_MESSAGE_DISCONNECTED,
ASEBA_MESSAGE_VARIABLES,
ASEBA_MESSAGE_ARRAY_ACCESS_OUT_OF_BOUNDS,
ASEBA_MESSAGE_DIVISION_BY_ZERO,
ASEBA_MESSAGE_EVENT_EXECUTION_KILLED,
ASEBA_MESSAGE_NODE_SPECIFIC_ERROR,
ASEBA_MESSAGE_EXECUTION_STATE_CHANGED,
ASEBA_MESSAGE_BREAKPOINT_SET_RESULT,
ASEBA_MESSAGE_GET_DESCRIPTION = 0xA000,
ASEBA_MESSAGE_SET_BYTECODE,
ASEBA_MESSAGE_RESET,
ASEBA_MESSAGE_RUN,
ASEBA_MESSAGE_PAUSE,
ASEBA_MESSAGE_STEP,
ASEBA_MESSAGE_STOP,
ASEBA_MESSAGE_GET_EXECUTION_STATE,
ASEBA_MESSAGE_BREAKPOINT_SET,
ASEBA_MESSAGE_BREAKPOINT_CLEAR,
ASEBA_MESSAGE_BREAKPOINT_CLEAR_ALL,
ASEBA_MESSAGE_GET_VARIABLES,
ASEBA_MESSAGE_SET_VARIABLES,
ASEBA_MESSAGE_WRITE_BYTECODE,
ASEBA_MESSAGE_REBOOT,
ASEBA_MESSAGE_SUSPEND_TO_RAM,
ASEBA_MESSAGE_INVALID = 0xFFFF
} |
enum | AsebaUnaryOperator {
ASEBA_UNARY_OP_SUB = 0x0,
ASEBA_UNARY_OP_ABS,
ASEBA_UNARY_OP_BIT_NOT,
ASEBA_UNARY_OP_NOT,
ASEBA_UNARY_OP_SUB = 0x0,
ASEBA_UNARY_OP_ABS,
ASEBA_UNARY_OP_BIT_NOT,
ASEBA_UNARY_OP_NOT
} |