unsigned int datagram_poll (struct file * file, struct socket * sock, poll_table * wait);
file - file struct sock - socket wait - poll table
Again totally generic. This also handles sequenced packet sockets providing the socket receive queue is only ever holding data ready to receive.
when you _don't_ use this routine for this protocol, and you use a different write policy from sock_writeable then please supply your own write_space callback.