dra

package
v0.0.0-...-f0d17a2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2023 License: Apache-2.0, Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ClientMaxReceiveMessageSize = 1024 * 1024 * 100

	TimeStart = 10800
	//TimeStart       = 0
	TimeNew         = 3600
	TimeBoot        = 3600
	TimeWriteToDisk = 3600
	Exit            = false
	TimeExit        = 3600 * 24

	DebugLevel = 2

	TaskQueueNumber     = 4
	TaskCountLimitation = 2
	TaskCountBase       = 1

	NeedBoot  = false
	NeedInput = false

	TaskBoot = false

	// collect original path
	CollectPath = false
	// if the path is unstable, collect all of them
	CollectUnstable = false
	// collect coverage by intersection instead of union.
	StableCoverage = true
	// check uncovered Condition address in syz-fuzzer once find new test case
	CheckCondition = true
)

useful const

View Source
const (
	NameDevice         = "dev_"
	NameBase           = "base"
	NameWithDra        = "01-result-with-dra"
	NameWithoutDra     = "02-result-without-dra"
	NameData           = "data.txt"
	NameDataDependency = "dataDependency.bin"
	NameDataResult     = "dataResult.bin"
	NameDataRunTime    = "dataRunTime.bin"
	NameStatistics     = "statistics.bin"
	NameUnstable       = "unstable.bin"

	NameDriver    = "built-in"
	FileAsm       = NameDriver + ".s"
	FileBc        = NameDriver + ".bc"
	FileDRAConfig = "dra.json"

	NameResultUnstable = "unstable.txt"
)

Variables

View Source
var (
	UncoveredAddressKind_name = map[int32]string{
		0: "UncoveredAddressOutside",
		1: "UncoveredAddressInputRelated",
		2: "UncoveredAddressDependencyRelated",
		3: "UncoveredAddressOther",
	}
	UncoveredAddressKind_value = map[string]int32{
		"UncoveredAddressOutside":           0,
		"UncoveredAddressInputRelated":      1,
		"UncoveredAddressDependencyRelated": 2,
		"UncoveredAddressOther":             3,
	}
)

Enum value maps for UncoveredAddressKind.

View Source
var (
	FileOperationsKind_name = map[int32]string{
		0:  "default",
		1:  "init",
		2:  "llseek",
		3:  "read",
		4:  "write",
		9:  "poll",
		10: "unlocked_ioctl",
		12: "mmap",
		14: "open",
		16: "release",
	}
	FileOperationsKind_value = map[string]int32{
		"default":        0,
		"init":           1,
		"llseek":         2,
		"read":           3,
		"write":          4,
		"poll":           9,
		"unlocked_ioctl": 10,
		"mmap":           12,
		"open":           14,
		"release":        16,
	}
)

Enum value maps for FileOperationsKind.

View Source
var (
	FuzzingStat_name = map[int32]string{
		0:  "StatGenerate",
		1:  "StatFuzz",
		2:  "StatCandidate",
		3:  "StatTriage",
		4:  "StatMinimize",
		5:  "StatSmash",
		6:  "StatHint",
		7:  "StatSeed",
		8:  "StatDependency",
		9:  "StatDependencyBoot",
		-1: "StatDefault",
	}
	FuzzingStat_value = map[string]int32{
		"StatGenerate":       0,
		"StatFuzz":           1,
		"StatCandidate":      2,
		"StatTriage":         3,
		"StatMinimize":       4,
		"StatSmash":          5,
		"StatHint":           6,
		"StatSeed":           7,
		"StatDependency":     8,
		"StatDependencyBoot": 9,
		"StatDefault":        -1,
	}
)

Enum value maps for FuzzingStat.

View Source
var (
	TaskStatus_name = map[int32]string{
		0:  "untested",
		1:  "testing",
		-5: "not_find_input",
		-4: "not_find_write_address",
		-3: "not_find_write_input",
		11: "unstable_write",
		12: "stable_write",
		13: "unstable_condition",
		14: "stable_condition",
		15: "unstable_insert_write",
		16: "stable_insert_write",
		17: "unstable_insert_condition",
		18: "stable_insert_condition",
		19: "unstable",
		21: "tested",
		22: "covered",
		31: "recursive",
		32: "out",
	}
	TaskStatus_value = map[string]int32{
		"untested":                  0,
		"testing":                   1,
		"not_find_input":            -5,
		"not_find_write_address":    -4,
		"not_find_write_input":      -3,
		"unstable_write":            11,
		"stable_write":              12,
		"unstable_condition":        13,
		"stable_condition":          14,
		"unstable_insert_write":     15,
		"stable_insert_write":       16,
		"unstable_insert_condition": 17,
		"stable_insert_condition":   18,
		"unstable":                  19,
		"tested":                    21,
		"covered":                   22,
		"recursive":                 31,
		"out":                       32,
	}
)

Enum value maps for TaskStatus.

View Source
var (
	WriteStatementKind_name = map[int32]string{
		0: "WriteStatementConstant",
		1: "WriteStatementNonconstant",
		2: "WriteStatementDependencyRelated",
		3: "WriteStatementNotDependencyRelated",
	}
	WriteStatementKind_value = map[string]int32{
		"WriteStatementConstant":             0,
		"WriteStatementNonconstant":          1,
		"WriteStatementDependencyRelated":    2,
		"WriteStatementNotDependencyRelated": 3,
	}
)

Enum value maps for WriteStatementKind.

View Source
var (
	TaskKind_name = map[int32]string{
		0: "Boot",
		1: "High",
		3: "Ckeck",
		5: "Normal",
	}
	TaskKind_value = map[string]int32{
		"Boot":   0,
		"High":   1,
		"Ckeck":  3,
		"Normal": 5,
	}
)

Enum value maps for TaskKind.

View Source
var DependencyRPC_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "dra.DependencyRPC",
	HandlerType: (*DependencyRPCServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetVMOffsets",
			Handler:    _DependencyRPC_GetVMOffsets_Handler,
		},
		{
			MethodName: "SendNumberBasicBlock",
			Handler:    _DependencyRPC_SendNumberBasicBlock_Handler,
		},
		{
			MethodName: "SendNumberBasicBlockCovered",
			Handler:    _DependencyRPC_SendNumberBasicBlockCovered_Handler,
		},
		{
			MethodName: "GetNewInput",
			Handler:    _DependencyRPC_GetNewInput_Handler,
		},
		{
			MethodName: "SendDependency",
			Handler:    _DependencyRPC_SendDependency_Handler,
		},
		{
			MethodName: "GetCondition",
			Handler:    _DependencyRPC_GetCondition_Handler,
		},
		{
			MethodName: "SendWriteAddress",
			Handler:    _DependencyRPC_SendWriteAddress_Handler,
		},
		{
			MethodName: "Connect",
			Handler:    _DependencyRPC_Connect_Handler,
		},
		{
			MethodName: "GetDataDependency",
			Handler:    _DependencyRPC_GetDataDependency_Handler,
		},
		{
			MethodName: "SendNewInput",
			Handler:    _DependencyRPC_SendNewInput_Handler,
		},
		{
			MethodName: "GetTasks",
			Handler:    _DependencyRPC_GetTasks_Handler,
		},
		{
			MethodName: "GetBootTasks",
			Handler:    _DependencyRPC_GetBootTasks_Handler,
		},
		{
			MethodName: "ReturnTasks",
			Handler:    _DependencyRPC_ReturnTasks_Handler,
		},
		{
			MethodName: "SendBootInput",
			Handler:    _DependencyRPC_SendBootInput_Handler,
		},
		{
			MethodName: "SendUnstableInput",
			Handler:    _DependencyRPC_SendUnstableInput_Handler,
		},
		{
			MethodName: "SendLog",
			Handler:    _DependencyRPC_SendLog_Handler,
		},
		{
			MethodName: "sendStat",
			Handler:    _DependencyRPC_SendStat_Handler,
		},
		{
			MethodName: "GetNeed",
			Handler:    _DependencyRPC_GetNeed_Handler,
		},
		{
			MethodName: "SendNeedInput",
			Handler:    _DependencyRPC_SendNeedInput_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "DependencyRPC.proto",
}

DependencyRPC_ServiceDesc is the grpc.ServiceDesc for DependencyRPC service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var FileVmlinuxObjdump = filepath.Join(pathLinux, "vmlinux.objdump")
View Source
var File_DependencyRPC_proto protoreflect.FileDescriptor
View Source
var File_Dependency_proto protoreflect.FileDescriptor
View Source
var File_Input_proto protoreflect.FileDescriptor
View Source
var File_Statistic_proto protoreflect.FileDescriptor

Functions

func CheckPath

func CheckPath(newPath []uint32, unstablePath []uint32) (int, int, int)

CheckPath ...

func RegisterDependencyRPCServer

func RegisterDependencyRPCServer(s grpc.ServiceRegistrar, srv DependencyRPCServer)

Types

type Address

