| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #include "unp.h"
- static doit(int, const char *);
- void
- main()
- {
- int tcpsock, udpsock;
- struct sockaddr_in servaddr;
- if ( (tcpsock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
- err_sys("TCP socket error");
- #ifdef notdef
- bzero(&servaddr, sizeof(servaddr));
- servaddr.sin_family = AF_INET;
- servaddr.sin_port = htons(9);
- if (ascii2addr(AF_INET, "127.0.0.1", &servaddr.sin_addr) != 4)
- err_quit("ascii2addr error");
- if (connect(tcpsock, (SA *) &servaddr, sizeof(servaddr)) < 0)
- err_sys("connect error");
- #endif
- doit(tcpsock, "tcp");
- if ( (udpsock = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
- err_sys("UDP socket error");
- doit(udpsock, "udp");
- exit(0);
- }
- static
- doit(int fd, const char *name)
- {
- int val;
- socklen_t optlen;
- optlen = sizeof(val);
- if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, &optlen) < 0)
- err_sys("SO_SNDBUF getsockopt error");
- printf("%s send buffer size = %d\n", name, val);
- optlen = sizeof(val);
- if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &val, &optlen) < 0)
- err_sys("SO_RCVBUF getsockopt error");
- printf("%s recv buffer size = %d\n", name, val);
- optlen = sizeof(val);
- if (getsockopt(fd, SOL_SOCKET, SO_SNDLOWAT, &val, &optlen) < 0)
- err_sys("SO_SNDLOWAT getsockopt error");
- printf("%s send low-water mark = %d\n", name, val);
- optlen = sizeof(val);
- if (getsockopt(fd, SOL_SOCKET, SO_RCVLOWAT, &val, &optlen) < 0)
- err_sys("SO_RCVLOWAT getsockopt error");
- printf("%s receive low-water mark size = %d\n", name, val);
- }
|