[comp.sys.hp] problem with compiling tn3270 under HP-UX

lynch@batcomputer.tn.cornell.edu (Tim Lynch) (03/21/89)

    I'm trying to build tn3270 on my 850 running HP-UX 2.1.  I've hit
	a snag with a call to fcntl where the code passes F_GETOWN as the
	second argument to fcntl.  Looking at the man pages for fcntl on a
	BSD system, I see the following:

	 F_GETOWN
        gets the  process   ID  or   process  group   currently
        receiving   SIGIO  and SIGURG signals; process groups
        are returned as negative values.


     F_SETOWN
        sets the process or process group to  receive  SIGIO
        and  SIGURG signals; process groups are specified by
        supplying arg as negative, otherwise arg  is  inter-
        preted as a process ID.

	Is there some equivalent function call I can make under HP-UX to
	retreive what fcntl(...F_GETOWN...) returns?

	Alternatively, does someone have a version of tn3270 for HP-UX?

	Tim Lynch

rml@hpfcdc.HP.COM (Bob Lenk) (03/22/89)

>    I'm trying to build tn3270 on my 850 running HP-UX 2.1.  I've hit
>	a snag with a call to fcntl where the code passes F_GETOWN as the
>	second argument to fcntl.  Looking at the man pages for fcntl on a
>	BSD system, I see the following:
>
>	 F_GETOWN
>        F_SETOWN

Similar functionality is availible via the ioctl() commands FIOGSAIOOWN
and FIOSSAIOOWN.  They are documented under ioctl(5) and are based on
the BSD features, with the following differences:

	- Only a single process rather than a process group can receive
	  the signals.  This is because it is difficult or impossible
	  to enforce security when sending signals to process groups.
	  BSD does not enforce security; this is not a major problem
	  because SIGIO and SIGURG are ignored by default.

	- The names are changed because of the above difference.

	- While BSD supports the functionality via both fcntl() and
	  ioctl(), HP-UX supports it only via ioctl() because it
	  is a call to the underlying file, not the open instance
	  (file table entry) and thus more in keeping with the spirit
	  of ioctl().

	- The calls do not work on pipes as in BSD, because HP-UX pipes
	  are not sockets.

		Bob Lenk
		hplabs!hpfcla!rml
		rml%hpfcla@hplabs.hp.com