summaryrefslogtreecommitdiff
path: root/src/libexec/peerip.c
blob: 6bcf1f1611baf8296b5f777c3c8b89b37fe889e4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>

int main(int argc,char *argv[]) {
 int i;
 struct sockaddr_in6 sa6;
 int err;
 int sl=sizeof(sa6);
 char h[NI_MAXHOST], s[NI_MAXSERV];
 if(getpeername(0,(struct sockaddr *)&sa6,&sl) == -1) {
  return 1;
 }
 if(err=getnameinfo((struct sockaddr *)&sa6,sl,h,sizeof(h),s,sizeof(s),NI_NUMERICHOST|NI_NUMERICSERV)) {
  return 2;
 }
 puts(h);
 puts(s);
 return 0;
}