| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| library fuchsia.kernel; |
| |
| using fuchsia.mem; |
| using zx; |
| |
| /// Protocol for retrieving kcounter information. |
| @discoverable(server="platform") |
| closed protocol Counter { |
| /// Retrives a VMO containining summarized kcounter data. The vmo returned |
| /// in `buffer` is in "inspect-vmo" format, documented elsewhere. |
| strict GetInspectVmo() -> (resource struct { |
| status zx.Status; |
| buffer fuchsia.mem.Buffer; |
| }); |
| |
| /// Request that the previously-returned VMO buffer's data be updated. The |
| /// data may not be updated if it was already recently updated (updates are |
| /// limited to an unspecified rate, but approximately every few seconds). |
| strict UpdateInspectVmo() -> (struct { |
| status zx.Status; |
| }); |
| }; |