the drand48_data structure in stdlib.h should be considered an opaque type. Checking the sizeof() should be sufficient for compatibility. >From the header: /* Data structure for communication with thread safe versions. This type is to be regarded as opaque. It's only exported because users have to allocate objects of this type. */ Cheers, Matt