|
|
1.1 ! root 1: [ uuid (12345678-1234-1234-1234-123456789ABC), ! 2: version(1.0), ! 3: pointer_default(unique)] ! 4: interface dunion ! 5: { ! 6: typedef [switch_type(short)] union { ! 7: [case(0)] short sVal; ! 8: [case(1)] float fVal; ! 9: [case(2)] char chVal; ! 10: [default]; ! 11: } DISCRIM_UNION_PARAM_TYPE; ! 12: ! 13: typedef struct { ! 14: short sDiscrim; /* discriminant must precede union */ ! 15: [switch_is(sDiscrim)] union { ! 16: [case(0)] short sVal; ! 17: [case(1)] float fVal; ! 18: [case(2)] char chVal; ! 19: [default] ; ! 20: } u; ! 21: } DISCRIM_UNION_STRUCT_TYPE; ! 22: ! 23: ! 24: short UnionParamProc( ! 25: [in, switch_is(sDiscrim)] DISCRIM_UNION_PARAM_TYPE UnionParam, ! 26: [in] short sDiscrim); ! 27: ! 28: short UnionStructProc( ! 29: [in] DISCRIM_UNION_STRUCT_TYPE UnionStruct); ! 30: ! 31: void Shutdown(void); ! 32: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.