sys/fuchsia: prune unused structs in syscall description generated by fidlgen

After generating syscall description for fidl files using fidlgen, prune
all unused structs using the exact same mechanism used by the compiler's
check for unused structs. This allows the FIDL compiler to support
modular compilation; it does not need to have global knowledge of
whether each struct is used or not.
This commit is contained in:
Dokyung Song 2018-09-06 15:49:23 -07:00 committed by Dmitry Vyukov
parent e3d1d545d3
commit 11c256cdcd
17 changed files with 3678 additions and 157 deletions

View File

@ -35,7 +35,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
#define SYZ_REVISION "ee62749ce0e69fd29de1864a220e909a18613438"
#define SYZ_REVISION "6cdbdf7c4071faca2094bf2150ea2a90384bb008"
#define SYZ_EXECUTOR_USES_FORK_SERVER 0
#define SYZ_EXECUTOR_USES_SHMEM 0
#define SYZ_PAGE_SIZE 4096
@ -45,7 +45,7 @@
#if GOARCH_arm64
#define GOARCH "arm64"
#define SYZ_REVISION "80d5b2ce01d8c9deca31efaa1a61da313eaa44e6"
#define SYZ_REVISION "59de262e4cd9e36f40a7767839877a47372efa54"
#define SYZ_EXECUTOR_USES_FORK_SERVER 0
#define SYZ_EXECUTOR_USES_SHMEM 0
#define SYZ_PAGE_SIZE 4096

View File

