diff --git a/Makefile b/Makefile index bce1933..feb1b60 100644 --- a/Makefile +++ b/Makefile @@ -23,5 +23,5 @@ test: capn-test %-test.o: %-test.cpp *.h *.c *.inc $(CXX) -g -Wall -Werror -I. `gtest-config --cppflags --cxxflags` -o $@ -c $< -capn-test: capn-test.o capn-stream-test.o compiler/schema-test.o compiler/schema.capnp.o +capn-test: capn-test.o capn-stream-test.o compiler/test.capnp.o compiler/schema-test.o compiler/schema.capnp.o $(CXX) -g -Wall -Werror -I. `gtest-config --ldflags --libs` -o $@ $^ diff --git a/compiler/capnpc-c.c b/compiler/capnpc-c.c index ce20ec5..5c83237 100644 --- a/compiler/capnpc-c.c +++ b/compiler/capnpc-c.c @@ -317,7 +317,15 @@ static void define_const(struct node *n) { break; case Value_uint8: + str_addf(&HDR, "extern %s %s;\n", v.tname, n->name.str); + str_addf(&SRC, "%s %s = %u;\n", v.tname, n->name.str, (uint8_t) v.intval); + break; + case Value_uint16: + str_addf(&HDR, "extern %s %s;\n", v.tname, n->name.str); + str_addf(&SRC, "%s %s = %u;\n", v.tname, n->name.str, (uint16_t) v.intval); + break; + case Value_uint32: str_addf(&HDR, "extern %s %s;\n", v.tname, n->name.str); str_addf(&SRC, "%s %s = %uu;\n", v.tname, n->name.str, (uint32_t) v.intval); diff --git a/compiler/test.capnp b/compiler/test.capnp new file mode 100644 index 0000000..b9150d7 --- /dev/null +++ b/compiler/test.capnp @@ -0,0 +1,574 @@ +# Copyright (c) 2013, Kenton Varda +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +@0xd508eebdc2dc42b8; + +using Cxx = import "c++.capnp"; + +# Use a namespace likely to cause trouble if the generated code doesn't use fully-qualified +# names for stuff in the capnproto namespace. +$Cxx.namespace("capnproto_test::capnp::test"); + +enum TestEnum { + foo @0; + bar @1; + baz @2; + qux @3; + quux @4; + corge @5; + grault @6; + garply @7; +} + +struct TestAllTypes { + voidField @0 : Void; + boolField @1 : Bool; + int8Field @2 : Int8; + int16Field @3 : Int16; + int32Field @4 : Int32; + int64Field @5 : Int64; + uInt8Field @6 : UInt8; + uInt16Field @7 : UInt16; + uInt32Field @8 : UInt32; + uInt64Field @9 : UInt64; + float32Field @10 : Float32; + float64Field @11 : Float64; + textField @12 : Text; + dataField @13 : Data; + structField @14 : TestAllTypes; + enumField @15 : TestEnum; + interfaceField @16 : Void; # TODO + + voidList @17 : List(Void); + boolList @18 : List(Bool); + int8List @19 : List(Int8); + int16List @20 : List(Int16); + int32List @21 : List(Int32); + int64List @22 : List(Int64); + uInt8List @23 : List(UInt8); + uInt16List @24 : List(UInt16); + uInt32List @25 : List(UInt32); + uInt64List @26 : List(UInt64); + float32List @27 : List(Float32); + float64List @28 : List(Float64); + textList @29 : List(Text); + dataList @30 : List(Data); + structList @31 : List(TestAllTypes); + enumList @32 : List(TestEnum); + interfaceList @33 : List(Void); # TODO +} + +struct TestDefaults { + voidField @0 : Void = void; + boolField @1 : Bool = true; + int8Field @2 : Int8 = -123; + int16Field @3 : Int16 = -12345; + int32Field @4 : Int32 = -12345678; + int64Field @5 : Int64 = -123456789012345; + uInt8Field @6 : UInt8 = 234; + uInt16Field @7 : UInt16 = 45678; + uInt32Field @8 : UInt32 = 3456789012; + uInt64Field @9 : UInt64 = 12345678901234567890; + float32Field @10 : Float32 = 1234.5; + float64Field @11 : Float64 = -123e45; + textField @12 : Text = "foo"; + dataField @13 : Data = "bar"; + structField @14 : TestAllTypes = ( + voidField = void, + boolField = true, + int8Field = -12, + int16Field = 3456, + int32Field = -78901234, + int64Field = 56789012345678, + uInt8Field = 90, + uInt16Field = 1234, + uInt32Field = 56789012, + uInt64Field = 345678901234567890, + float32Field = -1.25e-10, + float64Field = 345, + textField = "baz", + dataField = "qux", + structField = ( + textField = "nested", + structField = (textField = "really nested")), + enumField = baz, + # interfaceField can't have a default + + voidList = [void, void, void], + boolList = [false, true, false, true, true], + int8List = [12, -34, -0x80, 0x7f], + int16List = [1234, -5678, -0x8000, 0x7fff], + int32List = [12345678, -90123456, -0x80000000, 0x7fffffff], + int64List = [123456789012345, -678901234567890, -0x8000000000000000, 0x7fffffffffffffff], + uInt8List = [12, 34, 0, 0xff], + uInt16List = [1234, 5678, 0, 0xffff], + uInt32List = [12345678, 90123456, 0, 0xffffffff], + uInt64List = [123456789012345, 678901234567890, 0, 0xffffffffffffffff], + float32List = [0, 1234567, 1e37, -1e37, 1e-37, -1e-37], + float64List = [0, 123456789012345, 1e306, -1e306, 1e-306, -1e-306], + textList = ["quux", "corge", "grault"], + dataList = ["garply", "waldo", "fred"], + structList = [ + (textField = "x structlist 1"), + (textField = "x structlist 2"), + (textField = "x structlist 3")], + enumList = [qux, bar, grault] + # interfaceList can't have a default + ); + enumField @15 : TestEnum = corge; + interfaceField @16 : Void; # TODO + + voidList @17 : List(Void) = [void, void, void, void, void, void]; + boolList @18 : List(Bool) = [true, false, false, true]; + int8List @19 : List(Int8) = [111, -111]; + int16List @20 : List(Int16) = [11111, -11111]; + int32List @21 : List(Int32) = [111111111, -111111111]; + int64List @22 : List(Int64) = [1111111111111111111, -1111111111111111111]; + uInt8List @23 : List(UInt8) = [111, 222] ; + uInt16List @24 : List(UInt16) = [33333, 44444]; + uInt32List @25 : List(UInt32) = [3333333333]; + uInt64List @26 : List(UInt64) = [11111111111111111111]; + float32List @27 : List(Float32) = [5555.5, inf, -inf, nan]; + float64List @28 : List(Float64) = [7777.75, inf, -inf, nan]; + textList @29 : List(Text) = ["plugh", "xyzzy", "thud"]; + dataList @30 : List(Data) = ["oops", "exhausted", "rfc3092"]; + structList @31 : List(TestAllTypes) = [ + (textField = "structlist 1"), + (textField = "structlist 2"), + (textField = "structlist 3")]; + enumList @32 : List(TestEnum) = [foo, garply]; + interfaceList @33 : List(Void); # TODO +} + +struct TestObject { + objectField @0 :Object; + + # Do not add any other fields here! Some tests rely on objectField being the last pointer + # in the struct. +} + +struct TestOutOfOrder { + foo @3 :Text; + bar @2 :Text; + baz @8 :Text; + qux @0 :Text; + quux @6 :Text; + corge @4 :Text; + grault @1 :Text; + garply @7 :Text; + waldo @5 :Text; +} + +struct TestUnion { + union0 @0! :union { + # Pack union 0 under ideal conditions: there is no unused padding space prior to it. + u0f0s0 @4: Void; + u0f0s1 @5: Bool; + u0f0s8 @6: Int8; + u0f0s16 @7: Int16; + u0f0s32 @8: Int32; + u0f0s64 @9: Int64; + u0f0sp @10: Text; + + # Pack more stuff into union0 -- should go in same space. + u0f1s0 @11: Void; + u0f1s1 @12: Bool; + u0f1s8 @13: Int8; + u0f1s16 @14: Int16; + u0f1s32 @15: Int32; + u0f1s64 @16: Int64; + u0f1sp @17: Text; + } + + # Pack one bit in order to make pathological situation for union1. + bit0 @18: Bool; + + union1 @1! :union { + # Pack pathologically bad case. Each field takes up new space. + u1f0s0 @19: Void; + u1f0s1 @20: Bool; + u1f1s1 @21: Bool; + u1f0s8 @22: Int8; + u1f1s8 @23: Int8; + u1f0s16 @24: Int16; + u1f1s16 @25: Int16; + u1f0s32 @26: Int32; + u1f1s32 @27: Int32; + u1f0s64 @28: Int64; + u1f1s64 @29: Int64; + u1f0sp @30: Text; + u1f1sp @31: Text; + + # Pack more stuff into union1 -- each should go into the same space as corresponding u1f0s*. + u1f2s0 @32: Void; + u1f2s1 @33: Bool; + u1f2s8 @34: Int8; + u1f2s16 @35: Int16; + u1f2s32 @36: Int32; + u1f2s64 @37: Int64; + u1f2sp @38: Text; + } + + # Fill in the rest of that bitfield from earlier. + bit2 @39: Bool; + bit3 @40: Bool; + bit4 @41: Bool; + bit5 @42: Bool; + bit6 @43: Bool; + bit7 @44: Bool; + + # Interleave two unions to be really annoying. + # Also declare in reverse order to make sure union discriminant values are sorted by field number + # and not by declaration order. + union2 @2! :union { + u2f0s64 @54: Int64; + u2f0s32 @52: Int32; + u2f0s16 @50: Int16; + u2f0s8 @47: Int8; + u2f0s1 @45: Bool; + } + + union3 @3! :union { + u3f0s64 @55: Int64; + u3f0s32 @53: Int32; + u3f0s16 @51: Int16; + u3f0s8 @48: Int8; + u3f0s1 @46: Bool; + } + + byte0 @49: UInt8; +} + +struct TestUnnamedUnion { + before @0 :Text; + + union { + foo @1 :UInt16; + bar @3 :UInt32; + } + + middle @2 :UInt16; + + after @4 :Text; +} + +struct TestUnionInUnion { + # There is no reason to ever do this. + outer :union { + inner :union { + foo @0 :Int32; + bar @1 :Int32; + } + baz @2 :Int32; + } +} + +struct TestGroups { + groups :union { + foo :group { + corge @0 :Int32; + grault @2 :Int64; + garply @8 :Text; + } + bar :group { + corge @3 :Int32; + grault @4 :Text; + garply @5 :Int64; + } + baz :group { + corge @1 :Int32; + grault @6 :Text; + garply @7 :Text; + } + } +} + +struct TestInterleavedGroups { + group1 :group { + foo @0 :UInt32; + bar @2 :UInt64; + union { + qux @4 :UInt16; + corge :group { + grault @6 :UInt64; + garply @8 :UInt16; + plugh @14 :Text; + xyzzy @16 :Text; + } + + fred @12 :Text; + } + + waldo @10 :Text; + } + + group2 :group { + foo @1 :UInt32; + bar @3 :UInt64; + union { + qux @5 :UInt16; + corge :group { + grault @7 :UInt64; + garply @9 :UInt16; + plugh @15 :Text; + xyzzy @17 :Text; + } + + fred @13 :Text; + } + + waldo @11 :Text; + } +} + +struct TestUnionDefaults { + s16s8s64s8Set @0 :TestUnion = + (union0 = (u0f0s16 = 321), union1 = (u1f0s8 = 123), union2 = (u2f0s64 = 12345678901234567), + union3 = (u3f0s8 = 55)); + s0sps1s32Set @1 :TestUnion = + (union0 = (u0f1s0 = void), union1 = (u1f0sp = "foo"), union2 = (u2f0s1 = true), + union3 = (u3f0s32 = 12345678)); + + unnamed1 @2 :TestUnnamedUnion = (foo = 123); + unnamed2 @3 :TestUnnamedUnion = (bar = 321, before = "foo", after = "bar"); +} + +struct TestNestedTypes { + enum NestedEnum { + foo @0; + bar @1; + } + + struct NestedStruct { + enum NestedEnum { + baz @0; + qux @1; + quux @2; + } + + outerNestedEnum @0 :TestNestedTypes.NestedEnum = bar; + innerNestedEnum @1 :NestedEnum = quux; + } + + nestedStruct @0 :NestedStruct; + + outerNestedEnum @1 :NestedEnum = bar; + innerNestedEnum @2 :NestedStruct.NestedEnum = quux; +} + +struct TestUsing { + using OuterNestedEnum = TestNestedTypes.NestedEnum; + using TestNestedTypes.NestedStruct.NestedEnum; + + outerNestedEnum @1 :OuterNestedEnum = bar; + innerNestedEnum @0 :NestedEnum = quux; +} + +struct TestLists { + # Small structs, when encoded as list, will be encoded as primitive lists rather than struct + # lists, to save space. + struct Struct0 { f @0 :Void; } + struct Struct1 { f @0 :Bool; } + struct Struct8 { f @0 :UInt8; } + struct Struct16 { f @0 :UInt16; } + struct Struct32 { f @0 :UInt32; } + struct Struct64 { f @0 :UInt64; } + struct StructP { f @0 :Text; } + + # Versions of the above which cannot be encoded as primitive lists. + struct Struct0c { f @0 :Void; pad @1 :Text; } + struct Struct1c { f @0 :Bool; pad @1 :Text; } + struct Struct8c { f @0 :UInt8; pad @1 :Text; } + struct Struct16c { f @0 :UInt16; pad @1 :Text; } + struct Struct32c { f @0 :UInt32; pad @1 :Text; } + struct Struct64c { f @0 :UInt64; pad @1 :Text; } + struct StructPc { f @0 :Text; pad @1 :UInt64; } + + list0 @0 :List(Struct0); + list1 @1 :List(Struct1); + list8 @2 :List(Struct8); + list16 @3 :List(Struct16); + list32 @4 :List(Struct32); + list64 @5 :List(Struct64); + listP @6 :List(StructP); + + int32ListList @7 :List(List(Int32)); + textListList @8 :List(List(Text)); + structListList @9 :List(List(TestAllTypes)); +} + +struct TestFieldZeroIsBit { + bit @0 :Bool; + secondBit @1 :Bool = true; + thirdField @2 :UInt8 = 123; +} + +struct TestListDefaults { + lists @0 :TestLists = ( + list0 = [(f = void), (f = void)], + list1 = [(f = true), (f = false), (f = true), (f = true)], + list8 = [(f = 123), (f = 45)], + list16 = [(f = 12345), (f = 6789)], + list32 = [(f = 123456789), (f = 234567890)], + list64 = [(f = 1234567890123456), (f = 2345678901234567)], + listP = [(f = "foo"), (f = "bar")], + int32ListList = [[1, 2, 3], [4, 5], [12341234]], + textListList = [["foo", "bar"], ["baz"], ["qux", "corge"]], + structListList = [[(int32Field = 123), (int32Field = 456)], [(int32Field = 789)]]); +} + +struct TestLateUnion { + # Test what happens if the unions are not the first ordinals in the struct. At one point this + # was broken for the dynamic API. + + foo @0 :Int32; + bar @1 :Text; + baz @2 :Int16; + + theUnion @3! :union { + qux @4 :Text; + corge @5 :List(Int32); + grault @6 :Float32; + } + + anotherUnion @7! :union { + qux @8 :Text; + corge @9 :List(Int32); + grault @10 :Float32; + } +} + +struct TestOldVersion { + # A subset of TestNewVersion. + old1 @0 :Int64; + old2 @1 :Text; + old3 @2 :TestOldVersion; +} + +struct TestNewVersion { + # A superset of TestOldVersion. + old1 @0 :Int64; + old2 @1 :Text; + old3 @2 :TestNewVersion; + new1 @3 :Int64 = 987; + new2 @4 :Text = "baz"; +} + +struct TestStructUnion { + un @0! :union { + allTypes @1 :TestAllTypes; + object @2 :TestObject; + } +} + +struct TestEmptyStruct {} + +struct TestConstants { + const voidConst :Void = void; + const boolConst :Bool = true; + const int8Const :Int8 = -123; + const int16Const :Int16 = -12345; + const int32Const :Int32 = -12345678; + const int64Const :Int64 = -123456789012345; + const uint8Const :UInt8 = 234; + const uint16Const :UInt16 = 45678; + const uint32Const :UInt32 = 3456789012; + const uint64Const :UInt64 = 12345678901234567890; + const float32Const :Float32 = 1234.5; + const float64Const :Float64 = -123e45; + const textConst :Text = "foo"; + const dataConst :Data = "bar"; + const structConst :TestAllTypes = ( + voidField = void, + boolField = true, + int8Field = -12, + int16Field = 3456, + int32Field = -78901234, + int64Field = 56789012345678, + uInt8Field = 90, + uInt16Field = 1234, + uInt32Field = 56789012, + uInt64Field = 345678901234567890, + float32Field = -1.25e-10, + float64Field = 345, + textField = "baz", + dataField = "qux", + structField = ( + textField = "nested", + structField = (textField = "really nested")), + enumField = baz, + # interfaceField can't have a default + + voidList = [void, void, void], + boolList = [false, true, false, true, true], + int8List = [12, -34, -0x80, 0x7f], + int16List = [1234, -5678, -0x8000, 0x7fff], + int32List = [12345678, -90123456, -0x80000000, 0x7fffffff], + int64List = [123456789012345, -678901234567890, -0x8000000000000000, 0x7fffffffffffffff], + uInt8List = [12, 34, 0, 0xff], + uInt16List = [1234, 5678, 0, 0xffff], + uInt32List = [12345678, 90123456, 0, 0xffffffff], + uInt64List = [123456789012345, 678901234567890, 0, 0xffffffffffffffff], + float32List = [0, 1234567, 1e37, -1e37, 1e-37, -1e-37], + float64List = [0, 123456789012345, 1e306, -1e306, 1e-306, -1e-306], + textList = ["quux", "corge", "grault"], + dataList = ["garply", "waldo", "fred"], + structList = [ + (textField = "x structlist 1"), + (textField = "x structlist 2"), + (textField = "x structlist 3")], + enumList = [qux, bar, grault] + # interfaceList can't have a default + ); + const enumConst :TestEnum = corge; + + const voidListConst :List(Void) = [void, void, void, void, void, void]; + const boolListConst :List(Bool) = [true, false, false, true]; + const int8ListConst :List(Int8) = [111, -111]; + const int16ListConst :List(Int16) = [11111, -11111]; + const int32ListConst :List(Int32) = [111111111, -111111111]; + const int64ListConst :List(Int64) = [1111111111111111111, -1111111111111111111]; + const uint8ListConst :List(UInt8) = [111, 222] ; + const uint16ListConst :List(UInt16) = [33333, 44444]; + const uint32ListConst :List(UInt32) = [3333333333]; + const uint64ListConst :List(UInt64) = [11111111111111111111]; + const float32ListConst :List(Float32) = [5555.5, inf, -inf, nan]; + const float64ListConst :List(Float64) = [7777.75, inf, -inf, nan]; + const textListConst :List(Text) = ["plugh", "xyzzy", "thud"]; + const dataListConst :List(Data) = ["oops", "exhausted", "rfc3092"]; + const structListConst :List(TestAllTypes) = [ + (textField = "structlist 1"), + (textField = "structlist 2"), + (textField = "structlist 3")]; + const enumListConst :List(TestEnum) = [foo, garply]; +} + +const globalInt :UInt32 = 12345; +const globalText :Text = "foobar"; +const globalStruct :TestAllTypes = (int32Field = 54321); +const derivedConstant :TestAllTypes = ( + uInt32Field = .globalInt, + textField = TestConstants.textConst, + structField = TestConstants.structConst, + int16List = TestConstants.int16ListConst, + structList = TestConstants.structListConst); diff --git a/compiler/test.capnp.c b/compiler/test.capnp.c new file mode 100644 index 0000000..273bafc --- /dev/null +++ b/compiler/test.capnp.c @@ -0,0 +1,2799 @@ +#include "test.capnp.h" +/* AUTO GENERATED - DO NOT EDIT */ +static const capn_text capn_val0 = {0,""}; +static const capn_ptr capn_null = {CAPN_NULL}; +static const uint8_t capn_buf[8168] = { + 102,111,111,0,0,0,0,0, + 98,97,114,0,0,0,0,0, + 1,244,128,13,14,16,76,251, + 78,115,232,56,166,51,0,0, + 90,0,210,4,20,136,98,3, + 210,10,111,18,33,25,204,4, + 95,112,9,175,2,0,0,0, + 0,0,0,0,0,144,117,64, + 77,0,0,0,34,0,0,0, + 77,0,0,0,26,0,0,0, + 76,0,0,0,6,0,20,0, + 1,0,0,0,24,0,0,0, + 33,1,0,0,41,0,0,0, + 33,1,0,0,34,0,0,0, + 33,1,0,0,35,0,0,0, + 33,1,0,0,36,0,0,0, + 37,1,0,0,37,0,0,0, + 49,1,0,0,34,0,0,0, + 49,1,0,0,35,0,0,0, + 49,1,0,0,36,0,0,0, + 53,1,0,0,37,0,0,0, + 65,1,0,0,52,0,0,0, + 73,1,0,0,53,0,0,0, + 93,1,0,0,30,0,0,0, + 113,1,0,0,30,0,0,0, + 133,1,0,0,119,2,0,0, + 213,2,0,0,27,0,0,0, + 0,0,0,0,0,0,0,0, + 98,97,122,0,0,0,0,0, + 113,117,120,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 77,0,0,0,58,0,0,0, + 0,0,0,0,0,0,0,0, + 72,0,0,0,6,0,20,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 110,101,115,116,101,100,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 77,0,0,0,114,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 114,101,97,108,108,121,32,110, + 101,115,116,101,100,0,0,0, + 26,0,0,0,0,0,0,0, + 12,222,128,127,0,0,0,0, + 210,4,210,233,0,128,255,127, + 78,97,188,0,64,211,160,250, + 0,0,0,128,255,255,255,127, + 121,223,13,134,72,112,0,0, + 46,117,19,253,138,150,253,255, + 0,0,0,0,0,0,0,128, + 255,255,255,255,255,255,255,127, + 12,34,0,255,0,0,0,0, + 210,4,46,22,0,0,255,255, + 78,97,188,0,192,44,95,5, + 0,0,0,0,255,255,255,255, + 121,223,13,134,72,112,0,0, + 210,138,236,2,117,105,2,0, + 0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255, + 0,0,0,0,56,180,150,73, + 194,189,240,124,194,189,240,252, + 234,28,8,2,234,28,8,130, + 0,0,0,0,0,0,0,0, + 64,222,119,131,33,18,220,66, + 41,144,35,202,229,200,118,127, + 41,144,35,202,229,200,118,255, + 145,247,80,55,158,120,102,0, + 145,247,80,55,158,120,102,128, + 9,0,0,0,42,0,0,0, + 9,0,0,0,50,0,0,0, + 9,0,0,0,58,0,0,0, + 113,117,117,120,0,0,0,0, + 99,111,114,103,101,0,0,0, + 103,114,97,117,108,116,0,0, + 9,0,0,0,50,0,0,0, + 9,0,0,0,42,0,0,0, + 9,0,0,0,34,0,0,0, + 103,97,114,112,108,121,0,0, + 119,97,108,100,111,0,0,0, + 102,114,101,100,0,0,0,0, + 12,0,0,0,6,0,20,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 29,1,0,0,122,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 189,0,0,0,122,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 93,0,0,0,122,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 120,32,115,116,114,117,99,116, + 108,105,115,116,32,49,0,0, + 120,32,115,116,114,117,99,116, + 108,105,115,116,32,50,0,0, + 120,32,115,116,114,117,99,116, + 108,105,115,116,32,51,0,0, + 3,0,1,0,6,0,0,0, + 9,0,0,0,0,0,0,0, + 111,145,0,0,0,0,0,0, + 103,43,153,212,0,0,0,0, + 199,107,159,6,57,148,96,249, + 199,113,196,43,171,117,107,15, + 57,142,59,212,84,138,148,240, + 111,222,0,0,0,0,0,0, + 53,130,156,173,0,0,0,0, + 85,161,174,198,0,0,0,0, + 199,113,172,181,175,152,50,154, + 0,156,173,69,0,0,128,127, + 0,0,128,255,0,0,192,127, + 0,0,0,0,192,97,190,64, + 0,0,0,0,0,0,240,127, + 0,0,0,0,0,0,240,255, + 0,0,0,0,0,0,248,127, + 9,0,0,0,50,0,0,0, + 9,0,0,0,50,0,0,0, + 9,0,0,0,42,0,0,0, + 112,108,117,103,104,0,0,0, + 120,121,122,122,121,0,0,0, + 116,104,117,100,0,0,0,0, + 9,0,0,0,34,0,0,0, + 9,0,0,0,74,0,0,0, + 13,0,0,0,58,0,0,0, + 111,111,112,115,0,0,0,0, + 101,120,104,97,117,115,116,101, + 100,0,0,0,0,0,0,0, + 114,102,99,51,48,57,50,0, + 12,0,0,0,6,0,20,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 29,1,0,0,106,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 189,0,0,0,106,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 93,0,0,0,106,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 115,116,114,117,99,116,108,105, + 115,116,32,49,0,0,0,0, + 115,116,114,117,99,116,108,105, + 115,116,32,50,0,0,0,0, + 115,116,114,117,99,116,108,105, + 115,116,32,51,0,0,0,0, + 0,0,7,0,0,0,0,0, + 102,111,111,98,97,114,0,0, + 0,0,0,0,49,212,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,57,48,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 77,0,0,0,34,0,0,0, + 0,0,0,0,0,0,0,0, + 72,0,0,0,6,0,20,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 117,3,0,0,19,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 77,3,0,0,119,2,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 102,111,111,0,0,0,0,0, + 1,244,128,13,14,16,76,251, + 78,115,232,56,166,51,0,0, + 90,0,210,4,20,136,98,3, + 210,10,111,18,33,25,204,4, + 95,112,9,175,2,0,0,0, + 0,0,0,0,0,144,117,64, + 77,0,0,0,34,0,0,0, + 77,0,0,0,26,0,0,0, + 76,0,0,0,6,0,20,0, + 1,0,0,0,24,0,0,0, + 33,1,0,0,41,0,0,0, + 33,1,0,0,34,0,0,0, + 33,1,0,0,35,0,0,0, + 33,1,0,0,36,0,0,0, + 37,1,0,0,37,0,0,0, + 49,1,0,0,34,0,0,0, + 49,1,0,0,35,0,0,0, + 49,1,0,0,36,0,0,0, + 53,1,0,0,37,0,0,0, + 65,1,0,0,52,0,0,0, + 73,1,0,0,53,0,0,0, + 93,1,0,0,30,0,0,0, + 113,1,0,0,30,0,0,0, + 133,1,0,0,119,2,0,0, + 213,2,0,0,27,0,0,0, + 0,0,0,0,0,0,0,0, + 98,97,122,0,0,0,0,0, + 113,117,120,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 77,0,0,0,58,0,0,0, + 0,0,0,0,0,0,0,0, + 72,0,0,0,6,0,20,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 110,101,115,116,101,100,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 77,0,0,0,114,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 114,101,97,108,108,121,32,110, + 101,115,116,101,100,0,0,0, + 26,0,0,0,0,0,0,0, + 12,222,128,127,0,0,0,0, + 210,4,210,233,0,128,255,127, + 78,97,188,0,64,211,160,250, + 0,0,0,128,255,255,255,127, + 121,223,13,134,72,112,0,0, + 46,117,19,253,138,150,253,255, + 0,0,0,0,0,0,0,128, + 255,255,255,255,255,255,255,127, + 12,34,0,255,0,0,0,0, + 210,4,46,22,0,0,255,255, + 78,97,188,0,192,44,95,5, + 0,0,0,0,255,255,255,255, + 121,223,13,134,72,112,0,0, + 210,138,236,2,117,105,2,0, + 0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255, + 0,0,0,0,56,180,150,73, + 194,189,240,124,194,189,240,252, + 234,28,8,2,234,28,8,130, + 0,0,0,0,0,0,0,0, + 64,222,119,131,33,18,220,66, + 41,144,35,202,229,200,118,127, + 41,144,35,202,229,200,118,255, + 145,247,80,55,158,120,102,0, + 145,247,80,55,158,120,102,128, + 9,0,0,0,42,0,0,0, + 9,0,0,0,50,0,0,0, + 9,0,0,0,58,0,0,0, + 113,117,117,120,0,0,0,0, + 99,111,114,103,101,0,0,0, + 103,114,97,117,108,116,0,0, + 9,0,0,0,50,0,0,0, + 9,0,0,0,42,0,0,0, + 9,0,0,0,34,0,0,0, + 103,97,114,112,108,121,0,0, + 119,97,108,100,111,0,0,0, + 102,114,101,100,0,0,0,0, + 12,0,0,0,6,0,20,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 29,1,0,0,122,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 189,0,0,0,122,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 93,0,0,0,122,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 120,32,115,116,114,117,99,116, + 108,105,115,116,32,49,0,0, + 120,32,115,116,114,117,99,116, + 108,105,115,116,32,50,0,0, + 120,32,115,116,114,117,99,116, + 108,105,115,116,32,51,0,0, + 3,0,1,0,6,0,0,0, + 103,43,153,212,0,0,0,0, + 12,0,0,0,6,0,20,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 29,1,0,0,106,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 189,0,0,0,106,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 93,0,0,0,106,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 115,116,114,117,99,116,108,105, + 115,116,32,49,0,0,0,0, + 115,116,114,117,99,116,108,105, + 115,116,32,50,0,0,0,0, + 115,116,114,117,99,116,108,105, + 115,116,32,51,0,0,0,0, + 102,111,111,0,0,0,0,0, + 98,97,114,0,0,0,0,0, + 1,244,128,13,14,16,76,251, + 78,115,232,56,166,51,0,0, + 90,0,210,4,20,136,98,3, + 210,10,111,18,33,25,204,4, + 95,112,9,175,2,0,0,0, + 0,0,0,0,0,144,117,64, + 77,0,0,0,34,0,0,0, + 77,0,0,0,26,0,0,0, + 76,0,0,0,6,0,20,0, + 1,0,0,0,24,0,0,0, + 33,1,0,0,41,0,0,0, + 33,1,0,0,34,0,0,0, + 33,1,0,0,35,0,0,0, + 33,1,0,0,36,0,0,0, + 37,1,0,0,37,0,0,0, + 49,1,0,0,34,0,0,0, + 49,1,0,0,35,0,0,0, + 49,1,0,0,36,0,0,0, + 53,1,0,0,37,0,0,0, + 65,1,0,0,52,0,0,0, + 73,1,0,0,53,0,0,0, + 93,1,0,0,30,0,0,0, + 113,1,0,0,30,0,0,0, + 133,1,0,0,119,2,0,0, + 213,2,0,0,27,0,0,0, + 0,0,0,0,0,0,0,0, + 98,97,122,0,0,0,0,0, + 113,117,120,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 77,0,0,0,58,0,0,0, + 0,0,0,0,0,0,0,0, + 72,0,0,0,6,0,20,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 110,101,115,116,101,100,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 77,0,0,0,114,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 114,101,97,108,108,121,32,110, + 101,115,116,101,100,0,0,0, + 26,0,0,0,0,0,0,0, + 12,222,128,127,0,0,0,0, + 210,4,210,233,0,128,255,127, + 78,97,188,0,64,211,160,250, + 0,0,0,128,255,255,255,127, + 121,223,13,134,72,112,0,0, + 46,117,19,253,138,150,253,255, + 0,0,0,0,0,0,0,128, + 255,255,255,255,255,255,255,127, + 12,34,0,255,0,0,0,0, + 210,4,46,22,0,0,255,255, + 78,97,188,0,192,44,95,5, + 0,0,0,0,255,255,255,255, + 121,223,13,134,72,112,0,0, + 210,138,236,2,117,105,2,0, + 0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255, + 0,0,0,0,56,180,150,73, + 194,189,240,124,194,189,240,252, + 234,28,8,2,234,28,8,130, + 0,0,0,0,0,0,0,0, + 64,222,119,131,33,18,220,66, + 41,144,35,202,229,200,118,127, + 41,144,35,202,229,200,118,255, + 145,247,80,55,158,120,102,0, + 145,247,80,55,158,120,102,128, + 9,0,0,0,42,0,0,0, + 9,0,0,0,50,0,0,0, + 9,0,0,0,58,0,0,0, + 113,117,117,120,0,0,0,0, + 99,111,114,103,101,0,0,0, + 103,114,97,117,108,116,0,0, + 9,0,0,0,50,0,0,0, + 9,0,0,0,42,0,0,0, + 9,0,0,0,34,0,0,0, + 103,97,114,112,108,121,0,0, + 119,97,108,100,111,0,0,0, + 102,114,101,100,0,0,0,0, + 12,0,0,0,6,0,20,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 29,1,0,0,122,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 189,0,0,0,122,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 93,0,0,0,122,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 120,32,115,116,114,117,99,116, + 108,105,115,116,32,49,0,0, + 120,32,115,116,114,117,99,116, + 108,105,115,116,32,50,0,0, + 120,32,115,116,114,117,99,116, + 108,105,115,116,32,51,0,0, + 3,0,1,0,6,0,0,0, + 9,0,0,0,0,0,0,0, + 111,145,0,0,0,0,0,0, + 103,43,153,212,0,0,0,0, + 199,107,159,6,57,148,96,249, + 199,113,196,43,171,117,107,15, + 57,142,59,212,84,138,148,240, + 111,222,0,0,0,0,0,0, + 53,130,156,173,0,0,0,0, + 85,161,174,198,0,0,0,0, + 199,113,172,181,175,152,50,154, + 0,156,173,69,0,0,128,127, + 0,0,128,255,0,0,192,127, + 0,0,0,0,192,97,190,64, + 0,0,0,0,0,0,240,127, + 0,0,0,0,0,0,240,255, + 0,0,0,0,0,0,248,127, + 9,0,0,0,50,0,0,0, + 9,0,0,0,50,0,0,0, + 9,0,0,0,42,0,0,0, + 112,108,117,103,104,0,0,0, + 120,121,122,122,121,0,0,0, + 116,104,117,100,0,0,0,0, + 9,0,0,0,34,0,0,0, + 9,0,0,0,74,0,0,0, + 13,0,0,0,58,0,0,0, + 111,111,112,115,0,0,0,0, + 101,120,104,97,117,115,116,101, + 100,0,0,0,0,0,0,0, + 114,102,99,51,48,57,50,0, + 12,0,0,0,6,0,20,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 29,1,0,0,106,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 189,0,0,0,106,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 93,0,0,0,106,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 115,116,114,117,99,116,108,105, + 115,116,32,49,0,0,0,0, + 115,116,114,117,99,116,108,105, + 115,116,32,50,0,0,0,0, + 115,116,114,117,99,116,108,105, + 115,116,32,51,0,0,0,0, + 0,0,7,0,0,0,0,0, + 3,0,3,0,4,0,1,0, + 65,1,0,0,0,0,0,0, + 0,123,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,55,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 135,75,107,93,84,220,43,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 7,0,11,0,0,0,3,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 1,0,0,0,0,0,0,0, + 0,0,0,0,78,97,188,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 1,0,0,0,34,0,0,0, + 102,111,111,0,0,0,0,0, + 123,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 98,97,122,0,0,0,0,0 +}; +static const struct capn_segment capn_seg = {{0},0,0,0,(char*)&capn_buf[0],8168,8168}; +unsigned TestConstants_boolConst = 1; +int8_t TestConstants_int8Const = -123; +int16_t TestConstants_int16Const = -12345; +int32_t TestConstants_int32Const = -12345678; +int64_t TestConstants_int64Const = ((uint64_t) 0xffff8fb7u << 32) | 0x79f22087u; +uint8_t TestConstants_uint8Const = 234; +uint16_t TestConstants_uint16Const = 45678; +uint32_t TestConstants_uint32Const = 3456789012u; +uint64_t TestConstants_uint64Const = ((uint64_t) 0xab54a98cu << 32) | 0xeb1f0ad2u; +union capn_conv_f32 TestConstants_float32Const = {0x449a5000u}; +union capn_conv_f64 TestConstants_float64Const = {((uint64_t) 0xc9b58b82u << 32) | 0xc0e0bb00u}; +capn_text TestConstants_textConst = {3,(char*)&capn_buf[0],(struct capn_segment*)&capn_seg}; +capn_data TestConstants_dataConst = {{2,0,1,0,3,(char*)&capn_buf[8],(struct capn_segment*)&capn_seg}}; +TestAllTypes_ptr TestConstants_structConst = {{1,0,48,160,0,(char*)&capn_buf[16],(struct capn_segment*)&capn_seg}}; +enum TestEnum TestConstants_enumConst = (enum TestEnum) 5u; +capn_ptr TestConstants_voidListConst = {2,0,0,0,6,(char*)&capn_buf[0],(struct capn_segment*)&capn_seg}; +capn_list1 TestConstants_boolListConst = {{4,0,1,0,4,(char*)&capn_buf[1672],(struct capn_segment*)&capn_seg}}; +capn_list8 TestConstants_int8ListConst = {{2,0,1,0,2,(char*)&capn_buf[1680],(struct capn_segment*)&capn_seg}}; +capn_list16 TestConstants_int16ListConst = {{2,0,2,0,2,(char*)&capn_buf[1688],(struct capn_segment*)&capn_seg}}; +capn_list32 TestConstants_int32ListConst = {{2,0,4,0,2,(char*)&capn_buf[1696],(struct capn_segment*)&capn_seg}}; +capn_list64 TestConstants_int64ListConst = {{2,0,8,0,2,(char*)&capn_buf[1704],(struct capn_segment*)&capn_seg}}; +capn_list8 TestConstants_uint8ListConst = {{2,0,1,0,2,(char*)&capn_buf[1720],(struct capn_segment*)&capn_seg}}; +capn_list16 TestConstants_uint16ListConst = {{2,0,2,0,2,(char*)&capn_buf[1728],(struct capn_segment*)&capn_seg}}; +capn_list32 TestConstants_uint32ListConst = {{2,0,4,0,1,(char*)&capn_buf[1736],(struct capn_segment*)&capn_seg}}; +capn_list64 TestConstants_uint64ListConst = {{2,0,8,0,1,(char*)&capn_buf[1744],(struct capn_segment*)&capn_seg}}; +capn_list32 TestConstants_float32ListConst = {{2,0,4,0,4,(char*)&capn_buf[1752],(struct capn_segment*)&capn_seg}}; +capn_list64 TestConstants_float64ListConst = {{2,0,8,0,4,(char*)&capn_buf[1768],(struct capn_segment*)&capn_seg}}; +capn_ptr TestConstants_textListConst = {3,0,0,0,3,(char*)&capn_buf[1800],(struct capn_segment*)&capn_seg}; +capn_ptr TestConstants_dataListConst = {3,0,0,0,3,(char*)&capn_buf[1848],(struct capn_segment*)&capn_seg}; +TestAllTypes_list TestConstants_structListConst = {{7,0,48,160,3,(char*)&capn_buf[1912],(struct capn_segment*)&capn_seg}}; +capn_list16 TestConstants_enumListConst = {{2,0,2,0,2,(char*)&capn_buf[2584],(struct capn_segment*)&capn_seg}}; +uint32_t globalInt = 12345u; +capn_text globalText = {6,(char*)&capn_buf[2592],(struct capn_segment*)&capn_seg}; +TestAllTypes_ptr globalStruct = {{1,0,48,160,0,(char*)&capn_buf[2600],(struct capn_segment*)&capn_seg}}; +TestAllTypes_ptr derivedConstant = {{1,0,48,160,0,(char*)&capn_buf[2808],(struct capn_segment*)&capn_seg}}; + +TestAllTypes_ptr new_TestAllTypes(struct capn_segment *s) { + TestAllTypes_ptr p; + p.p = capn_new_struct(s, 48, 20); + return p; +} +TestAllTypes_list new_TestAllTypes_list(struct capn_segment *s, int len) { + TestAllTypes_list p; + p.p = capn_new_list(s, len, 48, 20); + return p; +} +void read_TestAllTypes(struct TestAllTypes *s, TestAllTypes_ptr p) { + s->boolField = (capn_read8(p.p, 0) & 1) != 0; + s->int8Field = (int8_t) capn_read8(p.p, 1); + s->int16Field = (int16_t) capn_read16(p.p, 2); + s->int32Field = (int32_t) capn_read32(p.p, 4); + s->int64Field = (int64_t) capn_read64(p.p, 8); + s->uInt8Field = capn_read8(p.p, 16); + s->uInt16Field = capn_read16(p.p, 18); + s->uInt32Field = capn_read32(p.p, 20); + s->uInt64Field = capn_read64(p.p, 24); + s->float32Field = capn_to_f32(capn_read32(p.p, 32)); + s->float64Field = capn_to_f64(capn_read64(p.p, 40)); + s->textField = capn_get_text(p.p, 0, capn_val0); + s->dataField = capn_get_data(p.p, 1); + s->structField.p = capn_getp(p.p, 2); + s->enumField = (enum TestEnum) capn_read16(p.p, 36); + s->voidList = capn_getp(p.p, 3); + s->boolList.p = capn_getp(p.p, 4); + s->int8List.p = capn_getp(p.p, 5); + s->int16List.p = capn_getp(p.p, 6); + s->int32List.p = capn_getp(p.p, 7); + s->int64List.p = capn_getp(p.p, 8); + s->uInt8List.p = capn_getp(p.p, 9); + s->uInt16List.p = capn_getp(p.p, 10); + s->uInt32List.p = capn_getp(p.p, 11); + s->uInt64List.p = capn_getp(p.p, 12); + s->float32List.p = capn_getp(p.p, 13); + s->float64List.p = capn_getp(p.p, 14); + s->textList = capn_getp(p.p, 15); + s->dataList = capn_getp(p.p, 16); + s->structList.p = capn_getp(p.p, 17); + s->enumList.p = capn_getp(p.p, 18); + s->interfaceList = capn_getp(p.p, 19); +} +void write_TestAllTypes(const struct TestAllTypes *s, TestAllTypes_ptr p) { + capn_write1(p.p, 0, s->boolField != 0); + capn_write8(p.p, 1, (uint8_t) s->int8Field); + capn_write16(p.p, 2, (uint16_t) s->int16Field); + capn_write32(p.p, 4, (uint32_t) s->int32Field); + capn_write64(p.p, 8, (uint64_t) s->int64Field); + capn_write8(p.p, 16, s->uInt8Field); + capn_write16(p.p, 18, s->uInt16Field); + capn_write32(p.p, 20, s->uInt32Field); + capn_write64(p.p, 24, s->uInt64Field); + capn_write32(p.p, 32, capn_from_f32(s->float32Field)); + capn_write64(p.p, 40, capn_from_f64(s->float64Field)); + capn_set_text(p.p, 0, s->textField); + capn_setp(p.p, 1, s->dataField.p); + capn_setp(p.p, 2, s->structField.p); + capn_write16(p.p, 36, (uint16_t) s->enumField); + capn_setp(p.p, 3, s->voidList); + capn_setp(p.p, 4, s->boolList.p); + capn_setp(p.p, 5, s->int8List.p); + capn_setp(p.p, 6, s->int16List.p); + capn_setp(p.p, 7, s->int32List.p); + capn_setp(p.p, 8, s->int64List.p); + capn_setp(p.p, 9, s->uInt8List.p); + capn_setp(p.p, 10, s->uInt16List.p); + capn_setp(p.p, 11, s->uInt32List.p); + capn_setp(p.p, 12, s->uInt64List.p); + capn_setp(p.p, 13, s->float32List.p); + capn_setp(p.p, 14, s->float64List.p); + capn_setp(p.p, 15, s->textList); + capn_setp(p.p, 16, s->dataList); + capn_setp(p.p, 17, s->structList.p); + capn_setp(p.p, 18, s->enumList.p); + capn_setp(p.p, 19, s->interfaceList); +} +void get_TestAllTypes(struct TestAllTypes *s, TestAllTypes_list l, int i) { + TestAllTypes_ptr p; + p.p = capn_getp(l.p, i); + read_TestAllTypes(s, p); +} +void set_TestAllTypes(const struct TestAllTypes *s, TestAllTypes_list l, int i) { + TestAllTypes_ptr p; + p.p = capn_getp(l.p, i); + write_TestAllTypes(s, p); +} +capn_text capn_val1 = {3,(char*)&capn_buf[5368],(struct capn_segment*)&capn_seg}; +capn_data capn_val2 = {{2,0,1,0,3,(char*)&capn_buf[5376],(struct capn_segment*)&capn_seg}}; +TestAllTypes_ptr capn_val3 = {{1,0,48,160,0,(char*)&capn_buf[5384],(struct capn_segment*)&capn_seg}}; +capn_ptr capn_val4 = {2,0,0,0,6,(char*)&capn_buf[0],(struct capn_segment*)&capn_seg}; +capn_list1 capn_val5 = {{4,0,1,0,4,(char*)&capn_buf[7040],(struct capn_segment*)&capn_seg}}; +capn_list8 capn_val6 = {{2,0,1,0,2,(char*)&capn_buf[7048],(struct capn_segment*)&capn_seg}}; +capn_list16 capn_val7 = {{2,0,2,0,2,(char*)&capn_buf[7056],(struct capn_segment*)&capn_seg}}; +capn_list32 capn_val8 = {{2,0,4,0,2,(char*)&capn_buf[7064],(struct capn_segment*)&capn_seg}}; +capn_list64 capn_val9 = {{2,0,8,0,2,(char*)&capn_buf[7072],(struct capn_segment*)&capn_seg}}; +capn_list8 capn_val10 = {{2,0,1,0,2,(char*)&capn_buf[7088],(struct capn_segment*)&capn_seg}}; +capn_list16 capn_val11 = {{2,0,2,0,2,(char*)&capn_buf[7096],(struct capn_segment*)&capn_seg}}; +capn_list32 capn_val12 = {{2,0,4,0,1,(char*)&capn_buf[7104],(struct capn_segment*)&capn_seg}}; +capn_list64 capn_val13 = {{2,0,8,0,1,(char*)&capn_buf[7112],(struct capn_segment*)&capn_seg}}; +capn_list32 capn_val14 = {{2,0,4,0,4,(char*)&capn_buf[7120],(struct capn_segment*)&capn_seg}}; +capn_list64 capn_val15 = {{2,0,8,0,4,(char*)&capn_buf[7136],(struct capn_segment*)&capn_seg}}; +capn_ptr capn_val16 = {3,0,0,0,3,(char*)&capn_buf[7168],(struct capn_segment*)&capn_seg}; +capn_ptr capn_val17 = {3,0,0,0,3,(char*)&capn_buf[7216],(struct capn_segment*)&capn_seg}; +TestAllTypes_list capn_val18 = {{7,0,48,160,3,(char*)&capn_buf[7280],(struct capn_segment*)&capn_seg}}; +capn_list16 capn_val19 = {{2,0,2,0,2,(char*)&capn_buf[7952],(struct capn_segment*)&capn_seg}}; + +TestDefaults_ptr new_TestDefaults(struct capn_segment *s) { + TestDefaults_ptr p; + p.p = capn_new_struct(s, 48, 20); + return p; +} +TestDefaults_list new_TestDefaults_list(struct capn_segment *s, int len) { + TestDefaults_list p; + p.p = capn_new_list(s, len, 48, 20); + return p; +} +void read_TestDefaults(struct TestDefaults *s, TestDefaults_ptr p) { + s->boolField = (capn_read8(p.p, 0) & 1) != 1; + s->int8Field = (int8_t) capn_read8(p.p, 1) ^ -123; + s->int16Field = (int16_t) capn_read16(p.p, 2) ^ -12345; + s->int32Field = (int32_t) capn_read32(p.p, 4) ^ -12345678; + s->int64Field = (int64_t) capn_read64(p.p, 8) ^ ((uint64_t) 0xffff8fb7u << 32) ^ 0x79f22087u; + s->uInt8Field = capn_read8(p.p, 16) ^ 234u; + s->uInt16Field = capn_read16(p.p, 18) ^ 45678u; + s->uInt32Field = capn_read32(p.p, 20) ^ 3456789012u; + s->uInt64Field = capn_read64(p.p, 24) ^ ((uint64_t) 0xab54a98cu << 32) ^ 0xeb1f0ad2u; + s->float32Field = capn_to_f32(capn_read32(p.p, 32) ^ 0x449a5000u); + s->float64Field = capn_to_f64(capn_read64(p.p, 40) ^ ((uint64_t) 0xc9b58b82u << 32) ^ 0xc0e0bb00u); + s->textField = capn_get_text(p.p, 0, capn_val1); + s->dataField = capn_get_data(p.p, 1); + if (!s->dataField.p.type) { + s->dataField = capn_val2; + } + s->structField.p = capn_getp(p.p, 2); + if (!s->structField.p.type) { + s->structField = capn_val3; + } + s->enumField = (enum TestEnum) capn_read16(p.p, 36) ^ 5u; + s->voidList = capn_getp(p.p, 3); + if (!s->voidList.type) { + s->voidList = capn_val4; + } + s->boolList.p = capn_getp(p.p, 4); + if (!s->boolList.p.type) { + s->boolList = capn_val5; + } + s->int8List.p = capn_getp(p.p, 5); + if (!s->int8List.p.type) { + s->int8List = capn_val6; + } + s->int16List.p = capn_getp(p.p, 6); + if (!s->int16List.p.type) { + s->int16List = capn_val7; + } + s->int32List.p = capn_getp(p.p, 7); + if (!s->int32List.p.type) { + s->int32List = capn_val8; + } + s->int64List.p = capn_getp(p.p, 8); + if (!s->int64List.p.type) { + s->int64List = capn_val9; + } + s->uInt8List.p = capn_getp(p.p, 9); + if (!s->uInt8List.p.type) { + s->uInt8List = capn_val10; + } + s->uInt16List.p = capn_getp(p.p, 10); + if (!s->uInt16List.p.type) { + s->uInt16List = capn_val11; + } + s->uInt32List.p = capn_getp(p.p, 11); + if (!s->uInt32List.p.type) { + s->uInt32List = capn_val12; + } + s->uInt64List.p = capn_getp(p.p, 12); + if (!s->uInt64List.p.type) { + s->uInt64List = capn_val13; + } + s->float32List.p = capn_getp(p.p, 13); + if (!s->float32List.p.type) { + s->float32List = capn_val14; + } + s->float64List.p = capn_getp(p.p, 14); + if (!s->float64List.p.type) { + s->float64List = capn_val15; + } + s->textList = capn_getp(p.p, 15); + if (!s->textList.type) { + s->textList = capn_val16; + } + s->dataList = capn_getp(p.p, 16); + if (!s->dataList.type) { + s->dataList = capn_val17; + } + s->structList.p = capn_getp(p.p, 17); + if (!s->structList.p.type) { + s->structList = capn_val18; + } + s->enumList.p = capn_getp(p.p, 18); + if (!s->enumList.p.type) { + s->enumList = capn_val19; + } + s->interfaceList = capn_getp(p.p, 19); +} +void write_TestDefaults(const struct TestDefaults *s, TestDefaults_ptr p) { + capn_write1(p.p, 0, s->boolField != 1); + capn_write8(p.p, 1, (uint8_t) s->int8Field ^ -123); + capn_write16(p.p, 2, (uint16_t) s->int16Field ^ -12345); + capn_write32(p.p, 4, (uint32_t) s->int32Field ^ -12345678); + capn_write64(p.p, 8, (uint64_t) s->int64Field ^ ((uint64_t) 0xffff8fb7u << 32) ^ 0x79f22087u); + capn_write8(p.p, 16, s->uInt8Field ^ 234u); + capn_write16(p.p, 18, s->uInt16Field ^ 45678u); + capn_write32(p.p, 20, s->uInt32Field ^ 3456789012u); + capn_write64(p.p, 24, s->uInt64Field ^ ((uint64_t) 0xab54a98cu << 32) ^ 0xeb1f0ad2u); + capn_write32(p.p, 32, capn_from_f32(s->float32Field) ^ 0x449a5000u); + capn_write64(p.p, 40, capn_from_f64(s->float64Field) ^ ((uint64_t) 0xc9b58b82u << 32) ^ 0xc0e0bb00u); + capn_set_text(p.p, 0, (s->textField.str != capn_val1.str) ? s->textField : capn_val0); + capn_setp(p.p, 1, (s->dataField.p.data != capn_val2.p.data) ? s->dataField.p : capn_null); + capn_setp(p.p, 2, (s->structField.p.data != capn_val3.p.data) ? s->structField.p : capn_null); + capn_write16(p.p, 36, (uint16_t) s->enumField ^ 5u); + capn_setp(p.p, 3, (s->voidList.data != capn_val4.data) ? s->voidList : capn_null); + capn_setp(p.p, 4, (s->boolList.p.data != capn_val5.p.data) ? s->boolList.p : capn_null); + capn_setp(p.p, 5, (s->int8List.p.data != capn_val6.p.data) ? s->int8List.p : capn_null); + capn_setp(p.p, 6, (s->int16List.p.data != capn_val7.p.data) ? s->int16List.p : capn_null); + capn_setp(p.p, 7, (s->int32List.p.data != capn_val8.p.data) ? s->int32List.p : capn_null); + capn_setp(p.p, 8, (s->int64List.p.data != capn_val9.p.data) ? s->int64List.p : capn_null); + capn_setp(p.p, 9, (s->uInt8List.p.data != capn_val10.p.data) ? s->uInt8List.p : capn_null); + capn_setp(p.p, 10, (s->uInt16List.p.data != capn_val11.p.data) ? s->uInt16List.p : capn_null); + capn_setp(p.p, 11, (s->uInt32List.p.data != capn_val12.p.data) ? s->uInt32List.p : capn_null); + capn_setp(p.p, 12, (s->uInt64List.p.data != capn_val13.p.data) ? s->uInt64List.p : capn_null); + capn_setp(p.p, 13, (s->float32List.p.data != capn_val14.p.data) ? s->float32List.p : capn_null); + capn_setp(p.p, 14, (s->float64List.p.data != capn_val15.p.data) ? s->float64List.p : capn_null); + capn_setp(p.p, 15, (s->textList.data != capn_val16.data) ? s->textList : capn_null); + capn_setp(p.p, 16, (s->dataList.data != capn_val17.data) ? s->dataList : capn_null); + capn_setp(p.p, 17, (s->structList.p.data != capn_val18.p.data) ? s->structList.p : capn_null); + capn_setp(p.p, 18, (s->enumList.p.data != capn_val19.p.data) ? s->enumList.p : capn_null); + capn_setp(p.p, 19, s->interfaceList); +} +void get_TestDefaults(struct TestDefaults *s, TestDefaults_list l, int i) { + TestDefaults_ptr p; + p.p = capn_getp(l.p, i); + read_TestDefaults(s, p); +} +void set_TestDefaults(const struct TestDefaults *s, TestDefaults_list l, int i) { + TestDefaults_ptr p; + p.p = capn_getp(l.p, i); + write_TestDefaults(s, p); +} + +TestObject_ptr new_TestObject(struct capn_segment *s) { + TestObject_ptr p; + p.p = capn_new_struct(s, 0, 1); + return p; +} +TestObject_list new_TestObject_list(struct capn_segment *s, int len) { + TestObject_list p; + p.p = capn_new_list(s, len, 0, 1); + return p; +} +void read_TestObject(struct TestObject *s, TestObject_ptr p) { + s->objectField = capn_getp(p.p, 0); +} +void write_TestObject(const struct TestObject *s, TestObject_ptr p) { + capn_setp(p.p, 0, s->objectField); +} +void get_TestObject(struct TestObject *s, TestObject_list l, int i) { + TestObject_ptr p; + p.p = capn_getp(l.p, i); + read_TestObject(s, p); +} +void set_TestObject(const struct TestObject *s, TestObject_list l, int i) { + TestObject_ptr p; + p.p = capn_getp(l.p, i); + write_TestObject(s, p); +} + +TestOutOfOrder_ptr new_TestOutOfOrder(struct capn_segment *s) { + TestOutOfOrder_ptr p; + p.p = capn_new_struct(s, 0, 9); + return p; +} +TestOutOfOrder_list new_TestOutOfOrder_list(struct capn_segment *s, int len) { + TestOutOfOrder_list p; + p.p = capn_new_list(s, len, 0, 9); + return p; +} +void read_TestOutOfOrder(struct TestOutOfOrder *s, TestOutOfOrder_ptr p) { + s->foo = capn_get_text(p.p, 3, capn_val0); + s->bar = capn_get_text(p.p, 2, capn_val0); + s->baz = capn_get_text(p.p, 8, capn_val0); + s->qux = capn_get_text(p.p, 0, capn_val0); + s->quux = capn_get_text(p.p, 6, capn_val0); + s->corge = capn_get_text(p.p, 4, capn_val0); + s->grault = capn_get_text(p.p, 1, capn_val0); + s->garply = capn_get_text(p.p, 7, capn_val0); + s->waldo = capn_get_text(p.p, 5, capn_val0); +} +void write_TestOutOfOrder(const struct TestOutOfOrder *s, TestOutOfOrder_ptr p) { + capn_set_text(p.p, 3, s->foo); + capn_set_text(p.p, 2, s->bar); + capn_set_text(p.p, 8, s->baz); + capn_set_text(p.p, 0, s->qux); + capn_set_text(p.p, 6, s->quux); + capn_set_text(p.p, 4, s->corge); + capn_set_text(p.p, 1, s->grault); + capn_set_text(p.p, 7, s->garply); + capn_set_text(p.p, 5, s->waldo); +} +void get_TestOutOfOrder(struct TestOutOfOrder *s, TestOutOfOrder_list l, int i) { + TestOutOfOrder_ptr p; + p.p = capn_getp(l.p, i); + read_TestOutOfOrder(s, p); +} +void set_TestOutOfOrder(const struct TestOutOfOrder *s, TestOutOfOrder_list l, int i) { + TestOutOfOrder_ptr p; + p.p = capn_getp(l.p, i); + write_TestOutOfOrder(s, p); +} + +TestUnion_ptr new_TestUnion(struct capn_segment *s) { + TestUnion_ptr p; + p.p = capn_new_struct(s, 64, 2); + return p; +} +TestUnion_list new_TestUnion_list(struct capn_segment *s, int len) { + TestUnion_list p; + p.p = capn_new_list(s, len, 64, 2); + return p; +} +void read_TestUnion(struct TestUnion *s, TestUnion_ptr p) { + s->union0_which = (enum TestUnion_union0_which) capn_read16(p.p, 0); + switch (s->union0_which) { + case TestUnion_union0_u0f0s1: + case TestUnion_union0_u0f1s1: + s->union0.u0f1s1 = (capn_read8(p.p, 8) & 1) != 0; + break; + case TestUnion_union0_u0f0s8: + case TestUnion_union0_u0f1s8: + s->union0.u0f1s8 = (int8_t) capn_read8(p.p, 8); + break; + case TestUnion_union0_u0f0s16: + case TestUnion_union0_u0f1s16: + s->union0.u0f1s16 = (int16_t) capn_read16(p.p, 8); + break; + case TestUnion_union0_u0f0s32: + case TestUnion_union0_u0f1s32: + s->union0.u0f1s32 = (int32_t) capn_read32(p.p, 8); + break; + case TestUnion_union0_u0f0s64: + case TestUnion_union0_u0f1s64: + s->union0.u0f1s64 = (int64_t) capn_read64(p.p, 8); + break; + case TestUnion_union0_u0f0sp: + case TestUnion_union0_u0f1sp: + s->union0.u0f1sp = capn_get_text(p.p, 0, capn_val0); + break; + default: + break; + } + s->bit0 = (capn_read8(p.p, 16) & 1) != 0; + s->union1_which = (enum TestUnion_union1_which) capn_read16(p.p, 2); + switch (s->union1_which) { + case TestUnion_union1_u1f0s1: + case TestUnion_union1_u1f1s1: + case TestUnion_union1_u1f2s1: + s->union1.u1f2s1 = (capn_read8(p.p, 16) & 2) != 0; + break; + case TestUnion_union1_u1f0s8: + case TestUnion_union1_u1f1s8: + case TestUnion_union1_u1f2s8: + s->union1.u1f2s8 = (int8_t) capn_read8(p.p, 17); + break; + case TestUnion_union1_u1f0s16: + case TestUnion_union1_u1f1s16: + case TestUnion_union1_u1f2s16: + s->union1.u1f2s16 = (int16_t) capn_read16(p.p, 18); + break; + case TestUnion_union1_u1f0s32: + case TestUnion_union1_u1f1s32: + case TestUnion_union1_u1f2s32: + s->union1.u1f2s32 = (int32_t) capn_read32(p.p, 20); + break; + case TestUnion_union1_u1f0s64: + case TestUnion_union1_u1f1s64: + case TestUnion_union1_u1f2s64: + s->union1.u1f2s64 = (int64_t) capn_read64(p.p, 24); + break; + case TestUnion_union1_u1f0sp: + case TestUnion_union1_u1f1sp: + case TestUnion_union1_u1f2sp: + s->union1.u1f2sp = capn_get_text(p.p, 1, capn_val0); + break; + default: + break; + } + s->bit2 = (capn_read8(p.p, 16) & 4) != 0; + s->bit3 = (capn_read8(p.p, 16) & 8) != 0; + s->bit4 = (capn_read8(p.p, 16) & 16) != 0; + s->bit5 = (capn_read8(p.p, 16) & 32) != 0; + s->bit6 = (capn_read8(p.p, 16) & 64) != 0; + s->bit7 = (capn_read8(p.p, 16) & 128) != 0; + s->union2_which = (enum TestUnion_union2_which) capn_read16(p.p, 4); + switch (s->union2_which) { + case TestUnion_union2_u2f0s1: + s->union2.u2f0s1 = (capn_read8(p.p, 32) & 1) != 0; + break; + case TestUnion_union2_u2f0s8: + s->union2.u2f0s8 = (int8_t) capn_read8(p.p, 33); + break; + case TestUnion_union2_u2f0s16: + s->union2.u2f0s16 = (int16_t) capn_read16(p.p, 36); + break; + case TestUnion_union2_u2f0s32: + s->union2.u2f0s32 = (int32_t) capn_read32(p.p, 40); + break; + case TestUnion_union2_u2f0s64: + s->union2.u2f0s64 = (int64_t) capn_read64(p.p, 48); + break; + default: + break; + } + s->union3_which = (enum TestUnion_union3_which) capn_read16(p.p, 6); + switch (s->union3_which) { + case TestUnion_union3_u3f0s1: + s->union3.u3f0s1 = (capn_read8(p.p, 32) & 2) != 0; + break; + case TestUnion_union3_u3f0s8: + s->union3.u3f0s8 = (int8_t) capn_read8(p.p, 34); + break; + case TestUnion_union3_u3f0s16: + s->union3.u3f0s16 = (int16_t) capn_read16(p.p, 38); + break; + case TestUnion_union3_u3f0s32: + s->union3.u3f0s32 = (int32_t) capn_read32(p.p, 44); + break; + case TestUnion_union3_u3f0s64: + s->union3.u3f0s64 = (int64_t) capn_read64(p.p, 56); + break; + default: + break; + } + s->byte0 = capn_read8(p.p, 35); +} +void write_TestUnion(const struct TestUnion *s, TestUnion_ptr p) { + capn_write16(p.p, 0, s->union0_which); + switch (s->union0_which) { + case TestUnion_union0_u0f0s1: + case TestUnion_union0_u0f1s1: + capn_write1(p.p, 64, s->union0.u0f1s1 != 0); + break; + case TestUnion_union0_u0f0s8: + case TestUnion_union0_u0f1s8: + capn_write8(p.p, 8, (uint8_t) s->union0.u0f1s8); + break; + case TestUnion_union0_u0f0s16: + case TestUnion_union0_u0f1s16: + capn_write16(p.p, 8, (uint16_t) s->union0.u0f1s16); + break; + case TestUnion_union0_u0f0s32: + case TestUnion_union0_u0f1s32: + capn_write32(p.p, 8, (uint32_t) s->union0.u0f1s32); + break; + case TestUnion_union0_u0f0s64: + case TestUnion_union0_u0f1s64: + capn_write64(p.p, 8, (uint64_t) s->union0.u0f1s64); + break; + case TestUnion_union0_u0f0sp: + case TestUnion_union0_u0f1sp: + capn_set_text(p.p, 0, s->union0.u0f1sp); + break; + default: + break; + } + capn_write1(p.p, 128, s->bit0 != 0); + capn_write16(p.p, 2, s->union1_which); + switch (s->union1_which) { + case TestUnion_union1_u1f0s1: + case TestUnion_union1_u1f1s1: + case TestUnion_union1_u1f2s1: + capn_write1(p.p, 129, s->union1.u1f2s1 != 0); + break; + case TestUnion_union1_u1f0s8: + case TestUnion_union1_u1f1s8: + case TestUnion_union1_u1f2s8: + capn_write8(p.p, 17, (uint8_t) s->union1.u1f2s8); + break; + case TestUnion_union1_u1f0s16: + case TestUnion_union1_u1f1s16: + case TestUnion_union1_u1f2s16: + capn_write16(p.p, 18, (uint16_t) s->union1.u1f2s16); + break; + case TestUnion_union1_u1f0s32: + case TestUnion_union1_u1f1s32: + case TestUnion_union1_u1f2s32: + capn_write32(p.p, 20, (uint32_t) s->union1.u1f2s32); + break; + case TestUnion_union1_u1f0s64: + case TestUnion_union1_u1f1s64: + case TestUnion_union1_u1f2s64: + capn_write64(p.p, 24, (uint64_t) s->union1.u1f2s64); + break; + case TestUnion_union1_u1f0sp: + case TestUnion_union1_u1f1sp: + case TestUnion_union1_u1f2sp: + capn_set_text(p.p, 1, s->union1.u1f2sp); + break; + default: + break; + } + capn_write1(p.p, 130, s->bit2 != 0); + capn_write1(p.p, 131, s->bit3 != 0); + capn_write1(p.p, 132, s->bit4 != 0); + capn_write1(p.p, 133, s->bit5 != 0); + capn_write1(p.p, 134, s->bit6 != 0); + capn_write1(p.p, 135, s->bit7 != 0); + capn_write16(p.p, 4, s->union2_which); + switch (s->union2_which) { + case TestUnion_union2_u2f0s1: + capn_write1(p.p, 256, s->union2.u2f0s1 != 0); + break; + case TestUnion_union2_u2f0s8: + capn_write8(p.p, 33, (uint8_t) s->union2.u2f0s8); + break; + case TestUnion_union2_u2f0s16: + capn_write16(p.p, 36, (uint16_t) s->union2.u2f0s16); + break; + case TestUnion_union2_u2f0s32: + capn_write32(p.p, 40, (uint32_t) s->union2.u2f0s32); + break; + case TestUnion_union2_u2f0s64: + capn_write64(p.p, 48, (uint64_t) s->union2.u2f0s64); + break; + default: + break; + } + capn_write16(p.p, 6, s->union3_which); + switch (s->union3_which) { + case TestUnion_union3_u3f0s1: + capn_write1(p.p, 257, s->union3.u3f0s1 != 0); + break; + case TestUnion_union3_u3f0s8: + capn_write8(p.p, 34, (uint8_t) s->union3.u3f0s8); + break; + case TestUnion_union3_u3f0s16: + capn_write16(p.p, 38, (uint16_t) s->union3.u3f0s16); + break; + case TestUnion_union3_u3f0s32: + capn_write32(p.p, 44, (uint32_t) s->union3.u3f0s32); + break; + case TestUnion_union3_u3f0s64: + capn_write64(p.p, 56, (uint64_t) s->union3.u3f0s64); + break; + default: + break; + } + capn_write8(p.p, 35, s->byte0); +} +void get_TestUnion(struct TestUnion *s, TestUnion_list l, int i) { + TestUnion_ptr p; + p.p = capn_getp(l.p, i); + read_TestUnion(s, p); +} +void set_TestUnion(const struct TestUnion *s, TestUnion_list l, int i) { + TestUnion_ptr p; + p.p = capn_getp(l.p, i); + write_TestUnion(s, p); +} + +TestUnnamedUnion_ptr new_TestUnnamedUnion(struct capn_segment *s) { + TestUnnamedUnion_ptr p; + p.p = capn_new_struct(s, 16, 2); + return p; +} +TestUnnamedUnion_list new_TestUnnamedUnion_list(struct capn_segment *s, int len) { + TestUnnamedUnion_list p; + p.p = capn_new_list(s, len, 16, 2); + return p; +} +void read_TestUnnamedUnion(struct TestUnnamedUnion *s, TestUnnamedUnion_ptr p) { + s->before = capn_get_text(p.p, 0, capn_val0); + s->which = (enum TestUnnamedUnion_which) capn_read16(p.p, 4); + switch (s->which) { + case TestUnnamedUnion_foo: + s->foo = capn_read16(p.p, 0); + break; + case TestUnnamedUnion_bar: + s->bar = capn_read32(p.p, 8); + break; + default: + break; + } + s->middle = capn_read16(p.p, 2); + s->after = capn_get_text(p.p, 1, capn_val0); +} +void write_TestUnnamedUnion(const struct TestUnnamedUnion *s, TestUnnamedUnion_ptr p) { + capn_set_text(p.p, 0, s->before); + capn_write16(p.p, 4, s->which); + switch (s->which) { + case TestUnnamedUnion_foo: + capn_write16(p.p, 0, s->foo); + break; + case TestUnnamedUnion_bar: + capn_write32(p.p, 8, s->bar); + break; + default: + break; + } + capn_write16(p.p, 2, s->middle); + capn_set_text(p.p, 1, s->after); +} +void get_TestUnnamedUnion(struct TestUnnamedUnion *s, TestUnnamedUnion_list l, int i) { + TestUnnamedUnion_ptr p; + p.p = capn_getp(l.p, i); + read_TestUnnamedUnion(s, p); +} +void set_TestUnnamedUnion(const struct TestUnnamedUnion *s, TestUnnamedUnion_list l, int i) { + TestUnnamedUnion_ptr p; + p.p = capn_getp(l.p, i); + write_TestUnnamedUnion(s, p); +} + +TestUnionInUnion_ptr new_TestUnionInUnion(struct capn_segment *s) { + TestUnionInUnion_ptr p; + p.p = capn_new_struct(s, 16, 0); + return p; +} +TestUnionInUnion_list new_TestUnionInUnion_list(struct capn_segment *s, int len) { + TestUnionInUnion_list p; + p.p = capn_new_list(s, len, 16, 0); + return p; +} +void read_TestUnionInUnion(struct TestUnionInUnion *s, TestUnionInUnion_ptr p) { + s->outer_which = (enum TestUnionInUnion_outer_which) capn_read16(p.p, 8); + switch (s->outer_which) { + case TestUnionInUnion_outer_baz: + s->outer.baz = (int32_t) capn_read32(p.p, 0); + break; + case TestUnionInUnion_outer_inner: + s->outer.inner_which = (enum TestUnionInUnion_outer_inner_which) capn_read16(p.p, 4); + switch (s->outer.inner_which) { + case TestUnionInUnion_outer_inner_foo: + case TestUnionInUnion_outer_inner_bar: + s->outer.inner.bar = (int32_t) capn_read32(p.p, 0); + break; + default: + break; + } + break; + default: + break; + } +} +void write_TestUnionInUnion(const struct TestUnionInUnion *s, TestUnionInUnion_ptr p) { + capn_write16(p.p, 8, s->outer_which); + switch (s->outer_which) { + case TestUnionInUnion_outer_baz: + capn_write32(p.p, 0, (uint32_t) s->outer.baz); + break; + case TestUnionInUnion_outer_inner: + capn_write16(p.p, 4, s->outer.inner_which); + switch (s->outer.inner_which) { + case TestUnionInUnion_outer_inner_foo: + case TestUnionInUnion_outer_inner_bar: + capn_write32(p.p, 0, (uint32_t) s->outer.inner.bar); + break; + default: + break; + } + break; + default: + break; + } +} +void get_TestUnionInUnion(struct TestUnionInUnion *s, TestUnionInUnion_list l, int i) { + TestUnionInUnion_ptr p; + p.p = capn_getp(l.p, i); + read_TestUnionInUnion(s, p); +} +void set_TestUnionInUnion(const struct TestUnionInUnion *s, TestUnionInUnion_list l, int i) { + TestUnionInUnion_ptr p; + p.p = capn_getp(l.p, i); + write_TestUnionInUnion(s, p); +} + +TestGroups_ptr new_TestGroups(struct capn_segment *s) { + TestGroups_ptr p; + p.p = capn_new_struct(s, 16, 2); + return p; +} +TestGroups_list new_TestGroups_list(struct capn_segment *s, int len) { + TestGroups_list p; + p.p = capn_new_list(s, len, 16, 2); + return p; +} +void read_TestGroups(struct TestGroups *s, TestGroups_ptr p) { + s->groups_which = (enum TestGroups_groups_which) capn_read16(p.p, 4); + switch (s->groups_which) { + case TestGroups_groups_foo: + s->groups.foo.corge = (int32_t) capn_read32(p.p, 0); + s->groups.foo.grault = (int64_t) capn_read64(p.p, 8); + s->groups.foo.garply = capn_get_text(p.p, 0, capn_val0); + break; + case TestGroups_groups_bar: + s->groups.bar.corge = (int32_t) capn_read32(p.p, 0); + s->groups.bar.grault = capn_get_text(p.p, 0, capn_val0); + s->groups.bar.garply = (int64_t) capn_read64(p.p, 8); + break; + case TestGroups_groups_baz: + s->groups.baz.corge = (int32_t) capn_read32(p.p, 0); + s->groups.baz.grault = capn_get_text(p.p, 0, capn_val0); + s->groups.baz.garply = capn_get_text(p.p, 1, capn_val0); + break; + default: + break; + } +} +void write_TestGroups(const struct TestGroups *s, TestGroups_ptr p) { + capn_write16(p.p, 4, s->groups_which); + switch (s->groups_which) { + case TestGroups_groups_foo: + capn_write32(p.p, 0, (uint32_t) s->groups.foo.corge); + capn_write64(p.p, 8, (uint64_t) s->groups.foo.grault); + capn_set_text(p.p, 0, s->groups.foo.garply); + break; + case TestGroups_groups_bar: + capn_write32(p.p, 0, (uint32_t) s->groups.bar.corge); + capn_set_text(p.p, 0, s->groups.bar.grault); + capn_write64(p.p, 8, (uint64_t) s->groups.bar.garply); + break; + case TestGroups_groups_baz: + capn_write32(p.p, 0, (uint32_t) s->groups.baz.corge); + capn_set_text(p.p, 0, s->groups.baz.grault); + capn_set_text(p.p, 1, s->groups.baz.garply); + break; + default: + break; + } +} +void get_TestGroups(struct TestGroups *s, TestGroups_list l, int i) { + TestGroups_ptr p; + p.p = capn_getp(l.p, i); + read_TestGroups(s, p); +} +void set_TestGroups(const struct TestGroups *s, TestGroups_list l, int i) { + TestGroups_ptr p; + p.p = capn_getp(l.p, i); + write_TestGroups(s, p); +} + +TestInterleavedGroups_ptr new_TestInterleavedGroups(struct capn_segment *s) { + TestInterleavedGroups_ptr p; + p.p = capn_new_struct(s, 48, 6); + return p; +} +TestInterleavedGroups_list new_TestInterleavedGroups_list(struct capn_segment *s, int len) { + TestInterleavedGroups_list p; + p.p = capn_new_list(s, len, 48, 6); + return p; +} +void read_TestInterleavedGroups(struct TestInterleavedGroups *s, TestInterleavedGroups_ptr p) { + s->group1.foo = capn_read32(p.p, 0); + s->group1.bar = capn_read64(p.p, 8); + s->group1.which = (enum TestInterleavedGroups_group1_which) capn_read16(p.p, 28); + switch (s->group1.which) { + case TestInterleavedGroups_group1_qux: + s->group1.qux = capn_read16(p.p, 24); + break; + case TestInterleavedGroups_group1_fred: + s->group1.fred = capn_get_text(p.p, 2, capn_val0); + break; + case TestInterleavedGroups_group1_corge: + s->group1.corge.grault = capn_read64(p.p, 32); + s->group1.corge.garply = capn_read16(p.p, 24); + s->group1.corge.plugh = capn_get_text(p.p, 2, capn_val0); + s->group1.corge.xyzzy = capn_get_text(p.p, 4, capn_val0); + break; + default: + break; + } + s->group1.waldo = capn_get_text(p.p, 0, capn_val0); + s->group2.foo = capn_read32(p.p, 4); + s->group2.bar = capn_read64(p.p, 16); + s->group2.which = (enum TestInterleavedGroups_group2_which) capn_read16(p.p, 30); + switch (s->group2.which) { + case TestInterleavedGroups_group2_qux: + s->group2.qux = capn_read16(p.p, 26); + break; + case TestInterleavedGroups_group2_fred: + s->group2.fred = capn_get_text(p.p, 3, capn_val0); + break; + case TestInterleavedGroups_group2_corge: + s->group2.corge.grault = capn_read64(p.p, 40); + s->group2.corge.garply = capn_read16(p.p, 26); + s->group2.corge.plugh = capn_get_text(p.p, 3, capn_val0); + s->group2.corge.xyzzy = capn_get_text(p.p, 5, capn_val0); + break; + default: + break; + } + s->group2.waldo = capn_get_text(p.p, 1, capn_val0); +} +void write_TestInterleavedGroups(const struct TestInterleavedGroups *s, TestInterleavedGroups_ptr p) { + capn_write32(p.p, 0, s->group1.foo); + capn_write64(p.p, 8, s->group1.bar); + capn_write16(p.p, 28, s->group1.which); + switch (s->group1.which) { + case TestInterleavedGroups_group1_qux: + capn_write16(p.p, 24, s->group1.qux); + break; + case TestInterleavedGroups_group1_fred: + capn_set_text(p.p, 2, s->group1.fred); + break; + case TestInterleavedGroups_group1_corge: + capn_write64(p.p, 32, s->group1.corge.grault); + capn_write16(p.p, 24, s->group1.corge.garply); + capn_set_text(p.p, 2, s->group1.corge.plugh); + capn_set_text(p.p, 4, s->group1.corge.xyzzy); + break; + default: + break; + } + capn_set_text(p.p, 0, s->group1.waldo); + capn_write32(p.p, 4, s->group2.foo); + capn_write64(p.p, 16, s->group2.bar); + capn_write16(p.p, 30, s->group2.which); + switch (s->group2.which) { + case TestInterleavedGroups_group2_qux: + capn_write16(p.p, 26, s->group2.qux); + break; + case TestInterleavedGroups_group2_fred: + capn_set_text(p.p, 3, s->group2.fred); + break; + case TestInterleavedGroups_group2_corge: + capn_write64(p.p, 40, s->group2.corge.grault); + capn_write16(p.p, 26, s->group2.corge.garply); + capn_set_text(p.p, 3, s->group2.corge.plugh); + capn_set_text(p.p, 5, s->group2.corge.xyzzy); + break; + default: + break; + } + capn_set_text(p.p, 1, s->group2.waldo); +} +void get_TestInterleavedGroups(struct TestInterleavedGroups *s, TestInterleavedGroups_list l, int i) { + TestInterleavedGroups_ptr p; + p.p = capn_getp(l.p, i); + read_TestInterleavedGroups(s, p); +} +void set_TestInterleavedGroups(const struct TestInterleavedGroups *s, TestInterleavedGroups_list l, int i) { + TestInterleavedGroups_ptr p; + p.p = capn_getp(l.p, i); + write_TestInterleavedGroups(s, p); +} +TestUnion_ptr capn_val20 = {{1,0,64,16,0,(char*)&capn_buf[7960],(struct capn_segment*)&capn_seg}}; +TestUnion_ptr capn_val21 = {{1,0,64,16,0,(char*)&capn_buf[8040],(struct capn_segment*)&capn_seg}}; +TestUnnamedUnion_ptr capn_val22 = {{1,0,16,16,0,(char*)&capn_buf[8128],(struct capn_segment*)&capn_seg}}; +TestUnnamedUnion_ptr capn_val23 = {{1,1,16,16,0,(char*)&capn_buf[0],(struct capn_segment*)&capn_seg}}; + +TestUnionDefaults_ptr new_TestUnionDefaults(struct capn_segment *s) { + TestUnionDefaults_ptr p; + p.p = capn_new_struct(s, 0, 4); + return p; +} +TestUnionDefaults_list new_TestUnionDefaults_list(struct capn_segment *s, int len) { + TestUnionDefaults_list p; + p.p = capn_new_list(s, len, 0, 4); + return p; +} +void read_TestUnionDefaults(struct TestUnionDefaults *s, TestUnionDefaults_ptr p) { + s->s16s8s64s8Set.p = capn_getp(p.p, 0); + if (!s->s16s8s64s8Set.p.type) { + s->s16s8s64s8Set = capn_val20; + } + s->s0sps1s32Set.p = capn_getp(p.p, 1); + if (!s->s0sps1s32Set.p.type) { + s->s0sps1s32Set = capn_val21; + } + s->unnamed1.p = capn_getp(p.p, 2); + if (!s->unnamed1.p.type) { + s->unnamed1 = capn_val22; + } + s->unnamed2.p = capn_getp(p.p, 3); + if (!s->unnamed2.p.type) { + s->unnamed2 = capn_val23; + } +} +void write_TestUnionDefaults(const struct TestUnionDefaults *s, TestUnionDefaults_ptr p) { + capn_setp(p.p, 0, (s->s16s8s64s8Set.p.data != capn_val20.p.data) ? s->s16s8s64s8Set.p : capn_null); + capn_setp(p.p, 1, (s->s0sps1s32Set.p.data != capn_val21.p.data) ? s->s0sps1s32Set.p : capn_null); + capn_setp(p.p, 2, (s->unnamed1.p.data != capn_val22.p.data) ? s->unnamed1.p : capn_null); + capn_setp(p.p, 3, (s->unnamed2.p.data != capn_val23.p.data) ? s->unnamed2.p : capn_null); +} +void get_TestUnionDefaults(struct TestUnionDefaults *s, TestUnionDefaults_list l, int i) { + TestUnionDefaults_ptr p; + p.p = capn_getp(l.p, i); + read_TestUnionDefaults(s, p); +} +void set_TestUnionDefaults(const struct TestUnionDefaults *s, TestUnionDefaults_list l, int i) { + TestUnionDefaults_ptr p; + p.p = capn_getp(l.p, i); + write_TestUnionDefaults(s, p); +} + +TestNestedTypes_ptr new_TestNestedTypes(struct capn_segment *s) { + TestNestedTypes_ptr p; + p.p = capn_new_struct(s, 8, 1); + return p; +} +TestNestedTypes_list new_TestNestedTypes_list(struct capn_segment *s, int len) { + TestNestedTypes_list p; + p.p = capn_new_list(s, len, 8, 1); + return p; +} +void read_TestNestedTypes(struct TestNestedTypes *s, TestNestedTypes_ptr p) { + s->nestedStruct.p = capn_getp(p.p, 0); + s->outerNestedEnum = (enum TestNestedTypes_NestedEnum) capn_read16(p.p, 0) ^ 1u; + s->innerNestedEnum = (enum TestNestedTypes_NestedStruct_NestedEnum) capn_read16(p.p, 2) ^ 2u; +} +void write_TestNestedTypes(const struct TestNestedTypes *s, TestNestedTypes_ptr p) { + capn_setp(p.p, 0, s->nestedStruct.p); + capn_write16(p.p, 0, (uint16_t) s->outerNestedEnum ^ 1u); + capn_write16(p.p, 2, (uint16_t) s->innerNestedEnum ^ 2u); +} +void get_TestNestedTypes(struct TestNestedTypes *s, TestNestedTypes_list l, int i) { + TestNestedTypes_ptr p; + p.p = capn_getp(l.p, i); + read_TestNestedTypes(s, p); +} +void set_TestNestedTypes(const struct TestNestedTypes *s, TestNestedTypes_list l, int i) { + TestNestedTypes_ptr p; + p.p = capn_getp(l.p, i); + write_TestNestedTypes(s, p); +} + +TestNestedTypes_NestedStruct_ptr new_TestNestedTypes_NestedStruct(struct capn_segment *s) { + TestNestedTypes_NestedStruct_ptr p; + p.p = capn_new_struct(s, 8, 0); + return p; +} +TestNestedTypes_NestedStruct_list new_TestNestedTypes_NestedStruct_list(struct capn_segment *s, int len) { + TestNestedTypes_NestedStruct_list p; + p.p = capn_new_list(s, len, 8, 0); + return p; +} +void read_TestNestedTypes_NestedStruct(struct TestNestedTypes_NestedStruct *s, TestNestedTypes_NestedStruct_ptr p) { + s->outerNestedEnum = (enum TestNestedTypes_NestedEnum) capn_read16(p.p, 0) ^ 1u; + s->innerNestedEnum = (enum TestNestedTypes_NestedStruct_NestedEnum) capn_read16(p.p, 2) ^ 2u; +} +void write_TestNestedTypes_NestedStruct(const struct TestNestedTypes_NestedStruct *s, TestNestedTypes_NestedStruct_ptr p) { + capn_write16(p.p, 0, (uint16_t) s->outerNestedEnum ^ 1u); + capn_write16(p.p, 2, (uint16_t) s->innerNestedEnum ^ 2u); +} +void get_TestNestedTypes_NestedStruct(struct TestNestedTypes_NestedStruct *s, TestNestedTypes_NestedStruct_list l, int i) { + TestNestedTypes_NestedStruct_ptr p; + p.p = capn_getp(l.p, i); + read_TestNestedTypes_NestedStruct(s, p); +} +void set_TestNestedTypes_NestedStruct(const struct TestNestedTypes_NestedStruct *s, TestNestedTypes_NestedStruct_list l, int i) { + TestNestedTypes_NestedStruct_ptr p; + p.p = capn_getp(l.p, i); + write_TestNestedTypes_NestedStruct(s, p); +} + +TestUsing_ptr new_TestUsing(struct capn_segment *s) { + TestUsing_ptr p; + p.p = capn_new_struct(s, 8, 0); + return p; +} +TestUsing_list new_TestUsing_list(struct capn_segment *s, int len) { + TestUsing_list p; + p.p = capn_new_list(s, len, 8, 0); + return p; +} +void read_TestUsing(struct TestUsing *s, TestUsing_ptr p) { + s->outerNestedEnum = (enum TestNestedTypes_NestedEnum) capn_read16(p.p, 2) ^ 1u; + s->innerNestedEnum = (enum TestNestedTypes_NestedStruct_NestedEnum) capn_read16(p.p, 0) ^ 2u; +} +void write_TestUsing(const struct TestUsing *s, TestUsing_ptr p) { + capn_write16(p.p, 2, (uint16_t) s->outerNestedEnum ^ 1u); + capn_write16(p.p, 0, (uint16_t) s->innerNestedEnum ^ 2u); +} +void get_TestUsing(struct TestUsing *s, TestUsing_list l, int i) { + TestUsing_ptr p; + p.p = capn_getp(l.p, i); + read_TestUsing(s, p); +} +void set_TestUsing(const struct TestUsing *s, TestUsing_list l, int i) { + TestUsing_ptr p; + p.p = capn_getp(l.p, i); + write_TestUsing(s, p); +} + +TestLists_ptr new_TestLists(struct capn_segment *s) { + TestLists_ptr p; + p.p = capn_new_struct(s, 0, 10); + return p; +} +TestLists_list new_TestLists_list(struct capn_segment *s, int len) { + TestLists_list p; + p.p = capn_new_list(s, len, 0, 10); + return p; +} +void read_TestLists(struct TestLists *s, TestLists_ptr p) { + s->list0.p = capn_getp(p.p, 0); + s->list1.p = capn_getp(p.p, 1); + s->list8.p = capn_getp(p.p, 2); + s->list16.p = capn_getp(p.p, 3); + s->list32.p = capn_getp(p.p, 4); + s->list64.p = capn_getp(p.p, 5); + s->listP.p = capn_getp(p.p, 6); + s->int32ListList = capn_getp(p.p, 7); + s->textListList = capn_getp(p.p, 8); + s->structListList = capn_getp(p.p, 9); +} +void write_TestLists(const struct TestLists *s, TestLists_ptr p) { + capn_setp(p.p, 0, s->list0.p); + capn_setp(p.p, 1, s->list1.p); + capn_setp(p.p, 2, s->list8.p); + capn_setp(p.p, 3, s->list16.p); + capn_setp(p.p, 4, s->list32.p); + capn_setp(p.p, 5, s->list64.p); + capn_setp(p.p, 6, s->listP.p); + capn_setp(p.p, 7, s->int32ListList); + capn_setp(p.p, 8, s->textListList); + capn_setp(p.p, 9, s->structListList); +} +void get_TestLists(struct TestLists *s, TestLists_list l, int i) { + TestLists_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists(s, p); +} +void set_TestLists(const struct TestLists *s, TestLists_list l, int i) { + TestLists_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists(s, p); +} + +TestLists_Struct0_ptr new_TestLists_Struct0(struct capn_segment *s) { + TestLists_Struct0_ptr p; + p.p = capn_new_struct(s, 0, 0); + return p; +} +TestLists_Struct0_list new_TestLists_Struct0_list(struct capn_segment *s, int len) { + TestLists_Struct0_list p; + p.p = capn_new_list(s, len, 0, 0); + return p; +} +void read_TestLists_Struct0(struct TestLists_Struct0 *s, TestLists_Struct0_ptr p) { +} +void write_TestLists_Struct0(const struct TestLists_Struct0 *s, TestLists_Struct0_ptr p) { +} +void get_TestLists_Struct0(struct TestLists_Struct0 *s, TestLists_Struct0_list l, int i) { + TestLists_Struct0_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct0(s, p); +} +void set_TestLists_Struct0(const struct TestLists_Struct0 *s, TestLists_Struct0_list l, int i) { + TestLists_Struct0_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct0(s, p); +} + +TestLists_Struct1_ptr new_TestLists_Struct1(struct capn_segment *s) { + TestLists_Struct1_ptr p; + p.p = capn_new_struct(s, 8, 0); + return p; +} +TestLists_Struct1_list new_TestLists_Struct1_list(struct capn_segment *s, int len) { + TestLists_Struct1_list p; + p.p = capn_new_list(s, len, 8, 0); + return p; +} +void read_TestLists_Struct1(struct TestLists_Struct1 *s, TestLists_Struct1_ptr p) { + s->f = (capn_read8(p.p, 0) & 1) != 0; +} +void write_TestLists_Struct1(const struct TestLists_Struct1 *s, TestLists_Struct1_ptr p) { + capn_write1(p.p, 0, s->f != 0); +} +void get_TestLists_Struct1(struct TestLists_Struct1 *s, TestLists_Struct1_list l, int i) { + TestLists_Struct1_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct1(s, p); +} +void set_TestLists_Struct1(const struct TestLists_Struct1 *s, TestLists_Struct1_list l, int i) { + TestLists_Struct1_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct1(s, p); +} + +TestLists_Struct8_ptr new_TestLists_Struct8(struct capn_segment *s) { + TestLists_Struct8_ptr p; + p.p = capn_new_struct(s, 8, 0); + return p; +} +TestLists_Struct8_list new_TestLists_Struct8_list(struct capn_segment *s, int len) { + TestLists_Struct8_list p; + p.p = capn_new_list(s, len, 8, 0); + return p; +} +void read_TestLists_Struct8(struct TestLists_Struct8 *s, TestLists_Struct8_ptr p) { + s->f = capn_read8(p.p, 0); +} +void write_TestLists_Struct8(const struct TestLists_Struct8 *s, TestLists_Struct8_ptr p) { + capn_write8(p.p, 0, s->f); +} +void get_TestLists_Struct8(struct TestLists_Struct8 *s, TestLists_Struct8_list l, int i) { + TestLists_Struct8_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct8(s, p); +} +void set_TestLists_Struct8(const struct TestLists_Struct8 *s, TestLists_Struct8_list l, int i) { + TestLists_Struct8_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct8(s, p); +} + +TestLists_Struct16_ptr new_TestLists_Struct16(struct capn_segment *s) { + TestLists_Struct16_ptr p; + p.p = capn_new_struct(s, 8, 0); + return p; +} +TestLists_Struct16_list new_TestLists_Struct16_list(struct capn_segment *s, int len) { + TestLists_Struct16_list p; + p.p = capn_new_list(s, len, 8, 0); + return p; +} +void read_TestLists_Struct16(struct TestLists_Struct16 *s, TestLists_Struct16_ptr p) { + s->f = capn_read16(p.p, 0); +} +void write_TestLists_Struct16(const struct TestLists_Struct16 *s, TestLists_Struct16_ptr p) { + capn_write16(p.p, 0, s->f); +} +void get_TestLists_Struct16(struct TestLists_Struct16 *s, TestLists_Struct16_list l, int i) { + TestLists_Struct16_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct16(s, p); +} +void set_TestLists_Struct16(const struct TestLists_Struct16 *s, TestLists_Struct16_list l, int i) { + TestLists_Struct16_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct16(s, p); +} + +TestLists_Struct32_ptr new_TestLists_Struct32(struct capn_segment *s) { + TestLists_Struct32_ptr p; + p.p = capn_new_struct(s, 8, 0); + return p; +} +TestLists_Struct32_list new_TestLists_Struct32_list(struct capn_segment *s, int len) { + TestLists_Struct32_list p; + p.p = capn_new_list(s, len, 8, 0); + return p; +} +void read_TestLists_Struct32(struct TestLists_Struct32 *s, TestLists_Struct32_ptr p) { + s->f = capn_read32(p.p, 0); +} +void write_TestLists_Struct32(const struct TestLists_Struct32 *s, TestLists_Struct32_ptr p) { + capn_write32(p.p, 0, s->f); +} +void get_TestLists_Struct32(struct TestLists_Struct32 *s, TestLists_Struct32_list l, int i) { + TestLists_Struct32_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct32(s, p); +} +void set_TestLists_Struct32(const struct TestLists_Struct32 *s, TestLists_Struct32_list l, int i) { + TestLists_Struct32_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct32(s, p); +} + +TestLists_Struct64_ptr new_TestLists_Struct64(struct capn_segment *s) { + TestLists_Struct64_ptr p; + p.p = capn_new_struct(s, 8, 0); + return p; +} +TestLists_Struct64_list new_TestLists_Struct64_list(struct capn_segment *s, int len) { + TestLists_Struct64_list p; + p.p = capn_new_list(s, len, 8, 0); + return p; +} +void read_TestLists_Struct64(struct TestLists_Struct64 *s, TestLists_Struct64_ptr p) { + s->f = capn_read64(p.p, 0); +} +void write_TestLists_Struct64(const struct TestLists_Struct64 *s, TestLists_Struct64_ptr p) { + capn_write64(p.p, 0, s->f); +} +void get_TestLists_Struct64(struct TestLists_Struct64 *s, TestLists_Struct64_list l, int i) { + TestLists_Struct64_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct64(s, p); +} +void set_TestLists_Struct64(const struct TestLists_Struct64 *s, TestLists_Struct64_list l, int i) { + TestLists_Struct64_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct64(s, p); +} + +TestLists_StructP_ptr new_TestLists_StructP(struct capn_segment *s) { + TestLists_StructP_ptr p; + p.p = capn_new_struct(s, 0, 1); + return p; +} +TestLists_StructP_list new_TestLists_StructP_list(struct capn_segment *s, int len) { + TestLists_StructP_list p; + p.p = capn_new_list(s, len, 0, 1); + return p; +} +void read_TestLists_StructP(struct TestLists_StructP *s, TestLists_StructP_ptr p) { + s->f = capn_get_text(p.p, 0, capn_val0); +} +void write_TestLists_StructP(const struct TestLists_StructP *s, TestLists_StructP_ptr p) { + capn_set_text(p.p, 0, s->f); +} +void get_TestLists_StructP(struct TestLists_StructP *s, TestLists_StructP_list l, int i) { + TestLists_StructP_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_StructP(s, p); +} +void set_TestLists_StructP(const struct TestLists_StructP *s, TestLists_StructP_list l, int i) { + TestLists_StructP_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_StructP(s, p); +} + +TestLists_Struct0c_ptr new_TestLists_Struct0c(struct capn_segment *s) { + TestLists_Struct0c_ptr p; + p.p = capn_new_struct(s, 0, 1); + return p; +} +TestLists_Struct0c_list new_TestLists_Struct0c_list(struct capn_segment *s, int len) { + TestLists_Struct0c_list p; + p.p = capn_new_list(s, len, 0, 1); + return p; +} +void read_TestLists_Struct0c(struct TestLists_Struct0c *s, TestLists_Struct0c_ptr p) { + s->pad = capn_get_text(p.p, 0, capn_val0); +} +void write_TestLists_Struct0c(const struct TestLists_Struct0c *s, TestLists_Struct0c_ptr p) { + capn_set_text(p.p, 0, s->pad); +} +void get_TestLists_Struct0c(struct TestLists_Struct0c *s, TestLists_Struct0c_list l, int i) { + TestLists_Struct0c_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct0c(s, p); +} +void set_TestLists_Struct0c(const struct TestLists_Struct0c *s, TestLists_Struct0c_list l, int i) { + TestLists_Struct0c_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct0c(s, p); +} + +TestLists_Struct1c_ptr new_TestLists_Struct1c(struct capn_segment *s) { + TestLists_Struct1c_ptr p; + p.p = capn_new_struct(s, 8, 1); + return p; +} +TestLists_Struct1c_list new_TestLists_Struct1c_list(struct capn_segment *s, int len) { + TestLists_Struct1c_list p; + p.p = capn_new_list(s, len, 8, 1); + return p; +} +void read_TestLists_Struct1c(struct TestLists_Struct1c *s, TestLists_Struct1c_ptr p) { + s->f = (capn_read8(p.p, 0) & 1) != 0; + s->pad = capn_get_text(p.p, 0, capn_val0); +} +void write_TestLists_Struct1c(const struct TestLists_Struct1c *s, TestLists_Struct1c_ptr p) { + capn_write1(p.p, 0, s->f != 0); + capn_set_text(p.p, 0, s->pad); +} +void get_TestLists_Struct1c(struct TestLists_Struct1c *s, TestLists_Struct1c_list l, int i) { + TestLists_Struct1c_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct1c(s, p); +} +void set_TestLists_Struct1c(const struct TestLists_Struct1c *s, TestLists_Struct1c_list l, int i) { + TestLists_Struct1c_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct1c(s, p); +} + +TestLists_Struct8c_ptr new_TestLists_Struct8c(struct capn_segment *s) { + TestLists_Struct8c_ptr p; + p.p = capn_new_struct(s, 8, 1); + return p; +} +TestLists_Struct8c_list new_TestLists_Struct8c_list(struct capn_segment *s, int len) { + TestLists_Struct8c_list p; + p.p = capn_new_list(s, len, 8, 1); + return p; +} +void read_TestLists_Struct8c(struct TestLists_Struct8c *s, TestLists_Struct8c_ptr p) { + s->f = capn_read8(p.p, 0); + s->pad = capn_get_text(p.p, 0, capn_val0); +} +void write_TestLists_Struct8c(const struct TestLists_Struct8c *s, TestLists_Struct8c_ptr p) { + capn_write8(p.p, 0, s->f); + capn_set_text(p.p, 0, s->pad); +} +void get_TestLists_Struct8c(struct TestLists_Struct8c *s, TestLists_Struct8c_list l, int i) { + TestLists_Struct8c_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct8c(s, p); +} +void set_TestLists_Struct8c(const struct TestLists_Struct8c *s, TestLists_Struct8c_list l, int i) { + TestLists_Struct8c_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct8c(s, p); +} + +TestLists_Struct16c_ptr new_TestLists_Struct16c(struct capn_segment *s) { + TestLists_Struct16c_ptr p; + p.p = capn_new_struct(s, 8, 1); + return p; +} +TestLists_Struct16c_list new_TestLists_Struct16c_list(struct capn_segment *s, int len) { + TestLists_Struct16c_list p; + p.p = capn_new_list(s, len, 8, 1); + return p; +} +void read_TestLists_Struct16c(struct TestLists_Struct16c *s, TestLists_Struct16c_ptr p) { + s->f = capn_read16(p.p, 0); + s->pad = capn_get_text(p.p, 0, capn_val0); +} +void write_TestLists_Struct16c(const struct TestLists_Struct16c *s, TestLists_Struct16c_ptr p) { + capn_write16(p.p, 0, s->f); + capn_set_text(p.p, 0, s->pad); +} +void get_TestLists_Struct16c(struct TestLists_Struct16c *s, TestLists_Struct16c_list l, int i) { + TestLists_Struct16c_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct16c(s, p); +} +void set_TestLists_Struct16c(const struct TestLists_Struct16c *s, TestLists_Struct16c_list l, int i) { + TestLists_Struct16c_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct16c(s, p); +} + +TestLists_Struct32c_ptr new_TestLists_Struct32c(struct capn_segment *s) { + TestLists_Struct32c_ptr p; + p.p = capn_new_struct(s, 8, 1); + return p; +} +TestLists_Struct32c_list new_TestLists_Struct32c_list(struct capn_segment *s, int len) { + TestLists_Struct32c_list p; + p.p = capn_new_list(s, len, 8, 1); + return p; +} +void read_TestLists_Struct32c(struct TestLists_Struct32c *s, TestLists_Struct32c_ptr p) { + s->f = capn_read32(p.p, 0); + s->pad = capn_get_text(p.p, 0, capn_val0); +} +void write_TestLists_Struct32c(const struct TestLists_Struct32c *s, TestLists_Struct32c_ptr p) { + capn_write32(p.p, 0, s->f); + capn_set_text(p.p, 0, s->pad); +} +void get_TestLists_Struct32c(struct TestLists_Struct32c *s, TestLists_Struct32c_list l, int i) { + TestLists_Struct32c_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct32c(s, p); +} +void set_TestLists_Struct32c(const struct TestLists_Struct32c *s, TestLists_Struct32c_list l, int i) { + TestLists_Struct32c_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct32c(s, p); +} + +TestLists_Struct64c_ptr new_TestLists_Struct64c(struct capn_segment *s) { + TestLists_Struct64c_ptr p; + p.p = capn_new_struct(s, 8, 1); + return p; +} +TestLists_Struct64c_list new_TestLists_Struct64c_list(struct capn_segment *s, int len) { + TestLists_Struct64c_list p; + p.p = capn_new_list(s, len, 8, 1); + return p; +} +void read_TestLists_Struct64c(struct TestLists_Struct64c *s, TestLists_Struct64c_ptr p) { + s->f = capn_read64(p.p, 0); + s->pad = capn_get_text(p.p, 0, capn_val0); +} +void write_TestLists_Struct64c(const struct TestLists_Struct64c *s, TestLists_Struct64c_ptr p) { + capn_write64(p.p, 0, s->f); + capn_set_text(p.p, 0, s->pad); +} +void get_TestLists_Struct64c(struct TestLists_Struct64c *s, TestLists_Struct64c_list l, int i) { + TestLists_Struct64c_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_Struct64c(s, p); +} +void set_TestLists_Struct64c(const struct TestLists_Struct64c *s, TestLists_Struct64c_list l, int i) { + TestLists_Struct64c_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_Struct64c(s, p); +} + +TestLists_StructPc_ptr new_TestLists_StructPc(struct capn_segment *s) { + TestLists_StructPc_ptr p; + p.p = capn_new_struct(s, 8, 1); + return p; +} +TestLists_StructPc_list new_TestLists_StructPc_list(struct capn_segment *s, int len) { + TestLists_StructPc_list p; + p.p = capn_new_list(s, len, 8, 1); + return p; +} +void read_TestLists_StructPc(struct TestLists_StructPc *s, TestLists_StructPc_ptr p) { + s->f = capn_get_text(p.p, 0, capn_val0); + s->pad = capn_read64(p.p, 0); +} +void write_TestLists_StructPc(const struct TestLists_StructPc *s, TestLists_StructPc_ptr p) { + capn_set_text(p.p, 0, s->f); + capn_write64(p.p, 0, s->pad); +} +void get_TestLists_StructPc(struct TestLists_StructPc *s, TestLists_StructPc_list l, int i) { + TestLists_StructPc_ptr p; + p.p = capn_getp(l.p, i); + read_TestLists_StructPc(s, p); +} +void set_TestLists_StructPc(const struct TestLists_StructPc *s, TestLists_StructPc_list l, int i) { + TestLists_StructPc_ptr p; + p.p = capn_getp(l.p, i); + write_TestLists_StructPc(s, p); +} + +TestFieldZeroIsBit_ptr new_TestFieldZeroIsBit(struct capn_segment *s) { + TestFieldZeroIsBit_ptr p; + p.p = capn_new_struct(s, 8, 0); + return p; +} +TestFieldZeroIsBit_list new_TestFieldZeroIsBit_list(struct capn_segment *s, int len) { + TestFieldZeroIsBit_list p; + p.p = capn_new_list(s, len, 8, 0); + return p; +} +void read_TestFieldZeroIsBit(struct TestFieldZeroIsBit *s, TestFieldZeroIsBit_ptr p) { + s->bit = (capn_read8(p.p, 0) & 1) != 0; + s->secondBit = (capn_read8(p.p, 0) & 2) != 1; + s->thirdField = capn_read8(p.p, 1) ^ 123u; +} +void write_TestFieldZeroIsBit(const struct TestFieldZeroIsBit *s, TestFieldZeroIsBit_ptr p) { + capn_write1(p.p, 0, s->bit != 0); + capn_write1(p.p, 1, s->secondBit != 1); + capn_write8(p.p, 1, s->thirdField ^ 123u); +} +void get_TestFieldZeroIsBit(struct TestFieldZeroIsBit *s, TestFieldZeroIsBit_list l, int i) { + TestFieldZeroIsBit_ptr p; + p.p = capn_getp(l.p, i); + read_TestFieldZeroIsBit(s, p); +} +void set_TestFieldZeroIsBit(const struct TestFieldZeroIsBit *s, TestFieldZeroIsBit_list l, int i) { + TestFieldZeroIsBit_ptr p; + p.p = capn_getp(l.p, i); + write_TestFieldZeroIsBit(s, p); +} +TestLists_ptr capn_val24 = {{1,1,0,80,0,(char*)&capn_buf[56],(struct capn_segment*)&capn_seg}}; + +TestListDefaults_ptr new_TestListDefaults(struct capn_segment *s) { + TestListDefaults_ptr p; + p.p = capn_new_struct(s, 0, 1); + return p; +} +TestListDefaults_list new_TestListDefaults_list(struct capn_segment *s, int len) { + TestListDefaults_list p; + p.p = capn_new_list(s, len, 0, 1); + return p; +} +void read_TestListDefaults(struct TestListDefaults *s, TestListDefaults_ptr p) { + s->lists.p = capn_getp(p.p, 0); + if (!s->lists.p.type) { + s->lists = capn_val24; + } +} +void write_TestListDefaults(const struct TestListDefaults *s, TestListDefaults_ptr p) { + capn_setp(p.p, 0, (s->lists.p.data != capn_val24.p.data) ? s->lists.p : capn_null); +} +void get_TestListDefaults(struct TestListDefaults *s, TestListDefaults_list l, int i) { + TestListDefaults_ptr p; + p.p = capn_getp(l.p, i); + read_TestListDefaults(s, p); +} +void set_TestListDefaults(const struct TestListDefaults *s, TestListDefaults_list l, int i) { + TestListDefaults_ptr p; + p.p = capn_getp(l.p, i); + write_TestListDefaults(s, p); +} + +TestLateUnion_ptr new_TestLateUnion(struct capn_segment *s) { + TestLateUnion_ptr p; + p.p = capn_new_struct(s, 24, 3); + return p; +} +TestLateUnion_list new_TestLateUnion_list(struct capn_segment *s, int len) { + TestLateUnion_list p; + p.p = capn_new_list(s, len, 24, 3); + return p; +} +void read_TestLateUnion(struct TestLateUnion *s, TestLateUnion_ptr p) { + s->foo = (int32_t) capn_read32(p.p, 0); + s->bar = capn_get_text(p.p, 0, capn_val0); + s->baz = (int16_t) capn_read16(p.p, 4); + s->theUnion_which = (enum TestLateUnion_theUnion_which) capn_read16(p.p, 6); + switch (s->theUnion_which) { + case TestLateUnion_theUnion_grault: + s->theUnion.grault = capn_to_f32(capn_read32(p.p, 8)); + break; + case TestLateUnion_theUnion_qux: + s->theUnion.qux = capn_get_text(p.p, 1, capn_val0); + break; + case TestLateUnion_theUnion_corge: + s->theUnion.corge.p = capn_getp(p.p, 1); + break; + default: + break; + } + s->anotherUnion_which = (enum TestLateUnion_anotherUnion_which) capn_read16(p.p, 12); + switch (s->anotherUnion_which) { + case TestLateUnion_anotherUnion_grault: + s->anotherUnion.grault = capn_to_f32(capn_read32(p.p, 16)); + break; + case TestLateUnion_anotherUnion_qux: + s->anotherUnion.qux = capn_get_text(p.p, 2, capn_val0); + break; + case TestLateUnion_anotherUnion_corge: + s->anotherUnion.corge.p = capn_getp(p.p, 2); + break; + default: + break; + } +} +void write_TestLateUnion(const struct TestLateUnion *s, TestLateUnion_ptr p) { + capn_write32(p.p, 0, (uint32_t) s->foo); + capn_set_text(p.p, 0, s->bar); + capn_write16(p.p, 4, (uint16_t) s->baz); + capn_write16(p.p, 6, s->theUnion_which); + switch (s->theUnion_which) { + case TestLateUnion_theUnion_grault: + capn_write32(p.p, 8, capn_from_f32(s->theUnion.grault)); + break; + case TestLateUnion_theUnion_qux: + capn_set_text(p.p, 1, s->theUnion.qux); + break; + case TestLateUnion_theUnion_corge: + capn_setp(p.p, 1, s->theUnion.corge.p); + break; + default: + break; + } + capn_write16(p.p, 12, s->anotherUnion_which); + switch (s->anotherUnion_which) { + case TestLateUnion_anotherUnion_grault: + capn_write32(p.p, 16, capn_from_f32(s->anotherUnion.grault)); + break; + case TestLateUnion_anotherUnion_qux: + capn_set_text(p.p, 2, s->anotherUnion.qux); + break; + case TestLateUnion_anotherUnion_corge: + capn_setp(p.p, 2, s->anotherUnion.corge.p); + break; + default: + break; + } +} +void get_TestLateUnion(struct TestLateUnion *s, TestLateUnion_list l, int i) { + TestLateUnion_ptr p; + p.p = capn_getp(l.p, i); + read_TestLateUnion(s, p); +} +void set_TestLateUnion(const struct TestLateUnion *s, TestLateUnion_list l, int i) { + TestLateUnion_ptr p; + p.p = capn_getp(l.p, i); + write_TestLateUnion(s, p); +} + +TestOldVersion_ptr new_TestOldVersion(struct capn_segment *s) { + TestOldVersion_ptr p; + p.p = capn_new_struct(s, 8, 2); + return p; +} +TestOldVersion_list new_TestOldVersion_list(struct capn_segment *s, int len) { + TestOldVersion_list p; + p.p = capn_new_list(s, len, 8, 2); + return p; +} +void read_TestOldVersion(struct TestOldVersion *s, TestOldVersion_ptr p) { + s->old1 = (int64_t) capn_read64(p.p, 0); + s->old2 = capn_get_text(p.p, 0, capn_val0); + s->old3.p = capn_getp(p.p, 1); +} +void write_TestOldVersion(const struct TestOldVersion *s, TestOldVersion_ptr p) { + capn_write64(p.p, 0, (uint64_t) s->old1); + capn_set_text(p.p, 0, s->old2); + capn_setp(p.p, 1, s->old3.p); +} +void get_TestOldVersion(struct TestOldVersion *s, TestOldVersion_list l, int i) { + TestOldVersion_ptr p; + p.p = capn_getp(l.p, i); + read_TestOldVersion(s, p); +} +void set_TestOldVersion(const struct TestOldVersion *s, TestOldVersion_list l, int i) { + TestOldVersion_ptr p; + p.p = capn_getp(l.p, i); + write_TestOldVersion(s, p); +} +capn_text capn_val25 = {3,(char*)&capn_buf[8160],(struct capn_segment*)&capn_seg}; + +TestNewVersion_ptr new_TestNewVersion(struct capn_segment *s) { + TestNewVersion_ptr p; + p.p = capn_new_struct(s, 16, 3); + return p; +} +TestNewVersion_list new_TestNewVersion_list(struct capn_segment *s, int len) { + TestNewVersion_list p; + p.p = capn_new_list(s, len, 16, 3); + return p; +} +void read_TestNewVersion(struct TestNewVersion *s, TestNewVersion_ptr p) { + s->old1 = (int64_t) capn_read64(p.p, 0); + s->old2 = capn_get_text(p.p, 0, capn_val0); + s->old3.p = capn_getp(p.p, 1); + s->new1 = (int64_t) capn_read64(p.p, 8) ^ ((uint64_t) 0u << 32) ^ 0x3dbu; + s->new2 = capn_get_text(p.p, 2, capn_val25); +} +void write_TestNewVersion(const struct TestNewVersion *s, TestNewVersion_ptr p) { + capn_write64(p.p, 0, (uint64_t) s->old1); + capn_set_text(p.p, 0, s->old2); + capn_setp(p.p, 1, s->old3.p); + capn_write64(p.p, 8, (uint64_t) s->new1 ^ ((uint64_t) 0u << 32) ^ 0x3dbu); + capn_set_text(p.p, 2, (s->new2.str != capn_val25.str) ? s->new2 : capn_val0); +} +void get_TestNewVersion(struct TestNewVersion *s, TestNewVersion_list l, int i) { + TestNewVersion_ptr p; + p.p = capn_getp(l.p, i); + read_TestNewVersion(s, p); +} +void set_TestNewVersion(const struct TestNewVersion *s, TestNewVersion_list l, int i) { + TestNewVersion_ptr p; + p.p = capn_getp(l.p, i); + write_TestNewVersion(s, p); +} + +TestStructUnion_ptr new_TestStructUnion(struct capn_segment *s) { + TestStructUnion_ptr p; + p.p = capn_new_struct(s, 8, 1); + return p; +} +TestStructUnion_list new_TestStructUnion_list(struct capn_segment *s, int len) { + TestStructUnion_list p; + p.p = capn_new_list(s, len, 8, 1); + return p; +} +void read_TestStructUnion(struct TestStructUnion *s, TestStructUnion_ptr p) { + s->un_which = (enum TestStructUnion_un_which) capn_read16(p.p, 0); + switch (s->un_which) { + case TestStructUnion_un_allTypes: + case TestStructUnion_un_object: + s->un.object.p = capn_getp(p.p, 0); + break; + default: + break; + } +} +void write_TestStructUnion(const struct TestStructUnion *s, TestStructUnion_ptr p) { + capn_write16(p.p, 0, s->un_which); + switch (s->un_which) { + case TestStructUnion_un_allTypes: + case TestStructUnion_un_object: + capn_setp(p.p, 0, s->un.object.p); + break; + default: + break; + } +} +void get_TestStructUnion(struct TestStructUnion *s, TestStructUnion_list l, int i) { + TestStructUnion_ptr p; + p.p = capn_getp(l.p, i); + read_TestStructUnion(s, p); +} +void set_TestStructUnion(const struct TestStructUnion *s, TestStructUnion_list l, int i) { + TestStructUnion_ptr p; + p.p = capn_getp(l.p, i); + write_TestStructUnion(s, p); +} + +TestEmptyStruct_ptr new_TestEmptyStruct(struct capn_segment *s) { + TestEmptyStruct_ptr p; + p.p = capn_new_struct(s, 0, 0); + return p; +} +TestEmptyStruct_list new_TestEmptyStruct_list(struct capn_segment *s, int len) { + TestEmptyStruct_list p; + p.p = capn_new_list(s, len, 0, 0); + return p; +} +void read_TestEmptyStruct(struct TestEmptyStruct *s, TestEmptyStruct_ptr p) { +} +void write_TestEmptyStruct(const struct TestEmptyStruct *s, TestEmptyStruct_ptr p) { +} +void get_TestEmptyStruct(struct TestEmptyStruct *s, TestEmptyStruct_list l, int i) { + TestEmptyStruct_ptr p; + p.p = capn_getp(l.p, i); + read_TestEmptyStruct(s, p); +} +void set_TestEmptyStruct(const struct TestEmptyStruct *s, TestEmptyStruct_list l, int i) { + TestEmptyStruct_ptr p; + p.p = capn_getp(l.p, i); + write_TestEmptyStruct(s, p); +} + +TestConstants_ptr new_TestConstants(struct capn_segment *s) { + TestConstants_ptr p; + p.p = capn_new_struct(s, 0, 0); + return p; +} +TestConstants_list new_TestConstants_list(struct capn_segment *s, int len) { + TestConstants_list p; + p.p = capn_new_list(s, len, 0, 0); + return p; +} +void read_TestConstants(struct TestConstants *s, TestConstants_ptr p) { +} +void write_TestConstants(const struct TestConstants *s, TestConstants_ptr p) { +} +void get_TestConstants(struct TestConstants *s, TestConstants_list l, int i) { + TestConstants_ptr p; + p.p = capn_getp(l.p, i); + read_TestConstants(s, p); +} +void set_TestConstants(const struct TestConstants *s, TestConstants_list l, int i) { + TestConstants_ptr p; + p.p = capn_getp(l.p, i); + write_TestConstants(s, p); +} diff --git a/compiler/test.capnp.h b/compiler/test.capnp.h new file mode 100644 index 0000000..f5165a2 --- /dev/null +++ b/compiler/test.capnp.h @@ -0,0 +1,878 @@ +#ifndef CAPN_D508EEBDC2DC42B8 +#define CAPN_D508EEBDC2DC42B8 +/* AUTO GENERATED - DO NOT EDIT */ +#include +#include "c++.capnp.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct TestAllTypes; +struct TestDefaults; +struct TestObject; +struct TestOutOfOrder; +struct TestUnion; +struct TestUnnamedUnion; +struct TestUnionInUnion; +struct TestGroups; +struct TestInterleavedGroups; +struct TestUnionDefaults; +struct TestNestedTypes; +struct TestNestedTypes_NestedStruct; +struct TestUsing; +struct TestLists; +struct TestLists_Struct0; +struct TestLists_Struct1; +struct TestLists_Struct8; +struct TestLists_Struct16; +struct TestLists_Struct32; +struct TestLists_Struct64; +struct TestLists_StructP; +struct TestLists_Struct0c; +struct TestLists_Struct1c; +struct TestLists_Struct8c; +struct TestLists_Struct16c; +struct TestLists_Struct32c; +struct TestLists_Struct64c; +struct TestLists_StructPc; +struct TestFieldZeroIsBit; +struct TestListDefaults; +struct TestLateUnion; +struct TestOldVersion; +struct TestNewVersion; +struct TestStructUnion; +struct TestEmptyStruct; +struct TestConstants; + +typedef struct {capn_ptr p;} TestAllTypes_ptr; +typedef struct {capn_ptr p;} TestDefaults_ptr; +typedef struct {capn_ptr p;} TestObject_ptr; +typedef struct {capn_ptr p;} TestOutOfOrder_ptr; +typedef struct {capn_ptr p;} TestUnion_ptr; +typedef struct {capn_ptr p;} TestUnnamedUnion_ptr; +typedef struct {capn_ptr p;} TestUnionInUnion_ptr; +typedef struct {capn_ptr p;} TestGroups_ptr; +typedef struct {capn_ptr p;} TestInterleavedGroups_ptr; +typedef struct {capn_ptr p;} TestUnionDefaults_ptr; +typedef struct {capn_ptr p;} TestNestedTypes_ptr; +typedef struct {capn_ptr p;} TestNestedTypes_NestedStruct_ptr; +typedef struct {capn_ptr p;} TestUsing_ptr; +typedef struct {capn_ptr p;} TestLists_ptr; +typedef struct {capn_ptr p;} TestLists_Struct0_ptr; +typedef struct {capn_ptr p;} TestLists_Struct1_ptr; +typedef struct {capn_ptr p;} TestLists_Struct8_ptr; +typedef struct {capn_ptr p;} TestLists_Struct16_ptr; +typedef struct {capn_ptr p;} TestLists_Struct32_ptr; +typedef struct {capn_ptr p;} TestLists_Struct64_ptr; +typedef struct {capn_ptr p;} TestLists_StructP_ptr; +typedef struct {capn_ptr p;} TestLists_Struct0c_ptr; +typedef struct {capn_ptr p;} TestLists_Struct1c_ptr; +typedef struct {capn_ptr p;} TestLists_Struct8c_ptr; +typedef struct {capn_ptr p;} TestLists_Struct16c_ptr; +typedef struct {capn_ptr p;} TestLists_Struct32c_ptr; +typedef struct {capn_ptr p;} TestLists_Struct64c_ptr; +typedef struct {capn_ptr p;} TestLists_StructPc_ptr; +typedef struct {capn_ptr p;} TestFieldZeroIsBit_ptr; +typedef struct {capn_ptr p;} TestListDefaults_ptr; +typedef struct {capn_ptr p;} TestLateUnion_ptr; +typedef struct {capn_ptr p;} TestOldVersion_ptr; +typedef struct {capn_ptr p;} TestNewVersion_ptr; +typedef struct {capn_ptr p;} TestStructUnion_ptr; +typedef struct {capn_ptr p;} TestEmptyStruct_ptr; +typedef struct {capn_ptr p;} TestConstants_ptr; + +typedef struct {capn_ptr p;} TestAllTypes_list; +typedef struct {capn_ptr p;} TestDefaults_list; +typedef struct {capn_ptr p;} TestObject_list; +typedef struct {capn_ptr p;} TestOutOfOrder_list; +typedef struct {capn_ptr p;} TestUnion_list; +typedef struct {capn_ptr p;} TestUnnamedUnion_list; +typedef struct {capn_ptr p;} TestUnionInUnion_list; +typedef struct {capn_ptr p;} TestGroups_list; +typedef struct {capn_ptr p;} TestInterleavedGroups_list; +typedef struct {capn_ptr p;} TestUnionDefaults_list; +typedef struct {capn_ptr p;} TestNestedTypes_list; +typedef struct {capn_ptr p;} TestNestedTypes_NestedStruct_list; +typedef struct {capn_ptr p;} TestUsing_list; +typedef struct {capn_ptr p;} TestLists_list; +typedef struct {capn_ptr p;} TestLists_Struct0_list; +typedef struct {capn_ptr p;} TestLists_Struct1_list; +typedef struct {capn_ptr p;} TestLists_Struct8_list; +typedef struct {capn_ptr p;} TestLists_Struct16_list; +typedef struct {capn_ptr p;} TestLists_Struct32_list; +typedef struct {capn_ptr p;} TestLists_Struct64_list; +typedef struct {capn_ptr p;} TestLists_StructP_list; +typedef struct {capn_ptr p;} TestLists_Struct0c_list; +typedef struct {capn_ptr p;} TestLists_Struct1c_list; +typedef struct {capn_ptr p;} TestLists_Struct8c_list; +typedef struct {capn_ptr p;} TestLists_Struct16c_list; +typedef struct {capn_ptr p;} TestLists_Struct32c_list; +typedef struct {capn_ptr p;} TestLists_Struct64c_list; +typedef struct {capn_ptr p;} TestLists_StructPc_list; +typedef struct {capn_ptr p;} TestFieldZeroIsBit_list; +typedef struct {capn_ptr p;} TestListDefaults_list; +typedef struct {capn_ptr p;} TestLateUnion_list; +typedef struct {capn_ptr p;} TestOldVersion_list; +typedef struct {capn_ptr p;} TestNewVersion_list; +typedef struct {capn_ptr p;} TestStructUnion_list; +typedef struct {capn_ptr p;} TestEmptyStruct_list; +typedef struct {capn_ptr p;} TestConstants_list; + +enum TestEnum { + TestEnum_foo = 0, + TestEnum_bar = 1, + TestEnum_baz = 2, + TestEnum_qux = 3, + TestEnum_quux = 4, + TestEnum_corge = 5, + TestEnum_grault = 6, + TestEnum_garply = 7 +}; + +enum TestNestedTypes_NestedEnum { + TestNestedTypes_NestedEnum_foo = 0, + TestNestedTypes_NestedEnum_bar = 1 +}; + +enum TestNestedTypes_NestedStruct_NestedEnum { + TestNestedTypes_NestedStruct_NestedEnum_baz = 0, + TestNestedTypes_NestedStruct_NestedEnum_qux = 1, + TestNestedTypes_NestedStruct_NestedEnum_quux = 2 +}; +extern unsigned TestConstants_boolConst; +extern int8_t TestConstants_int8Const; +extern int16_t TestConstants_int16Const; +extern int32_t TestConstants_int32Const; +extern int64_t TestConstants_int64Const; +extern uint8_t TestConstants_uint8Const; +extern uint16_t TestConstants_uint16Const; +extern uint32_t TestConstants_uint32Const; +extern uint64_t TestConstants_uint64Const; +extern union capn_conv_f32 TestConstants_float32Const; +extern union capn_conv_f64 TestConstants_float64Const; +extern capn_text TestConstants_textConst; +extern capn_data TestConstants_dataConst; +extern TestAllTypes_ptr TestConstants_structConst; +extern enum TestEnum TestConstants_enumConst; +extern capn_ptr TestConstants_voidListConst; +extern capn_list1 TestConstants_boolListConst; +extern capn_list8 TestConstants_int8ListConst; +extern capn_list16 TestConstants_int16ListConst; +extern capn_list32 TestConstants_int32ListConst; +extern capn_list64 TestConstants_int64ListConst; +extern capn_list8 TestConstants_uint8ListConst; +extern capn_list16 TestConstants_uint16ListConst; +extern capn_list32 TestConstants_uint32ListConst; +extern capn_list64 TestConstants_uint64ListConst; +extern capn_list32 TestConstants_float32ListConst; +extern capn_list64 TestConstants_float64ListConst; +extern capn_ptr TestConstants_textListConst; +extern capn_ptr TestConstants_dataListConst; +extern TestAllTypes_list TestConstants_structListConst; +extern capn_list16 TestConstants_enumListConst; +extern uint32_t globalInt; +extern capn_text globalText; +extern TestAllTypes_ptr globalStruct; +extern TestAllTypes_ptr derivedConstant; + +struct TestAllTypes { + unsigned boolField : 1; + int8_t int8Field; + int16_t int16Field; + int32_t int32Field; + int64_t int64Field; + uint8_t uInt8Field; + uint16_t uInt16Field; + uint32_t uInt32Field; + uint64_t uInt64Field; + float float32Field; + double float64Field; + capn_text textField; + capn_data dataField; + TestAllTypes_ptr structField; + enum TestEnum enumField; + capn_ptr voidList; + capn_list1 boolList; + capn_list8 int8List; + capn_list16 int16List; + capn_list32 int32List; + capn_list64 int64List; + capn_list8 uInt8List; + capn_list16 uInt16List; + capn_list32 uInt32List; + capn_list64 uInt64List; + capn_list32 float32List; + capn_list64 float64List; + capn_ptr textList; + capn_ptr dataList; + TestAllTypes_list structList; + capn_list16 enumList; + capn_ptr interfaceList; +}; + +struct TestDefaults { + unsigned boolField : 1; + int8_t int8Field; + int16_t int16Field; + int32_t int32Field; + int64_t int64Field; + uint8_t uInt8Field; + uint16_t uInt16Field; + uint32_t uInt32Field; + uint64_t uInt64Field; + float float32Field; + double float64Field; + capn_text textField; + capn_data dataField; + TestAllTypes_ptr structField; + enum TestEnum enumField; + capn_ptr voidList; + capn_list1 boolList; + capn_list8 int8List; + capn_list16 int16List; + capn_list32 int32List; + capn_list64 int64List; + capn_list8 uInt8List; + capn_list16 uInt16List; + capn_list32 uInt32List; + capn_list64 uInt64List; + capn_list32 float32List; + capn_list64 float64List; + capn_ptr textList; + capn_ptr dataList; + TestAllTypes_list structList; + capn_list16 enumList; + capn_ptr interfaceList; +}; + +struct TestObject { + capn_ptr objectField; +}; + +struct TestOutOfOrder { + capn_text foo; + capn_text bar; + capn_text baz; + capn_text qux; + capn_text quux; + capn_text corge; + capn_text grault; + capn_text garply; + capn_text waldo; +}; +enum TestUnion_union0_which { + TestUnion_union0_u0f0s0 = 0, + TestUnion_union0_u0f0s1 = 1, + TestUnion_union0_u0f0s8 = 2, + TestUnion_union0_u0f0s16 = 3, + TestUnion_union0_u0f0s32 = 4, + TestUnion_union0_u0f0s64 = 5, + TestUnion_union0_u0f0sp = 6, + TestUnion_union0_u0f1s0 = 7, + TestUnion_union0_u0f1s1 = 8, + TestUnion_union0_u0f1s8 = 9, + TestUnion_union0_u0f1s16 = 10, + TestUnion_union0_u0f1s32 = 11, + TestUnion_union0_u0f1s64 = 12, + TestUnion_union0_u0f1sp = 13 +}; +enum TestUnion_union1_which { + TestUnion_union1_u1f0s0 = 0, + TestUnion_union1_u1f0s1 = 1, + TestUnion_union1_u1f1s1 = 2, + TestUnion_union1_u1f0s8 = 3, + TestUnion_union1_u1f1s8 = 4, + TestUnion_union1_u1f0s16 = 5, + TestUnion_union1_u1f1s16 = 6, + TestUnion_union1_u1f0s32 = 7, + TestUnion_union1_u1f1s32 = 8, + TestUnion_union1_u1f0s64 = 9, + TestUnion_union1_u1f1s64 = 10, + TestUnion_union1_u1f0sp = 11, + TestUnion_union1_u1f1sp = 12, + TestUnion_union1_u1f2s0 = 13, + TestUnion_union1_u1f2s1 = 14, + TestUnion_union1_u1f2s8 = 15, + TestUnion_union1_u1f2s16 = 16, + TestUnion_union1_u1f2s32 = 17, + TestUnion_union1_u1f2s64 = 18, + TestUnion_union1_u1f2sp = 19 +}; +enum TestUnion_union2_which { + TestUnion_union2_u2f0s64 = 4, + TestUnion_union2_u2f0s32 = 3, + TestUnion_union2_u2f0s16 = 2, + TestUnion_union2_u2f0s8 = 1, + TestUnion_union2_u2f0s1 = 0 +}; +enum TestUnion_union3_which { + TestUnion_union3_u3f0s64 = 4, + TestUnion_union3_u3f0s32 = 3, + TestUnion_union3_u3f0s16 = 2, + TestUnion_union3_u3f0s8 = 1, + TestUnion_union3_u3f0s1 = 0 +}; + +struct TestUnion { + enum TestUnion_union0_which union0_which; + union { + unsigned u0f0s1 : 1; + int8_t u0f0s8; + int16_t u0f0s16; + int32_t u0f0s32; + int64_t u0f0s64; + capn_text u0f0sp; + unsigned u0f1s1 : 1; + int8_t u0f1s8; + int16_t u0f1s16; + int32_t u0f1s32; + int64_t u0f1s64; + capn_text u0f1sp; + } union0; + unsigned bit0 : 1; + enum TestUnion_union1_which union1_which; + union { + unsigned u1f0s1 : 1; + unsigned u1f1s1 : 1; + int8_t u1f0s8; + int8_t u1f1s8; + int16_t u1f0s16; + int16_t u1f1s16; + int32_t u1f0s32; + int32_t u1f1s32; + int64_t u1f0s64; + int64_t u1f1s64; + capn_text u1f0sp; + capn_text u1f1sp; + unsigned u1f2s1 : 1; + int8_t u1f2s8; + int16_t u1f2s16; + int32_t u1f2s32; + int64_t u1f2s64; + capn_text u1f2sp; + } union1; + unsigned bit2 : 1; + unsigned bit3 : 1; + unsigned bit4 : 1; + unsigned bit5 : 1; + unsigned bit6 : 1; + unsigned bit7 : 1; + enum TestUnion_union2_which union2_which; + union { + int64_t u2f0s64; + int32_t u2f0s32; + int16_t u2f0s16; + int8_t u2f0s8; + unsigned u2f0s1 : 1; + } union2; + enum TestUnion_union3_which union3_which; + union { + int64_t u3f0s64; + int32_t u3f0s32; + int16_t u3f0s16; + int8_t u3f0s8; + unsigned u3f0s1 : 1; + } union3; + uint8_t byte0; +}; +enum TestUnnamedUnion_which { + TestUnnamedUnion_foo = 0, + TestUnnamedUnion_bar = 1 +}; + +struct TestUnnamedUnion { + capn_text before; + enum TestUnnamedUnion_which which; + union { + uint16_t foo; + uint32_t bar; + }; + uint16_t middle; + capn_text after; +}; +enum TestUnionInUnion_outer_inner_which { + TestUnionInUnion_outer_inner_foo = 0, + TestUnionInUnion_outer_inner_bar = 1 +}; +enum TestUnionInUnion_outer_which { + TestUnionInUnion_outer_inner = 0, + TestUnionInUnion_outer_baz = 1 +}; + +struct TestUnionInUnion { + enum TestUnionInUnion_outer_which outer_which; + union { + enum TestUnionInUnion_outer_inner_which inner_which; + union { + int32_t foo; + int32_t bar; + } inner; + int32_t baz; + } outer; +}; +enum TestGroups_groups_which { + TestGroups_groups_foo = 0, + TestGroups_groups_bar = 2, + TestGroups_groups_baz = 1 +}; + +struct TestGroups { + enum TestGroups_groups_which groups_which; + union { + struct { + int32_t corge; + int64_t grault; + capn_text garply; + } foo; + struct { + int32_t corge; + capn_text grault; + int64_t garply; + } bar; + struct { + int32_t corge; + capn_text grault; + capn_text garply; + } baz; + } groups; +}; +enum TestInterleavedGroups_group1_which { + TestInterleavedGroups_group1_qux = 0, + TestInterleavedGroups_group1_corge = 1, + TestInterleavedGroups_group1_fred = 2 +}; +enum TestInterleavedGroups_group2_which { + TestInterleavedGroups_group2_qux = 0, + TestInterleavedGroups_group2_corge = 1, + TestInterleavedGroups_group2_fred = 2 +}; + +struct TestInterleavedGroups { + struct { + uint32_t foo; + uint64_t bar; + enum TestInterleavedGroups_group1_which which; + union { + uint16_t qux; + struct { + uint64_t grault; + uint16_t garply; + capn_text plugh; + capn_text xyzzy; + } corge; + capn_text fred; + }; + capn_text waldo; + } group1; + struct { + uint32_t foo; + uint64_t bar; + enum TestInterleavedGroups_group2_which which; + union { + uint16_t qux; + struct { + uint64_t grault; + uint16_t garply; + capn_text plugh; + capn_text xyzzy; + } corge; + capn_text fred; + }; + capn_text waldo; + } group2; +}; + +struct TestUnionDefaults { + TestUnion_ptr s16s8s64s8Set; + TestUnion_ptr s0sps1s32Set; + TestUnnamedUnion_ptr unnamed1; + TestUnnamedUnion_ptr unnamed2; +}; + +struct TestNestedTypes { + TestNestedTypes_NestedStruct_ptr nestedStruct; + enum TestNestedTypes_NestedEnum outerNestedEnum; + enum TestNestedTypes_NestedStruct_NestedEnum innerNestedEnum; +}; + +struct TestNestedTypes_NestedStruct { + enum TestNestedTypes_NestedEnum outerNestedEnum; + enum TestNestedTypes_NestedStruct_NestedEnum innerNestedEnum; +}; + +struct TestUsing { + enum TestNestedTypes_NestedEnum outerNestedEnum; + enum TestNestedTypes_NestedStruct_NestedEnum innerNestedEnum; +}; + +struct TestLists { + TestLists_Struct0_list list0; + TestLists_Struct1_list list1; + TestLists_Struct8_list list8; + TestLists_Struct16_list list16; + TestLists_Struct32_list list32; + TestLists_Struct64_list list64; + TestLists_StructP_list listP; + capn_ptr int32ListList; + capn_ptr textListList; + capn_ptr structListList; +}; + +struct TestLists_Struct0 { +}; + +struct TestLists_Struct1 { + unsigned f : 1; +}; + +struct TestLists_Struct8 { + uint8_t f; +}; + +struct TestLists_Struct16 { + uint16_t f; +}; + +struct TestLists_Struct32 { + uint32_t f; +}; + +struct TestLists_Struct64 { + uint64_t f; +}; + +struct TestLists_StructP { + capn_text f; +}; + +struct TestLists_Struct0c { + capn_text pad; +}; + +struct TestLists_Struct1c { + unsigned f : 1; + capn_text pad; +}; + +struct TestLists_Struct8c { + uint8_t f; + capn_text pad; +}; + +struct TestLists_Struct16c { + uint16_t f; + capn_text pad; +}; + +struct TestLists_Struct32c { + uint32_t f; + capn_text pad; +}; + +struct TestLists_Struct64c { + uint64_t f; + capn_text pad; +}; + +struct TestLists_StructPc { + capn_text f; + uint64_t pad; +}; + +struct TestFieldZeroIsBit { + unsigned bit : 1; + unsigned secondBit : 1; + uint8_t thirdField; +}; + +struct TestListDefaults { + TestLists_ptr lists; +}; +enum TestLateUnion_theUnion_which { + TestLateUnion_theUnion_qux = 0, + TestLateUnion_theUnion_corge = 1, + TestLateUnion_theUnion_grault = 2 +}; +enum TestLateUnion_anotherUnion_which { + TestLateUnion_anotherUnion_qux = 0, + TestLateUnion_anotherUnion_corge = 1, + TestLateUnion_anotherUnion_grault = 2 +}; + +struct TestLateUnion { + int32_t foo; + capn_text bar; + int16_t baz; + enum TestLateUnion_theUnion_which theUnion_which; + union { + capn_text qux; + capn_list32 corge; + float grault; + } theUnion; + enum TestLateUnion_anotherUnion_which anotherUnion_which; + union { + capn_text qux; + capn_list32 corge; + float grault; + } anotherUnion; +}; + +struct TestOldVersion { + int64_t old1; + capn_text old2; + TestOldVersion_ptr old3; +}; + +struct TestNewVersion { + int64_t old1; + capn_text old2; + TestNewVersion_ptr old3; + int64_t new1; + capn_text new2; +}; +enum TestStructUnion_un_which { + TestStructUnion_un_allTypes = 0, + TestStructUnion_un_object = 1 +}; + +struct TestStructUnion { + enum TestStructUnion_un_which un_which; + union { + TestAllTypes_ptr allTypes; + TestObject_ptr object; + } un; +}; + +struct TestEmptyStruct { +}; + +struct TestConstants { +}; + +TestAllTypes_ptr new_TestAllTypes(struct capn_segment*); +TestDefaults_ptr new_TestDefaults(struct capn_segment*); +TestObject_ptr new_TestObject(struct capn_segment*); +TestOutOfOrder_ptr new_TestOutOfOrder(struct capn_segment*); +TestUnion_ptr new_TestUnion(struct capn_segment*); +TestUnnamedUnion_ptr new_TestUnnamedUnion(struct capn_segment*); +TestUnionInUnion_ptr new_TestUnionInUnion(struct capn_segment*); +TestGroups_ptr new_TestGroups(struct capn_segment*); +TestInterleavedGroups_ptr new_TestInterleavedGroups(struct capn_segment*); +TestUnionDefaults_ptr new_TestUnionDefaults(struct capn_segment*); +TestNestedTypes_ptr new_TestNestedTypes(struct capn_segment*); +TestNestedTypes_NestedStruct_ptr new_TestNestedTypes_NestedStruct(struct capn_segment*); +TestUsing_ptr new_TestUsing(struct capn_segment*); +TestLists_ptr new_TestLists(struct capn_segment*); +TestLists_Struct0_ptr new_TestLists_Struct0(struct capn_segment*); +TestLists_Struct1_ptr new_TestLists_Struct1(struct capn_segment*); +TestLists_Struct8_ptr new_TestLists_Struct8(struct capn_segment*); +TestLists_Struct16_ptr new_TestLists_Struct16(struct capn_segment*); +TestLists_Struct32_ptr new_TestLists_Struct32(struct capn_segment*); +TestLists_Struct64_ptr new_TestLists_Struct64(struct capn_segment*); +TestLists_StructP_ptr new_TestLists_StructP(struct capn_segment*); +TestLists_Struct0c_ptr new_TestLists_Struct0c(struct capn_segment*); +TestLists_Struct1c_ptr new_TestLists_Struct1c(struct capn_segment*); +TestLists_Struct8c_ptr new_TestLists_Struct8c(struct capn_segment*); +TestLists_Struct16c_ptr new_TestLists_Struct16c(struct capn_segment*); +TestLists_Struct32c_ptr new_TestLists_Struct32c(struct capn_segment*); +TestLists_Struct64c_ptr new_TestLists_Struct64c(struct capn_segment*); +TestLists_StructPc_ptr new_TestLists_StructPc(struct capn_segment*); +TestFieldZeroIsBit_ptr new_TestFieldZeroIsBit(struct capn_segment*); +TestListDefaults_ptr new_TestListDefaults(struct capn_segment*); +TestLateUnion_ptr new_TestLateUnion(struct capn_segment*); +TestOldVersion_ptr new_TestOldVersion(struct capn_segment*); +TestNewVersion_ptr new_TestNewVersion(struct capn_segment*); +TestStructUnion_ptr new_TestStructUnion(struct capn_segment*); +TestEmptyStruct_ptr new_TestEmptyStruct(struct capn_segment*); +TestConstants_ptr new_TestConstants(struct capn_segment*); + +TestAllTypes_list new_TestAllTypes_list(struct capn_segment*, int len); +TestDefaults_list new_TestDefaults_list(struct capn_segment*, int len); +TestObject_list new_TestObject_list(struct capn_segment*, int len); +TestOutOfOrder_list new_TestOutOfOrder_list(struct capn_segment*, int len); +TestUnion_list new_TestUnion_list(struct capn_segment*, int len); +TestUnnamedUnion_list new_TestUnnamedUnion_list(struct capn_segment*, int len); +TestUnionInUnion_list new_TestUnionInUnion_list(struct capn_segment*, int len); +TestGroups_list new_TestGroups_list(struct capn_segment*, int len); +TestInterleavedGroups_list new_TestInterleavedGroups_list(struct capn_segment*, int len); +TestUnionDefaults_list new_TestUnionDefaults_list(struct capn_segment*, int len); +TestNestedTypes_list new_TestNestedTypes_list(struct capn_segment*, int len); +TestNestedTypes_NestedStruct_list new_TestNestedTypes_NestedStruct_list(struct capn_segment*, int len); +TestUsing_list new_TestUsing_list(struct capn_segment*, int len); +TestLists_list new_TestLists_list(struct capn_segment*, int len); +TestLists_Struct0_list new_TestLists_Struct0_list(struct capn_segment*, int len); +TestLists_Struct1_list new_TestLists_Struct1_list(struct capn_segment*, int len); +TestLists_Struct8_list new_TestLists_Struct8_list(struct capn_segment*, int len); +TestLists_Struct16_list new_TestLists_Struct16_list(struct capn_segment*, int len); +TestLists_Struct32_list new_TestLists_Struct32_list(struct capn_segment*, int len); +TestLists_Struct64_list new_TestLists_Struct64_list(struct capn_segment*, int len); +TestLists_StructP_list new_TestLists_StructP_list(struct capn_segment*, int len); +TestLists_Struct0c_list new_TestLists_Struct0c_list(struct capn_segment*, int len); +TestLists_Struct1c_list new_TestLists_Struct1c_list(struct capn_segment*, int len); +TestLists_Struct8c_list new_TestLists_Struct8c_list(struct capn_segment*, int len); +TestLists_Struct16c_list new_TestLists_Struct16c_list(struct capn_segment*, int len); +TestLists_Struct32c_list new_TestLists_Struct32c_list(struct capn_segment*, int len); +TestLists_Struct64c_list new_TestLists_Struct64c_list(struct capn_segment*, int len); +TestLists_StructPc_list new_TestLists_StructPc_list(struct capn_segment*, int len); +TestFieldZeroIsBit_list new_TestFieldZeroIsBit_list(struct capn_segment*, int len); +TestListDefaults_list new_TestListDefaults_list(struct capn_segment*, int len); +TestLateUnion_list new_TestLateUnion_list(struct capn_segment*, int len); +TestOldVersion_list new_TestOldVersion_list(struct capn_segment*, int len); +TestNewVersion_list new_TestNewVersion_list(struct capn_segment*, int len); +TestStructUnion_list new_TestStructUnion_list(struct capn_segment*, int len); +TestEmptyStruct_list new_TestEmptyStruct_list(struct capn_segment*, int len); +TestConstants_list new_TestConstants_list(struct capn_segment*, int len); + +void read_TestAllTypes(struct TestAllTypes*, TestAllTypes_ptr); +void read_TestDefaults(struct TestDefaults*, TestDefaults_ptr); +void read_TestObject(struct TestObject*, TestObject_ptr); +void read_TestOutOfOrder(struct TestOutOfOrder*, TestOutOfOrder_ptr); +void read_TestUnion(struct TestUnion*, TestUnion_ptr); +void read_TestUnnamedUnion(struct TestUnnamedUnion*, TestUnnamedUnion_ptr); +void read_TestUnionInUnion(struct TestUnionInUnion*, TestUnionInUnion_ptr); +void read_TestGroups(struct TestGroups*, TestGroups_ptr); +void read_TestInterleavedGroups(struct TestInterleavedGroups*, TestInterleavedGroups_ptr); +void read_TestUnionDefaults(struct TestUnionDefaults*, TestUnionDefaults_ptr); +void read_TestNestedTypes(struct TestNestedTypes*, TestNestedTypes_ptr); +void read_TestNestedTypes_NestedStruct(struct TestNestedTypes_NestedStruct*, TestNestedTypes_NestedStruct_ptr); +void read_TestUsing(struct TestUsing*, TestUsing_ptr); +void read_TestLists(struct TestLists*, TestLists_ptr); +void read_TestLists_Struct0(struct TestLists_Struct0*, TestLists_Struct0_ptr); +void read_TestLists_Struct1(struct TestLists_Struct1*, TestLists_Struct1_ptr); +void read_TestLists_Struct8(struct TestLists_Struct8*, TestLists_Struct8_ptr); +void read_TestLists_Struct16(struct TestLists_Struct16*, TestLists_Struct16_ptr); +void read_TestLists_Struct32(struct TestLists_Struct32*, TestLists_Struct32_ptr); +void read_TestLists_Struct64(struct TestLists_Struct64*, TestLists_Struct64_ptr); +void read_TestLists_StructP(struct TestLists_StructP*, TestLists_StructP_ptr); +void read_TestLists_Struct0c(struct TestLists_Struct0c*, TestLists_Struct0c_ptr); +void read_TestLists_Struct1c(struct TestLists_Struct1c*, TestLists_Struct1c_ptr); +void read_TestLists_Struct8c(struct TestLists_Struct8c*, TestLists_Struct8c_ptr); +void read_TestLists_Struct16c(struct TestLists_Struct16c*, TestLists_Struct16c_ptr); +void read_TestLists_Struct32c(struct TestLists_Struct32c*, TestLists_Struct32c_ptr); +void read_TestLists_Struct64c(struct TestLists_Struct64c*, TestLists_Struct64c_ptr); +void read_TestLists_StructPc(struct TestLists_StructPc*, TestLists_StructPc_ptr); +void read_TestFieldZeroIsBit(struct TestFieldZeroIsBit*, TestFieldZeroIsBit_ptr); +void read_TestListDefaults(struct TestListDefaults*, TestListDefaults_ptr); +void read_TestLateUnion(struct TestLateUnion*, TestLateUnion_ptr); +void read_TestOldVersion(struct TestOldVersion*, TestOldVersion_ptr); +void read_TestNewVersion(struct TestNewVersion*, TestNewVersion_ptr); +void read_TestStructUnion(struct TestStructUnion*, TestStructUnion_ptr); +void read_TestEmptyStruct(struct TestEmptyStruct*, TestEmptyStruct_ptr); +void read_TestConstants(struct TestConstants*, TestConstants_ptr); + +void write_TestAllTypes(const struct TestAllTypes*, TestAllTypes_ptr); +void write_TestDefaults(const struct TestDefaults*, TestDefaults_ptr); +void write_TestObject(const struct TestObject*, TestObject_ptr); +void write_TestOutOfOrder(const struct TestOutOfOrder*, TestOutOfOrder_ptr); +void write_TestUnion(const struct TestUnion*, TestUnion_ptr); +void write_TestUnnamedUnion(const struct TestUnnamedUnion*, TestUnnamedUnion_ptr); +void write_TestUnionInUnion(const struct TestUnionInUnion*, TestUnionInUnion_ptr); +void write_TestGroups(const struct TestGroups*, TestGroups_ptr); +void write_TestInterleavedGroups(const struct TestInterleavedGroups*, TestInterleavedGroups_ptr); +void write_TestUnionDefaults(const struct TestUnionDefaults*, TestUnionDefaults_ptr); +void write_TestNestedTypes(const struct TestNestedTypes*, TestNestedTypes_ptr); +void write_TestNestedTypes_NestedStruct(const struct TestNestedTypes_NestedStruct*, TestNestedTypes_NestedStruct_ptr); +void write_TestUsing(const struct TestUsing*, TestUsing_ptr); +void write_TestLists(const struct TestLists*, TestLists_ptr); +void write_TestLists_Struct0(const struct TestLists_Struct0*, TestLists_Struct0_ptr); +void write_TestLists_Struct1(const struct TestLists_Struct1*, TestLists_Struct1_ptr); +void write_TestLists_Struct8(const struct TestLists_Struct8*, TestLists_Struct8_ptr); +void write_TestLists_Struct16(const struct TestLists_Struct16*, TestLists_Struct16_ptr); +void write_TestLists_Struct32(const struct TestLists_Struct32*, TestLists_Struct32_ptr); +void write_TestLists_Struct64(const struct TestLists_Struct64*, TestLists_Struct64_ptr); +void write_TestLists_StructP(const struct TestLists_StructP*, TestLists_StructP_ptr); +void write_TestLists_Struct0c(const struct TestLists_Struct0c*, TestLists_Struct0c_ptr); +void write_TestLists_Struct1c(const struct TestLists_Struct1c*, TestLists_Struct1c_ptr); +void write_TestLists_Struct8c(const struct TestLists_Struct8c*, TestLists_Struct8c_ptr); +void write_TestLists_Struct16c(const struct TestLists_Struct16c*, TestLists_Struct16c_ptr); +void write_TestLists_Struct32c(const struct TestLists_Struct32c*, TestLists_Struct32c_ptr); +void write_TestLists_Struct64c(const struct TestLists_Struct64c*, TestLists_Struct64c_ptr); +void write_TestLists_StructPc(const struct TestLists_StructPc*, TestLists_StructPc_ptr); +void write_TestFieldZeroIsBit(const struct TestFieldZeroIsBit*, TestFieldZeroIsBit_ptr); +void write_TestListDefaults(const struct TestListDefaults*, TestListDefaults_ptr); +void write_TestLateUnion(const struct TestLateUnion*, TestLateUnion_ptr); +void write_TestOldVersion(const struct TestOldVersion*, TestOldVersion_ptr); +void write_TestNewVersion(const struct TestNewVersion*, TestNewVersion_ptr); +void write_TestStructUnion(const struct TestStructUnion*, TestStructUnion_ptr); +void write_TestEmptyStruct(const struct TestEmptyStruct*, TestEmptyStruct_ptr); +void write_TestConstants(const struct TestConstants*, TestConstants_ptr); + +void get_TestAllTypes(struct TestAllTypes*, TestAllTypes_list, int i); +void get_TestDefaults(struct TestDefaults*, TestDefaults_list, int i); +void get_TestObject(struct TestObject*, TestObject_list, int i); +void get_TestOutOfOrder(struct TestOutOfOrder*, TestOutOfOrder_list, int i); +void get_TestUnion(struct TestUnion*, TestUnion_list, int i); +void get_TestUnnamedUnion(struct TestUnnamedUnion*, TestUnnamedUnion_list, int i); +void get_TestUnionInUnion(struct TestUnionInUnion*, TestUnionInUnion_list, int i); +void get_TestGroups(struct TestGroups*, TestGroups_list, int i); +void get_TestInterleavedGroups(struct TestInterleavedGroups*, TestInterleavedGroups_list, int i); +void get_TestUnionDefaults(struct TestUnionDefaults*, TestUnionDefaults_list, int i); +void get_TestNestedTypes(struct TestNestedTypes*, TestNestedTypes_list, int i); +void get_TestNestedTypes_NestedStruct(struct TestNestedTypes_NestedStruct*, TestNestedTypes_NestedStruct_list, int i); +void get_TestUsing(struct TestUsing*, TestUsing_list, int i); +void get_TestLists(struct TestLists*, TestLists_list, int i); +void get_TestLists_Struct0(struct TestLists_Struct0*, TestLists_Struct0_list, int i); +void get_TestLists_Struct1(struct TestLists_Struct1*, TestLists_Struct1_list, int i); +void get_TestLists_Struct8(struct TestLists_Struct8*, TestLists_Struct8_list, int i); +void get_TestLists_Struct16(struct TestLists_Struct16*, TestLists_Struct16_list, int i); +void get_TestLists_Struct32(struct TestLists_Struct32*, TestLists_Struct32_list, int i); +void get_TestLists_Struct64(struct TestLists_Struct64*, TestLists_Struct64_list, int i); +void get_TestLists_StructP(struct TestLists_StructP*, TestLists_StructP_list, int i); +void get_TestLists_Struct0c(struct TestLists_Struct0c*, TestLists_Struct0c_list, int i); +void get_TestLists_Struct1c(struct TestLists_Struct1c*, TestLists_Struct1c_list, int i); +void get_TestLists_Struct8c(struct TestLists_Struct8c*, TestLists_Struct8c_list, int i); +void get_TestLists_Struct16c(struct TestLists_Struct16c*, TestLists_Struct16c_list, int i); +void get_TestLists_Struct32c(struct TestLists_Struct32c*, TestLists_Struct32c_list, int i); +void get_TestLists_Struct64c(struct TestLists_Struct64c*, TestLists_Struct64c_list, int i); +void get_TestLists_StructPc(struct TestLists_StructPc*, TestLists_StructPc_list, int i); +void get_TestFieldZeroIsBit(struct TestFieldZeroIsBit*, TestFieldZeroIsBit_list, int i); +void get_TestListDefaults(struct TestListDefaults*, TestListDefaults_list, int i); +void get_TestLateUnion(struct TestLateUnion*, TestLateUnion_list, int i); +void get_TestOldVersion(struct TestOldVersion*, TestOldVersion_list, int i); +void get_TestNewVersion(struct TestNewVersion*, TestNewVersion_list, int i); +void get_TestStructUnion(struct TestStructUnion*, TestStructUnion_list, int i); +void get_TestEmptyStruct(struct TestEmptyStruct*, TestEmptyStruct_list, int i); +void get_TestConstants(struct TestConstants*, TestConstants_list, int i); + +void set_TestAllTypes(const struct TestAllTypes*, TestAllTypes_list, int i); +void set_TestDefaults(const struct TestDefaults*, TestDefaults_list, int i); +void set_TestObject(const struct TestObject*, TestObject_list, int i); +void set_TestOutOfOrder(const struct TestOutOfOrder*, TestOutOfOrder_list, int i); +void set_TestUnion(const struct TestUnion*, TestUnion_list, int i); +void set_TestUnnamedUnion(const struct TestUnnamedUnion*, TestUnnamedUnion_list, int i); +void set_TestUnionInUnion(const struct TestUnionInUnion*, TestUnionInUnion_list, int i); +void set_TestGroups(const struct TestGroups*, TestGroups_list, int i); +void set_TestInterleavedGroups(const struct TestInterleavedGroups*, TestInterleavedGroups_list, int i); +void set_TestUnionDefaults(const struct TestUnionDefaults*, TestUnionDefaults_list, int i); +void set_TestNestedTypes(const struct TestNestedTypes*, TestNestedTypes_list, int i); +void set_TestNestedTypes_NestedStruct(const struct TestNestedTypes_NestedStruct*, TestNestedTypes_NestedStruct_list, int i); +void set_TestUsing(const struct TestUsing*, TestUsing_list, int i); +void set_TestLists(const struct TestLists*, TestLists_list, int i); +void set_TestLists_Struct0(const struct TestLists_Struct0*, TestLists_Struct0_list, int i); +void set_TestLists_Struct1(const struct TestLists_Struct1*, TestLists_Struct1_list, int i); +void set_TestLists_Struct8(const struct TestLists_Struct8*, TestLists_Struct8_list, int i); +void set_TestLists_Struct16(const struct TestLists_Struct16*, TestLists_Struct16_list, int i); +void set_TestLists_Struct32(const struct TestLists_Struct32*, TestLists_Struct32_list, int i); +void set_TestLists_Struct64(const struct TestLists_Struct64*, TestLists_Struct64_list, int i); +void set_TestLists_StructP(const struct TestLists_StructP*, TestLists_StructP_list, int i); +void set_TestLists_Struct0c(const struct TestLists_Struct0c*, TestLists_Struct0c_list, int i); +void set_TestLists_Struct1c(const struct TestLists_Struct1c*, TestLists_Struct1c_list, int i); +void set_TestLists_Struct8c(const struct TestLists_Struct8c*, TestLists_Struct8c_list, int i); +void set_TestLists_Struct16c(const struct TestLists_Struct16c*, TestLists_Struct16c_list, int i); +void set_TestLists_Struct32c(const struct TestLists_Struct32c*, TestLists_Struct32c_list, int i); +void set_TestLists_Struct64c(const struct TestLists_Struct64c*, TestLists_Struct64c_list, int i); +void set_TestLists_StructPc(const struct TestLists_StructPc*, TestLists_StructPc_list, int i); +void set_TestFieldZeroIsBit(const struct TestFieldZeroIsBit*, TestFieldZeroIsBit_list, int i); +void set_TestListDefaults(const struct TestListDefaults*, TestListDefaults_list, int i); +void set_TestLateUnion(const struct TestLateUnion*, TestLateUnion_list, int i); +void set_TestOldVersion(const struct TestOldVersion*, TestOldVersion_list, int i); +void set_TestNewVersion(const struct TestNewVersion*, TestNewVersion_list, int i); +void set_TestStructUnion(const struct TestStructUnion*, TestStructUnion_list, int i); +void set_TestEmptyStruct(const struct TestEmptyStruct*, TestEmptyStruct_list, int i); +void set_TestConstants(const struct TestConstants*, TestConstants_list, int i); + +#ifdef __cplusplus +} +#endif +#endif