blob: fba3ec137dcccdfd5d94b803d1fd47d14a3ceeeb [file] [log] [blame]
// Copyright 2014 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Package proxyrpc defines the types used to represent the RPC calls
// used to the ogleproxy.
package proxyrpc // import "golang.org/x/debug/ogle/program/proxyrpc"
import "golang.org/x/debug/ogle/program"
// For regularity, each method has a unique Request and a Response type even
// when not strictly necessary.
// File I/O, at the top because they're simple.
type ReadAtRequest struct {
FD int
Len int
Offset int64
}
type ReadAtResponse struct {
Data []byte
}
type WriteAtRequest struct {
FD int
Data []byte
Offset int64
}
type WriteAtResponse struct {
Len int
}
type CloseRequest struct {
FD int
}
type CloseResponse struct {
}
// Program methods.
type OpenRequest struct {
Name string
Mode string
}
type OpenResponse struct {
FD int
}
type RunRequest struct {
}
type RunResponse struct {
Status program.Status
}
type ResumeRequest struct {
}
type ResumeResponse struct {
Status program.Status
}
type BreakpointRequest struct {
Address string
}
type BreakpointResponse struct {
PCs []uint64
}
type EvalRequest struct {
Expr string
}
type EvalResponse struct {
Result []string
}
type FramesRequest struct {
Count int
}
type FramesResponse struct {
Frames []program.Frame
}