type Address struct {
	Name string            `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Addr map[string]string `` /* 149-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Address) Descriptor deprecated

func (*Address) Descriptor() ([]byte, []int)

Deprecated: Use Address.ProtoReflect.Descriptor instead.

func (*Address) GetAddr

func (x *Address) GetAddr() map[string]string

func (*Address) GetName

func (x *Address) GetName() string

func (*Address) ProtoMessage

func (*Address) ProtoMessage()

func (*Address) ProtoReflect

func (x *Address) ProtoReflect() protoreflect.Message

func (*Address) Reset

func (x *Address) Reset()

func (*Address) String

func (x *Address) String() string

type Call

type Call struct {
	Idx     uint32            `protobuf:"varint,1,opt,name=idx,proto3" json:"idx,omitempty"`
	Address map[uint32]uint32 `` //    repeated uint32 address = 2;
	/* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Call) Descriptor deprecated

func (*Call) Descriptor() ([]byte, []int)

Deprecated: Use Call.ProtoReflect.Descriptor instead.

func (*Call) GetAddress

func (x *Call) GetAddress() map[uint32]uint32

func (*Call) GetIdx

func (x *Call) GetIdx() uint32

func (*Call) ProtoMessage

func (*Call) ProtoMessage()

func (*Call) ProtoReflect

func (x *Call) ProtoReflect() protoreflect.Message

func (*Call) Reset

func (x *Call) Reset()

func (*Call) String

func (x *Call) String() string

type Condition

type Condition struct {
	ConditionAddress          uint64 `protobuf:"varint,1,opt,name=condition_address,json=conditionAddress,proto3" json:"condition_address,omitempty"`
	SyzkallerConditionAddress uint32 `` /* 139-byte string literal not displayed */
	UncoveredAddress          uint64 `protobuf:"varint,3,opt,name=uncovered_address,json=uncoveredAddress,proto3" json:"uncovered_address,omitempty"`
	SyzkallerUncoveredAddress uint32 `` /* 139-byte string literal not displayed */
	Idx                       uint32 `protobuf:"varint,5,opt,name=idx,proto3" json:"idx,omitempty"`
	Successor                 uint64 `protobuf:"varint,6,opt,name=successor,proto3" json:"successor,omitempty"`
	//    map<uint64, uint32> right_branch_address = 7;
	//    map<uint32, uint32> syzkaller_right_branch_address = 8;
	//    map<uint64, uint32> wrong_branch_address = 9;
	//    map<uint32, uint32> syzkaller_wrong_branch_address = 10;
	RightBranchAddress          []uint64 `protobuf:"varint,7,rep,packed,name=right_branch_address,json=rightBranchAddress,proto3" json:"right_branch_address,omitempty"`
	SyzkallerRightBranchAddress []uint32 `` /* 154-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Condition) Descriptor deprecated

func (*Condition) Descriptor() ([]byte, []int)

Deprecated: Use Condition.ProtoReflect.Descriptor instead.

func (*Condition) GetConditionAddress

func (x *Condition) GetConditionAddress() uint64

func (*Condition) GetIdx

func (x *Condition) GetIdx() uint32

func (*Condition) GetRightBranchAddress

func (x *Condition) GetRightBranchAddress() []uint64

func (*Condition) GetSuccessor

func (x *Condition) GetSuccessor() uint64

func (*Condition) GetSyzkallerConditionAddress

func (x *Condition) GetSyzkallerConditionAddress() uint32

func (*Condition) GetSyzkallerRightBranchAddress

func (x *Condition) GetSyzkallerRightBranchAddress() []uint32

func (*Condition) GetSyzkallerUncoveredAddress

func (x *Condition) GetSyzkallerUncoveredAddress() uint32

func (*Condition) GetUncoveredAddress

func (x *Condition) GetUncoveredAddress() uint64

func (*Condition) ProtoMessage

func (*Condition) ProtoMessage()

func (*Condition) ProtoReflect

func (x *Condition) ProtoReflect() protoreflect.Message

func (*Condition) Reset

func (x *Condition) Reset()

func (*Condition) String

func (x *Condition) String() string

type Conditions

type Conditions struct {

	//    map<uint64, Condition> condition = 10;
	Condition []*Condition `protobuf:"bytes,10,rep,name=condition,proto3" json:"condition,omitempty"`
	// contains filtered or unexported fields
}

func (*Conditions) Descriptor deprecated

func (*Conditions) Descriptor() ([]byte, []int)

Deprecated: Use Conditions.ProtoReflect.Descriptor instead.

func (*Conditions) GetCondition

func (x *Conditions) GetCondition() []*Condition

func (*Conditions) ProtoMessage

func (*Conditions) ProtoMessage()

func (*Conditions) ProtoReflect

func (x *Conditions) ProtoReflect() protoreflect.Message

func (*Conditions) Reset

func (x *Conditions) Reset()

func (*Conditions) String

func (x *Conditions) String() string

type Coverage

type Coverage struct {
	Coverage map[uint32]uint32 `` /* 159-byte string literal not displayed */
	Time     []*Time           `protobuf:"bytes,2,rep,name=time,proto3" json:"time,omitempty"`
	// contains filtered or unexported fields
}

func (*Coverage) Descriptor deprecated

func (*Coverage) Descriptor() ([]byte, []int)

Deprecated: Use Coverage.ProtoReflect.Descriptor instead.

func (*Coverage) GetCoverage

func (x *Coverage) GetCoverage() map[uint32]uint32

func (*Coverage) GetTime

func (x *Coverage) GetTime() []*Time

func (*Coverage) ProtoMessage

func (*Coverage) ProtoMessage()

func (*Coverage) ProtoReflect

func (x *Coverage) ProtoReflect() protoreflect.Message

func (*Coverage) Reset

func (x *Coverage) Reset()

func (*Coverage) String

func (x *Coverage) String() string

type DRPCClient

type DRPCClient struct {
	MuDependency   *sync.RWMutex
	DataDependency *DataDependency

	DependencyPriority bool
	// contains filtered or unexported fields
}

DRPCClient : the RPC client

func (*DRPCClient) Connect

func (d *DRPCClient) Connect(name *string) bool

Connect : connect to syz-manager

func (*DRPCClient) GetBootTasks

func (d *DRPCClient) GetBootTasks(name string) *Tasks

GetBootTasks ...

func (*DRPCClient) GetDataDependency

func (d *DRPCClient) GetDataDependency()

func (*DRPCClient) GetNeed

func (d *DRPCClient) GetNeed() (*Empty, error)

GetNeed : to know whether syz-manager needs input

func (*DRPCClient) GetTasks

func (d *DRPCClient) GetTasks(name string) *Tasks

GetTasks : get task from syz-manager

func (*DRPCClient) ReturnTasks

func (d *DRPCClient) ReturnTasks(task *Tasks)

ReturnTasks : return the task to syz-manager

func (*DRPCClient) RunDependencyRPCClient

func (d *DRPCClient) RunDependencyRPCClient(address, name *string)

RunDependencyRPCClient : run the client

func (*DRPCClient) SSendLog

func (d *DRPCClient) SSendLog()

SSendLog : real send log to syz-manager

func (*DRPCClient) SendBootInput

func (d *DRPCClient) SendBootInput(input *Input)

SendBootInput ...

func (*DRPCClient) SendLog

func (d *DRPCClient) SendLog(log string)

SendLog ...

func (*DRPCClient) SendNeedInput

func (d *DRPCClient) SendNeedInput(input *Input)

SendNeedInput : send random input to syz -manager

func (*DRPCClient) SendNewInput

func (d *DRPCClient) SendNewInput(input *Input)

SendNewInput ...

func (*DRPCClient) SendStat

func (d *DRPCClient) SendStat(stat *Statistic) (*Empty, error)

SendStat : send stat information to syz-manager

func (*DRPCClient) SendUnstableInput

func (d *DRPCClient) SendUnstableInput(unstableInput *UnstableInput)

SendUnstableInput : send unstable input to syz-manager

type DataDependency

type DataDependency struct {
	Input            map[string]*Input            `` /* 151-byte string literal not displayed */
	UncoveredAddress map[uint32]*UncoveredAddress `` /* 198-byte string literal not displayed */
	WriteAddress     map[uint32]*WriteAddress     `` /* 186-byte string literal not displayed */
	OtherInput       map[string]*Input            `` /* 180-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*DataDependency) Descriptor deprecated

func (*DataDependency) Descriptor() ([]byte, []int)

Deprecated: Use DataDependency.ProtoReflect.Descriptor instead.

func (*DataDependency) GetInput

func (x *DataDependency) GetInput() map[string]*Input

func (*DataDependency) GetOtherInput

func (x *DataDependency) GetOtherInput() map[string]*Input

func (*DataDependency) GetTaskByInput

func (m *DataDependency) GetTaskByInput(input *Input) (*UncoveredAddress, []*Task, string)

func (*DataDependency) GetUncoveredAddress

func (x *DataDependency) GetUncoveredAddress() map[uint32]*UncoveredAddress

func (*DataDependency) GetWriteAddress

func (x *DataDependency) GetWriteAddress() map[uint32]*WriteAddress

func (*DataDependency) ProtoMessage

func (*DataDependency) ProtoMessage()

func (*DataDependency) ProtoReflect

func (x *DataDependency) ProtoReflect() protoreflect.Message

func (*DataDependency) Reset

func (x *DataDependency) Reset()

func (*DataDependency) String

func (x *DataDependency) String() string

type DataResult

type DataResult struct {
	CoveredAddress map[uint32]*UncoveredAddress `` /* 192-byte string literal not displayed */
	FileOperations map[string]*FileOperations   `` /* 191-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*DataResult) Descriptor deprecated

func (*DataResult) Descriptor() ([]byte, []int)

Deprecated: Use DataResult.ProtoReflect.Descriptor instead.

func (*DataResult) GetCoveredAddress

func (x *DataResult) GetCoveredAddress() map[uint32]*UncoveredAddress

func (*DataResult) GetFileOperations

func (x *DataResult) GetFileOperations() map[string]*FileOperations

func (*DataResult) ProtoMessage

func (*DataResult) ProtoMessage()

func (*DataResult) ProtoReflect

func (x *DataResult) ProtoReflect() protoreflect.Message

func (*DataResult) Reset

func (x *DataResult) Reset()

func (*DataResult) String

func (x *DataResult) String() string

type DataRunTime

type DataRunTime struct {
	Tasks      *Tasks `protobuf:"bytes,11,opt,name=tasks,proto3" json:"tasks,omitempty"`
	Return     *Tasks `protobuf:"bytes,12,opt,name=return,proto3" json:"return,omitempty"`
	HighTask   *Tasks `protobuf:"bytes,13,opt,name=high_task,json=highTask,proto3" json:"high_task,omitempty"`
	BootTask   *Tasks `protobuf:"bytes,20,opt,name=boot_task,json=bootTask,proto3" json:"boot_task,omitempty"`
	ReturnBoot *Tasks `protobuf:"bytes,21,opt,name=return_boot,json=returnBoot,proto3" json:"return_boot,omitempty"`
	// contains filtered or unexported fields
}

func (*DataRunTime) Descriptor deprecated

func (*DataRunTime) Descriptor() ([]byte, []int)

Deprecated: Use DataRunTime.ProtoReflect.Descriptor instead.

func (*DataRunTime) GetBootTask

func (x *DataRunTime) GetBootTask() *Tasks

func (*DataRunTime) GetHighTask

func (x *DataRunTime) GetHighTask() *Tasks

func (*DataRunTime) GetReturn

func (x *DataRunTime) GetReturn() *Tasks

func (*DataRunTime) GetReturnBoot

func (x *DataRunTime) GetReturnBoot() *Tasks

func (*DataRunTime) GetTasks

func (x *DataRunTime) GetTasks() *Tasks

func (*DataRunTime) ProtoMessage

func (*DataRunTime) ProtoMessage()

func (*DataRunTime) ProtoReflect

func (x *DataRunTime) ProtoReflect() protoreflect.Message

func (*DataRunTime) Reset

func (x *DataRunTime) Reset()

func (*DataRunTime) String

func (x *DataRunTime) String() string

type Dependency

type Dependency struct {
	Input            *Input            `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	UncoveredAddress *UncoveredAddress `protobuf:"bytes,2,opt,name=uncovered_address,json=uncoveredAddress,proto3" json:"uncovered_address,omitempty"`
	WriteAddress     []*WriteAddress   `protobuf:"bytes,3,rep,name=write_address,json=writeAddress,proto3" json:"write_address,omitempty"`
	// contains filtered or unexported fields
}

