| // Copyright 2023 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.process.explorer; |
| |
| using zx; |
| |
| type Handle = flexible union { |
| 1: job Job; |
| 2: process Process; |
| 3: thread Thread; |
| 4: vmo Vmo; |
| 5: other OtherHandle; |
| }; |
| |
| type Job = table { |
| 1: koid zx.Koid; |
| 2: name string:zx.MAX_NAME_LEN; |
| 3: child_jobs vector<zx.Koid>:MAX; |
| 4: child_processes vector<zx.Koid>:MAX; |
| }; |
| |
| type Process = table { |
| 1: koid zx.Koid; |
| 2: name string:zx.MAX_NAME_LEN; |
| 3: threads vector<zx.Koid>:MAX; |
| 4: start_time uint64; |
| }; |
| |
| type Thread = table { |
| 1: koid zx.Koid; |
| 2: name string:zx.MAX_NAME_LEN; |
| 3: state uint32; |
| }; |
| |
| type Vmo = table { |
| 1: koid zx.Koid; |
| 2: name string:zx.MAX_NAME_LEN; |
| 3: size_bytes uint64; |
| 4: parent_koid zx.Koid; |
| 5: num_children uint64; |
| 6: num_mappings uint64; |
| 7: share_count uint64; |
| 8: committed_bytes uint64; |
| 9: handle_rights zx.Rights; |
| }; |
| type OtherHandle = table { |
| 1: type zx.ObjType; |
| 2: koid zx.Koid; |
| 3: related_koid zx.Koid; |
| 4: peer_owner_koid zx.Koid; |
| 5: handle_rights zx.Rights; |
| }; |