|
|
1.1.1.2 ! root 1: [ uuid (87E5BFA0-CA46-1067-B31B-00DD010662DA), 1.1 root 2: version(1.0), 3: pointer_default(unique)] 4: interface dunion 5: { 6: typedef [switch_type(short)] union { 1.1.1.2 ! root 7: [case(0)] short sVal; ! 8: [case(1)] float fVal; ! 9: [case(2)] unsigned char chVal; 1.1 root 10: [default]; 11: } DISCRIM_UNION_PARAM_TYPE; 12: 13: typedef struct { 14: short sDiscrim; /* discriminant must precede union */ 15: [switch_is(sDiscrim)] union { 1.1.1.2 ! root 16: [case(0)] short sVal; ! 17: [case(1)] float fVal; ! 18: [case(2)] unsigned char chVal; 1.1 root 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.