blob: 3d2bd92771e3e67941d0bfabc22281e23193be7a [file] [log] [blame]
{
"name": "test.handles",
"library_dependencies": [
{
"name": "fdf",
"declarations": {
"fdf/ObjType": {
"kind": "enum"
},
"fdf/handle": {
"kind": "experimental_resource"
}
}
},
{
"name": "zx",
"declarations": {
"zx/rights": {
"kind": "bits"
},
"zx/CHANNEL_MAX_MSG_BYTES": {
"kind": "const"
},
"zx/CHANNEL_MAX_MSG_HANDLES": {
"kind": "const"
},
"zx/DEFAULT_CHANNEL_RIGHTS": {
"kind": "const"
},
"zx/DEFAULT_EVENT_RIGHTS": {
"kind": "const"
},
"zx/MAX_CPUS": {
"kind": "const"
},
"zx/MAX_NAME_LEN": {
"kind": "const"
},
"zx/RIGHTS_BASIC": {
"kind": "const"
},
"zx/RIGHTS_IO": {
"kind": "const"
},
"zx/RIGHTS_POLICY": {
"kind": "const"
},
"zx/RIGHTS_PROPERTY": {
"kind": "const"
},
"zx/obj_type": {
"kind": "enum"
},
"zx/handle": {
"kind": "experimental_resource"
},
"zx/duration": {
"kind": "type_alias"
},
"zx/gpaddr": {
"kind": "type_alias"
},
"zx/koid": {
"kind": "type_alias"
},
"zx/off": {
"kind": "type_alias"
},
"zx/paddr": {
"kind": "type_alias"
},
"zx/paddr32": {
"kind": "type_alias"
},
"zx/procarg": {
"kind": "type_alias"
},
"zx/signals": {
"kind": "type_alias"
},
"zx/status": {
"kind": "type_alias"
},
"zx/ticks": {
"kind": "type_alias"
},
"zx/time": {
"kind": "type_alias"
},
"zx/vaddr": {
"kind": "type_alias"
}
}
}
],
"bits_declarations": [],
"const_declarations": [],
"enum_declarations": [],
"experimental_resource_declarations": [],
"protocol_declarations": [
{
"name": "test.handles/DriverProtocol",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 53,
"column": 10,
"length": 14
},
"maybe_attributes": [
{
"name": "transport",
"arguments": [
{
"name": "value",
"type": "string",
"value": {
"kind": "literal",
"value": "Driver",
"expression": "\"Driver\"",
"literal": {
"kind": "string",
"value": "Driver",
"expression": "\"Driver\""
}
},
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 52,
"column": 12,
"length": 8
}
}
],
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 52,
"column": 1,
"length": 20
}
}
],
"composed_protocols": [],
"methods": []
},
{
"name": "test.handles/SomeProtocol",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 6,
"column": 10,
"length": 12
},
"composed_protocols": [],
"methods": []
}
],
"service_declarations": [],
"struct_declarations": [
{
"name": "test.handles/FdfHandles",
"naming_context": [
"FdfHandles"
],
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 56,
"column": 6,
"length": 10
},
"maybe_attributes": [
{
"name": "bindings_denylist",
"arguments": [
{
"name": "value",
"type": "string",
"value": {
"kind": "literal",
"value": "hlcpp,dart,go,rust",
"expression": "\"hlcpp,dart,go,rust\"",
"literal": {
"kind": "string",
"value": "hlcpp,dart,go,rust",
"expression": "\"hlcpp,dart,go,rust\""
}
},
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 55,
"column": 20,
"length": 20
}
}
],
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 55,
"column": 1,
"length": 40
}
}
],
"members": [
{
"type": {
"kind": "handle",
"obj_type": 4,
"subtype": "channel",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "fdf/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "fdf_channel_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 57,
"column": 5,
"length": 18
},
"field_shape_v1": {
"offset": 0,
"padding": 0
},
"field_shape_v2": {
"offset": 0,
"padding": 0
}
},
{
"type": {
"kind": "identifier",
"identifier": "test.handles/DriverProtocol",
"nullable": false,
"protocol_transport": "Driver",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "client_end_driver",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 59,
"column": 5,
"length": 17
},
"field_shape_v1": {
"offset": 4,
"padding": 0
},
"field_shape_v2": {
"offset": 4,
"padding": 0
}
},
{
"type": {
"kind": "request",
"subtype": "test.handles/DriverProtocol",
"nullable": false,
"protocol_transport": "Driver",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "server_end_driver",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 60,
"column": 5,
"length": 17
},
"field_shape_v1": {
"offset": 8,
"padding": 0
},
"field_shape_v2": {
"offset": 8,
"padding": 0
}
}
],
"resource": true,
"type_shape_v1": {
"inline_size": 12,
"alignment": 4,
"depth": 0,
"max_handles": 3,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 12,
"alignment": 4,
"depth": 0,
"max_handles": 3,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
{
"name": "test.handles/Handles",
"naming_context": [
"Handles"
],
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 12,
"column": 6,
"length": 7
},
"members": [
{
"type": {
"kind": "handle",
"obj_type": 0,
"subtype": "handle",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "plain_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 13,
"column": 5,
"length": 12
},
"field_shape_v1": {
"offset": 0,
"padding": 0
},
"field_shape_v2": {
"offset": 0,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 24,
"subtype": "bti",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "bti_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 15,
"column": 5,
"length": 10
},
"field_shape_v1": {
"offset": 4,
"padding": 0
},
"field_shape_v2": {
"offset": 4,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 4,
"subtype": "channel",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "channel_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 16,
"column": 5,
"length": 14
},
"field_shape_v1": {
"offset": 8,
"padding": 0
},
"field_shape_v2": {
"offset": 8,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 30,
"subtype": "clock",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "clock_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 17,
"column": 5,
"length": 12
},
"field_shape_v1": {
"offset": 12,
"padding": 0
},
"field_shape_v2": {
"offset": 12,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 12,
"subtype": "debuglog",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "debuglog_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 18,
"column": 5,
"length": 15
},
"field_shape_v1": {
"offset": 16,
"padding": 0
},
"field_shape_v2": {
"offset": 16,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 5,
"subtype": "event",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "event_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 19,
"column": 5,
"length": 12
},
"field_shape_v1": {
"offset": 20,
"padding": 0
},
"field_shape_v2": {
"offset": 20,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 16,
"subtype": "eventpair",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "eventpair_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 20,
"column": 5,
"length": 16
},
"field_shape_v1": {
"offset": 24,
"padding": 0
},
"field_shape_v2": {
"offset": 24,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 29,
"subtype": "exception",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "exception_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 21,
"column": 5,
"length": 16
},
"field_shape_v1": {
"offset": 28,
"padding": 0
},
"field_shape_v2": {
"offset": 28,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 19,
"subtype": "fifo",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "fifo_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 22,
"column": 5,
"length": 11
},
"field_shape_v1": {
"offset": 32,
"padding": 0
},
"field_shape_v2": {
"offset": 32,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 20,
"subtype": "guest",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "guest_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 23,
"column": 5,
"length": 12
},
"field_shape_v1": {
"offset": 36,
"padding": 0
},
"field_shape_v2": {
"offset": 36,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 9,
"subtype": "interrupt",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "interrupt_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 24,
"column": 5,
"length": 16
},
"field_shape_v1": {
"offset": 40,
"padding": 0
},
"field_shape_v2": {
"offset": 40,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 23,
"subtype": "iommu",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "iommu_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 25,
"column": 5,
"length": 12
},
"field_shape_v1": {
"offset": 44,
"padding": 0
},
"field_shape_v2": {
"offset": 44,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 17,
"subtype": "job",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "job_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 26,
"column": 5,
"length": 10
},
"field_shape_v1": {
"offset": 48,
"padding": 0
},
"field_shape_v2": {
"offset": 48,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 28,
"subtype": "pager",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "pager_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 27,
"column": 5,
"length": 12
},
"field_shape_v1": {
"offset": 52,
"padding": 0
},
"field_shape_v2": {
"offset": 52,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 26,
"subtype": "pmt",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "pmt_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 28,
"column": 5,
"length": 10
},
"field_shape_v1": {
"offset": 56,
"padding": 0
},
"field_shape_v2": {
"offset": 56,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 6,
"subtype": "port",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "port_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 29,
"column": 5,
"length": 11
},
"field_shape_v1": {
"offset": 60,
"padding": 0
},
"field_shape_v2": {
"offset": 60,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 1,
"subtype": "process",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "process_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 30,
"column": 5,
"length": 14
},
"field_shape_v1": {
"offset": 64,
"padding": 0
},
"field_shape_v2": {
"offset": 64,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 25,
"subtype": "profile",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "profile_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 31,
"column": 5,
"length": 14
},
"field_shape_v1": {
"offset": 68,
"padding": 0
},
"field_shape_v2": {
"offset": 68,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 15,
"subtype": "resource",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "resource_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 32,
"column": 5,
"length": 15
},
"field_shape_v1": {
"offset": 72,
"padding": 0
},
"field_shape_v2": {
"offset": 72,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 14,
"subtype": "socket",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "socket_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 33,
"column": 5,
"length": 13
},
"field_shape_v1": {
"offset": 76,
"padding": 0
},
"field_shape_v2": {
"offset": 76,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 27,
"subtype": "suspendtoken",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "suspendtoken_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 34,
"column": 5,
"length": 19
},
"field_shape_v1": {
"offset": 80,
"padding": 0
},
"field_shape_v2": {
"offset": 80,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 2,
"subtype": "thread",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "thread_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 35,
"column": 5,
"length": 13
},
"field_shape_v1": {
"offset": 84,
"padding": 0
},
"field_shape_v2": {
"offset": 84,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 22,
"subtype": "timer",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "timer_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 36,
"column": 5,
"length": 12
},
"field_shape_v1": {
"offset": 88,
"padding": 0
},
"field_shape_v2": {
"offset": 88,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 21,
"subtype": "vcpu",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "vcpu_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 37,
"column": 5,
"length": 11
},
"field_shape_v1": {
"offset": 92,
"padding": 0
},
"field_shape_v2": {
"offset": 92,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 18,
"subtype": "vmar",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "vmar_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 38,
"column": 5,
"length": 11
},
"field_shape_v1": {
"offset": 96,
"padding": 0
},
"field_shape_v2": {
"offset": 96,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 3,
"subtype": "vmo",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "vmo_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 39,
"column": 5,
"length": 10
},
"field_shape_v1": {
"offset": 100,
"padding": 0
},
"field_shape_v2": {
"offset": 100,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 3,
"subtype": "vmo",
"rights": 5,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "rights_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 41,
"column": 5,
"length": 13
},
"field_shape_v1": {
"offset": 104,
"padding": 0
},
"field_shape_v2": {
"offset": 104,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 0,
"subtype": "handle",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"experimental_maybe_from_type_alias": {
"name": "test.handles/aliased_plain_handle",
"args": [],
"nullable": false
},
"name": "aliased_plain_handle_field",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 44,
"column": 5,
"length": 26
},
"field_shape_v1": {
"offset": 108,
"padding": 0
},
"field_shape_v2": {
"offset": 108,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 3,
"subtype": "vmo",
"rights": 2147483648,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"experimental_maybe_from_type_alias": {
"name": "test.handles/aliased_subtype_handle",
"args": [],
"nullable": false
},
"name": "aliased_subtype_handle_field",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 45,
"column": 5,
"length": 28
},
"field_shape_v1": {
"offset": 112,
"padding": 0
},
"field_shape_v2": {
"offset": 112,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"obj_type": 3,
"subtype": "vmo",
"rights": 1,
"nullable": false,
"resource_identifier": "zx/handle",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"experimental_maybe_from_type_alias": {
"name": "test.handles/aliased_rights_handle",
"args": [],
"nullable": false
},
"name": "aliased_rights_handle_field",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 46,
"column": 5,
"length": 27
},
"field_shape_v1": {
"offset": 116,
"padding": 0
},
"field_shape_v2": {
"offset": 116,
"padding": 0
}
},
{
"type": {
"kind": "identifier",
"identifier": "test.handles/SomeProtocol",
"nullable": false,
"protocol_transport": "Channel",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "some_protocol",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 48,
"column": 5,
"length": 13
},
"field_shape_v1": {
"offset": 120,
"padding": 0
},
"field_shape_v2": {
"offset": 120,
"padding": 0
}
},
{
"type": {
"kind": "request",
"subtype": "test.handles/SomeProtocol",
"nullable": false,
"protocol_transport": "Channel",
"type_shape_v1": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 4,
"alignment": 4,
"depth": 0,
"max_handles": 1,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
},
"name": "request_some_protocol",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 49,
"column": 5,
"length": 21
},
"field_shape_v1": {
"offset": 124,
"padding": 0
},
"field_shape_v2": {
"offset": 124,
"padding": 0
}
}
],
"resource": true,
"type_shape_v1": {
"inline_size": 128,
"alignment": 4,
"depth": 0,
"max_handles": 32,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
},
"type_shape_v2": {
"inline_size": 128,
"alignment": 4,
"depth": 0,
"max_handles": 32,
"max_out_of_line": 0,
"has_padding": false,
"has_envelope": false,
"has_flexible_envelope": false
}
}
],
"external_struct_declarations": [],
"table_declarations": [],
"union_declarations": [],
"type_alias_declarations": [
{
"name": "test.handles/aliased_plain_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 8,
"column": 7,
"length": 20
},
"partial_type_ctor": {
"name": "zx/handle",
"args": [],
"nullable": false
}
},
{
"name": "test.handles/aliased_rights_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 10,
"column": 7,
"length": 21
},
"partial_type_ctor": {
"name": "zx/handle",
"args": [],
"nullable": false,
"handle_rights": {
"kind": "identifier",
"value": "1",
"expression": "zx.rights.DUPLICATE",
"identifier": "zx/rights.DUPLICATE"
}
}
},
{
"name": "test.handles/aliased_subtype_handle",
"location": {
"filename": "../../tools/fidl/fidlc/testdata/handles.test.fidl",
"line": 9,
"column": 7,
"length": 22
},
"partial_type_ctor": {
"name": "zx/handle",
"args": [],
"nullable": false
}
}
],
"declaration_order": [
"test.handles/aliased_subtype_handle",
"test.handles/aliased_rights_handle",
"test.handles/aliased_plain_handle",
"test.handles/Handles",
"test.handles/SomeProtocol",
"test.handles/FdfHandles",
"test.handles/DriverProtocol"
],
"declarations": {
"test.handles/DriverProtocol": "protocol",
"test.handles/SomeProtocol": "protocol",
"test.handles/FdfHandles": "struct",
"test.handles/Handles": "struct",
"test.handles/aliased_plain_handle": "type_alias",
"test.handles/aliased_rights_handle": "type_alias",
"test.handles/aliased_subtype_handle": "type_alias"
}
}