NAME

accf_data - buffer incoming connections until data arrives

SYNOPSIS

optionsINEToptionsACCEPT_FILTER_DATAkldloadaccf_data

DESCRIPTION

This is a filter to be placed on a socket that will be using accept() to
receive incoming connections.
It prevents the application from receiving the connected descriptor via
accept() until data arrives on the connection.
The ACCEPT_FILTER_DATA kernel option is also a module that can be enabled
at runtime via kldload(8) if the INET option has been compiled into the
kernel.

EXAMPLES

Assuming ACCEPT_FILTER_DATA has been included in the kernel config file
or the accf_data module has been loaded, this will enable the data accept
filter on the socket sok.
struct accept_filter_arg afa;
bzero(&afa, sizeof(afa));
strcpy(afa.af_name, "dataready");
setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));