func (*Dependency) Descriptor deprecated

func (*Dependency) Descriptor() ([]byte, []int)

Deprecated: Use Dependency.ProtoReflect.Descriptor instead.

func (*Dependency) GetInput

func (x *Dependency) GetInput() *Input

func (*Dependency) GetUncoveredAddress

func (x *Dependency) GetUncoveredAddress() *UncoveredAddress

func (*Dependency) GetWriteAddress

func (x *Dependency) GetWriteAddress() []*WriteAddress

func (*Dependency) ProtoMessage

func (*Dependency) ProtoMessage()

func (*Dependency) ProtoReflect

func (x *Dependency) ProtoReflect() protoreflect.Message

func (*Dependency) Reset

func (x *Dependency) Reset()

func (*Dependency) String

func (x *Dependency) String() string

type DependencyRPCClient

type DependencyRPCClient interface {
	// DRA and syz-manager
	GetVMOffsets(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
	SendNumberBasicBlock(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
	SendNumberBasicBlockCovered(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
	GetNewInput(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Inputs, error)
	SendDependency(ctx context.Context, in *Dependency, opts ...grpc.CallOption) (*Empty, error)
	GetCondition(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Conditions, error)
	SendWriteAddress(ctx context.Context, in *WriteAddresses, opts ...grpc.CallOption) (*Empty, error)
	//syz-fuzzer and syz-manager
	Connect(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
	GetDataDependency(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*DataDependency, error)
	SendNewInput(ctx context.Context, in *Input, opts ...grpc.CallOption) (*Empty, error)
	GetTasks(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Tasks, error)
	GetBootTasks(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Tasks, error)
	ReturnTasks(ctx context.Context, in *Tasks, opts ...grpc.CallOption) (*Empty, error)
	SendBootInput(ctx context.Context, in *Input, opts ...grpc.CallOption) (*Empty, error)
	SendUnstableInput(ctx context.Context, in *UnstableInput, opts ...grpc.CallOption) (*Empty, error)
	SendLog(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
	SendStat(ctx context.Context, in *Statistic, opts ...grpc.CallOption) (*Empty, error)
	GetNeed(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
	SendNeedInput(ctx context.Context, in *Input, opts ...grpc.CallOption) (*Empty, error)
}

DependencyRPCClient is the client API for DependencyRPC service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type DependencyRPCServer

type DependencyRPCServer interface {
	// DRA and syz-manager
	GetVMOffsets(context.Context, *Empty) (*Empty, error)
	SendNumberBasicBlock(context.Context, *Empty) (*Empty, error)
	SendNumberBasicBlockCovered(context.Context, *Empty) (*Empty, error)
	GetNewInput(context.Context, *Empty) (*Inputs, error)
	SendDependency(context.Context, *Dependency) (*Empty, error)
	GetCondition(context.Context, *Empty) (*Conditions, error)
	SendWriteAddress(context.Context, *WriteAddresses) (*Empty, error)
	//syz-fuzzer and syz-manager
	Connect(context.Context, *Empty) (*Empty, error)
	GetDataDependency(context.Context, *Empty) (*DataDependency, error)
	SendNewInput(context.Context, *Input) (*Empty, error)
	GetTasks(context.Context, *Empty) (*Tasks, error)
	GetBootTasks(context.Context, *Empty) (*Tasks, error)
	ReturnTasks(context.Context, *Tasks) (*Empty, error)
	SendBootInput(context.Context, *Input) (*Empty, error)
	SendUnstableInput(context.Context, *UnstableInput) (*Empty, error)
	SendLog(context.Context, *Empty) (*Empty, error)
	SendStat(context.Context, *Statistic) (*Empty, error)
	GetNeed(context.Context, *Empty) (*Empty, error)
	SendNeedInput(context.Context, *Input) (*Empty, error)
	// contains filtered or unexported methods
}

DependencyRPCServer is the server API for DependencyRPC service. All implementations must embed UnimplementedDependencyRPCServer for forward compatibility

type Empty

type Empty struct {
	Address uint32 `protobuf:"varint,1,opt,name=address,proto3" json:"address,omitempty"`
	Name    string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*Empty) Descriptor deprecated

func (*Empty) Descriptor() ([]byte, []int)

Deprecated: Use Empty.ProtoReflect.Descriptor instead.

func (*Empty) GetAddress

func (x *Empty) GetAddress() uint32

func (*Empty) GetName

func (x *Empty) GetName() string

func (*Empty) ProtoMessage

func (*Empty) ProtoMessage()

func (*Empty) ProtoReflect

func (x *Empty) ProtoReflect() protoreflect.Message

func (*Empty) Reset

func (x *Empty) Reset()

func (*Empty) String

func (x *Empty) String() string

type FileOperations

type FileOperations struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	//cmd or 0, function
	FileOperationsFunction map[int64]*FileOperationsFunction `` /* 218-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*FileOperations) Descriptor deprecated

func (*FileOperations) Descriptor() ([]byte, []int)

Deprecated: Use FileOperations.ProtoReflect.Descriptor instead.

func (*FileOperations) GetFileOperationsFunction

func (x *FileOperations) GetFileOperationsFunction() map[int64]*FileOperationsFunction

func (*FileOperations) GetName

func (x *FileOperations) GetName() string

func (*FileOperations) ProtoMessage

func (*FileOperations) ProtoMessage()

func (*FileOperations) ProtoReflect

func (x *FileOperations) ProtoReflect() protoreflect.Message

func (*FileOperations) Reset

func (x *FileOperations) Reset()

func (*FileOperations) String

func (x *FileOperations) String() string

type FileOperationsFunction

type FileOperationsFunction struct {
	Name               string             `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	FileOperationsName string             `protobuf:"bytes,2,opt,name=file_operations_name,json=fileOperationsName,proto3" json:"file_operations_name,omitempty"`
	Kind               FileOperationsKind `protobuf:"varint,3,opt,name=kind,proto3,enum=dra.FileOperationsKind" json:"kind,omitempty"`
	Cmd                uint64             `protobuf:"varint,4,opt,name=cmd,proto3" json:"cmd,omitempty"`
	//    repeated Condition critical_condition = 4;
	//    map<uint32, Condition> critical_condition = 4;
	// it is the data of this syscall
	RunTimeDate *RunTimeData `protobuf:"bytes,5,opt,name=run_time_date,json=runTimeDate,proto3" json:"run_time_date,omitempty"`
	//    repeated WriteAddress write_address = 11;
	WriteAddress map[uint32]uint32 `` /* 188-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*FileOperationsFunction) Descriptor deprecated

func (*FileOperationsFunction) Descriptor() ([]byte, []int)

Deprecated: Use FileOperationsFunction.ProtoReflect.Descriptor instead.

func (*FileOperationsFunction) GetCmd

func (x *FileOperationsFunction) GetCmd() uint64

func (*FileOperationsFunction) GetFileOperationsName

func (x *FileOperationsFunction) GetFileOperationsName() string

func (*FileOperationsFunction) GetKind

func (*FileOperationsFunction) GetName

func (x *FileOperationsFunction) GetName() string

func (*FileOperationsFunction) GetRunTimeDate

func (x *FileOperationsFunction) GetRunTimeDate() *RunTimeData

func (*FileOperationsFunction) GetWriteAddress

func (x *FileOperationsFunction) GetWriteAddress() map[uint32]uint32

func (*FileOperationsFunction) ProtoMessage

func (*FileOperationsFunction) ProtoMessage()

func (*FileOperationsFunction) ProtoReflect

func (x *FileOperationsFunction) ProtoReflect() protoreflect.Message

func (*FileOperationsFunction) Reset

func (x *FileOperationsFunction) Reset()

func (*FileOperationsFunction) String

func (x *FileOperationsFunction) String() string

type FileOperationsKind

type FileOperationsKind int32
const (
	FileOperationsKind_default        FileOperationsKind = 0
	FileOperationsKind_init           FileOperationsKind = 1
	FileOperationsKind_llseek         FileOperationsKind = 2
	FileOperationsKind_read           FileOperationsKind = 3
	FileOperationsKind_write          FileOperationsKind = 4
	FileOperationsKind_poll           FileOperationsKind = 9
	FileOperationsKind_unlocked_ioctl FileOperationsKind = 10
	FileOperationsKind_mmap           FileOperationsKind = 12
	FileOperationsKind_open           FileOperationsKind = 14
	FileOperationsKind_release        FileOperationsKind = 16
)

func (FileOperationsKind) Descriptor

func (FileOperationsKind) Enum

func (FileOperationsKind) EnumDescriptor deprecated

func (FileOperationsKind) EnumDescriptor() ([]byte, []int)

Deprecated: Use FileOperationsKind.Descriptor instead.

func (FileOperationsKind) Number

func (FileOperationsKind) String

func (x FileOperationsKind) String() string

func (FileOperationsKind) Type

type FuzzingStat

type FuzzingStat int32
const (
	FuzzingStat_StatGenerate       FuzzingStat = 0
	FuzzingStat_StatFuzz           FuzzingStat = 1
	FuzzingStat_StatCandidate      FuzzingStat = 2
	FuzzingStat_StatTriage         FuzzingStat = 3
	FuzzingStat_StatMinimize       FuzzingStat = 4
	FuzzingStat_StatSmash          FuzzingStat = 5
	FuzzingStat_StatHint           FuzzingStat = 6
	FuzzingStat_StatSeed           FuzzingStat = 7
	FuzzingStat_StatDependency     FuzzingStat = 8
	FuzzingStat_StatDependencyBoot FuzzingStat = 9
	FuzzingStat_StatDefault        FuzzingStat = -1
)

func (FuzzingStat) Descriptor

func (FuzzingStat) Enum

func (x FuzzingStat) Enum() *FuzzingStat

func (FuzzingStat) EnumDescriptor deprecated

func (FuzzingStat) EnumDescriptor() ([]byte, []int)

Deprecated: Use FuzzingStat.Descriptor instead.

func (FuzzingStat) Number

func (x FuzzingStat) Number() protoreflect.EnumNumber

func (FuzzingStat) String

func (x FuzzingStat) String() string

func (FuzzingStat) Type

type Input

type Input struct {

	// for program
	Sig                        string           `protobuf:"bytes,11,opt,name=sig,proto3" json:"sig,omitempty"` // hash value for each input from syzkaller
	Program                    []byte           `protobuf:"bytes,12,opt,name=program,proto3" json:"program,omitempty"`
	Call                       map[uint32]*Call ``                                                                    /* 151-byte string literal not displayed */
	Stable                     uint32           `protobuf:"varint,14,opt,name=stable,proto3" json:"stable,omitempty"` // whether the input is stable
	Paths                      []*Paths         `protobuf:"bytes,16,rep,name=paths,proto3" json:"paths,omitempty"`    // different paths if unstable
	NumberConditions           uint32           `protobuf:"varint,17,opt,name=number_conditions,json=numberConditions,proto3" json:"number_conditions,omitempty"`
	NumberConditionsDependency uint32           `` /* 143-byte string literal not displayed */
	// for dependency
	Stat FuzzingStat `protobuf:"varint,21,opt,name=stat,proto3,enum=dra.FuzzingStat" json:"stat,omitempty"`
	// uncovered address, index by bits
	UncoveredAddress map[uint32]uint32 `` /* 200-byte string literal not displayed */
	// write address, index by bits
	WriteAddress      map[uint32]uint32 `` /* 188-byte string literal not displayed */
	ProgramBeforeMini []byte            `protobuf:"bytes,30,opt,name=program_before_mini,json=programBeforeMini,proto3" json:"program_before_mini,omitempty"`
	// contains filtered or unexported fields
}

func (*Input) Descriptor deprecated

func (*Input) Descriptor() ([]byte, []int)

Deprecated: Use Input.ProtoReflect.Descriptor instead.

func (*Input) GetCall

func (x *Input) GetCall() map[uint32]*Call

func (*Input) GetNumberConditions

func (x *Input) GetNumberConditions() uint32

func (*Input) GetNumberConditionsDependency

func (x *Input) GetNumberConditionsDependency() uint32

func (*Input) GetPaths

func (x *Input) GetPaths() []*Paths

func (*Input) GetProgram

func (x *Input) GetProgram() []byte

func (*Input) GetProgramBeforeMini

func (x *Input) GetProgramBeforeMini() []byte

func (*Input) GetSig

func (x *Input) GetSig() string

func (*Input) GetStable

func (x *Input) GetStable() uint32

func (*Input) GetStat

func (x *Input) GetStat() FuzzingStat

func (*Input) GetUncoveredAddress

func (x *Input) GetUncoveredAddress() map[uint32]uint32

func (*Input) GetWriteAddress

func (x *Input) GetWriteAddress() map[uint32]uint32

func (*Input) ProtoMessage

func (*Input) ProtoMessage()

func (*Input) ProtoReflect

func (x *Input) ProtoReflect() protoreflect.Message

func (*Input) Reset

func (x *Input) Reset()

func (*Input) String

func (x *Input) String() string

type Inputs

type Inputs struct {

	// map<string, Input> input = 1;
	Input []*Input `protobuf:"bytes,1,rep,name=input,proto3" json:"input,omitempty"`
	// contains filtered or unexported fields
}

func (*Inputs) Descriptor deprecated

func (*Inputs) Descriptor() ([]byte, []int)

Deprecated: Use Inputs.ProtoReflect.Descriptor instead.

func (*Inputs) GetInput

func (x *Inputs) GetInput() []*Input

func (*Inputs) ProtoMessage

func (*Inputs) ProtoMessage()

func (*Inputs) ProtoReflect

func (x *Inputs) ProtoReflect() protoreflect.Message

func (*Inputs) Reset

func (x *Inputs) Reset()

func (*Inputs) String

func (x *Inputs) String() string

type Path

type Path struct {
	Address []uint32 `protobuf:"varint,1,rep,packed,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

func (*Path) Descriptor deprecated

func (*Path) Descriptor() ([]byte, []int)

Deprecated: Use Path.ProtoReflect.Descriptor instead.

func (*Path) GetAddress

func (x *Path) GetAddress() []uint32

func (*Path) ProtoMessage

func (*Path) ProtoMessage()

func (*Path) ProtoReflect

func (x *Path) ProtoReflect() protoreflect.Message

func (*Path) Reset

func (x *Path) Reset()

func (*Path) String

func (x *Path) String() string

type Paths

type Paths struct {
	Path map[uint32]*Path `` /* 150-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Paths) Descriptor deprecated

func (*Paths) Descriptor() ([]byte, []int)

Deprecated: Use Paths.ProtoReflect.Descriptor instead.

func (*Paths) GetPath

func (x *Paths) GetPath() map[uint32]*Path

func (*Paths) ProtoMessage

func (*Paths) ProtoMessage()

func (*Paths) ProtoReflect

func (x *Paths) ProtoReflect() protoreflect.Message

func (*Paths) Reset

func (x *Paths) Reset()

func (*Paths) String

func (x *Paths) String() string

type RunTimeData

type RunTimeData struct {
	Priority                uint32     `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"`
	WriteAddress            uint32     `protobuf:"varint,2,opt,name=write_address,json=writeAddress,proto3" json:"write_address,omitempty"`
	ConditionAddress        uint32     `protobuf:"varint,3,opt,name=condition_address,json=conditionAddress,proto3" json:"condition_address,omitempty"`
	Address                 uint32     `protobuf:"varint,4,opt,name=address,proto3" json:"address,omitempty"`
	RightBranchAddress      []uint32   `protobuf:"varint,6,rep,packed,name=right_branch_address,json=rightBranchAddress,proto3" json:"right_branch_address,omitempty"`
	TaskStatus              TaskStatus `protobuf:"varint,10,opt,name=task_status,json=taskStatus,proto3,enum=dra.TaskStatus" json:"task_status,omitempty"`
	Program                 []byte     `protobuf:"bytes,12,opt,name=program,proto3" json:"program,omitempty"`
	Idx                     uint32     `protobuf:"varint,13,opt,name=idx,proto3" json:"idx,omitempty"`
	RecursiveCount          uint32     `protobuf:"varint,14,opt,name=recursive_count,json=recursiveCount,proto3" json:"recursive_count,omitempty"`
	CheckWrite              bool       `protobuf:"varint,20,opt,name=checkWrite,proto3" json:"checkWrite,omitempty"`
	CheckCondition          bool       `protobuf:"varint,21,opt,name=checkCondition,proto3" json:"checkCondition,omitempty"`
	CheckAddress            bool       `protobuf:"varint,22,opt,name=checkAddress,proto3" json:"checkAddress,omitempty"`
	CheckRightBranchAddress []bool     `protobuf:"varint,23,rep,packed,name=checkRightBranchAddress,proto3" json:"checkRightBranchAddress,omitempty"` //    map<uint32, uint32> right_branch_address = 16;
	// contains filtered or unexported fields
}

func (*RunTimeData) Descriptor deprecated

func (*RunTimeData) Descriptor() ([]byte, []int)

Deprecated: Use RunTimeData.ProtoReflect.Descriptor instead.

func (*RunTimeData) GetAddress

func (x *RunTimeData) GetAddress() uint32

func (*RunTimeData) GetCheckAddress

func (x *RunTimeData) GetCheckAddress() bool

func (*RunTimeData) GetCheckCondition

func (x *RunTimeData) GetCheckCondition() bool

func (*RunTimeData) GetCheckRightBranchAddress

func (x *RunTimeData) GetCheckRightBranchAddress() []bool

func (*RunTimeData) GetCheckWrite

func (x *RunTimeData) GetCheckWrite() bool

func (*RunTimeData) GetConditionAddress

func (x *RunTimeData) GetConditionAddress() uint32

func (*RunTimeData) GetIdx

func (x *RunTimeData) GetIdx() uint32

func (*RunTimeData) GetPriority

func (x *RunTimeData) GetPriority() uint32

func (*RunTimeData) GetProgram

func (x *RunTimeData) GetProgram() []byte

func (*RunTimeData) GetRecursiveCount

func (x *RunTimeData) GetRecursiveCount() uint32

func (*RunTimeData) GetRightBranchAddress

func (x *RunTimeData) GetRightBranchAddress() []uint32

func (*RunTimeData) GetTaskStatus

func (x *RunTimeData) GetTaskStatus() TaskStatus

func (*RunTimeData) GetWriteAddress

func (x *RunTimeData) GetWriteAddress() uint32

func (*RunTimeData) ProtoMessage

func (*RunTimeData) ProtoMessage()

func (*RunTimeData) ProtoReflect

func (x *RunTimeData) ProtoReflect() protoreflect.Message

func (*RunTimeData) Reset

func (x *RunTimeData) Reset()

func (*RunTimeData) String

func (x *RunTimeData) String() string

type Server

type Server struct {
	Port    int
	Address string

	TimeStart          time.Time
	TimeNew            time.Time
	DependencyTask     bool
	DependencyPriority bool
	NeedInput          bool
	NeedBoot           bool

	MuFuzzer *sync.Mutex
	// contains filtered or unexported fields
}

Server is used to implement dra.DependencyServer.

func (Server) Connect

func (ss Server) Connect(_ context.Context, request *Empty) (*Empty, error)

Connect is to connect with syz-fuzzer

func (Server) GetBootTasks

func (ss Server) GetBootTasks(_ context.Context, request *Empty) (*Tasks, error)

GetBootTasks for the tasks need to be tested when boot

func (Server) GetCondition

func (ss Server) GetCondition(context.Context, *Empty) (*Conditions, error)

GetCondition is to send condition to dra

func (Server) GetDataDependency

func (ss Server) GetDataDependency(_ context.Context, request *Empty) (*DataDependency, error)

func (Server) GetNeed

func (ss Server) GetNeed(context.Context, *Empty) (*Empty, error)

GetNeed is to random get input from syz-fuzzer, not new input but used as new input.

func (Server) GetNewInput

func (ss Server) GetNewInput(context.Context, *Empty) (*Inputs, error)

GetNewInput is to send new input ro dra

func (Server) GetTasks

func (ss Server) GetTasks(_ context.Context, request *Empty) (*Tasks, error)

GetTasks ...

func (Server) GetVMOffsets

func (ss Server) GetVMOffsets(context.Context, *Empty) (*Empty, error)

GetVMOffsets is to send the offset address in vmlinux to dra

func (Server) ReturnTasks

func (ss Server) ReturnTasks(_ context.Context, request *Tasks) (*Empty, error)

ReturnTasks is to retrun the tasks from syz-fuzzer

func (*Server) RunDependencyRPCServer

func (ss *Server) RunDependencyRPCServer(corpus *map[string]rpctype.RPCInput)

RunDependencyRPCServer : run the server

func (Server) SendBootInput

func (ss Server) SendBootInput(_ context.Context, request *Input) (*Empty, error)

SendBootInput is get new input from syz-fuzzer

func (Server) SendDependency

func (ss Server) SendDependency(_ context.Context, request *Dependency) (*Empty, error)

SendDependency is to get depednency information from dra

func (Server) SendLog

func (ss Server) SendLog(_ context.Context, request *Empty) (*Empty, error)

SendLog is to get log from syz-fuzzer

func (Server) SendNeedInput

func (ss Server) SendNeedInput(_ context.Context, request *Input) (*Empty, error)

SendNeedInput is to random get input from syz-fuzzer, not new input but used as new input.

func (Server) SendNewInput

func (ss Server) SendNewInput(_ context.Context, request *Input) (*Empty, error)

SendNewInput is get new input from syz-fuzzer

func (Server) SendNumberBasicBlock

func (ss Server) SendNumberBasicBlock(ctx context.Context, empty *Empty) (*Empty, error)

func (Server) SendNumberBasicBlockCovered

func (ss Server) SendNumberBasicBlockCovered(ctx context.Context, empty *Empty) (*Empty, error)

func (Server) SendStat

func (ss Server) SendStat(_ context.Context, request *Statistic) (*Empty, error)

SendStat is to get stat from suz-fuzzer

func (Server) SendUnstableInput

func (ss Server) SendUnstableInput(_ context.Context, request *UnstableInput) (*Empty, error)

SendUnstableInput is get unstable input from syz-fuzzer

func (Server) SendWriteAddress

func (ss Server) SendWriteAddress(_ context.Context, _ *WriteAddresses) (*Empty, error)

SendWriteAddress is to get write address for the condition from dra

func (*Server) SetAddress

func (ss *Server) SetAddress(address uint32)

SetAddress is to set the port address for Server

func (*Server) SyncSignal

func (ss *Server) SyncSignal(signalNum uint64)

SyncSignal is to sync the number of signal

func (*Server) Update

func (ss *Server) Update()

Update : update the information in the server

type Statistic

type Statistic struct {
	Name           FuzzingStat `protobuf:"varint,1,opt,name=name,proto3,enum=dra.FuzzingStat" json:"name,omitempty"`
	ExecuteNum     uint64      `protobuf:"varint,11,opt,name=executeNum,proto3" json:"executeNum,omitempty"`
	Time           float64     `protobuf:"fixed64,12,opt,name=time,proto3" json:"time,omitempty"`
	NewTestCaseNum uint64      `protobuf:"varint,13,opt,name=newTestCaseNum,proto3" json:"newTestCaseNum,omitempty"`
	NewAddressNum  uint64      `protobuf:"varint,14,opt,name=newAddressNum,proto3" json:"newAddressNum,omitempty"`
	// contains filtered or unexported fields
}

func (*Statistic) Descriptor deprecated

func (*Statistic) Descriptor() ([]byte, []int)

Deprecated: Use Statistic.ProtoReflect.Descriptor instead.

func (*Statistic) GetExecuteNum

func (x *Statistic) GetExecuteNum() uint64

func (*Statistic) GetName

func (x *Statistic) GetName() FuzzingStat

func (*Statistic) GetNewAddressNum

func (x *Statistic) GetNewAddressNum() uint64

func (*Statistic) GetNewTestCaseNum

func (x *Statistic) GetNewTestCaseNum() uint64

func (*Statistic) GetTime

func (x *Statistic) GetTime() float64

func (*Statistic) ProtoMessage

func (*Statistic) ProtoMessage()

func (*Statistic) ProtoReflect

func (x *Statistic) ProtoReflect() protoreflect.Message

func (*Statistic) Reset

func (x *Statistic) Reset()

func (*Statistic) String

func (x *Statistic) String() string

type Statistics

type Statistics struct {
	SignalNum                 uint64               `protobuf:"varint,1,opt,name=signalNum,proto3" json:"signalNum,omitempty"`
	NumberBasicBlock          uint32               `protobuf:"varint,3,opt,name=number_basic_block,json=numberBasicBlock,proto3" json:"number_basic_block,omitempty"`
	NumberBasicBlockReal      uint32               `` /* 126-byte string literal not displayed */
	NumberBasicBlockCovered   uint32               `` /* 135-byte string literal not displayed */
	NumberBasicBlockUncovered uint32               `` /* 141-byte string literal not displayed */
	Coverage                  *Coverage            `protobuf:"bytes,8,opt,name=coverage,proto3" json:"coverage,omitempty"`
	Stat                      map[int32]*Statistic `` /* 151-byte string literal not displayed */
	UsefulInput               []*UsefulInput       `protobuf:"bytes,12,rep,name=useful_input,json=usefulInput,proto3" json:"useful_input,omitempty"`
	// contains filtered or unexported fields
}

func (*Statistics) Descriptor deprecated

func (*Statistics) Descriptor() ([]byte, []int)

Deprecated: Use Statistics.ProtoReflect.Descriptor instead.

func (*Statistics) GetCoverage

func (x *Statistics) GetCoverage() *Coverage

func (*Statistics) GetNumberBasicBlock

func (x *Statistics) GetNumberBasicBlock() uint32

func (*Statistics) GetNumberBasicBlockCovered

func (x *Statistics) GetNumberBasicBlockCovered() uint32

func (*Statistics) GetNumberBasicBlockReal

func (x *Statistics) GetNumberBasicBlockReal() uint32

func (*Statistics) GetNumberBasicBlockUncovered

func (x *Statistics) GetNumberBasicBlockUncovered() uint32

func (*Statistics) GetSignalNum

func (x *Statistics) GetSignalNum() uint64

func (*Statistics) GetStat

func (x *Statistics) GetStat() map[int32]*Statistic

func (*Statistics) GetUsefulInput

func (x *Statistics) GetUsefulInput() []*UsefulInput

func (*Statistics) ProtoMessage

func (*Statistics) ProtoMessage()

func (*Statistics) ProtoReflect

func (x *Statistics) ProtoReflect() protoreflect.Message

func (*Statistics) Reset

func (x *Statistics) Reset()

func (*Statistics) String

func (x *Statistics) String() string

type Status

type Status struct {
	Status map[uint32]TaskStatus `` /* 175-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Status) Descriptor deprecated

func (*Status) Descriptor() ([]byte, []int)

Deprecated: Use Status.ProtoReflect.Descriptor instead.

func (*Status) GetStatus

func (x *Status) GetStatus() map[uint32]TaskStatus

func (*Status) ProtoMessage

func (*Status) ProtoMessage()

func (*Status) ProtoReflect

func (x *Status) ProtoReflect() protoreflect.Message

func (*Status) Reset

func (x *Status) Reset()

func (*Status) String

func (x *Status) String() string

type Task

type Task struct {
	Sig          string             `protobuf:"bytes,1,opt,name=sig,proto3" json:"sig,omitempty"`
	Index        uint32             `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
	Program      []byte             `protobuf:"bytes,3,opt,name=program,proto3" json:"program,omitempty"`
	Kind         WriteStatementKind `protobuf:"varint,4,opt,name=kind,proto3,enum=dra.WriteStatementKind" json:"kind,omitempty"`
	Priority     int32              `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"`
	Hash         string             `protobuf:"bytes,6,opt,name=hash,proto3" json:"hash,omitempty"`
	Count        uint32             `protobuf:"varint,7,opt,name=count,proto3" json:"count,omitempty"`
	WriteSig     string             `protobuf:"bytes,11,opt,name=write_sig,json=writeSig,proto3" json:"write_sig,omitempty"`
	WriteIndex   uint32             `protobuf:"varint,12,opt,name=write_index,json=writeIndex,proto3" json:"write_index,omitempty"`
	WriteProgram []byte             `protobuf:"bytes,13,opt,name=write_program,json=writeProgram,proto3" json:"write_program,omitempty"`
	TaskStatus   TaskStatus         `protobuf:"varint,24,opt,name=task_status,json=taskStatus,proto3,enum=dra.TaskStatus" json:"task_status,omitempty"`
	Check        bool               `protobuf:"varint,25,opt,name=check,proto3" json:"check,omitempty"`
	// uncovered address, priority
	UncoveredAddress map[uint32]*RunTimeData `` /* 199-byte string literal not displayed */
	CoveredAddress   map[uint32]*RunTimeData `` /* 193-byte string literal not displayed */
	TaskRunTimeData  []*TaskRunTimeData      `protobuf:"bytes,31,rep,name=task_run_time_data,json=taskRunTimeData,proto3" json:"task_run_time_data,omitempty"`
	// contains filtered or unexported fields
}

func (*Task) ComputeHash

func (m *Task) ComputeHash() string

func (*Task) Descriptor deprecated

func (*Task) Descriptor() ([]byte, []int)

Deprecated: Use Task.ProtoReflect.Descriptor instead.

func (*Task) GetCheck

func (x *Task) GetCheck() bool

func (*Task) GetCount

func (x *Task) GetCount() uint32

func (*Task) GetCoveredAddress

func (x *Task) GetCoveredAddress() map[uint32]*RunTimeData

func (*Task) GetHash

func (x *Task) GetHash() string

func (*Task) GetIndex

func (x *Task) GetIndex() uint32

func (*Task) GetKind

func (x *Task) GetKind() WriteStatementKind

func (*Task) GetPriority

func (x *Task) GetPriority() int32

func (*Task) GetProgram

func (x *Task) GetProgram() []byte

func (*Task) GetSig

func (x *Task) GetSig() string

func (*Task) GetTaskRunTimeData

func (x *Task) GetTaskRunTimeData() []*TaskRunTimeData

func (*Task) GetTaskStatus

func (x *Task) GetTaskStatus() TaskStatus

func (*Task) GetUncoveredAddress

func (x *Task) GetUncoveredAddress() map[uint32]*RunTimeData

func (*Task) GetWriteIndex

func (x *Task) GetWriteIndex() uint32

func (*Task) GetWriteProgram

func (x *Task) GetWriteProgram() []byte

func (*Task) GetWriteSig

func (x *Task) GetWriteSig() string

func (*Task) ProtoMessage

func (*Task) ProtoMessage()

func (*Task) ProtoReflect

func (x *Task) ProtoReflect() protoreflect.Message

func (*Task) Reset

func (x *Task) Reset()

func (*Task) String

func (x *Task) String() string

type TaskKind

type TaskKind int32
const (
	TaskKind_Boot   TaskKind = 0
	TaskKind_High   TaskKind = 1
	TaskKind_Ckeck  TaskKind = 3
	TaskKind_Normal TaskKind = 5
)

func (TaskKind) Descriptor

func (TaskKind) Descriptor() protoreflect.EnumDescriptor

func (TaskKind) Enum

func (x TaskKind) Enum() *TaskKind

func (TaskKind) EnumDescriptor deprecated

func (TaskKind) EnumDescriptor() ([]byte, []int)

Deprecated: Use TaskKind.Descriptor instead.

func (TaskKind) Number

func (x TaskKind) Number() protoreflect.EnumNumber

func (TaskKind) String

func (x TaskKind) String() string

func (TaskKind) Type

type TaskRunTimeData

type TaskRunTimeData struct {
	Hash             string                  `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	Program          []byte                  `protobuf:"bytes,2,opt,name=program,proto3" json:"program,omitempty"`
	WriteIdx         uint32                  `protobuf:"varint,5,opt,name=write_idx,json=writeIdx,proto3" json:"write_idx,omitempty"`
	ConditionIdx     uint32                  `protobuf:"varint,6,opt,name=condition_idx,json=conditionIdx,proto3" json:"condition_idx,omitempty"`
	Check            bool                    `protobuf:"varint,10,opt,name=check,proto3" json:"check,omitempty"`
	UncoveredAddress map[uint32]*RunTimeData `` /* 199-byte string literal not displayed */
	CoveredAddress   map[uint32]*RunTimeData `` /* 193-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*TaskRunTimeData) Descriptor deprecated

func (*TaskRunTimeData) Descriptor() ([]byte, []int)

Deprecated: Use TaskRunTimeData.ProtoReflect.Descriptor instead.

func (*TaskRunTimeData) GetCheck

func (x *TaskRunTimeData) GetCheck() bool

func (*TaskRunTimeData) GetConditionIdx

func (x *TaskRunTimeData) GetConditionIdx() uint32

func (*TaskRunTimeData) GetCoveredAddress

func (x *TaskRunTimeData) GetCoveredAddress() map[uint32]*RunTimeData

func (*TaskRunTimeData) GetHash

func (x *TaskRunTimeData) GetHash() string

func (*TaskRunTimeData) GetProgram

func (x *TaskRunTimeData) GetProgram() []byte

func (*TaskRunTimeData) GetUncoveredAddress

func (x *TaskRunTimeData) GetUncoveredAddress() map[uint32]*RunTimeData

func (*TaskRunTimeData) GetWriteIdx

func (x *TaskRunTimeData) GetWriteIdx() uint32

func (*TaskRunTimeData) ProtoMessage

func (*TaskRunTimeData) ProtoMessage()

func (*TaskRunTimeData) ProtoReflect

func (x *TaskRunTimeData) ProtoReflect() protoreflect.Message

func (*TaskRunTimeData) Reset

func (x *TaskRunTimeData) Reset()

func (*TaskRunTimeData) String

func (x *TaskRunTimeData) String() string

type TaskStatus

type TaskStatus int32
const (
	TaskStatus_untested                  TaskStatus = 0
	TaskStatus_testing                   TaskStatus = 1
	TaskStatus_not_find_input            TaskStatus = -5
	TaskStatus_not_find_write_address    TaskStatus = -4
	TaskStatus_not_find_write_input      TaskStatus = -3
	TaskStatus_unstable_write            TaskStatus = 11
	TaskStatus_stable_write              TaskStatus = 12
	TaskStatus_unstable_condition        TaskStatus = 13
	TaskStatus_stable_condition          TaskStatus = 14
	TaskStatus_unstable_insert_write     TaskStatus = 15
	TaskStatus_stable_insert_write       TaskStatus = 16
	TaskStatus_unstable_insert_condition TaskStatus = 17
	TaskStatus_stable_insert_condition   TaskStatus = 18
	TaskStatus_unstable                  TaskStatus = 19
	TaskStatus_tested                    TaskStatus = 21
	TaskStatus_covered                   TaskStatus = 22
	TaskStatus_recursive                 TaskStatus = 31
	TaskStatus_out                       TaskStatus = 32
)

func (TaskStatus) Descriptor

func (TaskStatus) Descriptor() protoreflect.EnumDescriptor

func (TaskStatus) Enum

func (x TaskStatus) Enum() *TaskStatus

func (TaskStatus) EnumDescriptor deprecated

func (TaskStatus) EnumDescriptor() ([]byte, []int)

Deprecated: Use TaskStatus.Descriptor instead.

func (TaskStatus) Number

func (x TaskStatus) Number() protoreflect.EnumNumber

func (TaskStatus) String

func (x TaskStatus) String() string

func (TaskStatus) Type

type Tasks

type Tasks struct {
	Name      string           `protobuf:"bytes,41,opt,name=name,proto3" json:"name,omitempty"`
	Kind      TaskKind         `protobuf:"varint,42,opt,name=kind,proto3,enum=dra.TaskKind" json:"kind,omitempty"`
	TaskMap   map[string]*Task `` /* 170-byte string literal not displayed */
	TaskArray []*Task          `protobuf:"bytes,2,rep,name=task_array,json=taskArray,proto3" json:"task_array,omitempty"`
	// contains filtered or unexported fields
}

func (*Tasks) AddTask

func (m *Tasks) AddTask(t *Task)

func (*Tasks) AddTasks

func (m *Tasks) AddTasks(t *Tasks)

func (*Tasks) Descriptor deprecated

func (*Tasks) Descriptor() ([]byte, []int)

Deprecated: Use Tasks.ProtoReflect.Descriptor instead.

func (*Tasks) GetKind

func (x *Tasks) GetKind() TaskKind

func (*Tasks) GetName

func (x *Tasks) GetName() string

func (*Tasks) GetTaskArray

func (x *Tasks) GetTaskArray() []*Task

func (*Tasks) GetTaskMap

func (x *Tasks) GetTaskMap() map[string]*Task

func (*Tasks) ProtoMessage

func (*Tasks) ProtoMessage()

func (*Tasks) ProtoReflect

func (x *Tasks) ProtoReflect() protoreflect.Message

func (*Tasks) Reset

func (x *Tasks) Reset()

func (*Tasks) String

func (x *Tasks) String() string

type Time

type Time struct {
	Time       float64 `protobuf:"fixed64,1,opt,name=time,proto3" json:"time,omitempty"`
	Num        int64   `protobuf:"varint,2,opt,name=num,proto3" json:"num,omitempty"`
	ExecuteNum int64   `protobuf:"varint,3,opt,name=executeNum,proto3" json:"executeNum,omitempty"`
	// contains filtered or unexported fields
}

func (*Time) Descriptor deprecated

func (*Time) Descriptor() ([]byte, []int)

Deprecated: Use Time.ProtoReflect.Descriptor instead.

func (*Time) GetExecuteNum

func (x *Time) GetExecuteNum() int64

func (*Time) GetNum

func (x *Time) GetNum() int64

func (*Time) GetTime

func (x *Time) GetTime() float64

func (*Time) ProtoMessage

func (*Time) ProtoMessage()

func (*Time) ProtoReflect

func (x *Time) ProtoReflect() protoreflect.Message

func (*Time) Reset

func (x *Time) Reset()

func (*Time) String

func (x *Time) String() string

type UncoveredAddress

type UncoveredAddress struct {
	ConditionAddress            uint32               `protobuf:"varint,1,opt,name=condition_address,json=conditionAddress,proto3" json:"condition_address,omitempty"`
	UncoveredAddress            uint32               `protobuf:"varint,2,opt,name=uncovered_address,json=uncoveredAddress,proto3" json:"uncovered_address,omitempty"`
	RightBranchAddress          []uint32             `protobuf:"varint,3,rep,packed,name=right_branch_address,json=rightBranchAddress,proto3" json:"right_branch_address,omitempty"`
	NumberArriveBasicblocks     uint32               `` /* 133-byte string literal not displayed */
	Kind                        UncoveredAddressKind `protobuf:"varint,5,opt,name=kind,proto3,enum=dra.UncoveredAddressKind" json:"kind,omitempty"`
	NumberDominatorInstructions uint32               `` /* 145-byte string literal not displayed */
	// sig, index by bits
	Input              map[string]uint32                  `` /* 153-byte string literal not displayed */
	WriteAddress       map[uint32]*WriteAddressAttributes `` /* 187-byte string literal not displayed */
	Count              uint32                             `protobuf:"varint,24,opt,name=count,proto3" json:"count,omitempty"`
	RunTimeDate        *RunTimeData                       `protobuf:"bytes,8,opt,name=run_time_date,json=runTimeDate,proto3" json:"run_time_date,omitempty"`
	InputStatus        map[string]*Status                 `` /* 183-byte string literal not displayed */
	WriteAddressStatus map[uint32]TaskStatus              `` /* 228-byte string literal not displayed */
	TasksCount         map[int32]uint32                   `` /* 182-byte string literal not displayed */
	WriteCount         map[int32]uint32                   `` /* 182-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*UncoveredAddress) Descriptor deprecated

func (*UncoveredAddress) Descriptor() ([]byte, []int)

Deprecated: Use UncoveredAddress.ProtoReflect.Descriptor instead.

func (*UncoveredAddress) GetConditionAddress

func (x *UncoveredAddress) GetConditionAddress() uint32

func (*UncoveredAddress) GetCount

func (x *UncoveredAddress) GetCount() uint32

func (*UncoveredAddress) GetInput

func (x *UncoveredAddress) GetInput() map[string]uint32

func (*UncoveredAddress) GetInputStatus

func (x *UncoveredAddress) GetInputStatus() map[string]*Status

func (*UncoveredAddress) GetKind

func (*UncoveredAddress) GetNumberArriveBasicblocks

func (x *UncoveredAddress) GetNumberArriveBasicblocks() uint32

func (*UncoveredAddress) GetNumberDominatorInstructions

func (x *UncoveredAddress) GetNumberDominatorInstructions() uint32

func (*UncoveredAddress) GetRightBranchAddress

func (x *UncoveredAddress) GetRightBranchAddress() []uint32

func (*UncoveredAddress) GetRunTimeDate

func (x *UncoveredAddress) GetRunTimeDate() *RunTimeData

func (*UncoveredAddress) GetTasksCount

func (x *UncoveredAddress) GetTasksCount() map[int32]uint32

func (*UncoveredAddress) GetUncoveredAddress

func (x *UncoveredAddress) GetUncoveredAddress() uint32

func (*UncoveredAddress) GetWriteAddress

func (x *UncoveredAddress) GetWriteAddress() map[uint32]*WriteAddressAttributes

func (*UncoveredAddress) GetWriteAddressStatus

func (x *UncoveredAddress) GetWriteAddressStatus() map[uint32]TaskStatus

func (*UncoveredAddress) GetWriteCount

func (x *UncoveredAddress) GetWriteCount() map[int32]uint32

func (*UncoveredAddress) ProtoMessage

func (*UncoveredAddress) ProtoMessage()

func (*UncoveredAddress) ProtoReflect

func (x *UncoveredAddress) ProtoReflect() protoreflect.Message

func (*UncoveredAddress) Reset

func (x *UncoveredAddress) Reset()

func (*UncoveredAddress) String

func (x *UncoveredAddress) String() string

type UncoveredAddressKind

type UncoveredAddressKind int32
const (
	UncoveredAddressKind_UncoveredAddressOutside           UncoveredAddressKind = 0
	UncoveredAddressKind_UncoveredAddressInputRelated      UncoveredAddressKind = 1
	UncoveredAddressKind_UncoveredAddressDependencyRelated UncoveredAddressKind = 2
	UncoveredAddressKind_UncoveredAddressOther             UncoveredAddressKind = 3
)

func (UncoveredAddressKind) Descriptor

func (UncoveredAddressKind) Enum

func (UncoveredAddressKind) EnumDescriptor deprecated

func (UncoveredAddressKind) EnumDescriptor() ([]byte, []int)

Deprecated: Use UncoveredAddressKind.Descriptor instead.

func (UncoveredAddressKind) Number

func (UncoveredAddressKind) String

func (x UncoveredAddressKind) String() string

func (UncoveredAddressKind) Type

type UnimplementedDependencyRPCServer

type UnimplementedDependencyRPCServer struct {
}

UnimplementedDependencyRPCServer must be embedded to have forward compatible implementations.

func (UnimplementedDependencyRPCServer) Connect

func (UnimplementedDependencyRPCServer) GetBootTasks

func (UnimplementedDependencyRPCServer) GetCondition

func (UnimplementedDependencyRPCServer) GetDataDependency

func (UnimplementedDependencyRPCServer) GetNeed

func (UnimplementedDependencyRPCServer) GetNewInput

func (UnimplementedDependencyRPCServer) GetTasks

func (UnimplementedDependencyRPCServer) GetVMOffsets

func (UnimplementedDependencyRPCServer) ReturnTasks

func (UnimplementedDependencyRPCServer) SendBootInput

func (UnimplementedDependencyRPCServer) SendDependency

func (UnimplementedDependencyRPCServer) SendLog

func (UnimplementedDependencyRPCServer) SendNeedInput

func (UnimplementedDependencyRPCServer) SendNewInput

func (UnimplementedDependencyRPCServer) SendNumberBasicBlock

func (UnimplementedDependencyRPCServer) SendNumberBasicBlock(context.Context, *Empty) (*Empty, error)

func (UnimplementedDependencyRPCServer) SendNumberBasicBlockCovered

func (UnimplementedDependencyRPCServer) SendNumberBasicBlockCovered(context.Context, *Empty) (*Empty, error)

func (UnimplementedDependencyRPCServer) SendStat

func (UnimplementedDependencyRPCServer) SendUnstableInput

func (UnimplementedDependencyRPCServer) SendWriteAddress

type UnsafeDependencyRPCServer

type UnsafeDependencyRPCServer interface {
	// contains filtered or unexported methods
}

UnsafeDependencyRPCServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to DependencyRPCServer will result in compilation errors.

type UnstableInput

type UnstableInput struct {
	Sig          string   `protobuf:"bytes,1,opt,name=sig,proto3" json:"sig,omitempty"` // hash value for each input from syzkaller
	Program      []byte   `protobuf:"bytes,2,opt,name=program,proto3" json:"program,omitempty"`
	UnstablePath []*Paths `protobuf:"bytes,12,rep,name=unstable_path,json=unstablePath,proto3" json:"unstable_path,omitempty"`
	// address, index by bits
	Address map[uint32]uint32 `` /* 158-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*UnstableInput) Descriptor deprecated

func (*UnstableInput) Descriptor() ([]byte, []int)

Deprecated: Use UnstableInput.ProtoReflect.Descriptor instead.

func (*UnstableInput) GetAddress

func (x *UnstableInput) GetAddress() map[uint32]uint32

func (*UnstableInput) GetProgram

func (x *UnstableInput) GetProgram() []byte

func (*UnstableInput) GetSig

func (x *UnstableInput) GetSig() string

func (*UnstableInput) GetUnstablePath

func (x *UnstableInput) GetUnstablePath() []*Paths

func (*UnstableInput) ProtoMessage

func (*UnstableInput) ProtoMessage()

func (*UnstableInput) ProtoReflect

func (x *UnstableInput) ProtoReflect() protoreflect.Message

func (*UnstableInput) Reset

func (x *UnstableInput) Reset()

func (*UnstableInput) String

func (x *UnstableInput) String() string

type UnstableInputs

type UnstableInputs struct {
	UnstableInput map[string]*UnstableInput `` /* 188-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*UnstableInputs) Descriptor deprecated

func (*UnstableInputs) Descriptor() ([]byte, []int)

Deprecated: Use UnstableInputs.ProtoReflect.Descriptor instead.

func (*UnstableInputs) GetUnstableInput

func (x *UnstableInputs) GetUnstableInput() map[string]*UnstableInput

func (*UnstableInputs) ProtoMessage

func (*UnstableInputs) ProtoMessage()

func (*UnstableInputs) ProtoReflect

func (x *UnstableInputs) ProtoReflect() protoreflect.Message

func (*UnstableInputs) Reset

func (x *UnstableInputs) Reset()

func (*UnstableInputs) String

func (x *UnstableInputs) String() string

type UsefulInput

type UsefulInput struct {
	Input      *Input   `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	Time       float64  `protobuf:"fixed64,2,opt,name=time,proto3" json:"time,omitempty"`
	Num        uint64   `protobuf:"varint,3,opt,name=num,proto3" json:"num,omitempty"`
	NewAddress []uint32 `protobuf:"varint,4,rep,packed,name=new_address,json=newAddress,proto3" json:"new_address,omitempty"`
	// contains filtered or unexported fields
}

func (*UsefulInput) Descriptor deprecated

func (*UsefulInput) Descriptor() ([]byte, []int)

Deprecated: Use UsefulInput.ProtoReflect.Descriptor instead.

func (*UsefulInput) GetInput

func (x *UsefulInput) GetInput() *Input

func (*UsefulInput) GetNewAddress

func (x *UsefulInput) GetNewAddress() []uint32

func (*UsefulInput) GetNum

func (x *UsefulInput) GetNum() uint64

func (*UsefulInput) GetTime

func (x *UsefulInput) GetTime() float64

func (*UsefulInput) ProtoMessage

func (*UsefulInput) ProtoMessage()

func (*UsefulInput) ProtoReflect

func (x *UsefulInput) ProtoReflect() protoreflect.Message

func (*UsefulInput) Reset

func (x *UsefulInput) Reset()

func (*UsefulInput) String

func (x *UsefulInput) String() string

type WriteAddress

type WriteAddress struct {

	// the address writes to global variable
	WriteAddress uint32 `protobuf:"varint,2,opt,name=write_address,json=writeAddress,proto3" json:"write_address,omitempty"`
	//    map<uint32, Input> write_input = 4;
	//    map<uint32, Syscall> write_syscall = 5;
	//    repeated Input write_input = 4;
	//    repeated Syscall write_syscall = 5;
	Kind WriteStatementKind `protobuf:"varint,4,opt,name=kind,proto3,enum=dra.WriteStatementKind" json:"kind,omitempty"`
	// uncovered address,
	UncoveredAddress map[uint32]*WriteAddressAttributes `` /* 199-byte string literal not displayed */
	// file_operations name, file_operations_function index bits
	FileOperationsFunction map[string]uint32 `` /* 219-byte string literal not displayed */
	// sig, index by bits
	Input map[string]uint32 `` /* 153-byte string literal not displayed */
	// it is the data of uncovered address
	RunTimeDate *RunTimeData `protobuf:"bytes,11,opt,name=run_time_date,json=runTimeDate,proto3" json:"run_time_date,omitempty"`
	// contains filtered or unexported fields
}

func (*WriteAddress) Descriptor deprecated

func (*WriteAddress) Descriptor() ([]byte, []int)

Deprecated: Use WriteAddress.ProtoReflect.Descriptor instead.

func (*WriteAddress) GetFileOperationsFunction

func (x *WriteAddress) GetFileOperationsFunction() map[string]uint32

func (*WriteAddress) GetInput

func (x *WriteAddress) GetInput() map[string]uint32

func (*WriteAddress) GetKind

func (x *WriteAddress) GetKind() WriteStatementKind

func (*WriteAddress) GetRunTimeDate

func (x *WriteAddress) GetRunTimeDate() *RunTimeData

func (*WriteAddress) GetUncoveredAddress

func (x *WriteAddress) GetUncoveredAddress() map[uint32]*WriteAddressAttributes

func (*WriteAddress) GetWriteAddress

func (x *WriteAddress) GetWriteAddress() uint32

func (*WriteAddress) ProtoMessage

func (*WriteAddress) ProtoMessage()

func (*WriteAddress) ProtoReflect

func (x *WriteAddress) ProtoReflect() protoreflect.Message

func (*WriteAddress) Reset

func (x *WriteAddress) Reset()

func (*WriteAddress) String

func (x *WriteAddress) String() string

type WriteAddressAttributes

type WriteAddressAttributes struct {

	// the address writes to global variable
	WriteAddress uint32 `protobuf:"varint,2,opt,name=write_address,json=writeAddress,proto3" json:"write_address,omitempty"`
	Repeat       uint32 `protobuf:"varint,7,opt,name=repeat,proto3" json:"repeat,omitempty"`
	Prio         uint32 `protobuf:"varint,6,opt,name=prio,proto3" json:"prio,omitempty"`
	// contains filtered or unexported fields
}

func (*WriteAddressAttributes) Descriptor deprecated

func (*WriteAddressAttributes) Descriptor() ([]byte, []int)

Deprecated: Use WriteAddressAttributes.ProtoReflect.Descriptor instead.

func (*WriteAddressAttributes) GetPrio

func (x *WriteAddressAttributes) GetPrio() uint32

func (*WriteAddressAttributes) GetRepeat

func (x *WriteAddressAttributes) GetRepeat() uint32

func (*WriteAddressAttributes) GetWriteAddress

func (x *WriteAddressAttributes) GetWriteAddress() uint32

func (*WriteAddressAttributes) ProtoMessage

func (*WriteAddressAttributes) ProtoMessage()

func (*WriteAddressAttributes) ProtoReflect

func (x *WriteAddressAttributes) ProtoReflect() protoreflect.Message

func (*WriteAddressAttributes) Reset

func (x *WriteAddressAttributes) Reset()

func (*WriteAddressAttributes) String

func (x *WriteAddressAttributes) String() string

type WriteAddresses

type WriteAddresses struct {
	Condition *Condition `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"`
	//    map<uint32, WriteAddress> write_address = 4;
	WriteAddress []*WriteAddress `protobuf:"bytes,4,rep,name=write_address,json=writeAddress,proto3" json:"write_address,omitempty"`
	// contains filtered or unexported fields
}

func (*WriteAddresses) Descriptor deprecated

func (*WriteAddresses) Descriptor() ([]byte, []int)

Deprecated: Use WriteAddresses.ProtoReflect.Descriptor instead.

func (*WriteAddresses) GetCondition

func (x *WriteAddresses) GetCondition() *Condition

func (*WriteAddresses) GetWriteAddress

func (x *WriteAddresses) GetWriteAddress() []*WriteAddress

func (*WriteAddresses) ProtoMessage

func (*WriteAddresses) ProtoMessage()

func (*WriteAddresses) ProtoReflect

func (x *WriteAddresses) ProtoReflect() protoreflect.Message

func (*WriteAddresses) Reset

func (x *WriteAddresses) Reset()

func (*WriteAddresses) String

func (x *WriteAddresses) String() string

type WriteStatementKind

type WriteStatementKind int32
const (
	WriteStatementKind_WriteStatementConstant             WriteStatementKind = 0
	WriteStatementKind_WriteStatementNonconstant          WriteStatementKind = 1
	WriteStatementKind_WriteStatementDependencyRelated    WriteStatementKind = 2
	WriteStatementKind_WriteStatementNotDependencyRelated WriteStatementKind = 3
)

func (WriteStatementKind) Descriptor

func (WriteStatementKind) Enum

func (WriteStatementKind) EnumDescriptor deprecated

func (WriteStatementKind) EnumDescriptor() ([]byte, []int)

Deprecated: Use WriteStatementKind.Descriptor instead.

func (WriteStatementKind) Number

func (WriteStatementKind) String

func (x WriteStatementKind) String() string

func (WriteStatementKind) Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL