'\" te .\" Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. .TH sof_flowctrl_data_in 9F "9 May 2012" "SunOS 5.11" "Kernel Functions for Drivers" .SH NAME sof_flowctrl_data_in, sof_flowctrl_data_out \- assert flow control .SH SYNOPSIS .LP .nf #include void sof_flowctrl_data_in(sof_handle_t \fIhdl\fR, boolean_t \fIon\fR); .fi .LP .nf void sof_flowctrl_data_out(sof_handle_t \fIhdl\fR, boolean_t \fIon\fR); .fi .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIhdl\fR\fR .ad .RS 7n .rt per-socket filter handle .RE .sp .ne 2 .mk .na \fB\fIon\fR\fR .ad .RS 7n .rt set to \fBB_TRUE\fR or \fBB_FALSE\fR to assert or clear flow control, respectively .RE .SH DESCRIPTION .sp .LP The \fBsof_flowctrl_data_in()\fR and \fBsof_flowctrl_data_out()\fR functions are used to enforce flow control on the transmit and receive paths, respectively. Unlike send side flow control, which is enforced by the socket layer, the behavior on the receive side is dependent on the transport protocol. Asserting flow control for a protocol that supports it at the protocol level, such TCP, will cause the peer to stop transmitting data. Other protocols, like UDP, will start dropping packets as they are received. .sp .LP Neither \fBsof_flowctrl_data_in()\fR nor \fBsof_flowctrl_data_out()\fR can be used to clear a flow control condition that was not asserted by the filter. For example, a socket may be flow controlled as a result of an application not consuming data, and clearing the filter's flow control condition will not change the socket's state. .sp .LP Flow control may not take effect right away, and during this transient period both the socket and protocol may generate data that will call the data entry points. It is also possible that another filter inject data while the socket is flow controlled. .SH CONTEXT .sp .LP The \fBsof_flowctrl_data_in()\fR and \fBsof_flowctrl_data_out()\fR functions can be called from any context .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ Availabilitysystem/kernel _ Interface StabilityUncommitted .TE .SH SEE ALSO .sp .LP \fBattributes\fR(5), \fBsofop_data_in\fR(9E), \fBsof_inject_data_in\fR(9F)