# CStruct Examples require 'cstruct' # example: module NS1 #namespace class A < CStruct uint32:handle end module NS2 class B < CStruct A:a # directly use A end end class C < CStruct A :a NS2_B :b # Meaning of the 'NS2_B' is NS2::B end end class D < CStruct NS1_NS2_B:b # Meaning of the 'NS1_NS2_B' is NS1::NS2::B end v = D.new v.b.a.handle = 120 p D.__size__ p v.b.a.handle