@ -505,11 +505,19 @@ const call_t syscalls[] = {
{"fchown", 0, (syscall_t)fchown},
{"fchownat", 0, (syscall_t)fchownat},
{"fdatasync", 0, (syscall_t)fdatasync},
{"fdio_service_connect$fuchsia_cobalt_Controller", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_Encoder", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_EncoderFactory", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_Logger", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_LoggerExt", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_LoggerFactory", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_LoggerSimple", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_io_Directory", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_io_File", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_io_Node", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_io_Object", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_process_Launcher", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_process_Resolver", 0, (syscall_t)fdio_service_connect},
{"fstat", 0, (syscall_t)fstat},
{"fsync", 0, (syscall_t)fsync},
{"ftruncate", 0, (syscall_t)ftruncate},
@ -561,6 +569,37 @@ const call_t syscalls[] = {
{"writev", 0, (syscall_t)writev},
{"zx_cache_flush", 0, (syscall_t)zx_cache_flush},
{"zx_channel_call", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_ControllerBlockUntilEmpty", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_ControllerGetFailedSendAttempts", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_ControllerGetNumSendAttempts", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_ControllerRequestSendSoon", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddDoubleObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddIndexObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddIntBucketDistribution", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddIntObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddMultipartObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddStringObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderEndTimer", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderEndTimerMultiPart", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderFactoryGetEncoderForProject", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderSendObservations", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderStartTimer", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerEndTimer", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerExtLogCustomEvent", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerExtLogIntHistogram", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLogger", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLoggerExt", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLoggerSimple", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogElapsedTime", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogEvent", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogEventCount", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogFrameRate", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogMemoryUsage", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogString", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerSimpleLogCustomEvent", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerSimpleLogIntHistogram", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerStartTimer", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_io_DirectoryClose", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_io_DirectoryDescribe", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_io_DirectoryGetAttr", 0, (syscall_t)zx_channel_call},
@ -599,12 +638,21 @@ const call_t syscalls[] = {
{"zx_channel_call$fuchsia_io_ObjectDescribe", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_process_LauncherCreateWithoutStarting", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_process_LauncherLaunch", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_process_ResolverResolve", 0, (syscall_t)zx_channel_call},
{"zx_channel_create", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_Controller", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_Encoder", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_EncoderFactory", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_Logger", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_LoggerExt", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_LoggerFactory", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_LoggerSimple", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_io_Directory", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_io_File", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_io_Node", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_io_Object", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_process_Launcher", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_process_Resolver", 0, (syscall_t)zx_channel_create},
{"zx_channel_read", 0, (syscall_t)zx_channel_read},
{"zx_channel_read$fuchsia_io_DirectoryOnOpen", 0, (syscall_t)zx_channel_read},
{"zx_channel_read$fuchsia_io_FileOnOpen", 0, (syscall_t)zx_channel_read},
@ -753,11 +801,19 @@ const call_t syscalls[] = {
{"fchown", 0, (syscall_t)fchown},
{"fchownat", 0, (syscall_t)fchownat},
{"fdatasync", 0, (syscall_t)fdatasync},
{"fdio_service_connect$fuchsia_cobalt_Controller", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_Encoder", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_EncoderFactory", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_Logger", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_LoggerExt", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_LoggerFactory", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_cobalt_LoggerSimple", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_io_Directory", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_io_File", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_io_Node", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_io_Object", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_process_Launcher", 0, (syscall_t)fdio_service_connect},
{"fdio_service_connect$fuchsia_process_Resolver", 0, (syscall_t)fdio_service_connect},
{"fstat", 0, (syscall_t)fstat},
{"fsync", 0, (syscall_t)fsync},
{"ftruncate", 0, (syscall_t)ftruncate},
@ -809,6 +865,37 @@ const call_t syscalls[] = {
{"writev", 0, (syscall_t)writev},
{"zx_cache_flush", 0, (syscall_t)zx_cache_flush},
{"zx_channel_call", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_ControllerBlockUntilEmpty", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_ControllerGetFailedSendAttempts", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_ControllerGetNumSendAttempts", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_ControllerRequestSendSoon", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddDoubleObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddIndexObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddIntBucketDistribution", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddIntObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddMultipartObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderAddStringObservation", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderEndTimer", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderEndTimerMultiPart", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderFactoryGetEncoderForProject", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderSendObservations", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_EncoderStartTimer", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerEndTimer", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerExtLogCustomEvent", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerExtLogIntHistogram", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLogger", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLoggerExt", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLoggerSimple", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogElapsedTime", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogEvent", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogEventCount", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogFrameRate", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogMemoryUsage", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerLogString", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerSimpleLogCustomEvent", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerSimpleLogIntHistogram", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_cobalt_LoggerStartTimer", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_io_DirectoryClose", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_io_DirectoryDescribe", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_io_DirectoryGetAttr", 0, (syscall_t)zx_channel_call},
@ -847,12 +934,21 @@ const call_t syscalls[] = {
{"zx_channel_call$fuchsia_io_ObjectDescribe", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_process_LauncherCreateWithoutStarting", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_process_LauncherLaunch", 0, (syscall_t)zx_channel_call},
{"zx_channel_call$fuchsia_process_ResolverResolve", 0, (syscall_t)zx_channel_call},
{"zx_channel_create", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_Controller", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_Encoder", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_EncoderFactory", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_Logger", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_LoggerExt", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_LoggerFactory", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_cobalt_LoggerSimple", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_io_Directory", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_io_File", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_io_Node", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_io_Object", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_process_Launcher", 0, (syscall_t)zx_channel_create},
{"zx_channel_create$fuchsia_process_Resolver", 0, (syscall_t)zx_channel_create},
{"zx_channel_read", 0, (syscall_t)zx_channel_read},
{"zx_channel_read$fuchsia_io_DirectoryOnOpen", 0, (syscall_t)zx_channel_read},
{"zx_channel_read$fuchsia_io_FileOnOpen", 0, (syscall_t)zx_channel_read},

14
pkg/ast/filter.go Normal file
View File

@ -0,0 +1,14 @@
// Copyright 2018 syzkaller project authors. All rights reserved.
// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
package ast
func (desc *Description) Filter(predicate func(Node) bool) *Description {
desc1 := &Description{}
for _, n := range desc.Nodes {
if predicate(n) {
desc1.Nodes = append(desc1.Nodes, n.Clone())
}
}
return desc1
}

View File

@ -11,6 +11,7 @@ import (
"github.com/google/syzkaller/pkg/ast"
"github.com/google/syzkaller/prog"
"github.com/google/syzkaller/sys/targets"
)
func (comp *compiler) typecheck() {
@ -371,6 +372,48 @@ func (comp *compiler) checkLenTarget(t *ast.Type, name, target string, fields []
comp.error(t.Pos, "%v target %v does not exist", t.Ident, target)
}
func CollectUnused(desc *ast.Description, target *targets.Target) []ast.Node {
comp := createCompiler(desc, target, nil)
comp.typecheck()
return comp.collectUnused()
}
func (comp *compiler) collectUnused() []ast.Node {
var unused []ast.Node
comp.used, _, _ = comp.collectUsed(false)
structs, flags, strflags := comp.collectUsed(true)
_, _, _ = structs, flags, strflags
for name, n := range comp.intFlags {
if !flags[name] {
unused = append(unused, n)
}
}
for name, n := range comp.strFlags {
if !strflags[name] && builtinStrFlags[name] == nil {
unused = append(unused, n)
}
}
for name, n := range comp.resources {
if !structs[name] {
unused = append(unused, n)
}
}
for name, n := range comp.structs {
if !structs[name] {
unused = append(unused, n)
}
}
for name, n := range comp.typedefs {
if !comp.usedTypedefs[name] {
unused = append(unused, n)
}
}
return unused
}
func (comp *compiler) collectUsed(all bool) (structs, flags, strflags map[string]bool) {
structs = make(map[string]bool)
flags = make(map[string]bool)
@ -432,35 +475,9 @@ func (comp *compiler) collectUsedType(structs, flags, strflags map[string]bool,
}
func (comp *compiler) checkUnused() {
comp.used, _, _ = comp.collectUsed(false)
structs, flags, strflags := comp.collectUsed(true)
_, _, _ = structs, flags, strflags
for name, n := range comp.intFlags {
if !flags[name] {
comp.error(n.Pos, "unused flags %v", name)
}
}
for name, n := range comp.strFlags {
if !strflags[name] && builtinStrFlags[name] == nil {
comp.error(n.Pos, "unused string flags %v", name)
}
}
for name, n := range comp.resources {
if !structs[name] {
comp.error(n.Pos, "unused resource %v", name)
}
}
for name, n := range comp.structs {
if !structs[name] {
_, typ, _ := n.Info()
comp.error(n.Pos, "unused %v %v", typ, name)
}
}
for name, n := range comp.typedefs {
if !comp.usedTypedefs[name] {
comp.error(n.Pos, "unused type %v", name)
}
for _, n := range comp.collectUnused() {
pos, typ, name := n.Info()
comp.error(pos, fmt.Sprintf("unused %v %v", typ, name))
}
}

View File

@ -43,13 +43,9 @@ type Prog struct {
fileConsts map[string]*ConstInfo
}
// Compile compiles sys description.
func Compile(desc *ast.Description, consts map[string]uint64, target *targets.Target, eh ast.ErrorHandler) *Prog {
if eh == nil {
eh = ast.LoggingHandler
}
func createCompiler(desc *ast.Description, target *targets.Target, eh ast.ErrorHandler) *compiler {
comp := &compiler{
desc: desc.Clone(),
desc: desc,
target: target,
eh: eh,
ptrSize: target.PtrSize,
@ -72,6 +68,15 @@ func Compile(desc *ast.Description, consts map[string]uint64, target *targets.Ta
for name, n := range builtinStrFlags {
comp.strFlags[name] = n
}
return comp
}
// Compile compiles sys description.
func Compile(desc *ast.Description, consts map[string]uint64, target *targets.Target, eh ast.ErrorHandler) *Prog {
if eh == nil {
eh = ast.LoggingHandler
}
comp := createCompiler(desc.Clone(), target, eh)
comp.typecheck()
// The subsequent, more complex, checks expect basic validity of the tree,
// in particular corrent number of type arguments. If there were errors,

View File

@ -16,6 +16,11 @@ type fidl_call_args[REQ_MESSAGE, REQ_HANDLES, RESP_MESSAGE, RESP_HANDLES] {
rd_num_handles bytesize4[rd_handles, int32]
}
type fidl_union_member[TAG, TYPE] {
tag const[TAG, int32]
data TYPE
}
type fidl_message_header[METHOD_ORDINAL] {
txid const[0, int32]
reserved const[0, int32]

664
sys/fuchsia/fidl_cobalt.txt Normal file
View File

@ -0,0 +1,664 @@
# Copyright 2018 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.
#
# WARNING: This file is machine generated by fidlgen.
include <fuchsia/cobalt/c/fidl.h>
fuchsia_cobalt_ReleaseStage = fuchsia_cobalt_ReleaseStage_GA, fuchsia_cobalt_ReleaseStage_DOGFOOD, fuchsia_cobalt_ReleaseStage_FISHFOOD, fuchsia_cobalt_ReleaseStage_DEBUG
fuchsia_cobalt_ObservationValueInLine {
nameInLine fidl_string
valueInLine fuchsia_cobalt_ValueInLine
encoding_id int32
} [packed]
fuchsia_cobalt_ObservationValueOutOfLine {
nameOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_ObservationValueHandles {
void void
} [packed]
fuchsia_cobalt_BucketDistributionEntryInLine {
index int32
count int64
} [packed]
fuchsia_cobalt_BucketDistributionEntryOutOfLine {
void void
} [packed]
fuchsia_cobalt_BucketDistributionEntryHandles {
void void
} [packed]
fuchsia_cobalt_ProjectProfileInLine {
configInLine fuchsia_mem_BufferInLine
} [packed]
fuchsia_cobalt_ProjectProfileOutOfLine {
configOutOfLine fuchsia_mem_BufferOutOfLine
} [packed]
fuchsia_cobalt_ProjectProfileHandles {
config fuchsia_mem_BufferHandles
} [packed]
fuchsia_cobalt_ProjectProfile2InLine {
configInLine fuchsia_mem_BufferInLine
release_stage flags[fuchsia_cobalt_ReleaseStage, int32]
} [packed]
fuchsia_cobalt_ProjectProfile2OutOfLine {
configOutOfLine fuchsia_mem_BufferOutOfLine
} [packed]
fuchsia_cobalt_ProjectProfile2Handles {
config fuchsia_mem_BufferHandles
} [packed]
fuchsia_cobalt_CustomEventValueInLine {
dimension_nameInLine fidl_string
valueInLine fuchsia_cobalt_ValueInLine
} [packed]
fuchsia_cobalt_CustomEventValueOutOfLine {
dimension_nameOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_CustomEventValueHandles {
void void
} [packed]
fuchsia_cobalt_HistogramBucketInLine {
index int32
count int64
} [packed]
fuchsia_cobalt_HistogramBucketOutOfLine {
void void
} [packed]
fuchsia_cobalt_HistogramBucketHandles {
void void
} [packed]
fuchsia_cobalt_ValueInLine [
string_valueInLine fidl_union_member[fuchsia_cobalt_ValueTagstring_value, fidl_string]
int_value fidl_union_member[fuchsia_cobalt_ValueTagint_value, int64]
double_value fidl_union_member[fuchsia_cobalt_ValueTagdouble_value, int64]
index_value fidl_union_member[fuchsia_cobalt_ValueTagindex_value, int32]
int_bucket_distributionInLine fidl_union_member[fuchsia_cobalt_ValueTagint_bucket_distribution, fidl_vector]
]
fuchsia_cobalt_ValueOutOfLine [
string_valueOutOfLine fidl_aligned[stringnoz]
int_bucket_distributionOutOfLine parallel_array[fuchsia_cobalt_BucketDistributionEntryInLine, fuchsia_cobalt_BucketDistributionEntryOutOfLine]
] [varlen]
fuchsia_cobalt_ValueHandles [
int_bucket_distribution array[fuchsia_cobalt_BucketDistributionEntryHandles]
] [varlen]
fuchsia_cobalt_EncoderFactoryGetEncoderForProjectRequest {
hdr fidl_message_header[1]
profileInLine fuchsia_cobalt_ProjectProfileInLine
encoder flags[fidl_handle_presence, int32]
profileOutOfLine fuchsia_cobalt_ProjectProfileOutOfLine
} [packed]
fuchsia_cobalt_EncoderFactoryGetEncoderForProjectRequestHandles {
profile fuchsia_cobalt_ProjectProfileHandles
encoder zx_chan_fuchsia_cobalt_Encoder_server
} [packed]
fuchsia_cobalt_EncoderFactoryGetEncoderForProjectResponseHandles {
void void
} [packed]
resource zx_chan_fuchsia_cobalt_EncoderFactory_client[zx_chan]
resource zx_chan_fuchsia_cobalt_EncoderFactory_server[zx_chan]
zx_channel_create$fuchsia_cobalt_EncoderFactory(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_EncoderFactory_client], out1 ptr[out, zx_chan_fuchsia_cobalt_EncoderFactory_server])
fdio_service_connect$fuchsia_cobalt_EncoderFactory(path ptr[in, string["/svc/fuchsia.cobalt.EncoderFactory"]], handle zx_chan_fuchsia_cobalt_EncoderFactory_server)
zx_channel_call$fuchsia_cobalt_EncoderFactoryGetEncoderForProject(handle zx_chan_fuchsia_cobalt_EncoderFactory_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderFactoryGetEncoderForProjectRequest, fuchsia_cobalt_EncoderFactoryGetEncoderForProjectRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderFactoryGetEncoderForProjectResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
fuchsia_cobalt_EncoderAddStringObservationRequest {
hdr fidl_message_header[1]
metric_id int32
encoding_id int32
observationInLine fidl_string
observationOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_EncoderAddStringObservationRequestHandles {
void void
} [packed]
fuchsia_cobalt_EncoderAddStringObservationResponseHandles {
void void
} [packed]
fuchsia_cobalt_EncoderAddIntObservationRequest {
hdr fidl_message_header[4]
metric_id int32
encoding_id int32
observation int64
} [packed]
fuchsia_cobalt_EncoderAddIntObservationRequestHandles {
void void
} [packed]
fuchsia_cobalt_EncoderAddIntObservationResponseHandles {
void void
} [packed]
fuchsia_cobalt_EncoderAddDoubleObservationRequest {
hdr fidl_message_header[5]
metric_id int32
encoding_id int32
observation int64
} [packed]
fuchsia_cobalt_EncoderAddDoubleObservationRequestHandles {
void void
} [packed]
fuchsia_cobalt_EncoderAddDoubleObservationResponseHandles {
void void
} [packed]
fuchsia_cobalt_EncoderAddIndexObservationRequest {
hdr fidl_message_header[2]
metric_id int32
encoding_id int32
index int32
} [packed]
fuchsia_cobalt_EncoderAddIndexObservationRequestHandles {
void void
} [packed]
fuchsia_cobalt_EncoderAddIndexObservationResponseHandles {
void void
} [packed]
fuchsia_cobalt_EncoderAddObservationRequest {
hdr fidl_message_header[8]
metric_id int32
encoding_id int32
observationInLine fuchsia_cobalt_ValueInLine
observationOutOfLine fuchsia_cobalt_ValueOutOfLine
} [packed]
fuchsia_cobalt_EncoderAddObservationRequestHandles {
observation fuchsia_cobalt_ValueHandles
} [packed]
fuchsia_cobalt_EncoderAddObservationResponseHandles {
void void
} [packed]
fuchsia_cobalt_EncoderAddIntBucketDistributionRequest {
hdr fidl_message_header[7]
metric_id int32
encoding_id int32
distributionInLine fidl_vector
distributionOutOfLine parallel_array[fuchsia_cobalt_BucketDistributionEntryInLine, fuchsia_cobalt_BucketDistributionEntryOutOfLine]
} [packed]
fuchsia_cobalt_EncoderAddIntBucketDistributionRequestHandles {
distribution array[fuchsia_cobalt_BucketDistributionEntryHandles]
} [packed]
fuchsia_cobalt_EncoderAddIntBucketDistributionResponseHandles {
void void
} [packed]
fuchsia_cobalt_EncoderAddMultipartObservationRequest {
hdr fidl_message_header[6]
metric_id int32
observationInLine fidl_vector
observationOutOfLine parallel_array[fuchsia_cobalt_ObservationValueInLine, fuchsia_cobalt_ObservationValueOutOfLine]
} [packed]
fuchsia_cobalt_EncoderAddMultipartObservationRequestHandles {
observation array[fuchsia_cobalt_ObservationValueHandles]
} [packed]
fuchsia_cobalt_EncoderAddMultipartObservationResponseHandles {
void void
} [packed]
fuchsia_cobalt_EncoderStartTimerRequest {
hdr fidl_message_header[9]
metric_id int32
encoding_id int32
timer_idInLine fidl_string
timestamp int64
timeout_s int32
timer_idOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_EncoderStartTimerRequestHandles {
void void
} [packed]
fuchsia_cobalt_EncoderStartTimerResponseHandles {
void void
} [packed]
fuchsia_cobalt_EncoderEndTimerRequest {
hdr fidl_message_header[10]
timer_idInLine fidl_string
timestamp int64
timeout_s int32
timer_idOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_EncoderEndTimerRequestHandles {
void void
} [packed]
fuchsia_cobalt_EncoderEndTimerResponseHandles {
void void
} [packed]
fuchsia_cobalt_EncoderEndTimerMultiPartRequest {
hdr fidl_message_header[11]
timer_idInLine fidl_string
timestamp int64
part_nameInLine fidl_string
observationInLine fidl_vector
timeout_s int32
timer_idOutOfLine fidl_aligned[stringnoz]
part_nameOutOfLine fidl_aligned[stringnoz]
observationOutOfLine parallel_array[fuchsia_cobalt_ObservationValueInLine, fuchsia_cobalt_ObservationValueOutOfLine]
} [packed]
fuchsia_cobalt_EncoderEndTimerMultiPartRequestHandles {
observation array[fuchsia_cobalt_ObservationValueHandles]
} [packed]
fuchsia_cobalt_EncoderEndTimerMultiPartResponseHandles {
void void
} [packed]
fuchsia_cobalt_EncoderSendObservationsRequest {
hdr fidl_message_header[3]
} [packed]
fuchsia_cobalt_EncoderSendObservationsRequestHandles {
void void
} [packed]
fuchsia_cobalt_EncoderSendObservationsResponseHandles {
void void
} [packed]
resource zx_chan_fuchsia_cobalt_Encoder_client[zx_chan]
resource zx_chan_fuchsia_cobalt_Encoder_server[zx_chan]
zx_channel_create$fuchsia_cobalt_Encoder(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_Encoder_client], out1 ptr[out, zx_chan_fuchsia_cobalt_Encoder_server])
fdio_service_connect$fuchsia_cobalt_Encoder(path ptr[in, string["/svc/"]], handle zx_chan_fuchsia_cobalt_Encoder_server)
zx_channel_call$fuchsia_cobalt_EncoderAddStringObservation(handle zx_chan_fuchsia_cobalt_Encoder_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderAddStringObservationRequest, fuchsia_cobalt_EncoderAddStringObservationRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderAddStringObservationResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_EncoderAddIntObservation(handle zx_chan_fuchsia_cobalt_Encoder_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderAddIntObservationRequest, fuchsia_cobalt_EncoderAddIntObservationRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderAddIntObservationResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_EncoderAddDoubleObservation(handle zx_chan_fuchsia_cobalt_Encoder_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderAddDoubleObservationRequest, fuchsia_cobalt_EncoderAddDoubleObservationRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderAddDoubleObservationResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_EncoderAddIndexObservation(handle zx_chan_fuchsia_cobalt_Encoder_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderAddIndexObservationRequest, fuchsia_cobalt_EncoderAddIndexObservationRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderAddIndexObservationResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_EncoderAddObservation(handle zx_chan_fuchsia_cobalt_Encoder_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderAddObservationRequest, fuchsia_cobalt_EncoderAddObservationRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderAddObservationResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_EncoderAddIntBucketDistribution(handle zx_chan_fuchsia_cobalt_Encoder_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderAddIntBucketDistributionRequest, fuchsia_cobalt_EncoderAddIntBucketDistributionRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderAddIntBucketDistributionResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_EncoderAddMultipartObservation(handle zx_chan_fuchsia_cobalt_Encoder_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderAddMultipartObservationRequest, fuchsia_cobalt_EncoderAddMultipartObservationRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderAddMultipartObservationResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_EncoderStartTimer(handle zx_chan_fuchsia_cobalt_Encoder_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderStartTimerRequest, fuchsia_cobalt_EncoderStartTimerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderStartTimerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_EncoderEndTimer(handle zx_chan_fuchsia_cobalt_Encoder_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderEndTimerRequest, fuchsia_cobalt_EncoderEndTimerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderEndTimerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_EncoderEndTimerMultiPart(handle zx_chan_fuchsia_cobalt_Encoder_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderEndTimerMultiPartRequest, fuchsia_cobalt_EncoderEndTimerMultiPartRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderEndTimerMultiPartResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_EncoderSendObservations(handle zx_chan_fuchsia_cobalt_Encoder_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_EncoderSendObservationsRequest, fuchsia_cobalt_EncoderSendObservationsRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_EncoderSendObservationsResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
fuchsia_cobalt_LoggerFactoryCreateLoggerRequest {
hdr fidl_message_header[1]
profileInLine fuchsia_cobalt_ProjectProfile2InLine
logger flags[fidl_handle_presence, int32]
profileOutOfLine fuchsia_cobalt_ProjectProfile2OutOfLine
} [packed]
fuchsia_cobalt_LoggerFactoryCreateLoggerRequestHandles {
profile fuchsia_cobalt_ProjectProfile2Handles
logger zx_chan_fuchsia_cobalt_Logger_server
} [packed]
fuchsia_cobalt_LoggerFactoryCreateLoggerResponseHandles {
void void
} [packed]
fuchsia_cobalt_LoggerFactoryCreateLoggerExtRequest {
hdr fidl_message_header[2]
profileInLine fuchsia_cobalt_ProjectProfile2InLine
logger flags[fidl_handle_presence, int32]
profileOutOfLine fuchsia_cobalt_ProjectProfile2OutOfLine
} [packed]
fuchsia_cobalt_LoggerFactoryCreateLoggerExtRequestHandles {
profile fuchsia_cobalt_ProjectProfile2Handles
logger zx_chan_fuchsia_cobalt_LoggerExt_server
} [packed]
fuchsia_cobalt_LoggerFactoryCreateLoggerExtResponseHandles {
void void
} [packed]
fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleRequest {
hdr fidl_message_header[3]
profileInLine fuchsia_cobalt_ProjectProfile2InLine
logger flags[fidl_handle_presence, int32]
profileOutOfLine fuchsia_cobalt_ProjectProfile2OutOfLine
} [packed]
fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleRequestHandles {
profile fuchsia_cobalt_ProjectProfile2Handles
logger zx_chan_fuchsia_cobalt_LoggerSimple_server
} [packed]
fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleResponseHandles {
void void
} [packed]
resource zx_chan_fuchsia_cobalt_LoggerFactory_client[zx_chan]
resource zx_chan_fuchsia_cobalt_LoggerFactory_server[zx_chan]
zx_channel_create$fuchsia_cobalt_LoggerFactory(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_LoggerFactory_client], out1 ptr[out, zx_chan_fuchsia_cobalt_LoggerFactory_server])
fdio_service_connect$fuchsia_cobalt_LoggerFactory(path ptr[in, string["/svc/fuchsia.cobalt.LoggerFactory"]], handle zx_chan_fuchsia_cobalt_LoggerFactory_server)
zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLogger(handle zx_chan_fuchsia_cobalt_LoggerFactory_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerFactoryCreateLoggerRequest, fuchsia_cobalt_LoggerFactoryCreateLoggerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerFactoryCreateLoggerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLoggerExt(handle zx_chan_fuchsia_cobalt_LoggerFactory_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerFactoryCreateLoggerExtRequest, fuchsia_cobalt_LoggerFactoryCreateLoggerExtRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerFactoryCreateLoggerExtResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLoggerSimple(handle zx_chan_fuchsia_cobalt_LoggerFactory_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleRequest, fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
fuchsia_cobalt_LoggerLogEventRequest {
hdr fidl_message_header[1]
metric_id int32
event_type_index int32
} [packed]
fuchsia_cobalt_LoggerLogEventRequestHandles {
void void
} [packed]
fuchsia_cobalt_LoggerLogEventResponseHandles {
void void
} [packed]
fuchsia_cobalt_LoggerLogEventCountRequest {
hdr fidl_message_header[2]
metric_id int32
event_type_index int32
componentInLine fidl_string
period_duration_micros int64
count int64
componentOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_LoggerLogEventCountRequestHandles {
void void
} [packed]
fuchsia_cobalt_LoggerLogEventCountResponseHandles {
void void
} [packed]
fuchsia_cobalt_LoggerLogElapsedTimeRequest {
hdr fidl_message_header[3]
metric_id int32
event_type_index int32
componentInLine fidl_string
elapsed_micros int64
componentOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_LoggerLogElapsedTimeRequestHandles {
void void
} [packed]
fuchsia_cobalt_LoggerLogElapsedTimeResponseHandles {
void void
} [packed]
fuchsia_cobalt_LoggerLogFrameRateRequest {
hdr fidl_message_header[4]
metric_id int32
event_type_index int32
componentInLine fidl_string
fps int32
componentOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_LoggerLogFrameRateRequestHandles {
void void
} [packed]
fuchsia_cobalt_LoggerLogFrameRateResponseHandles {
void void
} [packed]
fuchsia_cobalt_LoggerLogMemoryUsageRequest {
hdr fidl_message_header[5]
metric_id int32
event_type_index int32
componentInLine fidl_string
bytes int64
componentOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_LoggerLogMemoryUsageRequestHandles {
void void
} [packed]
fuchsia_cobalt_LoggerLogMemoryUsageResponseHandles {
void void
} [packed]
fuchsia_cobalt_LoggerLogStringRequest {
hdr fidl_message_header[6]
metric_id int32
sInLine fidl_string
sOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_LoggerLogStringRequestHandles {
void void
} [packed]
fuchsia_cobalt_LoggerLogStringResponseHandles {
void void
} [packed]
fuchsia_cobalt_LoggerStartTimerRequest {
hdr fidl_message_header[7]
metric_id int32
event_type_index int32
componentInLine fidl_string
timer_idInLine fidl_string
timestamp int64
timeout_s int32
componentOutOfLine fidl_aligned[stringnoz]
timer_idOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_LoggerStartTimerRequestHandles {
void void
} [packed]
fuchsia_cobalt_LoggerStartTimerResponseHandles {
void void
} [packed]
fuchsia_cobalt_LoggerEndTimerRequest {
hdr fidl_message_header[8]
timer_idInLine fidl_string
timestamp int64
timeout_s int32
timer_idOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_LoggerEndTimerRequestHandles {
void void
} [packed]
fuchsia_cobalt_LoggerEndTimerResponseHandles {
void void
} [packed]
resource zx_chan_fuchsia_cobalt_Logger_client[zx_chan]
resource zx_chan_fuchsia_cobalt_Logger_server[zx_chan]
zx_channel_create$fuchsia_cobalt_Logger(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_Logger_client], out1 ptr[out, zx_chan_fuchsia_cobalt_Logger_server])
fdio_service_connect$fuchsia_cobalt_Logger(path ptr[in, string["/svc/"]], handle zx_chan_fuchsia_cobalt_Logger_server)
zx_channel_call$fuchsia_cobalt_LoggerLogEvent(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogEventRequest, fuchsia_cobalt_LoggerLogEventRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogEventResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogEventCount(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogEventCountRequest, fuchsia_cobalt_LoggerLogEventCountRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogEventCountResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogElapsedTime(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogElapsedTimeRequest, fuchsia_cobalt_LoggerLogElapsedTimeRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogElapsedTimeResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogFrameRate(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogFrameRateRequest, fuchsia_cobalt_LoggerLogFrameRateRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogFrameRateResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogMemoryUsage(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogMemoryUsageRequest, fuchsia_cobalt_LoggerLogMemoryUsageRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogMemoryUsageResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogString(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogStringRequest, fuchsia_cobalt_LoggerLogStringRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogStringResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerStartTimer(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerStartTimerRequest, fuchsia_cobalt_LoggerStartTimerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerStartTimerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerEndTimer(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerEndTimerRequest, fuchsia_cobalt_LoggerEndTimerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerEndTimerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
fuchsia_cobalt_LoggerExtLogIntHistogramRequest {
hdr fidl_message_header[100]
metric_id int32
event_type_index int32
componentInLine fidl_string
histogramInLine fidl_vector
componentOutOfLine fidl_aligned[stringnoz]
histogramOutOfLine parallel_array[fuchsia_cobalt_HistogramBucketInLine, fuchsia_cobalt_HistogramBucketOutOfLine]
} [packed]
fuchsia_cobalt_LoggerExtLogIntHistogramRequestHandles {
histogram array[fuchsia_cobalt_HistogramBucketHandles]
} [packed]
fuchsia_cobalt_LoggerExtLogIntHistogramResponseHandles {
void void
} [packed]
fuchsia_cobalt_LoggerExtLogCustomEventRequest {
hdr fidl_message_header[101]
metric_id int32
event_valuesInLine fidl_vector
event_valuesOutOfLine parallel_array[fuchsia_cobalt_CustomEventValueInLine, fuchsia_cobalt_CustomEventValueOutOfLine]
} [packed]
fuchsia_cobalt_LoggerExtLogCustomEventRequestHandles {
event_values array[fuchsia_cobalt_CustomEventValueHandles]
} [packed]
fuchsia_cobalt_LoggerExtLogCustomEventResponseHandles {
void void
} [packed]
resource zx_chan_fuchsia_cobalt_LoggerExt_client[zx_chan]
resource zx_chan_fuchsia_cobalt_LoggerExt_server[zx_chan]
zx_channel_create$fuchsia_cobalt_LoggerExt(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_LoggerExt_client], out1 ptr[out, zx_chan_fuchsia_cobalt_LoggerExt_server])
fdio_service_connect$fuchsia_cobalt_LoggerExt(path ptr[in, string["/svc/"]], handle zx_chan_fuchsia_cobalt_LoggerExt_server)
zx_channel_call$fuchsia_cobalt_LoggerExtLogIntHistogram(handle zx_chan_fuchsia_cobalt_LoggerExt_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerExtLogIntHistogramRequest, fuchsia_cobalt_LoggerExtLogIntHistogramRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerExtLogIntHistogramResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerExtLogCustomEvent(handle zx_chan_fuchsia_cobalt_LoggerExt_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerExtLogCustomEventRequest, fuchsia_cobalt_LoggerExtLogCustomEventRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerExtLogCustomEventResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
fuchsia_cobalt_LoggerSimpleLogIntHistogramRequest {
hdr fidl_message_header[100]
metric_id int32
event_type_index int32
componentInLine fidl_string
bucket_indicesInLine fidl_vector
bucket_countsInLine fidl_vector
componentOutOfLine fidl_aligned[stringnoz]
bucket_indicesOutOfLine array[int32]
bucket_countsOutOfLine array[int64]
} [packed]
fuchsia_cobalt_LoggerSimpleLogIntHistogramRequestHandles {
void void
} [packed]
fuchsia_cobalt_LoggerSimpleLogIntHistogramResponseHandles {
void void
} [packed]
fuchsia_cobalt_LoggerSimpleLogCustomEventRequest {
hdr fidl_message_header[101]
metric_id int32
json_stringInLine fidl_string
json_stringOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_cobalt_LoggerSimpleLogCustomEventRequestHandles {
void void
} [packed]
fuchsia_cobalt_LoggerSimpleLogCustomEventResponseHandles {
void void
} [packed]
resource zx_chan_fuchsia_cobalt_LoggerSimple_client[zx_chan]
resource zx_chan_fuchsia_cobalt_LoggerSimple_server[zx_chan]
zx_channel_create$fuchsia_cobalt_LoggerSimple(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_LoggerSimple_client], out1 ptr[out, zx_chan_fuchsia_cobalt_LoggerSimple_server])
fdio_service_connect$fuchsia_cobalt_LoggerSimple(path ptr[in, string["/svc/"]], handle zx_chan_fuchsia_cobalt_LoggerSimple_server)
zx_channel_call$fuchsia_cobalt_LoggerSimpleLogIntHistogram(handle zx_chan_fuchsia_cobalt_LoggerSimple_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerSimpleLogIntHistogramRequest, fuchsia_cobalt_LoggerSimpleLogIntHistogramRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerSimpleLogIntHistogramResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerSimpleLogCustomEvent(handle zx_chan_fuchsia_cobalt_LoggerSimple_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerSimpleLogCustomEventRequest, fuchsia_cobalt_LoggerSimpleLogCustomEventRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerSimpleLogCustomEventResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
fuchsia_cobalt_ControllerRequestSendSoonRequest {
hdr fidl_message_header[1]
} [packed]
fuchsia_cobalt_ControllerRequestSendSoonRequestHandles {
void void
} [packed]
fuchsia_cobalt_ControllerRequestSendSoonResponseHandles {
void void
} [packed]
fuchsia_cobalt_ControllerBlockUntilEmptyRequest {
hdr fidl_message_header[2]
max_wait_seconds int32
} [packed]
fuchsia_cobalt_ControllerBlockUntilEmptyRequestHandles {
void void
} [packed]
fuchsia_cobalt_ControllerBlockUntilEmptyResponseHandles {
void void
} [packed]
fuchsia_cobalt_ControllerGetNumSendAttemptsRequest {
hdr fidl_message_header[3]
} [packed]
fuchsia_cobalt_ControllerGetNumSendAttemptsRequestHandles {
void void
} [packed]
fuchsia_cobalt_ControllerGetNumSendAttemptsResponseHandles {
void void
} [packed]
fuchsia_cobalt_ControllerGetFailedSendAttemptsRequest {
hdr fidl_message_header[4]
} [packed]
fuchsia_cobalt_ControllerGetFailedSendAttemptsRequestHandles {
void void
} [packed]
fuchsia_cobalt_ControllerGetFailedSendAttemptsResponseHandles {
void void
} [packed]
resource zx_chan_fuchsia_cobalt_Controller_client[zx_chan]
resource zx_chan_fuchsia_cobalt_Controller_server[zx_chan]
zx_channel_create$fuchsia_cobalt_Controller(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_Controller_client], out1 ptr[out, zx_chan_fuchsia_cobalt_Controller_server])
fdio_service_connect$fuchsia_cobalt_Controller(path ptr[in, string["/svc/fuchsia.cobalt.Controller"]], handle zx_chan_fuchsia_cobalt_Controller_server)
zx_channel_call$fuchsia_cobalt_ControllerRequestSendSoon(handle zx_chan_fuchsia_cobalt_Controller_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_ControllerRequestSendSoonRequest, fuchsia_cobalt_ControllerRequestSendSoonRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_ControllerRequestSendSoonResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_ControllerBlockUntilEmpty(handle zx_chan_fuchsia_cobalt_Controller_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_ControllerBlockUntilEmptyRequest, fuchsia_cobalt_ControllerBlockUntilEmptyRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_ControllerBlockUntilEmptyResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_ControllerGetNumSendAttempts(handle zx_chan_fuchsia_cobalt_Controller_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_ControllerGetNumSendAttemptsRequest, fuchsia_cobalt_ControllerGetNumSendAttemptsRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_ControllerGetNumSendAttemptsResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_ControllerGetFailedSendAttempts(handle zx_chan_fuchsia_cobalt_Controller_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_ControllerGetFailedSendAttemptsRequest, fuchsia_cobalt_ControllerGetFailedSendAttemptsRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_ControllerGetFailedSendAttemptsResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])

View File

@ -0,0 +1,25 @@
# AUTOGENERATED FILE
ZX_CHANNEL_MAX_MSG_BYTES = 65536
fuchsia_cobalt_LogParamsTaglog_event = 0
fuchsia_cobalt_LogParamsTaglog_event_count_params = 1
fuchsia_cobalt_ReleaseStage_DEBUG = 99
fuchsia_cobalt_ReleaseStage_DOGFOOD = 10
fuchsia_cobalt_ReleaseStage_FISHFOOD = 20
fuchsia_cobalt_ReleaseStage_GA = 0
fuchsia_cobalt_Status2_BUFFER_FULL = 3
fuchsia_cobalt_Status2_EVENT_TOO_BIG = 2
fuchsia_cobalt_Status2_INTERNAL_ERROR = 18446744073709551615
fuchsia_cobalt_Status2_INVALID_ARGUMENTS = 1
fuchsia_cobalt_Status2_OK = 0
fuchsia_cobalt_Status_FAILED_PRECONDITION = 3
fuchsia_cobalt_Status_INTERNAL_ERROR = 18446744073709551615
fuchsia_cobalt_Status_INVALID_ARGUMENTS = 1
fuchsia_cobalt_Status_OBSERVATION_TOO_BIG = 4
fuchsia_cobalt_Status_OK = 0
fuchsia_cobalt_Status_SEND_FAILED = 2
fuchsia_cobalt_Status_TEMPORARILY_FULL = 5
fuchsia_cobalt_ValueTagdouble_value = 2
fuchsia_cobalt_ValueTagindex_value = 3
fuchsia_cobalt_ValueTagint_bucket_distribution = 4
fuchsia_cobalt_ValueTagint_value = 1
fuchsia_cobalt_ValueTagstring_value = 0

View File

@ -0,0 +1,25 @@
# AUTOGENERATED FILE
ZX_CHANNEL_MAX_MSG_BYTES = 65536
fuchsia_cobalt_LogParamsTaglog_event = 0
fuchsia_cobalt_LogParamsTaglog_event_count_params = 1
fuchsia_cobalt_ReleaseStage_DEBUG = 99
fuchsia_cobalt_ReleaseStage_DOGFOOD = 10
fuchsia_cobalt_ReleaseStage_FISHFOOD = 20
fuchsia_cobalt_ReleaseStage_GA = 0
fuchsia_cobalt_Status2_BUFFER_FULL = 3
fuchsia_cobalt_Status2_EVENT_TOO_BIG = 2
fuchsia_cobalt_Status2_INTERNAL_ERROR = 18446744073709551615
fuchsia_cobalt_Status2_INVALID_ARGUMENTS = 1
fuchsia_cobalt_Status2_OK = 0
fuchsia_cobalt_Status_FAILED_PRECONDITION = 3
fuchsia_cobalt_Status_INTERNAL_ERROR = 18446744073709551615
fuchsia_cobalt_Status_INVALID_ARGUMENTS = 1
fuchsia_cobalt_Status_OBSERVATION_TOO_BIG = 4
fuchsia_cobalt_Status_OK = 0
fuchsia_cobalt_Status_SEND_FAILED = 2
fuchsia_cobalt_Status_TEMPORARILY_FULL = 5
fuchsia_cobalt_ValueTagdouble_value = 2
fuchsia_cobalt_ValueTagindex_value = 3
fuchsia_cobalt_ValueTagint_bucket_distribution = 4
fuchsia_cobalt_ValueTagint_value = 1
fuchsia_cobalt_ValueTagstring_value = 0

View File

@ -6,10 +6,18 @@
include <fuchsia/io/c/fidl.h>
fuchsia_io_SeekOrigin = fuchsia_io_SeekOrigin_Start, fuchsia_io_SeekOrigin_Current, fuchsia_io_SeekOrigin_End
fuchsia_io_ServiceHandles {
void void
} [packed]
fuchsia_io_FileObjectHandles {
event zx_event
} [packed]
fuchsia_io_DirectoryObjectHandles {
void void
} [packed]
fuchsia_io_PipeHandles {
socket zx_socket
} [packed]
@ -32,72 +40,23 @@ fuchsia_io_NodeAttributesInLine {
modification_time int64
} [packed]
fuchsia_io_ObjectInfoHandles [
file fuchsia_io_FileObjectHandles
pipe fuchsia_io_PipeHandles
vmofile fuchsia_io_VmofileHandles
device fuchsia_io_DeviceHandles
fuchsia_io_NodeAttributesOutOfLine {
void void
} [packed]
fuchsia_io_NodeAttributesHandles {
void void
} [packed]
fuchsia_io_NodeInfoHandles [
service fuchsia_io_ServiceHandles
file fuchsia_io_FileObjectHandles
directory fuchsia_io_DirectoryObjectHandles
pipe fuchsia_io_PipeHandles
vmofile fuchsia_io_VmofileHandles
device fuchsia_io_DeviceHandles
] [varlen]
fuchsia_io_ObjectCloneRequest {
hdr fidl_message_header[2147483649]
flags_ int32
object flags[fidl_handle_presence, int32]
} [packed]
fuchsia_io_ObjectCloneRequestHandles {
object zx_chan_fuchsia_io_Object_server
} [packed]
fuchsia_io_ObjectCloseRequest {
hdr fidl_message_header[2147483650]
} [packed]
fuchsia_io_ObjectCloseRequestHandles {
void void
} [packed]
fuchsia_io_ObjectCloseResponseHandles {
void void
} [packed]
fuchsia_io_ObjectBindRequest {
hdr fidl_message_header[2147483653]
interface_nameInLine fidl_string
interface_nameOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_io_ObjectBindRequestHandles {
void void
} [packed]
fuchsia_io_ObjectDescribeRequest {
hdr fidl_message_header[2147483654]
} [packed]
fuchsia_io_ObjectDescribeRequestHandles {
void void
} [packed]
fuchsia_io_ObjectDescribeResponseHandles {
info fuchsia_io_ObjectInfoHandles
} [packed]
fuchsia_io_ObjectOnOpenEventHandles {
info fuchsia_io_ObjectInfoHandles
} [packed]
resource zx_chan_fuchsia_io_Object_client[zx_chan]
resource zx_chan_fuchsia_io_Object_server[zx_chan]
zx_channel_create$fuchsia_io_Object(options const[0], out0 ptr[out, zx_chan_fuchsia_io_Object_client], out1 ptr[out, zx_chan_fuchsia_io_Object_server])
fdio_service_connect$fuchsia_io_Object(path ptr[in, string["/svc/"]], handle zx_chan_fuchsia_io_Object_server)
zx_channel_write$fuchsia_io_ObjectClone(handle zx_chan_fuchsia_io_Object_client, options const[0], bytes ptr[in, fuchsia_io_ObjectCloneRequest], num_bytes bytesize[bytes], handles ptr[in, fuchsia_io_ObjectCloneRequestHandles], num_handles bytesize[handles])
zx_channel_call$fuchsia_io_ObjectClose(handle zx_chan_fuchsia_io_Object_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_io_ObjectCloseRequest, fuchsia_io_ObjectCloseRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_io_ObjectCloseResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_write$fuchsia_io_ObjectBind(handle zx_chan_fuchsia_io_Object_client, options const[0], bytes ptr[in, fuchsia_io_ObjectBindRequest], num_bytes bytesize[bytes], handles ptr[in, fuchsia_io_ObjectBindRequestHandles], num_handles bytesize[handles])
zx_channel_call$fuchsia_io_ObjectDescribe(handle zx_chan_fuchsia_io_Object_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_io_ObjectDescribeRequest, fuchsia_io_ObjectDescribeRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_io_ObjectDescribeResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_read$fuchsia_io_ObjectOnOpen(handle zx_chan_fuchsia_io_Object_client, options const[0], bytes ptr[out, array[int8, ZX_CHANNEL_MAX_MSG_BYTES]], num_bytes bytesize[bytes], handles ptr[out, fuchsia_io_ObjectOnOpenEventHandles], num_handles bytesize[handles], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
fuchsia_io_NodeCloneRequest {
hdr fidl_message_header[2147483649]
flags_ int32
@ -105,7 +64,7 @@ fuchsia_io_NodeCloneRequest {
} [packed]
fuchsia_io_NodeCloneRequestHandles {
object zx_chan_fuchsia_io_Object_server
object zx_chan_fuchsia_io_Node_server
} [packed]
fuchsia_io_NodeCloseRequest {
@ -139,11 +98,11 @@ fuchsia_io_NodeDescribeRequestHandles {
} [packed]
fuchsia_io_NodeDescribeResponseHandles {
info fuchsia_io_ObjectInfoHandles
info fuchsia_io_NodeInfoHandles
} [packed]
fuchsia_io_NodeOnOpenEventHandles {
info fuchsia_io_ObjectInfoHandles
info fuchsia_io_NodeInfoHandles
} [packed]
fuchsia_io_NodeSyncRequest {
@ -167,17 +126,18 @@ fuchsia_io_NodeGetAttrRequestHandles {
} [packed]
fuchsia_io_NodeGetAttrResponseHandles {
void void
attributes fuchsia_io_NodeAttributesHandles
} [packed]
fuchsia_io_NodeSetAttrRequest {
hdr fidl_message_header[2164260867]
flags_ int32
attributesInLine fuchsia_io_NodeAttributesInLine
attributesOutOfLine fuchsia_io_NodeAttributesOutOfLine
} [packed]
fuchsia_io_NodeSetAttrRequestHandles {
void void
attributes fuchsia_io_NodeAttributesHandles
} [packed]
fuchsia_io_NodeSetAttrResponseHandles {
@ -224,7 +184,7 @@ fuchsia_io_FileCloneRequest {
} [packed]
fuchsia_io_FileCloneRequestHandles {
object zx_chan_fuchsia_io_Object_server
object zx_chan_fuchsia_io_Node_server
} [packed]
fuchsia_io_FileCloseRequest {
@ -258,11 +218,11 @@ fuchsia_io_FileDescribeRequestHandles {
} [packed]
fuchsia_io_FileDescribeResponseHandles {
info fuchsia_io_ObjectInfoHandles
info fuchsia_io_NodeInfoHandles
} [packed]
fuchsia_io_FileOnOpenEventHandles {
info fuchsia_io_ObjectInfoHandles
info fuchsia_io_NodeInfoHandles
} [packed]
fuchsia_io_FileSyncRequest {
@ -286,17 +246,18 @@ fuchsia_io_FileGetAttrRequestHandles {
} [packed]
fuchsia_io_FileGetAttrResponseHandles {
void void
attributes fuchsia_io_NodeAttributesHandles
} [packed]
fuchsia_io_FileSetAttrRequest {
hdr fidl_message_header[2164260867]
flags_ int32
attributesInLine fuchsia_io_NodeAttributesInLine
attributesOutOfLine fuchsia_io_NodeAttributesOutOfLine
} [packed]
fuchsia_io_FileSetAttrRequestHandles {
void void
attributes fuchsia_io_NodeAttributesHandles
} [packed]
fuchsia_io_FileSetAttrResponseHandles {
@ -489,7 +450,7 @@ fuchsia_io_DirectoryCloneRequest {
} [packed]
fuchsia_io_DirectoryCloneRequestHandles {
object zx_chan_fuchsia_io_Object_server
object zx_chan_fuchsia_io_Node_server
} [packed]
fuchsia_io_DirectoryCloseRequest {
@ -523,11 +484,11 @@ fuchsia_io_DirectoryDescribeRequestHandles {
} [packed]
fuchsia_io_DirectoryDescribeResponseHandles {
info fuchsia_io_ObjectInfoHandles
info fuchsia_io_NodeInfoHandles
} [packed]
fuchsia_io_DirectoryOnOpenEventHandles {
info fuchsia_io_ObjectInfoHandles
info fuchsia_io_NodeInfoHandles
} [packed]
fuchsia_io_DirectorySyncRequest {
@ -551,17 +512,18 @@ fuchsia_io_DirectoryGetAttrRequestHandles {
} [packed]
fuchsia_io_DirectoryGetAttrResponseHandles {
void void
attributes fuchsia_io_NodeAttributesHandles
} [packed]
fuchsia_io_DirectorySetAttrRequest {
hdr fidl_message_header[2164260867]
flags_ int32
attributesInLine fuchsia_io_NodeAttributesInLine
attributesOutOfLine fuchsia_io_NodeAttributesOutOfLine
} [packed]
fuchsia_io_DirectorySetAttrRequestHandles {
void void
attributes fuchsia_io_NodeAttributesHandles
} [packed]
fuchsia_io_DirectorySetAttrResponseHandles {
@ -596,7 +558,7 @@ fuchsia_io_DirectoryOpenRequest {
} [packed]
fuchsia_io_DirectoryOpenRequestHandles {
object zx_chan_fuchsia_io_Object_server
object zx_chan_fuchsia_io_Node_server
} [packed]
fuchsia_io_DirectoryUnlinkRequest {

View File

@ -1,5 +1,11 @@
# AUTOGENERATED FILE
ZX_CHANNEL_MAX_MSG_BYTES = 65536
fuchsia_io_ObjectInfoTagdevice = 5
fuchsia_io_ObjectInfoTagdirectory = 2
fuchsia_io_ObjectInfoTagfile = 1
fuchsia_io_ObjectInfoTagpipe = 3
fuchsia_io_ObjectInfoTagservice = 0
fuchsia_io_ObjectInfoTagvmofile = 4
fuchsia_io_SeekOrigin_Current = 1
fuchsia_io_SeekOrigin_End = 2
fuchsia_io_SeekOrigin_Start = 0

View File

@ -1,5 +1,11 @@
# AUTOGENERATED FILE
ZX_CHANNEL_MAX_MSG_BYTES = 65536
fuchsia_io_ObjectInfoTagdevice = 5
fuchsia_io_ObjectInfoTagdirectory = 2
fuchsia_io_ObjectInfoTagfile = 1
fuchsia_io_ObjectInfoTagpipe = 3
fuchsia_io_ObjectInfoTagservice = 0
fuchsia_io_ObjectInfoTagvmofile = 4
fuchsia_io_SeekOrigin_Current = 1
fuchsia_io_SeekOrigin_End = 2
fuchsia_io_SeekOrigin_Start = 0

19
sys/fuchsia/fidl_mem.txt Normal file
View File

@ -0,0 +1,19 @@
# Copyright 2018 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.
#
# WARNING: This file is machine generated by fidlgen.
include <fuchsia/mem/c/fidl.h>
fuchsia_mem_BufferInLine {
vmo flags[fidl_handle_presence, int32]
size int64
} [packed]
fuchsia_mem_BufferOutOfLine {
void void
} [packed]
fuchsia_mem_BufferHandles {
vmo zx_vmo
} [packed]

View File

@ -5,6 +5,32 @@
include <fuchsia/process/c/fidl.h>
fuchsia_process_HandleInfoInLine {
handle flags[fidl_handle_presence, int32]
id int32
} [packed]
fuchsia_process_HandleInfoOutOfLine {
void void
} [packed]
fuchsia_process_HandleInfoHandles {
handle zx_handle
} [packed]
fuchsia_process_NameInfoInLine {
pathInLine fidl_string
directory flags[fidl_handle_presence, int32]
} [packed]
fuchsia_process_NameInfoOutOfLine {
pathOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_process_NameInfoHandles {
directory zx_chan
} [packed]
fuchsia_process_LaunchInfoInLine {
executable flags[fidl_handle_presence, int32]
job flags[fidl_handle_presence, int32]
@ -35,28 +61,6 @@ fuchsia_process_CreateWithoutStartingResultHandles {
data fuchsia_process_ProcessStartDataHandles
} [packed]
fuchsia_process_NameInfoInLine {
pathInLine fidl_string
directory flags[fidl_handle_presence, int32]
} [packed]
fuchsia_process_NameInfoOutOfLine {
pathOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_process_NameInfoHandles {
directory zx_chan
} [packed]
fuchsia_process_HandleInfoInLine {
handle flags[fidl_handle_presence, int32]
id int32
} [packed]
fuchsia_process_HandleInfoHandles {
handle zx_handle
} [packed]
fuchsia_process_LauncherLaunchRequest {
hdr fidl_message_header[1]
infoInLine fuchsia_process_LaunchInfoInLine
@ -118,7 +122,7 @@ fuchsia_process_LauncherAddNamesRequestHandles {
fuchsia_process_LauncherAddHandlesRequest {
hdr fidl_message_header[13]
handlesInLine fidl_vector
handlesOutOfLine array[fuchsia_process_HandleInfoInLine]
handlesOutOfLine parallel_array[fuchsia_process_HandleInfoInLine, fuchsia_process_HandleInfoOutOfLine]
} [packed]
fuchsia_process_LauncherAddHandlesRequestHandles {
@ -136,3 +140,25 @@ zx_channel_write$fuchsia_process_LauncherAddArgs(handle zx_chan_fuchsia_process_
zx_channel_write$fuchsia_process_LauncherAddEnvirons(handle zx_chan_fuchsia_process_Launcher_client, options const[0], bytes ptr[in, fuchsia_process_LauncherAddEnvironsRequest], num_bytes bytesize[bytes], handles ptr[in, fuchsia_process_LauncherAddEnvironsRequestHandles], num_handles bytesize[handles])
zx_channel_write$fuchsia_process_LauncherAddNames(handle zx_chan_fuchsia_process_Launcher_client, options const[0], bytes ptr[in, fuchsia_process_LauncherAddNamesRequest], num_bytes bytesize[bytes], handles ptr[in, fuchsia_process_LauncherAddNamesRequestHandles], num_handles bytesize[handles])
zx_channel_write$fuchsia_process_LauncherAddHandles(handle zx_chan_fuchsia_process_Launcher_client, options const[0], bytes ptr[in, fuchsia_process_LauncherAddHandlesRequest], num_bytes bytesize[bytes], handles ptr[in, fuchsia_process_LauncherAddHandlesRequestHandles], num_handles bytesize[handles])
fuchsia_process_ResolverResolveRequest {
hdr fidl_message_header[1]
nameInLine fidl_string
nameOutOfLine fidl_aligned[stringnoz]
} [packed]
fuchsia_process_ResolverResolveRequestHandles {
void void
} [packed]
fuchsia_process_ResolverResolveResponseHandles {
executable zx_vmo
ldsvc zx_chan
} [packed]
resource zx_chan_fuchsia_process_Resolver_client[zx_chan]
resource zx_chan_fuchsia_process_Resolver_server[zx_chan]
zx_channel_create$fuchsia_process_Resolver(options const[0], out0 ptr[out, zx_chan_fuchsia_process_Resolver_client], out1 ptr[out, zx_chan_fuchsia_process_Resolver_server])
fdio_service_connect$fuchsia_process_Resolver(path ptr[in, string["/svc/fuchsia.process.Resolver"]], handle zx_chan_fuchsia_process_Resolver_server)
zx_channel_call$fuchsia_process_ResolverResolve(handle zx_chan_fuchsia_process_Resolver_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_process_ResolverResolveRequest, fuchsia_process_ResolverResolveRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_process_ResolverResolveResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])

View File

@ -10,11 +10,15 @@ import (
"strings"
"time"
"github.com/google/syzkaller/pkg/ast"
"github.com/google/syzkaller/pkg/compiler"
"github.com/google/syzkaller/pkg/osutil"
"github.com/google/syzkaller/sys/targets"
)
var zirconLibs = []string{
"fuchsia-mem",
"fuchsia-cobalt",
"fuchsia-process",
"fuchsia-io",
}
@ -43,6 +47,8 @@ func main() {
failf("cannot find fidlgen %s", fidlgenPath)
}
var newFiles []string
for _, lib := range zirconLibs {
jsonPath := filepath.Join(
sourceDir,
@ -67,7 +73,40 @@ func main() {
)
if err != nil {
failf("fidlgen failed: %v\n", err)
failf("fidlgen failed: %v", err)
}
newFiles = append(newFiles, fmt.Sprintf("%s.txt", txtPath))
}
var errorPos ast.Pos
var errorMsg string
desc := ast.ParseGlob("*.txt", func(pos ast.Pos, msg string) {
errorPos = pos
errorMsg = msg
})
if desc == nil {
failf("parsing failed at %v: %v", errorPos, errorMsg)
}
unused := make(map[ast.Node]bool)
for _, n := range compiler.CollectUnused(desc, target) {
unused[n] = true
}
pruned := desc.Filter(func(n ast.Node) bool {
_, ok := unused[n]
return !ok
})
for _, file := range newFiles {
desc := ast.Format(pruned.Filter(func(n ast.Node) bool {
pos, _, _ := n.Info()
return pos.File == file
}))
if err := osutil.WriteFile(file, desc); err != nil {
failf("%v", err)
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff