|
|
1.1 root 1: /*
2: * who called me over a socket, 4BSD-style
3: */
4:
5: #include <sys/types.h>
6: #include <sys/socket.h>
7: #include <netinet/in.h>
8: #include <netdb.h>
9:
10: char *
11: _rfbsdpeer(f)
12: int f;
13: {
14: register struct hostent *hp;
15: int len;
16: struct sockaddr_in s;
17:
18: /*
19: * sleaze away, as UCB code usually does:
20: * assume it's internet family in various places
21: */
22: len = sizeof(s);
23: if (getpeername(f, &s, &len) < 0)
24: return (0);
25: if ((hp = gethostbyaddr(&s.sin_addr, sizeof(struct in_addr), s.sin_family)) == 0)
26: return (0);
27: return (hp->h_name);
28: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.