This line will compile fine:
memcpy(&rp.iplow, &((struct sockaddr_in*) &dstl)->sin_addr, 4);
whereas what I originally coined it as:
memcpy(&rp.iplow, &((struct sockaddr_in) dstl).sin_addr, 4);
will say error: conversion to non-scalar type requested
Shall I conclude that one cannot use struct types for casting whatsoever?