syntax = "proto2"; message InjectionPointMessage { // Costs of the hop chain on the PandaBoard // ToDo: Could be eliminated, but it is nice for evaluation optional uint32 costs = 3; // If checkpoint must be used for this hop chain, id is set properly optional uint32 checkpoint_id = 1; // If we need to know the target dynamic instruction offset, // here it is optional uint32 target_trace_position = 4; // Repeated groups can't be defined as non-empty, so a manual // non-empty check is required at usage // As we assume hops to always watch addresses of length 1, we // don't encode the length in here repeated group Hops = 2 { required uint64 address = 1; enum AccessType { EXECUTE = 1; READ = 2; WRITE = 3; } required AccessType accesstype = 2; } }