IDL (interface description language) to automatically generate networking code, namely marshalling, data packing and unpacking, and inputs buffering.