UNPKG

@twilio/plugin-microvisor

Version:

Interact with your Twilio Microvisor devices

86 lines (85 loc) 3.35 kB
/// <reference types="node" /> import { ProtobufToTunnel } from './protobuf2tunnel'; import { MemoryCache } from './memorycache'; import { MemoryMap } from './memorymap'; import { EventEmitter } from 'node:events'; import { HaltReasonResponse, IHaltReasonResponse, ReadRegistersResponse, DebugProtocol, PluginTelemetryType } from '../../../../proto_gen/proto'; declare enum GdbPacketType { ReadRegisters, WriteRegisters, ReadMemory, WriteMemory, Continue, Step, GeneralQueryRead, GeneralQueryWrite, ExtendedMode, SetThread, GetHaltReason, InsertBreakpoint, RemoveBreakpoint, ReadRegister, WriteRegister, ThreadStatus, ExtendedCommand, KillRequest } declare class ThreadInfo { fault: HaltReasonResponse.HaltReason | undefined; name: string; constructor(name: string); private faultString; toString(): string; } export declare class GdbPacket { content: string; constructor(content: string); getType(): GdbPacketType; getArgs(): string; getData(): string; static build(data: string): GdbPacket; static escape(data: string): string; static unescape(data: string): string; static checksum(data: string): number; } export declare class GdbToProtobuf extends EventEmitter { static readonly MEMORY_LINE_LENGTH = 128; protobufToTunnel: ProtobufToTunnel; debugProto: DebugProtocol; threadInfo: ThreadInfo; memMap: MemoryMap; memMapXml: string; memCache: MemoryCache; packetHandlers: Map<GdbPacketType, ((p: GdbPacket) => Promise<GdbPacket>)>; unsupportedPackets: Set<GdbPacketType>; constructor(protobufToTunnel: ProtobufToTunnel); packet(packet: GdbPacket): Promise<GdbPacket>; interrupt(): Promise<void>; hello(): Promise<void>; goodbye(): Promise<void>; telemetry(type: PluginTelemetryType, data: string): Promise<void>; setFault(fault: HaltReasonResponse.HaltReason | undefined): void; formatHaltReason(reason: IHaltReasonResponse): string; formatReadRegisters(resp: ReadRegistersResponse): string; static regToHex(reg: number): string; static hexToReg(reg: string | undefined): number; handleReadRegisters(_packet: GdbPacket): Promise<GdbPacket>; handleWriteRegisters(packet: GdbPacket): Promise<GdbPacket>; handleReadMemory(packet: GdbPacket): Promise<GdbPacket>; handleWriteMemory(packet: GdbPacket): Promise<GdbPacket>; handleContinue(_packet: GdbPacket): Promise<GdbPacket>; handleStep(_packet: GdbPacket): Promise<GdbPacket>; readWindow(packetArguments: string, file: string): string; handleGeneralQueryRead(packet: GdbPacket): Promise<GdbPacket>; handleGeneralQueryWrite(_packet: GdbPacket): Promise<GdbPacket>; handleExtendedMode(_packet: GdbPacket): Promise<GdbPacket>; handleSetThread(_packet: GdbPacket): Promise<GdbPacket>; handleGetHaltReason(_packet: GdbPacket): Promise<GdbPacket>; handleInsertBreakpoint(packet: GdbPacket): Promise<GdbPacket>; handleRemoveBreakpoint(packet: GdbPacket): Promise<GdbPacket>; handleReadRegister(packet: GdbPacket): Promise<GdbPacket>; handleWriteRegister(packet: GdbPacket): Promise<GdbPacket>; handleThreadStatus(_packet: GdbPacket): Promise<GdbPacket>; handleExtendedCommand(_packet: GdbPacket): Promise<GdbPacket>; } export {};