From 1692bbf2e267eabd7099f0b6153da0c7cf209d1d Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 3 Jun 2005 13:20:08 +0000 Subject: r7227: added a socket_pending() call to abstract away the FIONREAD ioctl. It will be interesting to see if this causes any portability problems, as it is a less commonly used call. (This used to be commit f6993db31d93059c70b44a23005ba444e205870f) --- source4/lib/socket/socket.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'source4/lib/socket/socket.c') diff --git a/source4/lib/socket/socket.c b/source4/lib/socket/socket.c index 13d1640f51..dd3175468d 100644 --- a/source4/lib/socket/socket.c +++ b/source4/lib/socket/socket.c @@ -235,6 +235,22 @@ NTSTATUS socket_sendto(struct socket_context *sock, return sock->ops->fn_sendto(sock, blob, sendlen, flags, dest_addr, dest_port); } + +/* + ask for the number of bytes in a pending incoming datagram +*/ +NTSTATUS socket_pending(struct socket_context *sock, size_t *npending) +{ + if (sock->type != SOCKET_TYPE_DGRAM) { + return NT_STATUS_INVALID_PARAMETER; + } + if (!sock->ops->fn_pending) { + return NT_STATUS_NOT_IMPLEMENTED; + } + return sock->ops->fn_pending(sock, npending); +} + + NTSTATUS socket_set_option(struct socket_context *sock, const char *option, const char *val) { if (!sock->ops->fn_set_option) { -- cgit