Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!att!fang!tarpit!bilver!bill From: bill@bilver.uucp (Bill Vermillion) Newsgroups: comp.unix.xenix.misc Subject: Re: Can anyone comment on IBM Xenix v2.0? Keywords: IBM, xenix, 80386 Message-ID: <1991Apr26.001231.4238@bilver.uucp> Date: 26 Apr 91 00:12:31 GMT References: <1991Apr20.003949.585@news.cs.brandeis.edu> <1991Apr24.051935.17997@bilver.uucp> Organization: W. J. Vermillion - Winter Park, FL Lines: 84 In article peter@ficc.ferranti.com (Peter da Silva) writes: >In article <1991Apr24.051935.17997@bilver.uucp> bill@bilver.uucp (Bill Vermillion) writes: >> I specifically remember that in the ioctl area you could not 'and' >> values with existing values, you had to set them explicity. >I can't parse this. Could you explain? Hm. I must be talking in shorthand again. Now this is from memory, and it was about 4 years ago. I wrote the code on uPort's SysV.2 and ported it to the IBM Xenix box. (the code also ran on SCO Xenix). I was saving the state of a tty and then setting new values. In fact I was using the Bach book as a guideline, as I was trying to talk to a radio modem. I just looked for the sources and can't find them handy. Probably stored on some disk somewhere. This was a couple of machines ago. In the ioctl area I was taking the state of the tty and anding with something like. newtty.c_(someflag) &= (somevalue). This worked on both the uPort and SCO but failed on IBM. After setting two machine up side by side, running the code and then doing a stty > Also the creat call wouldn't use it's arguments properly. > >Details? > Later on, same machine and same program, we were taking the values that were coming in continually from the radio modem, and writing them to files. These modems were battery power, and perhaps had solar recharge. They were used to send transmissions from oil pipeline transmission stations out in the boonies back to civilization. Using the creat call like this fd = creat("file",0666) The file wasn't being created with those permissions. This time we found that the creat call was being anded with the permissions of the user running the progam. So to get around this one we save umask, set umask to 000, ran the program, and restored umask. This code ran fine on the two other machines. I just couldn't figure out what I was going wrong, because it would work away from the site and not at the site. The "desperation attempt" of bringing in the other machine was what pointed out the problem. The only other thing that ever go me as bad was working on an old Z8000 based machine with Unix III, whose compiler would NOT strip the high bits on incoming serial from serial device metering delivery on a propane truck. Believe the machine was an Onyx if memory serves. This one would sign extend all the odd (or perhaps it was even) characters from a 7bit to 16 bits with the high bit set. So every other character in the set was a negative number >I believe IBM Xenix 2.0 is based on System III, so you might just be >seeing older behaviour and interpreting it as being broken. Okay - now that I have described it, was it broken or older behaviour. I suspet the former. I remember being at one of the introduction of Xenix 2, and IBM was proud of the fact that is was "supported". Xenix 1.0 was issued as is, no support. No nothing. As I mentioned in the preivious post however, their manuals were among the nicest. Multi color printing and the order and action of all the switches was diagramed. Very nice. The AIX manuals I have seen are similar in concept but much more poorly executed. -- Bill Vermillion - UUCP: uunet!tarpit!bilver!bill : bill@bilver.UUCP