1 package com.acme; 2 3 import java.nicl.metadata.Offset; 4 import java.nicl.metadata.NativeHeader; 5 import java.nicl.metadata.NativeType; 6 import java.nicl.metadata.CallingConvention; 7 import java.nicl.metadata.C; 8 import java.math.BigDecimal; 9 import java.nicl.types.Pointer; 10 import java.nicl.types.Struct; 11 12 /** 13 * This test is platform dependent, as the C type size may vary on platform. 14 * Current value is based on x64 with __LP64__. 15 */ 16 @NativeHeader(headerPath="recursive.h") 17 public interface recursive { 18 19 @C(file="recursive.h", line=1, column=8, USR="") 20 @NativeType(isRecordType=true, layout="[p:[p]]", ctype = "struct Foo", size = 8) 21 public interface Foo extends Struct<Foo> { 22 @C(file="recursive.h", line=2, column=17, USR="") 23 @NativeType(name="p", layout="p:[p:[p]]", ctype="struct Bar *", size=8) 24 @Offset(offset=0) 25 Pointer<Bar> p$get(); 26 void p$set(Pointer<Bar> value); 27 Pointer<Pointer<Bar>> p$ptr(); 28 } 29 30 @C(file = "recursive.h", line=5, column=8, USR="") 31 @NativeType(isRecordType=true, layout="[p:[p]]", ctype = "struct Bar", size = 8) 32 public interface Bar extends Struct<Bar> { 33 @C(file="recursive.h", line=6, column=17, USR="") 34 @NativeType(name="q", layout="p:[p:[p]]", ctype="struct Foo *", size=8) 35 @Offset(offset=0) 36 Pointer<Foo> q$get(); 37 void q$set(Pointer<Foo> value); 38 Pointer<Pointer<Foo>> q$ptr(); 39 } 40 } --- EOF ---