Q_vb();
}
#endif
-void Qsocket( int type ) {
+void Qsocket( int domain , int type ) {
vb.used= 0;
Tvba("socket");
+ Tvbf(domain==AF_INET ? " domain=AF_INET" :
+ domain==AF_INET6 ? " domain=AF_INET6" :
+ " domain=AF_???");
Tvbf(type==SOCK_STREAM ? " type=SOCK_STREAM" : " type=SOCK_DGRAM");
Q_vb();
}
Q_vb();
}
void Tvbaddr(const struct sockaddr *addr, int len) {
- const struct sockaddr_in *ai= (const struct sockaddr_in*)addr;
- assert(len==sizeof(struct sockaddr_in));
- assert(ai->sin_family==AF_INET);
- Tvbf("%s:%u",inet_ntoa(ai->sin_addr),htons(ai->sin_port));
+ char buf[ADNS_ADDR2TEXT_BUFLEN];
+ int err, port;
+ int sz= sizeof(buf);
+ err= adns_addr2text(addr, 0, buf,&sz, &port);
+ assert(!err);
+ Tvbf(strchr(buf, ':') ? "[%s]:%d" : "%s:%d", buf,port);
}
void Tvbbytes(const void *buf, int len) {
const byte *bp;