$VAR1 = [ { 'FILE' => 'test.idl', 'NAME' => 'drazen_svc', 'PROPERTIES' => { 'version' => '1.0', 'uuid' => 'E75074E2-6EEC-4f08-9454-8D806C221490', 'endpoint' => '"ncacn_np:[\\\\pipe\\\\drazen_svc]","ncacn_ip_tcp:[1337]"', 'pointer_default' => 'unique' }, 'DATA' => [ { 'FILE' => 'test.idl', 'VALUE' => 'NULL', 'NAME' => 'PI', 'POINTERS' => 1, 'TYPE' => 'CONST', 'DTYPE' => 'int', 'LINE' => 9 }, { 'FILE' => 'test.idl', 'NAME' => 'tptp1_struct', 'BASEFILE' => 'test', 'TYPE' => 'STRUCT', 'LINE' => 22, 'ELEMENTS' => [ { 'FILE' => 'test.idl', 'NAME' => 'sm', 'POINTERS' => 0, 'TYPE' => 'signed small', 'LINE' => 11 }, { 'FILE' => 'test.idl', 'NAME' => 'usm', 'POINTERS' => 0, 'TYPE' => 'unsigned small', 'LINE' => 12 }, { 'FILE' => 'test.idl', 'NAME' => 'sh', 'POINTERS' => 0, 'TYPE' => 'signed short', 'LINE' => 13 }, { 'FILE' => 'test.idl', 'NAME' => 'ush', 'POINTERS' => 0, 'TYPE' => 'unsigned short', 'LINE' => 14 }, { 'FILE' => 'test.idl', 'NAME' => 'lo', 'POINTERS' => 0, 'TYPE' => 'signed long', 'LINE' => 15 }, { 'FILE' => 'test.idl', 'NAME' => 'ulo', 'POINTERS' => 0, 'TYPE' => 'unsigned long', 'LINE' => 16 }, { 'FILE' => 'test.idl', 'NAME' => 'hy', 'POINTERS' => 0, 'TYPE' => 'signed hyper', 'LINE' => 17 }, { 'FILE' => 'test.idl', 'NAME' => 'uhy', 'POINTERS' => 0, 'TYPE' => 'unsigned hyper', 'LINE' => 18 }, { 'FILE' => 'test.idl', 'NAME' => 'bo', 'POINTERS' => 0, 'TYPE' => 'boolean', 'LINE' => 19 }, { 'FILE' => 'test.idl', 'NAME' => 'ch', 'POINTERS' => 0, 'TYPE' => 'char', 'LINE' => 20 }, { 'FILE' => 'test.idl', 'NAME' => 'by', 'POINTERS' => 0, 'TYPE' => 'byte', 'LINE' => 21 } ] }, { 'FILE' => 'test.idl', 'NAME' => 'TestPrimTypesPacking1', 'RETURN_TYPE' => 'void', 'POINTERS' => 0, 'TYPE' => 'FUNCTION', 'ELEMENTS' => [ { 'FILE' => 'test.idl', 'NAME' => 'sm', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed small', 'LINE' => 25 }, { 'FILE' => 'test.idl', 'NAME' => 'usm', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'unsigned small', 'LINE' => 26 }, { 'FILE' => 'test.idl', 'NAME' => 'sh', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed short', 'LINE' => 27 }, { 'FILE' => 'test.idl', 'NAME' => 'ush', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'unsigned short', 'LINE' => 28 }, { 'FILE' => 'test.idl', 'NAME' => 'lo', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed long', 'LINE' => 29 }, { 'FILE' => 'test.idl', 'NAME' => 'ulo', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'unsigned long', 'LINE' => 30 }, { 'FILE' => 'test.idl', 'NAME' => 'hy', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed hyper', 'LINE' => 31 }, { 'FILE' => 'test.idl', 'NAME' => 'uhy', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'unsigned hyper', 'LINE' => 32 }, { 'FILE' => 'test.idl', 'NAME' => 'bo', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'boolean', 'LINE' => 33 }, { 'FILE' => 'test.idl', 'NAME' => 'ch', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'char', 'LINE' => 34 }, { 'FILE' => 'test.idl', 'NAME' => 'by', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'byte', 'LINE' => 36 } ], 'LINE' => 36 }, { 'FILE' => 'test.idl', 'NAME' => 'tptp2_struct', 'BASEFILE' => 'test', 'TYPE' => 'STRUCT', 'LINE' => 47, 'ELEMENTS' => [ { 'FILE' => 'test.idl', 'NAME' => 'sm', 'POINTERS' => 0, 'TYPE' => 'signed small', 'LINE' => 42 }, { 'FILE' => 'test.idl', 'NAME' => 'sh', 'POINTERS' => 0, 'TYPE' => 'signed short', 'LINE' => 43 }, { 'FILE' => 'test.idl', 'NAME' => 'lo', 'POINTERS' => 0, 'TYPE' => 'signed long', 'LINE' => 44 }, { 'FILE' => 'test.idl', 'NAME' => 'sm_', 'POINTERS' => 0, 'TYPE' => 'signed small', 'LINE' => 45 }, { 'FILE' => 'test.idl', 'NAME' => 'hy', 'POINTERS' => 0, 'TYPE' => 'signed hyper', 'LINE' => 46 } ] }, { 'FILE' => 'test.idl', 'NAME' => 'tptp2_struct_t', 'BASEFILE' => 'test', 'DATA' => { 'FILE' => 'test.idl', 'TYPE' => 'STRUCT', 'LINE' => 55, 'ELEMENTS' => [ { 'FILE' => 'test.idl', 'NAME' => 'sm', 'POINTERS' => 0, 'TYPE' => 'signed small', 'LINE' => 50 }, { 'FILE' => 'test.idl', 'NAME' => 'sh', 'POINTERS' => 0, 'TYPE' => 'signed short', 'LINE' => 51 }, { 'FILE' => 'test.idl', 'NAME' => 'lo', 'POINTERS' => 0, 'TYPE' => 'signed long', 'LINE' => 52 }, { 'FILE' => 'test.idl', 'NAME' => 'sm_', 'POINTERS' => 0, 'TYPE' => 'signed small', 'LINE' => 53 }, { 'FILE' => 'test.idl', 'NAME' => 'hy', 'POINTERS' => 0, 'TYPE' => 'signed hyper', 'LINE' => 54 } ] }, 'TYPE' => 'TYPEDEF', 'LINE' => 55 }, { 'FILE' => 'test.idl', 'NAME' => 'TestPrimTypesPacking2', 'RETURN_TYPE' => 'tptp2_struct_t', 'POINTERS' => 0, 'TYPE' => 'FUNCTION', 'ELEMENTS' => [ { 'FILE' => 'test.idl', 'NAME' => 'sm', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed small', 'LINE' => 57 }, { 'FILE' => 'test.idl', 'NAME' => 'sh', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed short', 'LINE' => 58 }, { 'FILE' => 'test.idl', 'NAME' => 'lo', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed long', 'LINE' => 59 }, { 'FILE' => 'test.idl', 'NAME' => 'sm_', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed small', 'LINE' => 60 }, { 'FILE' => 'test.idl', 'NAME' => 'hy', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed hyper', 'LINE' => 61 } ], 'LINE' => 61 }, { 'FILE' => 'test.idl', 'NAME' => 'tptp3_enum_t', 'BASEFILE' => 'test', 'DATA' => { 'FILE' => 'test.idl', 'NAME' => 'tptp3_enum_t', 'TYPE' => 'ENUM', 'LINE' => 70, 'ELEMENTS' => [ 'ONE=0', 'TWO', 'THREE', 'FOUR', 'FIVE' ] }, 'TYPE' => 'TYPEDEF', 'LINE' => 70 }, { 'FILE' => 'test.idl', 'NAME' => 'TestPrimTypesPacking3', 'RETURN_TYPE' => 'tptp3_enum_t', 'POINTERS' => 0, 'TYPE' => 'FUNCTION', 'ELEMENTS' => [ { 'FILE' => 'test.idl', 'NAME' => 'e1', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => { 'FILE' => 'test.idl', 'NAME' => 'tptp3_enum_t', 'TYPE' => 'ENUM', 'LINE' => 76 }, 'LINE' => 76 } ], 'LINE' => 76 }, { 'FILE' => 'test.idl', 'NAME' => 'threes_t', 'BASEFILE' => 'test', 'DATA' => { 'FILE' => 'test.idl', 'TYPE' => 'STRUCT', 'LINE' => 82, 'ELEMENTS' => [ { 'FILE' => 'test.idl', 'NAME' => 's1', 'POINTERS' => 0, 'TYPE' => 'signed small', 'LINE' => 79 }, { 'FILE' => 'test.idl', 'NAME' => 's2', 'POINTERS' => 0, 'TYPE' => 'signed small', 'LINE' => 80 }, { 'FILE' => 'test.idl', 'NAME' => 's3', 'POINTERS' => 0, 'TYPE' => 'signed small', 'LINE' => 81 } ] }, 'TYPE' => 'TYPEDEF', 'LINE' => 82 }, { 'FILE' => 'test.idl', 'NAME' => 'TestUniFixedArray', 'RETURN_TYPE' => 'void', 'POINTERS' => 0, 'TYPE' => 'FUNCTION', 'ELEMENTS' => [ { 'FILE' => 'test.idl', 'NAME' => '_s1', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed small', 'LINE' => 87 }, { 'FILE' => 'test.idl', 'NAME' => '_longs', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed long', 'LINE' => 88, 'ARRAY_LEN' => [ '16' ] }, { 'FILE' => 'test.idl', 'NAME' => '_s2', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed small', 'LINE' => 89 }, { 'FILE' => 'test.idl', 'NAME' => '_shorts', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed short', 'LINE' => 90, 'ARRAY_LEN' => [ '16' ] }, { 'FILE' => 'test.idl', 'NAME' => '_s3', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed small', 'LINE' => 91 }, { 'FILE' => 'test.idl', 'NAME' => '_threes', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'threes_t', 'LINE' => 93, 'ARRAY_LEN' => [ '16' ] } ], 'LINE' => 93 }, { 'FILE' => 'test.idl', 'NAME' => 'TestUniConfArray', 'RETURN_TYPE' => 'void', 'POINTERS' => 0, 'TYPE' => 'FUNCTION', 'ELEMENTS' => [ { 'FILE' => 'test.idl', 'NAME' => '_s1', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed small', 'LINE' => 99 }, { 'FILE' => 'test.idl', 'NAME' => '_longs', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1', 'size_is' => '_s1' }, 'TYPE' => 'signed long', 'LINE' => 100, 'ARRAY_LEN' => [ '*' ] }, { 'FILE' => 'test.idl', 'NAME' => '_s2', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed small', 'LINE' => 101 }, { 'FILE' => 'test.idl', 'NAME' => '_shorts', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1', 'size_is' => '_s2' }, 'TYPE' => 'signed short', 'LINE' => 102, 'ARRAY_LEN' => [ '*' ] }, { 'FILE' => 'test.idl', 'NAME' => '_s3', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1' }, 'TYPE' => 'signed small', 'LINE' => 103 }, { 'FILE' => 'test.idl', 'NAME' => '_threes', 'POINTERS' => 0, 'PROPERTIES' => { 'in' => '1', 'size_is' => '_s3' }, 'TYPE' => 'threes_t', 'LINE' => 105, 'ARRAY_LEN' => [ '*' ] } ], 'LINE' => 105 }, { 'FILE' => 'test.idl', 'NAME' => 'e1', 'BASEFILE' => 'test', 'TYPE' => 'ENUM', 'LINE' => 113, 'ELEMENTS' => [ 'A=23', 'B', 'C', 'D', 'E' ] }, { 'FILE' => 'test.idl', 'NAME' => 'e2', 'BASEFILE' => 'test', 'TYPE' => 'ENUM', 'LINE' => 120, 'ELEMENTS' => [ 'A', 'B', 'C=20', 'D', 'E' ] }, { 'FILE' => 'test.idl', 'NAME' => 'conf_struct', 'BASEFILE' => 'test', 'TYPE' => 'STRUCT', 'LINE' => 129, 'ELEMENTS' => [ { 'FILE' => 'test.idl', 'NAME' => 'sm', 'POINTERS' => 1, 'TYPE' => 'signed small', 'LINE' => 123 }, { 'FILE' => 'test.idl', 'NAME' => 'sm_', 'POINTERS' => 2, 'TYPE' => 'signed small', 'LINE' => 124 }, { 'FILE' => 'test.idl', 'NAME' => 'sm__', 'POINTERS' => 3, 'TYPE' => 'signed small', 'LINE' => 125 }, { 'FILE' => 'test.idl', 'NAME' => 'ppptrs_hypers', 'POINTERS' => 3, 'PROPERTIES' => { 'length_is' => '10,10', 'size_is' => '*sm,**sm_,***sm__' }, 'TYPE' => 'signed hyper', 'LINE' => 126, 'ARRAY_LEN' => [ '*', '*', '*' ] }, { 'FILE' => 'test.idl', 'NAME' => 'shorts', 'POINTERS' => 0, 'PROPERTIES' => { 'length_is' => '*sm,**sm_,***sm__', 'size_is' => '*sm,**sm_,***sm__' }, 'TYPE' => 'signed short', 'LINE' => 127, 'ARRAY_LEN' => [ '*', '*', '*' ] } ] } ], 'TYPE' => 'INTERFACE', 'LINE' => 132 } ];