#include <fcntl.h>#include <stdio.h>#include <string.h>#include <sys/stat.h>#include <sys/time.h>#include <sys/types.h>#include <unistd.h>#include <atalk/dsi.h>#include <atalk/logger.h>#include <atalk/util.h>Functions | |
| size_t | dsi_writeinit (DSI *dsi, char **bufp) |
| size_t | dsi_write (DSI *dsi, void *buf, const size_t buflen) |
| void | dsi_writeflush (DSI *dsi) |
| size_t dsi_write | ( | DSI * | dsi, |
| void * | buf, | ||
| const size_t | buflen ) |
fill up buf and then return. this should be called repeatedly until all the data has been read. i block alarm processing during the transfer to avoid sending unnecessary tickles.
| void dsi_writeflush | ( | DSI * | dsi | ) |
flush any unread buffers.
| size_t dsi_writeinit | ( | DSI * | dsi, |
| char ** | bufp ) |
Begin a DSI write transfer: compute the remaining data size and hand back, by reference, any payload bytes already sitting in the read-ahead buffer. bufp is valid only until the next dsi_ call that touches the socket or the read-ahead buffer; callers must consume it immediately. A NULL bufp drains the buffered payload without handing it back, for the error/flush paths that only need datasize advanced.