Ethereal-dev: Re: [Ethereal-dev] FW: ethereal on IBM mainframe running ZOS

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxx>
Date: Fri, 18 Apr 2003 09:55:00 -0700
On Fri, Apr 18, 2003 at 10:32:53AM -0400, Lou, Jim wrote:
> Are there any plans to transport Ethereal to IBM ZOS platform?

I know of none.

> -----Original Message-----
> From: Gerald Combs [mailto:gerald@xxxxxxxxxxxx] 
> Sent: Friday, April 18, 2003 10:15 AM
> To: Lou, Jim
> Subject: Re: ethereal on IBM mainframe running ZOS
> 
> I'm not aware of anyone working on a straight z/OS port.  Glancing
> through
> the IBM site it appears that z/OS provides a pretty complete POSIX
> layer,

Sufficiently complete that at least one release of OS/390 was able to
pass the test suite for the Single UNIX Specification, so it's eligible
to have the "UNIX" trademark applied to it (they actually got it
certified before Sun certified Solaris for the same version of the test
suite, and possibly before Sun certified it for *any* version -
admittedly, people are more likely, I suspect, to *require* such a
certification for OS/390 than for Solaris...).

> so it should theoretically be possible.

Possible, but not necessarily easy - it appears that the Single UNIX
Specification doesn't require you to use ASCII as the native character
set:

	http://www-1.ibm.com/servers/eserver/zseries/zos/unix/bpxa1p03.html

so the handling of characters would probably need significant work in
Ethereal - and throughout any libraries that Ethereal uses that have
ASCII dependencies in them.  (Code that uses the "isXXX" macros should
work.  Code that assumes that characters in a packet are in the native
character set of the C implementation wouldn't.)

> At a minimum you would need to
> port libpcap (the capture library) as well, or modify Ethereal to use
> any native capture APIs that z/OS might provide.

Porting libpcap would probably be the better way to do it, if it's
possible at all, as it requires less change to Ethereal and lets *other*
programs that use libpcap work as well.