In gsm411_sms.c the function gsm411_rx_rl_data receives "struct gsm48_hdr *gh" as input then in very first line typecasts the pointer to "struct gsm411_rp_hdr *rp_data" to access its "data" field.
struct gsm411_rp_hdr *rp_data = (struct gsm411_rp_hdr*)&gh->data;
struct gsm411_rp_hdr {
uint8_t len;
uint8_t msg_type;
uint8_t msg_ref;
uint8_t data[0];
} __attribute__ ((packed));
struct gsm48_hdr {
uint8_t proto_discr;
uint8_t msg_type;
uint8_t data[0];
} __attribute__((packed));