| // Copyright 2020 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. |
| // This specific FIDL file is used in two contexts: |
| // |
| // 1. Define the `zx` library for plain-vanilla FIDL files, i.e. channel |
| // transport |
| // 2. Part of the overall definition of the Kernel ABI, i.e. Syscall transport |
| // |
| // Since the FIDL compiler does not support splitting definitions per-transport |
| // yet, we split definitions by file. |
| |
| library zx; |
| |
| // zx_status_t and errors.h. |
| using status = int32; |
| |
| // zx_time_t: absolute time in nanoseconds (generally with respect to the |
| // monotonic clock). |
| using time = int64; |
| |
| // zx_duration_t: a duration in nanoseconds. |
| using duration = int64; |
| |
| // zx_ticks_t: a duration in hardware ticks. |
| using ticks = uint64; |
| |
| // zx_koid_t: global kernel object id. |
| using koid = uint64; |
| |
| // zx_vaddr_t: virtual address. |
| using vaddr = uint64; |
| |
| // zx_paddr_t: physical address. |
| using paddr = uint64; |
| |
| // zx_paddr32_t: low mem physical address. |
| using paddr32 = uint32; |
| |
| // zx_gpaddr_t: hypervisor guest physical addresses. |
| using gpaddr = uint64; |
| |
| // zx_off_t: offset. |
| using off = uint64; |
| |
| // See zircon/processargs.h. |
| using procarg = uint32; |
| |
| // zx_signals_t. |
| using signals = uint32; |
| |
| // TODO(fxbug.dev/7802): These are currently duplicated with zircon/types.h. |
| // Eventually the definitions in zircon/types.h will be generated from this |
| // source. |
| const uint64 CHANNEL_MAX_MSG_BYTES = 65536; |
| const uint64 CHANNEL_MAX_MSG_HANDLES = 64; |
| const uint64 MAX_NAME_LEN = 32; |
| const uint64 MAX_CPUS = 512; |