h6. [[Internet]] h6(. » [[Internet SWI Calls|SWI Calls]] h6((. » Socket_Readv h2. Socket_Readv h5. (SWI &41216) |_<^{width:4em}. Entry | | |<^. R0 |<^. Socket descriptor | |<^. R1 |<^. Pointer to an array of buffer descriptors | |<^. R2 |<^. Number of buffer descriptors | |_<^{width:4em}. Exit | | |<^. R0 |<^. Number of bytes received | h4. Use The purpose of this call is to read data from a socket from a vector of buffer descriptors. It is equivalent to calling [[Socket_Read|read()]] except in the way the buffers need not be contiguous. h4. Berkeley sockets equivalence This SWI directly corresponds to the function "readv":https://pubs.opengroup.org/onlinepubs/9699919799/functions/readv.html and would ordinarily be called from C using the <code>socketreadv()</code> function in <code>socklib.h</code>. h4. Notes The different function name is needed because in RISC OS file descriptors and socket descriptors come from two different number spaces, while under Unix they share the same number space so a single <code>readv()</code> function serves to read from either type. h4. See also * [[Internet]] * [[Socket_Read]]