musl has padding fields in struct msghdr for posix compliance. use designated initializer to get rid of the warnings.