Contents

sock_accept

Declaration

errno_t sock_accept(socket_t so, struct sockaddr *from, int fromlen, int flags, sock_upcall callback, void *cookie, socket_t *new_so);

Parameters

  • so:

    The listening socket you'd like to accept a connection on.

  • from:

    A pointer to a socket address that will be filled in with the address the connection is from.

  • fromlen:

    Maximum length of from.

  • flags:

    Supports MSG_DONTWAIT and MSG_USEUPCALL. If MSG_DONTWAIT is set, accept will return EWOULDBLOCK if there are no connections ready to be accepted. If MSG_USEUPCALL is set, the created socket will use the same upcall function attached to the original socket.

  • callback:

    A notifier function to be called when an event occurs on the socket. This may be NULL.

  • cookie:

    A cookie passed directly to the callback.

  • new_so:

    Upon success, *new_so will be a reference to a new socket for tracking the connection.

Return Value

0 on success otherwise the errno error.

Discussion

Accepts an incoming connection on a socket. See 'man 2 accept' for more information. Allocating a socket in this manner creates a socket with no associated file descriptor.

See Also

Network Kernel Extensions