> I am confused about SSIZE_MAX and read(2)/write(2). The POSIX > SSIZE_MAX is something like 2^15 -1. This seems to be a real > limitation when writing to a TCP/IP socket, as I learned from > experience. However, much larger reads and writes seem to be possible > to files and UNIX sockets (pipes). This makes me uneasy, given the > warning in the man pages for read(2)/write(2). > > Any insight on this topic would be appreciated. > > -- > David J. Raymond > david.raym...@nmt.edu > http://physics.nmt.edu/~raymond
Not in any reasonably modern version of POSIX.. https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html {SSIZE_MAX} Maximum value for an object of type ssize_t. $ grep -R "SSIZE_MAX" /usr/include ./amd64/limits.h:#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */ /usr/include/sys/limits.h: #ifdef __LP64__ .. # define LONG_MAX 0x7fffffffffffffffL ... #else .. # define LONG_MAX 0x7fffffffL -Bryan.