The write filter method is called when output data is to be sent. Filters that modify or consume outgoing data should implement the write filter method.
Upon receiving control, a write implementation should first process the data as necessary, and then pass it on to the next filter layer; for example, by calling net_write(layer->lower, ...,). If the filter buffers outgoing data, it should implement the flush filter method.
int write(FilterLayer *layer, const void *buf, int amount);
The number of bytes consumed, which may be less than the requested amount if an error occurred.
FilterLayer *layer is the filter layer in which the filter is installed.
const void *buf is the buffer that contains the outgoing data.
int amount is the number of bytes in the buffer.
int myfilter_write(FilterLayer *layer, const void *buf, int amount) { return net_write(layer->lower, buf, amount); } See Also