typedef struct { int len; char data[0]; } payload_t; payload_t *getPayload( int len ) { payload_t *payload = (payload_t *)0; payload = (payload_t *)malloc( sizeof(payload_t) + len ); if (payload) payload->len = len; return payload; }