Subject: ioctl() failing in SVR4 emulation
To: None <port-sparc@NetBSD.ORG>
From: Greg Earle <earle@isolar.Tujunga.CA.US>
List: port-sparc
Date: 11/26/1996 01:22:40
I've got WABI 2.2 Rev. B running (as I mentioned earlier), but when I try
to use the PowWow conferencing tool (read: IRC on steroids, reinvented for the
PC crowd), it fails to initiate a socket connection.  Among other things seen:

 12358 wabiprog CALL  open(0x3ca960,0x2,0)
 12358 wabiprog NAMI  "/emul/svr4/dev/tcp"
 12358 wabiprog NAMI  "/emul/svr4"
 12358 wabiprog NAMI  "/emul/svr4/dev/tcp"
 12358 wabiprog RET   open 17/0x11
 12358 wabiprog CALL  ioctl(0x11,_IO('S',0x2,0),0x445d2a0)
 12358 wabiprog RET   ioctl 0
 12358 wabiprog CALL  ioctl(0x11,_IO('S',0x8,0),0x57481c8)
 12358 wabiprog RET   ioctl 0
 12358 wabiprog CALL  ioctl(0x11,_IO('S',0x20,0),0x574827c)
 12358 wabiprog RET   ioctl 0
 12358 wabiprog CALL  ioctl(0x11,_IO('S',0x13,0),0x2)
 12358 wabiprog RET   ioctl 0
 12358 wabiprog CALL  sigprocmask(0x3,0x574826c,0x574825c)
 12358 wabiprog RET   sigprocmask 0
 12358 wabiprog CALL  ioctl(0x11,_IO('S',0x8,0),0x57480e0)
 12358 wabiprog RET   ioctl 0
 12358 wabiprog CALL  sigprocmask(0x3,0x574825c,0x5748238)
 12358 wabiprog RET   sigprocmask 0
 12358 wabiprog CALL  ioctl(0x11,_IO('S',0xb,0),0x445d3c4)
 12358 wabiprog RET   ioctl 1
 12358 wabiprog CALL  fcntl(0x11,0x4,0x80)
 12358 wabiprog RET   fcntl 0
 12358 wabiprog CALL  sigprocmask(0x1,0x5748060,0x57480d8)
 12358 wabiprog RET   sigprocmask 0
 12358 wabiprog CALL  ioctl(0x11,_IO('S',0x8,0),0x5748060)
 12358 wabiprog RET   ioctl 0
 12358 wabiprog CALL  sigprocmask(0x3,0x57480d8,0)
 12358 wabiprog RET   sigprocmask 0
 12358 wabiprog CALL  fcntl(0x11,0x3,0)
 12358 wabiprog RET   fcntl 130/0x82
 12358 wabiprog CALL  sigprocmask(0x1,0x5748000,0x57480a4)
 12358 wabiprog RET   sigprocmask 0
 12358 wabiprog CALL  putmsg(0x11,0x57480b4,0,0)
 12358 wabiprog RET   putmsg -1 errno 150 Unknown error: 150
[...]
 12358 wabiprog CALL  ioctl(0x11,_IO('S',0xa,0),0x574809c)
 12358 wabiprog RET   ioctl -1 errno 22 Invalid argument

The actual error popup says

	Cannot send REGISTER command to registration server,
	error 10057: Socket is not connected.

I remember seeing that WABI presents itself as emulating a WinSock interface
of some sort.  I don't know what plumbing's used underneath to accomplish this.

Do either of these failed calls (putmsg() and the particular ioctl()) ring any
bells?  Christos?

	- Greg