pidl facillitates illicit data sharing between idl files

tridge at samba.org tridge at samba.org
Tue Sep 29 15:13:04 MDT 2009


Hi Sam,

 > If I add a definition such as this, to my pidl file:
 > 
 > 	typedef struct DATA_BLOB {
 > 		uint8 *data;
 > 		uint32 length;
 > 	} DATA_BLOB;

There are two problems with this:

 1) DATA_BLOB is a base type in pidl. It is not defined in any idl
 file, but instead is a built-in type like uint32 and other base
 types. Trying to re-define it is a bad idea.

 2) the normal form for structure typedefs in pidl is:

   typedef struct {
   	   el1type el1;
   	   el2type el2;
   } NAME;

  Notice that the first line does not contain the structure name.

 > For my own benefit I just renamed by struct to avoid the collision, but 
 > I believe it is not intentional that one IDL file should cross-infect 
 > another in this way - or have I mis-understood?

you've re-defined a base type. All bets are off after that :-)

Cheers, Tridge


More information about the samba-technical mailing list