home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / std_unix / mod.std.unix.v9 < prev    next >
Internet Message Format  |  1987-06-30  |  134KB

  1. From jsq  Wed Jan  7 17:04:56 1987
  2. Date: Wed, 7 Jan 87 17:04:56 CST
  3. From: jsq (John Quarterman)
  4. Message-Id: <8701072304.AA16053@sally.utexas.edu>
  5. Subject: mod.std.unix Volume 9
  6. Draft-9: mod.std.unix
  7.  
  8. >From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  9. Newsgroups: mod.std.unix
  10. Subject: mod.std.unix Volume 9
  11. Message-Id: <6765@ut-sally.UUCP>
  12. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  13. Date: 7 Jan 87 05:10:40 GMT
  14.  
  15. This is the first article in Volume 9 of the USENET newsgroup mod.std.unix
  16. (also known as the ARPA Internet mailing list std-unix@sally.utexas.edu).
  17. These volumes are strictly for administrative convenience.
  18. Paper copies of them get delivered to the P1003 committee chair
  19. from time to time and several members of the committee follow
  20. the newsgroup on-line.
  21.  
  22. Feel free to continue any discussions from the previous volume
  23. or to start new discussions.
  24.  
  25.  
  26. This newsgroup and mailing list are for discussions of UNIX standards,
  27. particularly the IEEE 1003.1 POSIX Trial Use Standard.  The moderator is
  28. John S. Quarterman, who is also the institutional representative of
  29. the USENIX Association to the IEEE P1003 Portable Operating System for
  30. Computer Environments Committee (commonly known as the UNIX Standards
  31. Committee).
  32.  
  33. Submissions-To:    ut-sally!std-unix    or std-unix@sally.utexas.edu
  34. Comments-To: ut-sally!std-unix-request    or std-unix-request@sally.utexas.edu
  35. UUCP-Routes: {gatech,harvard,ihnp4,seismo,pyramid,sequent}!ut-sally!std-unix
  36.  
  37. Permission to post to the newsgroup is assumed for mail to std-unix.
  38. Permission to post is not assumed for mail to std-unix-request,
  39. unless explicitly granted in the mail.  Mail to my personal addresses
  40. will be treated like mail to std-unix-request if it obviously refers
  41. to the newsgroup.
  42.  
  43. Archives may be found on sally.utexas.edu.  The current volume may
  44. be retreived by anonymous ftp (login anonymous, password guest)
  45. as ~ftp/pub/mod.std.unix, while the previous volumes may be retrieved
  46. as ~ftp/pub/mod.std.unix.v1, ~ftp/pub/mod.std.unix.v2, etc., through 8.
  47. The volume with the AT&T public domain getopt(3) is ~ftp/pub/mod.std.unix.v3.
  48.  
  49. Finally, remember that any remarks by any committee member (especially
  50. mncluding me) in this newsgroup do not represent any position (including
  51. any draft, proposed or actual, of a standard) of the committee as a
  52. whole, unless explicitly stated otherwise in such remarks.
  53.  
  54. UNIX is a Registered Trademark of AT&T.
  55. POSIX is a Trademark of IEEE.
  56.  
  57. Volume-Number: Volume 9, Number 1
  58.  
  59.  
  60. From jsq  Wed Jan  7 17:08:31 1987
  61. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  62. Newsgroups: mod.std.unix
  63. Subject: mod.std.unix and P1003
  64. Message-Id: <6778@ut-sally.UUCP>
  65. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  66. Date: 7 Jan 87 23:08:13 GMT
  67. Draft-9: mod.std.unix
  68.  
  69. This article is a slightly adapted copy of an earlier one.
  70.  
  71. There seems to be widespread confusion as to the relation of the
  72. newsgroup mod.std.unix (aka the mailing list STD-UNIX) and the
  73. IEEE P1003 standards committee and its subcommittees.  Allow me
  74. to try to clear some of it up.
  75.  
  76.  
  77. Because something is discussed in mod.std.unix does not mean that
  78. it is automatically proposed to P1003 for inclusion in the standard.
  79. Proposals to the committee have to be more formal.  Especially they
  80. have to include specific proposed wording.
  81.  
  82. As it happens, the moderator of the newsgroup is also the USENIX
  83. representative to the committee.  As such, I am willing to present
  84. proposals to the committee if someone actually has some to present.
  85. However, the proposer has to specifically request that for a specific
  86. proposal and I have to agree to it before it will happen.
  87.  
  88. It is true that several committee members follow the newsgroup and
  89. that I make sure that copies of articles from the newsgroup go to
  90. appropriate technical reviewers or are mentioned to the committee
  91. as a whole.  However, they are not presented as proposals:  they
  92. are presented as comments.  They may help committee members understand
  93. the context of a topic which is treated in the standards document,
  94. but they are unlikely to cause new topics to be added to the document.
  95.  
  96. This is not to say that input from the newsgroup is not useful
  97. to the committee.  A number of problems with the latest drafts
  98. were pointed out in the newsgroup and fixed because of that.
  99. The time zone discussion has led to an actual proposal (P.055)
  100. which may be adopted by the committee.
  101.  
  102.  
  103. Because something is discussed in mod.std.unix does not even
  104. necessarily mean that it has anything to do with the P1003 committee.
  105.  
  106.  
  107. The committee is very aware that they should not be introducing
  108. new facilities.  It has happened a few times.  The only one
  109. I can think of at the moment is file locking, specifically the
  110. mandatory locking feature of flock (which was actually introduced
  111. by the /usr/group committee).  This is also, not coincidentally,
  112. one of the most controversial things in the current document,
  113. even though its proponents only back it because they are convinced
  114. it is necessary.
  115.  
  116. You will find things in the draft standard document which do not
  117. correspond to your local system, regardless of what your local system
  118. is.  This is because in the real world there are at least two major
  119. variants of UNIX and many minor ones.  To pick one and standardize on
  120. it alone would be to try to outlaw all the others.  This is probably
  121. not even possible, even if it were desirable.  The committee has chosen
  122. instead to try to produce something which is not exactly like anything
  123. out there but which can be implemented with relatively minor changes on
  124. most existing systems.
  125.  
  126. Ritual disclaimer:  this article is constructed of my personal opinions
  127. and does not necessarily represent any official position of IEEE, P1003,
  128. USENIX, /usr/group, or any other organization.
  129.  
  130. Volume-Number: Volume 9, Number 2
  131.  
  132. From jsq  Wed Jan  7 17:16:57 1987
  133. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  134. Newsgroups: mod.std.unix
  135. Subject: more on leap seconds
  136. Message-Id: <6779@ut-sally.UUCP>
  137. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  138. Date: 7 Jan 87 23:16:44 GMT
  139. Draft-9: TZ
  140.  
  141. From: utah-cs!hplabs!hpfcla!hpfclj!hpfcdg!rgt (Ron Tolley)
  142. Date: Wed, 24 Dec 86 13:28:15 est
  143.  
  144.  
  145. >> GMT and UTC are not the same.
  146.  
  147. >  UTC is an average of all the contributing countrys' clocks (US, UK,
  148. >France, Italy, Japan etc all contribute to UTC).  The change of UTC
  149. >to stay close to UT1 (the "spinning earth" time) is through the adding
  150. >or subtracting of leap seconds.  BIH makes recommendations for such
  151. >leap seconds and it is up to the individual countries to follow them.
  152. >I don't know of any case where a leap second recommedation was not
  153. >followed by a country for its clocks; it doesn't make sense to disregard them.
  154.  
  155. Rumor has it that  Queensland,  Australia is 4 seconds off from the rest
  156. of the world.  I don't recall  whether I saw it on this notes strings or
  157. heard it in passing conversation with some of my Australian contacts.
  158.  
  159. With all (or any) due respect, Australia alone could keep us busy trying
  160. to keep up with its (her/his) departures from normal time keeping.
  161.  
  162. Ron Tolley
  163.  
  164. Volume-Number: Volume 9, Number 3
  165.  
  166. From jsq  Wed Jan  7 17:20:40 1987
  167. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  168. Newsgroups: mod.std.unix
  169. Subject: Re: strftime et al.
  170. Summary: terminfo uses %m for mod
  171. Message-Id: <6780@ut-sally.UUCP>
  172. References: <6572@ut-sally.UUCP> <6708@ut-sally.UUCP>
  173. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  174. Date: 7 Jan 87 23:20:22 GMT
  175. Draft-9: TZ.strftime
  176.  
  177. From: cbosgd!mark@seismo.css.gov (Mark Horton)
  178. Date: Wed, 24 Dec 86 17:50:53 est
  179. Organization: AT&T Medical Information Systems, Columbus
  180.  
  181. >`%y' and `%Y' are unnecessary.  `%y' could push the year-with-century,
  182. >and `%{100}' the value 100; invoking mod (`%%'? the name may prove
  183. >problematical)
  184.  
  185. Terminfo uses %m for mod to get around the obvious problem of using
  186. %% to get a literal %.
  187.  
  188. Chris makes a very good point.  Another observation is that there
  189. are lots of special pieces of the date you might want; rather than
  190. giving them a separate letter each, you could group them as
  191. parameters in a standard vector.  Thus, %p1 might get the hours
  192. rather than %H.  If you like the mnemonics, %pH might be a
  193. synonym.  The idea here is that a vector is more easily extended,
  194. and you don't have to be so careful about using up the space of
  195. letters.  This makes it easier to be printf-compatible.
  196.  
  197.     Mark
  198.  
  199.  
  200. Volume-Number: Volume 9, Number 4
  201.  
  202. From jsq  Wed Jan  7 17:24:58 1987
  203. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  204. Newsgroups: mod.std.unix
  205. Subject: Timezones and C Standard
  206. Message-Id: <6781@ut-sally.UUCP>
  207. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  208. Date: 7 Jan 87 23:24:39 GMT
  209. Draft-9: TZ X3J11
  210.  
  211. From: harvard!cybvax0!frog!jim (Jim Isaak, P1003 Chair)
  212. Date: Wed, 24 Dec 86 23:55:29 est
  213.  
  214.   The 1003 group and X3J11 C language standards group have both been
  215.   dealing with the Timezone issues.  To avoid confusion and conflict,
  216.   and to get the widest possible implementation of timezone routines
  217.   the 1003 group has defered to the X3J11 group -- so that document
  218.   should be reviewed to make sure it addresses this area as well as
  219.   the other concerns that the mod.std.unix group might have.
  220.   
  221.   To obtain the public review draft copy of the X3J11 C language
  222.   standard Contact: Global Engineering Documents Inc.
  223.   
  224.       Call 800-854-7179    or  714-540-9870 x245
  225.   
  226.       Or TELEX 692373 globaldoc sna
  227.   
  228.    Ask for the X3.159-198x X3J11 Programing Language C document
  229.       (Cost $65)
  230.  
  231. Volume-Number: Volume 9, Number 5
  232.  
  233. From jsq  Wed Jan  7 17:29:38 1987
  234. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  235. Newsgroups: mod.std.unix
  236. Subject: Re: HP proposal - minor bug in bug
  237. Message-Id: <6782@ut-sally.UUCP>
  238. References: <6572@ut-sally.UUCP> <6712@ut-sally.UUCP>
  239. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  240. Date: 7 Jan 87 23:29:25 GMT
  241. Draft-9: TZ
  242.  
  243. From: colonel%buffalo.csnet@relay.cs.net 
  244. Date: Wed, 24 Dec 86 10:08:01 EST
  245.  
  246. > From: colonel%buffalo.csnet@relay.cs.net 
  247. > Date: Tue, 16 Dec 86 12:29:00 EST
  248. > 2. If the year begins on Saturday and ends on Monday, it will have 54
  249. >    weeks.  Obviously they cannot be numbered 00 to 52!
  250.  
  251. Come to think of it, that would be a rather long year!  But my point is
  252. valid if the year ends on the last day of the week (whatever day that is),
  253. and begins on the first day of the week.
  254.  
  255. It might help to know what this feature would be used for.
  256.  
  257. Volume-Number: Volume 9, Number 6
  258.  
  259. From jsq  Wed Jan  7 17:36:22 1987
  260. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  261. Newsgroups: mod.std.unix
  262. Subject: Re: 1003.2 Command Groups
  263. Message-Id: <6783@ut-sally.UUCP>
  264. References: <6710@ut-sally.UUCP>
  265. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  266. Date: 7 Jan 87 23:35:58 GMT
  267. Draft-9: 1003.2.Command.Groups
  268.  
  269. From: hoptoad!gnu@lll-crg.arpa (John Gilmore)
  270. Date: Sat, 27 Dec 86 02:57:15 PST
  271.  
  272. A general suggestion on the command groups:  provide just two sets.  A
  273. mandatory group and a group that "if you have this function, you must
  274. provide it under this name", a la X3.64.  No requirement that every
  275. command in the optional group must be there if any of them are, or that
  276. if a command exists it must accept all the possible arguments; just a
  277. name we can agree on for each function that a vendor is likely to
  278. provide and a portable shell script is likely to invoke.
  279.  
  280. What happened to "fgrep"?  If "grep" and "egrep" are mandatory, "fgrep"
  281. should be also.  (Of course, there should only be one grep, but for
  282. hysterical compatability it should be callable by three names with
  283. slightly different sets of arguments!)
  284.  
  285. Why are "uucp" and "uux" not considered reasonable things for a shell
  286. script or C program to execute?  One of the few things that Unix does
  287. that nobody else does is UUCP.  Is it going to be possible to sell a
  288. POSIX system without UUCP?  Ditto for "mail"...
  289.  
  290. I don't understand the philosophy that includes "cc" but excludes "as" and
  291. is not sure about "lint" and "m4" and "strip".  I see a lot of makefiles
  292. assuming all of these.  I presume a makefile is close enough to a shell
  293. script to be interesting to the working group.
  294.  
  295. I suggest that "cpio" be excluded.  Maybe they'll stop distributing
  296. System V on byte-order-dependent cpio tapes if it becomes non-standard.
  297.  
  298. Dump "pack" but put "compress" into the optional section.
  299.  
  300. There should be some way for shell scripts to invoke a pager.  I don't
  301. care which one -- we can all link our system's favorite pager to the name
  302. you choose.  Few or no fancy options required on it though; make it generic.
  303.  
  304. Tail should be in the mandatory set of commands.
  305.  
  306. df and du are useful, but their output format is not standardized.
  307. Since mostly shellscripts use these to parse their output e.g. to see
  308. if there is enough free space, this must be specified if they are
  309. to be useful.
  310.  
  311. I can't find "dircmp", "id", and a bunch of others in either V7 or 4.2
  312. so I suspect it is not very portable to assume their existence.  Reject...
  313.  
  314. Volume-Number: Volume 9, Number 7
  315.  
  316. From jsq  Wed Jan  7 17:40:56 1987
  317. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  318. Newsgroups: mod.std.unix
  319. Subject: excludes vi in standard
  320. Message-Id: <6784@ut-sally.UUCP>
  321. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  322. Date: 7 Jan 87 23:40:29 GMT
  323. Draft-9: 1003.2.vi
  324.  
  325. From: seismo!harvard!gsg!lew (Paul Lew)
  326. Date: Mon, 29 Dec 86 09:56:05 est
  327.  
  328. I am not sure it is good idea to assume that no one will not invoke
  329. "vi" inside application programs or shell scripts.  For example, there
  330. is an application program callable interface defined for EDT under
  331. VMS, maybe someone should think about this idea for vi under Unix?
  332.  
  333. Volume-Number: Volume 9, Number 8
  334.  
  335. From jsq  Wed Jan  7 17:47:08 1987
  336. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  337. Newsgroups: mod.std.unix
  338. Subject: Re: time for time details
  339. Message-Id: <6785@ut-sally.UUCP>
  340. References: <6711@ut-sally.UUCP>
  341. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  342. Date: 7 Jan 87 23:46:52 GMT
  343. Draft-9: TZ
  344.  
  345. From: ames!pyramid!nsc!nscpdc!nscpdc.nsc.com!djg
  346. Date: Sun, 28 Dec 86 11:47:06 pst
  347.  
  348. > From: seismo!nbires!vianet!devine (Bob Devine)
  349. > Date: Wed, 17 Dec 86 19:39:53 EST
  350. >   This is in response to Ron Tolley's article that appeared in mod.std.unix
  351. > last week.  My reply corrects the errors.
  352. .....
  353. > > solar time.  Note that with  Greewich Mean Time, such  corrections  were
  354. > > made  by  stretching  or  contracting  the  length  of  seconds.  UTC is
  355. > > generally available through time standards, GMT not readily available.
  356. ....
  357. >   A second is not stretched/contracted for leap second adjustments.  The
  358. > selected minute will have 59 or 61 seconds.
  359.  
  360. Note as above it was G.M.T that was stretched.
  361. I used to work at the R.G.O. Whenever possible a zenith tube reading of
  362. Polaris was used (up to the installation of caesium clocks 20? years ago)
  363. to correct an oscillator defining a 10MHz signal sent via land line the
  364. Rugby time centre for broadcast. On every hour the signal was inverted 
  365. 5 seconds before the hour to synchronise clocks (This is still done but from
  366. atomic clocks). Since using U.T.C the leap seconds are manually added or
  367. subracted at the appropriate time (Yes someone at midnight dec 31 has to go
  368. down to the time computer and press a button).
  369. Note that since UTC is the calculated best fit of many atomic clocks
  370. it can never be given in "real time" but only after the fact.
  371. (Most laborities(observatories) use quartz clocks set against a reference
  372. and then post-calibrate it).
  373.  
  374. Volume-Number: Volume 9, Number 9
  375.  
  376. From jsq  Wed Jan  7 17:54:54 1987
  377. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  378. Newsgroups: mod.std.unix
  379. Subject: Re: 1003.2 Command Groups
  380. Message-Id: <6786@ut-sally.UUCP>
  381. References: <6710@ut-sally.UUCP>
  382. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  383. Date: 7 Jan 87 23:54:31 GMT
  384. Draft-9: 1003.2.Command.Groups
  385.  
  386. From: pyramid!utzoo!henry (Henry Spencer)
  387. Date: Wed, 31 Dec 86 03:36:31 CST
  388.  
  389. Some specific comments on the placement of various commands:
  390.  
  391. I do hope that cat's stupid options will not be standardized, although
  392. I fear that is too much to expect since they are increasingly widespread.
  393.  
  394. I hope the standard version of ls will not include mandatory columnizing
  395. of output depending on whether output is to a terminal or not.
  396.  
  397. Justification for both the above is that the desirability of these bits
  398. of behavior is a contentious subject with no widespread agreement.
  399.  
  400. The algorithm for "sum" should be specified completely and portably, so
  401. that one can reliably get the same checksum from the same sequence of
  402. bytes on any 1003.2-conforming system.  This is a conspicuous and painful
  403. lack in current systems.  The checksum preferably should be sensitive
  404. to the order of the bytes, not just their values.  Perhaps a CRC code
  405. would be appropriate, given that its properties are well understood,
  406. fairly good, and fully portable?
  407.  
  408. Putting "xargs" in the Software Development Environment is bizarre, since
  409. its primary use (in my experience) is to make *applications* robust against
  410. the possibility of extremely long argument lists.  It belongs in the
  411. Execution Environment.  It is not a complex program and public-domain
  412. versions exist, so implementation difficulty is hardly an issue.
  413.  
  414. "File", currently in the "No Decision Yet" list, is quite important.  One
  415. important and subtle characteristic which badly needs standardizing is that
  416. in some (all?) existing implementations, identifications of files which
  417. appear to be ASCII text end with the word "text".
  418.  
  419. I would hope that if "nm" is standardized, its output format (if specified)
  420. will be the old V7ish single-column format; at the very least, it is very
  421. important to have a standard option that will produce this form.  The new
  422. multicolumn form found in some System V nm implementations is cute but
  423. makes nm output useless as input to other programs -- an important use of
  424. nm.
  425.  
  426. Standardization of "pack" is inappropriate, since superior alternatives are
  427. already in widespread service, unless the definition specifies the user
  428. interface but not the compression algorithm.
  429.  
  430.                 Henry Spencer @ U of Toronto Zoology
  431.                 {allegra,ihnp4,decvax,pyramid}!utzoo!henry
  432.  
  433. Volume-Number: Volume 9, Number 10
  434.  
  435. From jsq  Wed Jan  7 18:01:09 1987
  436. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  437. Newsgroups: mod.std.unix
  438. Subject: Re: 1003.2 Command Groups
  439. Message-Id: <6787@ut-sally.UUCP>
  440. References: <6710@ut-sally.UUCP>
  441. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  442. Date: 8 Jan 87 00:00:51 GMT
  443. Draft-9: 1003.2.Command.Groups
  444.  
  445. From: pyramid!utzoo!henry (Henry Spencer)
  446. Date: Wed, 31 Dec 86 03:36:58 CST
  447.  
  448. Are the commands listed under "Software Development Environment" optional
  449. as individuals or as a block?  If the latter, I find it disturbing that it
  450. is proposed to make the presence of SCCS (get, delta, etc.) mandatory to
  451. have a conforming system.  SCCS is badly designed and seriously obsolete.
  452.  
  453. While I realize that there is too much investment in existing SCCS use to
  454. stamp it out any time soon, I suggest that it is an outstandingly poor
  455. candidate for mandatory inclusion in a standard.  At least one analogous
  456. system with what is generally agreed to be a vastly superior user interface
  457. and internal design is already in widespread use.  Putting SCCS in 1003.2
  458. is not codifying current practice, it is codifying what is increasingly
  459. a relic of the past.  This is inappropriate.
  460.  
  461. If SCCS must be included in 1003.2's Software Development Environment, the
  462. detailed description of the functionality of the commands should be trimmed
  463. down so that it is not necessary to imitate every mistake of SCCS to be
  464. in conformance.
  465.  
  466.                 Henry Spencer @ U of Toronto Zoology
  467.                 {allegra,ihnp4,decvax,pyramid}!utzoo!henry
  468.  
  469. Volume-Number: Volume 9, Number 11
  470.  
  471. From jsq  Wed Jan  7 18:08:25 1987
  472. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  473. Newsgroups: mod.std.unix
  474. Subject: node name
  475. Message-Id: <6788@ut-sally.UUCP>
  476. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  477. Date: 8 Jan 87 00:08:09 GMT
  478. Draft-9: 4.4
  479.  
  480. From: cbosgd!mark@seismo.css.gov (Mark Horton)
  481. Date: 4 Jan 87 21:19:54 GMT
  482. Organization: AT&T Bell Laboratories, Columbus, Oh
  483.  
  484. I was just going through POSIX and noticed that the only mechanism
  485. for determining the node name is uname (4.4.1.)  I think it's clear
  486. that, while uname is adequate for UUCP, the 8 character limit on
  487. the node name is inadequate for other networks, especially domain
  488. networks such as the ARPANET, CSNET, and the UUCP Zone.  It won't
  489. be adequate for OSI, either, although it isn't currently clear what
  490. would be, since host names may not even be character strings in OSI.
  491.  
  492. While P.1003 does not restrict implementations to SYS_NMLN=9 (including
  493. the null) it requires that all 5 fields support the full length.
  494. I don't know of any way to increase SYS_NMLN while maintaining binary
  495. compatibility with older programs, which is a typical requirement.
  496.  
  497. I am also unaware of any application that makes use of the other four
  498. fields.  (Of course, as soon as I say that, several people will point
  499. some out, but I don't know of a runtime use for those fields that is
  500. sufficiently motivating to be included in POSIX.)  A similar feature
  501. would be useful at compile time (predefined preprocessor variables to
  502. allow conditional compilation based on the version) but the typical
  503. program needs to make these decisions at compile time, not runtime.
  504.  
  505. Wouldn't it make more sense to standardize on a simple long character
  506. string for the node name?  Assuming that OSI names can somehow be
  507. encoded as character strings (a fairly safe assumption, I think)
  508. this ought to handle all the cases.  The 4.2BSD gethostname function,
  509. which passes the length of the buffer:
  510.     gethostname(buffer, bufferlen)
  511.     char *buffer;
  512.     int bufferlen;
  513. seems perfectly suited to this problem.
  514.  
  515. I believe that uname will have to be phased out in favor of a more
  516. general mechanism over the next few years.  Why is it in the standard?
  517.  
  518.     Mark
  519.  
  520. Volume-Number: Volume 9, Number 12
  521.  
  522. From jsq  Fri Jan  9 23:19:46 1987
  523. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  524. Newsgroups: mod.std.unix
  525. Subject: Re: 1003.2 Command Groups
  526. Message-Id: <6817@ut-sally.UUCP>
  527. References: <6710@ut-sally.UUCP> <6786@ut-sally.UUCP>
  528. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  529. Date: 10 Jan 87 05:19:28 GMT
  530. Draft-9: 1003.2.Command.Groups
  531.  
  532.  
  533. From: gwyn@brl.arpa (Douglas A. Gwyn)
  534. Date:     Thu, 8 Jan 87 11:42:08 EST
  535. Organization: Ballistic Research Lab (BRL), APG, MD.
  536.  
  537. >From: pyramid!utzoo!henry (Henry Spencer)
  538.  
  539. I generally agree with Henry's comments.
  540.  
  541. At the last 1003 meeting, I distributed a command set
  542. proposal along these lines (it covers just what seems to
  543. be current referred to as the Execution command set,
  544. since I think it is a major mistake for 1003.2 to try to
  545. standardize the language, network, or interactive
  546. interface environments).  Unfortunately the 1003 meeting
  547. was concurrent with X3J11 so I didn't get to hang around
  548. for much of the 1003 discussion.  I urge that 1003.2 take
  549. my proposal as guidelines for trimming down the Execution
  550. command set from the SVID descriptions.  Legislating
  551. unnecessary implementation constraints and some of the
  552. more dubiously designed UNIX software might make AT&T
  553. marketing happy, but it should make UNIX grokkers unhappy.
  554.  
  555.  
  556. Volume-Number: Volume 9, Number 13
  557.  
  558. From jsq  Fri Jan  9 23:25:09 1987
  559. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  560. Newsgroups: mod.std.unix
  561. Subject: Re: 1003.2 Command Groups
  562. Message-Id: <6818@ut-sally.UUCP>
  563. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP>
  564. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  565. Date: 10 Jan 87 05:24:37 GMT
  566. Draft-9: 1003.2.Command.Groups
  567.  
  568. From: gwyn@brl.arpa (Douglas A. Gwyn)
  569. Date:     Thu, 8 Jan 87 11:32:58 EST
  570. Organization: Ballistic Research Lab (BRL), APG, MD.
  571.  
  572. >From: hoptoad!gnu@lll-crg.arpa (John Gilmore)
  573. >...  Is it going to be possible to sell a
  574. >POSIX system without UUCP?  Ditto for "mail"...
  575.  
  576. I don't see why these should be mandated when many sites use
  577. superior facilities in their place.  Ditto for the spooler.
  578.  
  579. >I suggest that "cpio" be excluded.  Maybe they'll stop distributing
  580. >System V on byte-order-dependent cpio tapes if it becomes non-standard.
  581.  
  582. SVR2.0 was distributed on portable-header cpio tapes.
  583. This is also true of the SVR3.0 source distribution.
  584.  
  585. >I can't find "dircmp", "id", and a bunch of others in either V7 or 4.2
  586. >so I suspect it is not very portable to assume their existence.
  587.  
  588. You also can't find a decent Bourne shell in those releases.
  589. The standard should not be weakened unduly to permit existing
  590. inadequate facilities to be advertised as already conforming!
  591.  
  592. Volume-Number: Volume 9, Number 14
  593.  
  594. From jsq  Tue Jan 13 11:37:43 1987
  595. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  596. Newsgroups: mod.std.unix
  597. Subject: time zone mailing list
  598. Message-Id: <6835@ut-sally.UUCP>
  599. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  600. Date: 13 Jan 87 17:37:31 GMT
  601. Draft-9: TZ
  602.  
  603. From: seismo!elsie!ado@sally.utexas.edu (Arthur David Olson)
  604. Date: Thu, 8 Jan 87 13:36:51 EST
  605.  
  606. Some of the folks interested in time zone handling are now trading insights
  607. using a mailing list.
  608.  
  609. Any interested mod.std.unix readers can mail me a request to be added.
  610. --
  611.     UUCP: ..decvax!seismo!elsie!ado   ARPA: elsie!ado@seismo.ARPA
  612.     DEC, VAX, Elsie & Ado are Digital, Borden & Ampex trademarks.
  613.  
  614. Volume-Number: Volume 9, Number 15
  615.  
  616. From jsq  Wed Jan 14 19:54:51 1987
  617. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  618. Newsgroups: mod.std.unix
  619. Subject: Re: 1003.2 Command Groups
  620. Summary: Minor comment
  621. Message-Id: <6860@ut-sally.UUCP>
  622. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP>
  623. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  624. Date: 15 Jan 87 01:54:42 GMT
  625. Draft-9: 1003.2.Command.Groups
  626.  
  627. From: seismo!hadron!jsdy@sally.utexas.edu (Joseph S. D. Yao)
  628. Date: 10 Jan 87 02:20:18 GMT
  629. Reply-To: jsdy@hadron.UUCP (Joseph S. D. Yao)
  630. Organization: Hadron, Inc., Fairfax, VA
  631.  
  632. In article <6783@ut-sally.UUCP> hoptoad!gnu@lll-crg.arpa (John Gilmore) writes:
  633. >I suggest that "cpio" be excluded.  Maybe they'll stop distributing
  634. >System V on byte-order-dependent cpio tapes if it becomes non-standard.
  635. >Volume-Number: Volume 9, Number 7
  636.  
  637. As I understand it, cpio as it currently stands is ASCII (not binary),
  638. in a perfectly understandable format (reasonable byte-by-byte order)
  639. on magnetic tape or byte-oriented file.  The problem is with magtape
  640. interfaces that assume, e.g., little-endian order on a big-endian
  641. machine; and transform
  642.     byte0
  643.     byte1
  644.     byte2
  645.     byte3
  646. to
  647.     byte1 | byte0 | byte3 | byte2
  648. instead of
  649.     byte0 | byte1 | byte2 | byte3
  650. (the classic NUXI problem).
  651. -- 
  652.  
  653.     Joe Yao        hadron!jsdy@seismo.{CSS.GOV,ARPA,UUCP}
  654.             jsdy@hadron.COM (not yet domainised)
  655.  
  656. Volume-Number: Volume 9, Number 16
  657.  
  658. From jsq  Wed Jan 14 20:00:09 1987
  659. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  660. Newsgroups: mod.std.unix
  661. Subject: Re:  excludes vi in standard
  662. Message-Id: <6861@ut-sally.UUCP>
  663. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  664. Date: 15 Jan 87 01:59:57 GMT
  665. Draft-9: 1003.2.vi
  666.  
  667. From: lazear@mitre-gateway.arpa (Walt Lazear)
  668. Date: Fri, 9 Jan 87 21:59:04 EST
  669.  
  670. The Berkeley Mail program used to construct this message calls
  671. "vi" from within.  Then again, ANY program ca be caled from within
  672. another program, via the "exec*" system call, so what's the big
  673. deal about "vi"???
  674.  
  675. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  676.  
  677. Walt Lazear                      _     _       _  _________ _______  ________
  678.                                 / \  /  \     | | |___ ___| | __   \ | _____|
  679. Lazear@MITRE.ARPA              / \ \/ /\ \    | |    | |    | |_>  | | |____
  680. 1820 Dolley Madison Blvd.     / / \  /  \ \   | |    | |    |  _  /  | _____|
  681. McLean, VA 2210              / /   \/    \ \  | |    | |    | | \ \  | |____
  682. (703) 883-6515              /_/           \_\ |_|    |_|    |_|  \_\ |______|
  683.  
  684. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  685.  
  686. Volume-Number: Volume 9, Number 17
  687.  
  688. From jsq  Wed Jan 14 20:07:40 1987
  689. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  690. Newsgroups: mod.std.unix
  691. Subject: Re: 1003.2 Command Groups
  692. Message-Id: <6863@ut-sally.UUCP>
  693. References: <6710@ut-sally.UUCP>, <6783@ut-sally.UUCP>
  694. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  695. Date: 15 Jan 87 02:07:28 GMT
  696. Draft-9: 1003.2.Command.Groups
  697.  
  698. From: pyramid!utzoo!henry (Henry Spencer)
  699. Date: Fri, 9 Jan 87 21:08:38 CST
  700.  
  701. > A general suggestion on the command groups:  provide just two sets.  A
  702. > mandatory group and a group that "if you have this function, you must
  703. > provide it under this name", a la X3.64.  No requirement that every
  704. > command in the optional group must be there if any of them are...
  705.  
  706. There is something to be said for this.  Unfortunately, there is also
  707. something to be said against it.  The problem is analogous to the one
  708. with X3.64, to wit that there is no "standard" beyond the basic one,
  709. or rather there are far too many, specifically 2**number_of_options.
  710. The result is that each system becomes unique, and the specification
  711. of what a particular application requires is no longer "P1003.2 with the
  712. optional command set" but "P1003.2 with A, B, C, D, E, F, G with the -x
  713. and -q options, H, I, and Q".  What this means in practice is that nobody
  714. bothers specifying exactly what his application needs, and the only way
  715. to find out whether it will work on your system is to try it (remembering,
  716. of course, to try out all features with all combinations of input data and
  717. all possible environments!).  It's better than no standard at all, but
  718. much less useful than a group that is a single option.
  719.  
  720. I would be interested to know why John thinks this is desirable.  The
  721. occasional situation of X being hard to do under system Y can be handled
  722. outside the standard ("we do all of P1003.2 except grep" :-)).
  723.  
  724. > I don't understand the philosophy that includes "cc" but excludes "as" and
  725. > is not sure about "lint" and "m4" and "strip".  I see a lot of makefiles
  726. > assuming all of these...
  727.  
  728. I would guess that the exclusion of "as" is because its behavior is utterly
  729. unportable even though its concept is not.  Why would a makefile for a
  730. fully portable program invoke "as", without at least making it conditional
  731. on a specific type of machine?  It's not clear to me that there is any
  732. portable operation that "as" can perform.  (Note that it is possible and
  733. plausible to have a compiler which does not generate assembler as an
  734. intermediate stage, so "assembling the results of a partial compile" is
  735. not a good answer.)
  736.  
  737. > I suggest that "cpio" be excluded.  Maybe they'll stop distributing
  738. > System V on byte-order-dependent cpio tapes if it becomes non-standard.
  739.  
  740. Agreed.  P1003.1 has already defined a standard interchange format, and it's
  741. not cpio (it is, in fact, a somewhat extended tar).
  742.  
  743. > There should be some way for shell scripts to invoke a pager...
  744.  
  745. If this is done (on the whole I like the idea), there should also be a way
  746. for the shell script to determine that it does not need to do so.  Many
  747. people feel that this function is best done in the terminal driver.  (My
  748. intent is not to re-open this debate in an inappropriate forum, but to
  749. point out that this is a subject on which there is no consensus and hence
  750. it would be better for 1003.2 not to take sides.)  Some existing programs
  751. honor the convention that a null (as opposed to missing) PAGER environment
  752. variable means "don't worry about it", but some do not.
  753.  
  754.                 Henry Spencer @ U of Toronto Zoology
  755.                 {allegra,ihnp4,decvax,pyramid}!utzoo!henry
  756.  
  757. Volume-Number: Volume 9, Number 18
  758.  
  759. From jsq  Sat Jan 17 18:12:21 1987
  760. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  761. Newsgroups: mod.std.unix
  762. Subject: Re: 1003.2 Command Groups && Are we standardizing Unix or not?
  763. Message-Id: <6881@ut-sally.UUCP>
  764. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP>
  765. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  766. Date: 18 Jan 87 00:12:10 GMT
  767. Draft-9: 1003.2.Command.Groups.UUCP
  768.  
  769. From: hoptoad.UUCP!gnu@cgl.ucsf.edu (John Gilmore)
  770. Date: Sun, 11 Jan 87 02:51:14 PST
  771.  
  772. > From: gwyn@brl.arpa (Douglas A. Gwyn)
  773. > >From: hoptoad!gnu@lll-crg.arpa (John Gilmore)
  774. > >...  Is it going to be possible to sell a
  775. > >POSIX system without UUCP?  Ditto for "mail"...
  776. > I don't see why these should be mandated when many sites use
  777. > superior facilities in their place.  Ditto for the spooler.
  778.  
  779. There are several points here, and I didn't make things very clear.
  780.  
  781. (1)  A Posix system should be able to talk *over the phone* with a Unix
  782. UUCP site.  Why should a Posix user be reduced to public domain kermits and
  783. things for communication, when we all know we are standardizing Unix, and
  784. uucp comes with every Unix ever released by AT&T or Berserkeley?
  785.  
  786. (2)  Applications should be able to use a standard interface to send
  787. mail.  It should always be possible for a shell script or program to
  788. invoke "/bin/mail" with an addressee as argument and a message on
  789. standard input.  No matter what the protocol used to move or read the
  790. mail.  SysV and Sun do this right; BSD Unix messes it up a bit with the
  791. Apparently-To: headers, producing mail that violates RFC822 if you
  792. invoke it this way.  But it works well enough everywhere; make it standard.
  793.  
  794. (3)  The same is true of a spooler.  You can provide a fancy spooler,
  795. but please let dumb programs invoke it by the same old name as long as
  796. they only depend on the dumb options, e.g. "lpr" and "lpr -p".
  797.  
  798. (4)  This would be useful for file transfers too, but there is no clear
  799. standard (uucp, kermit, ftp, rcp, tftp, plus whatever comes with 3Bnet)
  800. and the different methods disagree on whether it happens immediately or
  801. is queued, whether return status is available, whether you have to
  802. specify text, binary or other file attributes, etc.  If we require that
  803. Posix talk over the phone to uucp, we might as well require that the uucp
  804. command syntax be usable to invoke those transfers.
  805.  
  806. > From: gwyn@brl.arpa (Douglas A. Gwyn)
  807. > The standard should not be weakened unduly to permit existing
  808. > inadequate facilities to be advertised as already conforming!
  809.  
  810. This last statement is indicative of a severe miscommunication
  811. somewhere.  I thought we were standardizing *UNIX*.  U. N. I. X.  Not
  812. somebody's great idea of what Unix should be after you fix the
  813. "inadequate facilities", but what it already is.  Right now the de
  814. facto standard, that is, what commercial applications or mod.sources
  815. postings can reasonably assume, is roughly V7 with a few mods (the
  816. Berkeley directory access library, for example).  Why should we write
  817. up a document that claims differently and call it a standard?  The
  818. point is to limit the variation.  We have failed if we create yet another
  819. variant that's not a subset of most of the existing ones.
  820.  
  821. I'm not interested in old vendors' being able to advertise their
  822. systems as "already conforming".  (I'm working on the GNU project which
  823. will write it all from scratch anyway.)  What I *am* interested in is
  824. portability of applications.  Talked to Mike Gallaher about Unix
  825. portability?  He's been porting Emacs to Gosling knows how many
  826. systems.  Talked to RMS, or the Alis or Ingres or Common Lisp or
  827. AutoCad people?  What does mdqs depend upon?
  828. What do they need to be able to depend upon?
  829.  
  830. If today's version of netnews would not run unchanged on Posix, as it
  831. runs unchanged on dozens of variants of Unix, I say Posix is not meeting
  832. its goals.  (I don't know whether it would run under Posix, or not.)
  833.  
  834. :-) I can see it now, it will take Guy Harris another 2 years to
  835. produce "the amazing Veg-a-Sun-Unix, it slices, it dices, it splits hairs,
  836. it runs BSD and SYSV and if you order today you'll even get the
  837. terrific unified separate but equal Posix variation compatability
  838. library!"  :-) NO thanks...
  839.  
  840.  
  841. Volume-Number: Volume 9, Number 19
  842.  
  843. From jsq  Sat Jan 17 18:20:29 1987
  844. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  845. Newsgroups: mod.std.unix
  846. Subject: Re: tail in 1003.2 Commands
  847. Summary: tail(1) reconsidered
  848. Message-Id: <6882@ut-sally.UUCP>
  849. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP>
  850. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  851. Date: 18 Jan 87 00:20:19 GMT
  852. Draft-9: 1003.2.tail
  853.  
  854. From: colonel@sunybcs.UUCP (Col. G. L. Sicherman)
  855. Date: 12 Jan 87 15:18:10 GMT
  856. Organization: Jack of Clubs Precision Instruments
  857.  
  858. > From: hoptoad!gnu@lll-crg.arpa (John Gilmore)
  859. > Date: Sat, 27 Dec 86 02:57:15 PST
  860. > ... Tail should be in the mandatory set of commands.
  861.  
  862. I know that tail is in BSD.  Is it a Berkeley product?  There's one thing
  863. about it I don't like.  When you type "tail +10c" you get all characters
  864. starting with the tenth.
  865.  
  866. Now, that's un-Unixican.  Characters start at 0, and perhaps blocks and
  867. lines should too.  As it is, if I want a shell command or expression
  868. in the argument, I usually have to add 1 to it to make it work.
  869.  
  870. I'd like to see a program that does what tail does, except that if
  871. you say "tail +n" it skips the first n units.  You could call it
  872. something else--maybe "trail."  And how about a "head" with the same
  873. syntax as tail/trail?  ("head xx file; tail xx file" = "cat file")
  874. -- 
  875. Col. G. L. Sicherman
  876. UU: ...{rocksvax|decvax}!sunybcs!colonel
  877. CS: colonel@buffalo-cs
  878. BI: colonel@sunybcs, csdsiche@ubvms
  879.  
  880. Volume-Number: Volume 9, Number 20
  881.  
  882. From jsq  Sat Jan 17 18:31:38 1987
  883. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  884. Newsgroups: mod.std.unix
  885. Subject: Re: 1003.2 Command Groups
  886. Message-Id: <6885@ut-sally.UUCP>
  887. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  888. Date: 18 Jan 87 00:31:29 GMT
  889. Draft-9: 1003.2.Command.Groups
  890.  
  891. From: <rbj@icst-cmr.arpa> (Root Boy) Jim Cottrell
  892. Date: Tue, 13 Jan 87 03:58:08 EST
  893.  
  894. > From: <gwyn@brl> (Doug Gwyn)
  895. > >From: hoptoad!gnu@lll-crg.arpa (John Gilmore)
  896. > >...  Is it going to be possible to sell a
  897. > >POSIX system without UUCP?  Ditto for "mail"...
  898. > I don't see why these should be mandated when many sites use
  899. > superior facilities in their place.  Ditto for the spooler.
  900.  
  901. Yes, and some of us with ARPA access refuse to believe UUCP exists.
  902.  
  903. > >I suggest that "cpio" be excluded.  Maybe they'll stop distributing
  904. > >System V on byte-order-dependent cpio tapes if it becomes non-standard.
  905. > SVR2.0 was distributed on portable-header cpio tapes.
  906. > This is also true of the SVR3.0 source distribution.
  907.  
  908. I can live with cpio as a replacement for tar, altho I would always force
  909. the -c option.
  910.  
  911. > >I can't find "dircmp", "id", and a bunch of others in either V7 or 4.2
  912. > >so I suspect it is not very portable to assume their existence.
  913. > You also can't find a decent Bourne shell in those releases.
  914. > The standard should not be weakened unduly to permit existing
  915. > inadequate facilities to be advertised as already conforming!
  916.  
  917. It works both ways. You also can't find a `diff -r' in TPC UNIX.
  918. Who needs `dircmp'? As for shells, does TPC even use Bourne's anymore?
  919. Isn't Korn's upward compatible? So do we mandate Korn's?
  920.  
  921. All in all, I find this effort biased too much towards TPC and away from BSD.
  922. If we are to do that, I would rather start with V7 as a base rather than SV.
  923. Most UNIXen are derived from V7. Let's keep the standard that way too.
  924.  
  925.     (Root Boy) Jim Cottrell        <rbj@icst-cmr.arpa>
  926.  
  927. Volume-Number: Volume 9, Number 21
  928.  
  929. From jsq  Sat Jan 17 18:37:58 1987
  930. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  931. Newsgroups: mod.std.unix
  932. Subject: Re: HP proposal - minor bug in bug
  933. Message-Id: <6886@ut-sally.UUCP>
  934. References: <6782@ut-sally.UUCP> <6572@ut-sally.UUCP> <6712@ut-sally.UUCP>
  935. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  936. Date: 18 Jan 87 00:37:47 GMT
  937. Draft-9: TZ
  938.  
  939. From: seismo!enea!chalmers.UUCP!bergsten
  940. Date: Wed, 14 Jan 87 00:23:41 -0100
  941. Organization: Dept. of CS, Chalmers, Sweden
  942.  
  943. >From: colonel%buffalo.csnet@relay.cs.net 
  944. >Date: Wed, 24 Dec 86 10:08:01 EST
  945. >
  946. >> From: colonel%buffalo.csnet@relay.cs.net 
  947. >> Date: Tue, 16 Dec 86 12:29:00 EST
  948. >> 
  949. >> 2. If the year begins on Saturday and ends on Monday, it will have 54
  950. >>    weeks.  Obviously they cannot be numbered 00 to 52!
  951. >
  952. >Come to think of it, that would be a rather long year! ........
  953.  
  954. My pocket calendar states that according to swedish standard
  955. (which it claims was derived from ISO rules and formally accepted 1972):
  956.  
  957.     " .... Monday is regarded as the first day of the week, and the first
  958.      week which has at least four days of the new year is week 1 ..."
  959.  
  960. Apparently some international committee decided on
  961. how to number weeks 15 years ago!!
  962.  
  963. It takes some courage to produce and publish a standard document when you know
  964. that at any time somebody may stumble on proud words of days past.
  965.  
  966. Keep up the good work!!
  967. Regards,
  968.  
  969.     Per Bergsten        ...!mcvax!enea!chalmers!bergsten.UUCP
  970.  
  971. Volume-Number: Volume 9, Number 22
  972.  
  973. From jsq  Tue Jan 27 20:41:57 1987
  974. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  975. Newsgroups: mod.std.unix
  976. Subject: Re: 1003.2 Command Groups && Are we standardizing Unix or not?
  977. Message-Id: <6963@ut-sally.UUCP>
  978. References: <6881@ut-sally.UUCP>
  979. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  980. Date: 28 Jan 87 02:41:43 GMT
  981. Draft-9: 1003.2.Command.Groups.UUCP
  982.  
  983. From: seismo!nyu-acf4.arpa!cmcl2!tihor (Stephen Tihor)
  984. Date: Sat, 17 Jan 87 22:45:31 est
  985.  
  986. What several people seem to be missing in the discussion about including
  987. UUCP in POSIX is that (drum roll) IT IS NOT POSSIBLE TO STANDARDIZE AN 
  988. UNDOCUMENT PROTOCOL (..actually standardize de jure..).  Everything else
  989. in the POSIX spec is being reasonably specified or left out.  When the
  990. command syntax of UUCP could be standardized that would be about as useful
  991. as standardizing a tar/cpio program without specifing the format in 
  992. which a tape of pure 7-bit ASCII text files is written.  
  993.  
  994. Sure we all know that most vendors will pay AT&T (or maybe Lauren) for the  
  995. specification to UUCP so that it can run on their POSIX compatible system
  996. but I didn't think the IEEE has sunk to the level of stanrardizing the
  997. external appearance of tool without adequately specifying what it does.
  998.  
  999. Someone might argue that it doesn't matter how you move data from place to
  1000. place UUCP is just the syntax that a POSIX user employs to initiate a 
  1001. file transfer and a complying implementation can use FTP or NFS and CP
  1002. or whatever to move the data.  This means that it will not be possible
  1003. to assume that two POSIX compliant systems can exchange data using modems
  1004. and wires.  Ughh!!!  {UUCP as a link to RCP bouble UGH!!}  
  1005.  
  1006. Either include the low level UUCP<->UUCP communications specs for as many
  1007. protocols as possible so someone can build a UUCP from scratch or don't 
  1008. include.  The LAW of LEAST SUPRISES argues greatly against having the name 
  1009. not mean at least roughly the same thing.  (After all POSIX is supposed
  1010. to bring the family closer together not drive it farther apart.)
  1011.  
  1012. Volume-Number: Volume 9, Number 23
  1013.  
  1014. From jsq  Tue Jan 27 21:04:28 1987
  1015. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1016. Newsgroups: mod.std.unix
  1017. Subject: Counting from 0
  1018. Message-Id: <6965@ut-sally.UUCP>
  1019. References: <6882@ut-sally.UUCP> <6710@ut-sally.UUCP> <6783@ut-sally.UUCP>
  1020. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1021. Date: 28 Jan 87 03:04:18 GMT
  1022. Draft-9: 1003.2
  1023.  
  1024. From: seismo!cmcl2!phri!roy@sally.utexas.edu (Roy Smith)
  1025. Date: Sun, 18 Jan 87 09:48:11 est
  1026. Organization: Public Health Research Inst. (NY, NY)
  1027.  
  1028. [ The square brackets below were apparently inserted by Roy Smith;
  1029. they were not added by the moderator.  -mod ]
  1030.  
  1031. > From: colonel@sunybcs.UUCP (Col. G. L. Sicherman)
  1032. > Now, that [having tail count from 1 instead of 0 is] un-Unixican.
  1033. > Characters start at 0, and perhaps blocks and lines should too.  As it
  1034. > is, if I want a shell command or expression in the argument, I usually
  1035. > have to add 1 to it to make it work.
  1036.  
  1037.     While we're it, make "cmp" call the first character in a file 0.
  1038. At least on my 4.2BSD system, cmp says the first character in a file is 1.
  1039. I would imagine most people only use cmp to test for equality of files, but
  1040. I had reason to use the output of "cmp -l" the other day in a shell script
  1041. and got burned my this.  Most likely, somebody needs to carefully go
  1042. through every command in the book and ferret out count from 0/1 problems.
  1043.  
  1044.     Along those lines, what does it mean when some processor says
  1045. "error in line 0, file foo"?  On the one hand, it makes computer sense to
  1046. call the "first" line/character/block/whatever of a file 0.  On the other
  1047. hand, it is very convienent to reserve "error in line 0" to mean "something
  1048. went wrong before I even got a chance to start reading the file."
  1049. -- 
  1050. Roy Smith, {allegra,cmcl2,philabs}!phri!roy
  1051. System Administrator, Public Health Research Institute
  1052. 455 First Avenue, New York, NY 10016
  1053.  
  1054. Volume-Number: Volume 9, Number 24
  1055.  
  1056. From jsq  Tue Jan 27 21:18:22 1987
  1057. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1058. Newsgroups: mod.std.unix
  1059. Subject: Re: tail in 1003.2 Commands
  1060. Message-Id: <6966@ut-sally.UUCP>
  1061. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6882@ut-sally.UUCP>
  1062. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1063. Date: 28 Jan 87 03:18:09 GMT
  1064. Draft-9: 1003.2.tail
  1065.  
  1066. From: decwrl!nsc!nsc!nsta!instable.ether!amos (Amos Shapir)
  1067. Date: Mon, 19 Jan 87 16:54:53 -0200
  1068. Organization: National Semiconductor (Israel) Ltd.
  1069.  
  1070. >From: colonel@sunybcs.UUCP (Col. G. L. Sicherman)
  1071. >I'd like to see a program that does what tail does, except that if
  1072. >you say "tail +n" it skips the first n units.  You could call it
  1073. >something else--maybe "trail."  And how about a "head" with the same
  1074. >syntax as tail/trail?  ("head xx file; tail xx file" = "cat file")
  1075.  
  1076. Try 'dd bs=n skip=1' - actually, what you need is a 'line' modifier to
  1077. dd, in addition to chars, blocks and k.
  1078. -- 
  1079.     Amos Shapir
  1080. National Semiconductor (Israel)
  1081. 6 Maskit st. P.O.B. 3007, Herzlia 46104, Israel
  1082. (011-972) 52-522261  amos%nsta@nsc 34.48'E 32.10'N
  1083.  
  1084. Volume-Number: Volume 9, Number 25
  1085.  
  1086. From jsq  Wed Jan 28 10:13:37 1987
  1087. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1088. Newsgroups: mod.std.unix
  1089. Subject: Re: excludes vi in standard
  1090. Message-Id: <6973@ut-sally.UUCP>
  1091. References: <6861@ut-sally.UUCP>
  1092. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1093. Date: 28 Jan 87 16:13:22 GMT
  1094. Draft-9: 1003.2.vi
  1095.  
  1096. From: kimcm@olamb.UUCP (Kim Chr. Madsen)
  1097. Date: 19 Jan 87 12:47:59 GMT
  1098. Organization: AmbraSoft A/S (Denmark)
  1099.  
  1100. > The Berkeley Mail program used to construct this message calls
  1101. > "vi" from within.  Then again, ANY program ca be caled from within
  1102. > another program, via the "exec*" system call, so what's the big
  1103. > deal about "vi"???
  1104.  
  1105. What's the big deal about "vi", well for one thing it's standard!
  1106. You don't find a UNIX system delivered without at least three editors:
  1107.  
  1108.     ed - Common campground for computer travellers.
  1109.     ex - EXpanded Ed(itor).
  1110.     vi - VIsual Ex.
  1111.  
  1112. Whenever a program needs to call an editor it often searches for the
  1113. environment variable $EDITOR and if defined exec* the editor defined
  1114. here. If not defined it will search for a default editor (usually vi -
  1115. since it's the most user friendly of the three standard editors).
  1116.  
  1117.                 Kim Chr. Madsen
  1118.  
  1119. Volume-Number: Volume 9, Number 26
  1120.  
  1121. From jsq  Wed Jan 28 10:20:24 1987
  1122. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1123. Newsgroups: mod.std.unix
  1124. Subject: Re: 1003.2 Command Groups && Are we standardizing Unix or not?
  1125. Message-Id: <6974@ut-sally.UUCP>
  1126. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP> <6881@ut-sally.UUCP>
  1127. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1128. Date: 28 Jan 87 16:20:14 GMT
  1129. Draft-9: 1003.2.Command.Groups.UUCP
  1130.  
  1131. From: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) <gwyn>)
  1132. Date:     Tue, 20 Jan 87 4:59:34 EST
  1133. Organization: Ballistic Research Lab (BRL), APG, MD.
  1134.  
  1135. In article <6881@ut-sally.UUCP> std-unix@ut-sally.UUCP:
  1136. >(2)  Applications should be able to use a standard interface to send
  1137. >mail.
  1138. >(3)  The same is true of a spooler.  You can provide a fancy spooler,
  1139. >but please let dumb programs invoke it by the same old name as long as
  1140. >they only depend on the dumb options, e.g. "lpr" and "lpr -p".
  1141.  
  1142. I am in full agreement that a SUBSET of "mail" and "lp" (or "lpr")
  1143. interfaces should be standardized, just not the whole package (for
  1144. instance, definitely NOT the interactive mail-reading interface).
  1145. My command-set proposal to 1003.2 contained several such cases of
  1146. limited subsets of what was in the SVID.  I view 1003.2 primarily
  1147. as a collections of tools for use by application programs, not as
  1148. things a naive user would confront directly.
  1149.  
  1150. >We have failed if we create yet another
  1151. >variant that's not a subset of most of the existing ones.
  1152.  
  1153. There is little value in restricting the 1003 standards to lowest-
  1154. common denominator subsets of existing UNIX implementations, since
  1155. many interesting and useful applications simply cannot be written
  1156. to work well within such a limited subset.  Consequently, the 1003.1
  1157. trial-use standard already differs in several (relatively minor, we
  1158. hope) ways from existing UNIX systems.  POSIX conformance will require
  1159. a certain amount of change to existing systems.  We've been working
  1160. fairly closely with AT&T SVID people on this issue, in an attempt to
  1161. ensure that a system can be simultaneously SVID and POSIX compliant
  1162. without requiring separate "universes" (libraries, etc.).
  1163.  
  1164. As one of the original separate-universe implementors, I wish to
  1165. state that any such implementation should be viewed as an interim
  1166. measure while we attempt to converge on a single universal standard.
  1167. (I believe this is what Sun is attempting to do.)  It will sure be
  1168. nice to be able to quit worrying about annoying trivial system
  1169. variations and get to work on better applications.
  1170.  
  1171. Volume-Number: Volume 9, Number 27
  1172.  
  1173. From jsq  Wed Jan 28 10:30:43 1987
  1174. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1175. Newsgroups: mod.std.unix
  1176. Subject: Re: 1003.2 Command Groups && Are we standardizing Unix or not?
  1177. Message-Id: <6975@ut-sally.UUCP>
  1178. References: <6881@ut-sally.UUCP> <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP>
  1179. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1180. Date: 28 Jan 87 16:30:33 GMT
  1181. Draft-9: 1003.2.Command.Groups.UUCP
  1182.  
  1183. From: seismo!mcnc.org!ecsvax!bet (Bennett Todd)
  1184. Date: Mon, 19 Jan 87 14:26:45 est
  1185. Organization: Duke User Services
  1186.  
  1187. >From: hoptoad.UUCP!gnu@cgl.ucsf.edu (John Gilmore)
  1188. >
  1189. >> From: gwyn@brl.arpa (Douglas A. Gwyn)
  1190. >> >From: hoptoad!gnu@lll-crg.arpa (John Gilmore)
  1191. >> >...  Is it going to be possible to sell a
  1192. >> >POSIX system without UUCP?  Ditto for "mail"...
  1193. >> 
  1194. >> I don't see why these should be mandated when many sites use
  1195. >> superior facilities in their place.  Ditto for the spooler.
  1196. >...
  1197. >(1)  A Posix system should be able to talk *over the phone* with a Unix
  1198. >UUCP site.  Why should a Posix user be reduced to public domain kermits and
  1199. >things for communication, when we all know we are standardizing Unix, and
  1200. >uucp comes with every Unix ever released by AT&T or Berserkeley?
  1201.  
  1202. Because UUCP is distinctive among UNIX applications in having "secrets"
  1203. buried inside it. To be a UUCP a utility should, at a minimum, be able
  1204. to communicate successfully with at least some large proportion of all
  1205. existing implementations; unfortunately, the protocol isn't documented
  1206. for potential implementors. The only reasonable way to get the protocol
  1207. is to read the source code; this makes your resulting implementation a
  1208. derivative work and therefore AT&T proprietary. It is *not* appropriate
  1209. to produce a standard mandating something which is strictly AT&T
  1210. proprietary.
  1211.  
  1212. Actually, I have heard of one (1) instance of a UUCP being written and
  1213. not beholden to AT&T. However, with substantially less effort than is
  1214. required to work from a line trace up and reverse engineer the protocol,
  1215. you can produce a complete replacement that works far better in several
  1216. important respects (e.g. built-in quoting to enable transparent
  1217. transmission through 7-bit communication channels, support for various
  1218. flow control mechanisms including the terrible XON/XOFF, ability to work
  1219. efficiently in the face of long round-trip packet delays and/or half
  1220. duplex, logon dialog specification far more flexible than "expect-send
  1221. strings", and so forth). If you want the ability to intercommunicate
  1222. with arbitrary other UNIX systems, write a host end portably.
  1223.  
  1224. Let's not go out of our way to put roadblocks in the way of competition;
  1225. AT&T already isn't the only source for substantially UNIX-like operating
  1226. systems; they aren't the only ones who could make available a POSIX
  1227. compatible operating system, if gratuitous obstructions like UUCP (with
  1228. its undocumented protocol) are avoided.
  1229.  
  1230. -Bennett
  1231. -- 
  1232. Bennett Todd -- Duke Computation Center, Durham, NC 27706-7756; (919) 684-3695
  1233. UUCP: ...{decvax,seismo,philabs,ihnp4,akgua}!mcnc!ecsvax!duccpc!bet
  1234. BITNET: DBTODD@TUCC.BITNET -or- DBTODD@TUCCVM.BITNET -or- bet@ECSVAX.BITNET
  1235. terrorist, cryptography, DES, drugs, cipher, secret, decode, NSA, CIA, NRO.
  1236.  
  1237. Volume-Number: Volume 9, Number 28
  1238.  
  1239. From jsq  Wed Jan 28 10:48:27 1987
  1240. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1241. Newsgroups: mod.std.unix
  1242. Subject: Re: 1003.2 Command Groups && Are we standardizing Unix or not?
  1243. Summary: Standardising UNIX(tm)?  Also, on quotes out of context.
  1244. Message-Id: <6976@ut-sally.UUCP>
  1245. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP> <6881@ut-sally.UUCP>
  1246. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1247. Date: 28 Jan 87 16:48:16 GMT
  1248. Draft-9: 1003.2.Command.Groups.UUCP
  1249.  
  1250. From: hadron!jsdy@seismo.css.gov (Joseph S. D. Yao)
  1251. Date: 26 Jan 87 14:36:44 GMT
  1252. Organization: Hadron, Inc., Fairfax, VA
  1253.  
  1254. In article <6881@ut-sally.UUCP> hoptoad.UUCP!gnu@cgl.ucsf.edu (John Gilmore) writes:
  1255. >There are several points here, and I didn't make things very clear.
  1256. >> From: gwyn@brl.arpa (Douglas A. Gwyn)
  1257. >> The standard should not be weakened unduly to permit existing
  1258. >> inadequate facilities to be advertised as already conforming!
  1259. >This last statement is indicative of a severe miscommunication
  1260. >somewhere.  I thought we were standardizing *UNIX*.  U. N. I. X.
  1261.  
  1262. Yes, is miscommunication.  (tm)UNIX is a trademark of Bell Labs,
  1263. and now a Registered Trademark of AT&T.  Only those folk have
  1264. the right to standardise it.  And they have:  "System V (ex-III):
  1265. consider it The Standard."  They issued the SVID (System V Interface
  1266. Desciption).  And then re-wrote it: twice, so far.
  1267.  
  1268. POSIX, P1003.2, is a Standard for An Operating System Interface.
  1269. Note that it's called POSIX, and not that registered trademark.
  1270. Yes, it looks a lot like our favourite OS that's better than any
  1271. other OS out there (yet).  No coincidence.  But it doesn't have
  1272. to look exactly like any existing version.
  1273.  
  1274. However, the quote above referred specifically to the Shell!  Not
  1275. to the OS, but to the user interface.
  1276.  
  1277. BTW, I rather agree that such things as UUCP, mail, et al.
  1278. should be mentioned in the standard at least by reference or
  1279. in an appendix as minimal interfaces.  But room should be
  1280. allowed to make these replacable by updated facilities, and
  1281. perhaps even to be made an optional package.
  1282. -- 
  1283.  
  1284.     Joe Yao        hadron!jsdy@seismo.{CSS.GOV,ARPA,UUCP}
  1285.             jsdy@hadron.COM (not yet domainised)
  1286.  
  1287. Volume-Number: Volume 9, Number 29
  1288.  
  1289. From jsq  Wed Jan 28 11:11:55 1987
  1290. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1291. Newsgroups: mod.std.unix
  1292. Subject: Re: node name
  1293. Message-Id: <6977@ut-sally.UUCP>
  1294. References: <6788@ut-sally.UUCP>
  1295. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1296. Date: 28 Jan 87 17:11:43 GMT
  1297. Draft-9: 4.4
  1298.  
  1299. From: seismo!gatech!hpcnof!hpfcla!hpfcdc!rml (Bob Lenk)
  1300. Date: Thu, 8 Jan 87 20:20:47 mst
  1301.  
  1302. > From: cbosgd!mark@seismo.css.gov (Mark Horton)
  1303. > While P.1003 does not restrict implementations to SYS_NMLN=9 (including
  1304. > the null) it requires that all 5 fields support the full length.
  1305. > I don't know of any way to increase SYS_NMLN while maintaining binary
  1306. > compatibility with older programs, which is a typical requirement.
  1307.  
  1308. Since the publication of the trial use standard, the working group has
  1309. agreed to drop the constant SYS_NMLN and any requirement that all
  1310. five fields be the same length.  All fields are now specified simply
  1311. as null-terminated character arrays.  Increasing the length can still
  1312. cause binary compatibility problems, but there are (ugly) ways of
  1313. dealing with binary compatibility.
  1314.  
  1315. > I am also unaware of any application that makes use of the other four
  1316. > fields.
  1317.  
  1318. I can imagine applications using the fields in some type of reports,
  1319. but I don't know of any portable applications which use them, or of
  1320. any strong reason why they are needed.
  1321.  
  1322. > Wouldn't it make more sense to standardize on a simple long character
  1323. > string for the node name?  Assuming that OSI names can somehow be
  1324. > encoded as character strings (a fairly safe assumption, I think)
  1325. > this ought to handle all the cases.  The 4.2BSD gethostname function,
  1326. > which passes the length of the buffer:
  1327. >     gethostname(buffer, bufferlen)
  1328. >     char *buffer;
  1329. >     int bufferlen;
  1330. > seems perfectly suited to this problem.
  1331.  
  1332. If we use such an approach, we still need to specify a symbolic constant
  1333. (in <limits.h>) for the maximum length of a hostname on an
  1334. implementation, so that applications don't need to deal with having
  1335. truncated names returned to them.  Uname handles this by the inclusion
  1336. of the string within a structure.  Given that, the only difference from
  1337. uname is the existence of other fields.  For binary compatibilty, I
  1338. don't see much difference between an implementation having two calls
  1339. both called "uname" or one called "uname" and the other called
  1340. "gethostname", which return names of different lengths.
  1341.  
  1342.         Bob Lenk
  1343.         {ihnp4, hplabs}!hpfcla!rml
  1344.  
  1345. Volume-Number: Volume 9, Number 30
  1346.  
  1347. From jsq  Wed Jan 28 11:29:47 1987
  1348. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1349. Newsgroups: mod.std.unix
  1350. Subject: Re: 1003.2 Command Groups
  1351. Message-Id: <6978@ut-sally.UUCP>
  1352. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP>
  1353. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1354. Date: 28 Jan 87 17:29:30 GMT
  1355. Draft-9: 1003.2.Command.Groups
  1356.  
  1357. From: ihnp4!alberta!ncc!lyndon (Lyndon Nerenberg)
  1358. Date: 15 Jan 87 21:26:58 GMT
  1359. Organization: Nexus Computing Corp.,  Edmonton, AB
  1360.  
  1361. > From: gwyn@brl.arpa (Douglas A. Gwyn)
  1362. > Date:     Thu, 8 Jan 87 11:32:58 EST
  1363. > Organization: Ballistic Research Lab (BRL), APG, MD.
  1364. > >From: hoptoad!gnu@lll-crg.arpa (John Gilmore)
  1365. > >...  Is it going to be possible to sell a
  1366. > >POSIX system without UUCP?  Ditto for "mail"...
  1367. > I don't see why these should be mandated when many sites use
  1368. > superior facilities in their place.  Ditto for the spooler.
  1369.  
  1370. Given that UUCP is not considered part of the standard, each vendor would
  1371. be free to provide whatever software they desired. Is not the end result
  1372. of this going to be a vast number of systems, running a "standard" OS,
  1373. that will not be able to communicate with each other due to "non-standard"
  1374. communications software?
  1375.  
  1376. I don't disagree that the days of UUCP are numbered, however I am very
  1377. much in favor of maintaining communications compatibility between
  1378. existing and new systems. (Life is tough enough when two sites running
  1379. 'g' protocol can't even talk to each other).
  1380.  
  1381. It would be nice if the standard actually *documented* the 'g' protocol,
  1382. and required vendors to support it (with the rising popularity of X.25,
  1383. perhaps 'f' protocol should be added as well). This would maintain the
  1384. backwards compatability necessary to keep existing networks functional,
  1385. something of primary importance to a large part of the Unix community.
  1386.  
  1387. It will take quite some time for the Unix community at large to adopt
  1388. a replacement for UUCP. If we simply drop UUCP from the standard, we
  1389. are inviting absolute anarchy!
  1390.  
  1391. Everyone who participates in this newsgroup influences (to some
  1392. degree) the thoughts of the committee. We do this via USENET, which
  1393. is brought to you through the (dubious) miracle of UUCP. Doesn't it
  1394. seem a bit silly to "unstandardize" the software that helped us
  1395. develop the standard... :-)
  1396.  
  1397. With Flame Catcher in hand,
  1398. -- 
  1399. Lyndon Nerenberg - Nexus Computing Corp. - lyndon@ncc.UUCP
  1400. UUCP: {ihnp4,ubc-vision,vax135,watmath}!alberta!ncc!lyndon
  1401.  
  1402. Volume-Number: Volume 9, Number 31
  1403.  
  1404. From jsq  Wed Jan 28 11:49:10 1987
  1405. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1406. Newsgroups: mod.std.unix
  1407. Subject: Re: 1003.2 Command Groups
  1408. Summary: cpio has more than just one use
  1409. Message-Id: <6979@ut-sally.UUCP>
  1410. References: <6710@ut-sally.UUCP>, <6783@ut-sally.UUCP> <6863@ut-sally.UUCP>
  1411. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1412. Date: 28 Jan 87 17:48:55 GMT
  1413. Draft-9: 1003.2.Command.Groups
  1414.  
  1415. From: akgua!mtgzz!bds@seismo.css.gov (b.d.szablak)
  1416. Date: 16 Jan 87 13:44:21 GMT
  1417. Organization: AT&T, Middletown NJ
  1418.  
  1419. > > I suggest that "cpio" be excluded.  Maybe they'll stop distributing
  1420. > > System V on byte-order-dependent cpio tapes if it becomes non-standard.
  1421. > Agreed.  P1003.1 has already defined a standard interchange format, and it's
  1422. > not cpio (it is, in fact, a somewhat extended tar).
  1423.  
  1424. I rarely use cpio to create tapes, but I often use cpio... Principally
  1425. for transmitting via uucp et. al. multiple files (a cpio file is more
  1426. manageable), and for moving and copying files in directory hierarchies.
  1427.  
  1428. Volume-Number: Volume 9, Number 32
  1429.  
  1430. From jsq  Wed Jan 28 14:13:59 1987
  1431. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1432. Newsgroups: mod.std.unix
  1433. Subject: Fifty-howmany weeks?
  1434. Message-Id: <6980@ut-sally.UUCP>
  1435. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1436. Date: 28 Jan 87 20:13:48 GMT
  1437. Draft-9: TZ
  1438.  
  1439. From: seismo!gatech!hpcnof!hpfcla!hpfclj!hpfcdg!rgt
  1440. Date: Mon, 12 Jan 87 15:21:04 est
  1441.  
  1442. > 2. If the year begins on Saturday and ends on Monday, it will have 54
  1443. >    weeks.  Obviously they cannot be numbered 00 to 52!
  1444.  
  1445. Sorry folks, but this is not a bug.  This was transcribed from the X3J11
  1446. documentation   titled   "Internationalizing   ANSI   C"  and   numbered
  1447. "X3J11/86-125R".  Section  3.2  describes   the  strftime   funtion  and
  1448. describes  the %U and %W  directives.  Both are  described as being week
  1449. numbers  beginning with either Sunday or Monday and both list a range of
  1450. 00 to 52.  (The %W directive  was changed to a %V  directive  because it
  1451. conflicts with an existing X/OPEN directive for the nl_cxtime  function,
  1452. which is almost identical in operation to strftime.)
  1453.  
  1454. I believe that the intended week number computation is as described in a
  1455. paper  titled  "An  Overview  of  Internationalization"   by  Greger  K.
  1456. Leijonjufvud  of Sperry  Corporation  and Gary L.  Lindgren  of AT&T (no
  1457. date or number).  In section 3.4.2.4 titled "The Week" it states [with my
  1458. corrections and clarifications (rgt)]:
  1459.  
  1460.     The 7-day week is now predominant.  Each day has its name and is
  1461.     also  numbered.  the  number  depends on which day is counted as
  1462.     the  starting day of the week:  either  Sunday or Monday.  Weeks
  1463.     are also  numbered.  Which  week tath is  counted  as the  first
  1464.     depends on the  weekday of January  1st (i.e., if there are 4 or
  1465.     more  January  days in the week of Jan 1st, then that is week 1,
  1466.     [number 00 (rgt)]  otherwise  it is week [51 or (rgt)] 52 of the
  1467.     preceding year.  The calculation  also depends on whether Sunday
  1468.     is the first or the last day of the week.)
  1469.  
  1470. The  maximum  number of weeks in a year would  occur in a leap year with
  1471. January 1st on the  Wednesday  of the  Sunday-first  week.  Looking at a
  1472. perpetual  calendar,  1964 or 1992 are  useful  examples.  I derive  the
  1473. following table:
  1474.  
  1475.     1963 week ?? = Dec 22 to Dec 28
  1476.     1964 week 00 = Dec 29 to Jan 04
  1477.     ...
  1478.     1964 week 52 = Dec 27 to Jan 02
  1479.     1965 week 00 = Jan 03 to Jan 09
  1480.  
  1481. Conversely,  the  minimum  number of weeks in a year would be occur in a
  1482. non-leap  year when  January 1st was on a Thursday  of the  Sunday-first
  1483. week.
  1484.  
  1485.     1986 week ?? = Dec 28 to Jan 03
  1486.     1987 week 00 = Jan 04 to Jan 10
  1487.     ...
  1488.     1987 week 51 = Dec 27 to Jan 02
  1489.     1988 week 00 = Jan 03 to Jan 09
  1490.  
  1491. Conclusion:  A week-aligned  year may will have at least 52 weeks and at
  1492. most  53  weeks.  The  first  day  (00) of the  first  week  (00) of the
  1493. week-aligned  year may be as early as Dec 29 and as late as Jan 04.
  1494.  
  1495. All of the  arguements  can also be applied to a Monday  first week with
  1496. only minor changes.
  1497.  
  1498. Volume-Number: Volume 9, Number 33
  1499.  
  1500. From jsq  Thu Jan 29 11:09:37 1987
  1501. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1502. Newsgroups: mod.std.unix
  1503. Subject: Re: 1003.2 Command Groups
  1504. Message-Id: <7000@ut-sally.UUCP>
  1505. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6863@ut-sally.UUCP> <6979@ut-sally.UUCP>
  1506. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1507. Date: 29 Jan 87 17:09:16 GMT
  1508. Draft-9: 1003.2.Command.Groups
  1509.  
  1510. From: guy%gorodish@Sun.COM (Guy Harris)
  1511. Date: 29 Jan 87 07:05:00 GMT
  1512. Organization: Sun Microsystems, Mountain View
  1513.  
  1514. >I rarely use cpio to create tapes, but I often use cpio... Principally
  1515. >for transmitting via uucp et. al. multiple files (a cpio file is more
  1516. >manageable), and for moving and copying files in directory hierarchies.
  1517.  
  1518. Yes, but "tar" can be used to do the same things, and is available on
  1519. more systems.  Since the interchange format (which is *not* a tape
  1520. format, BTW, but an "Archive/Interchange File Format", so you can use
  1521. it to transmit hierarchies with UUCP, "rcp", etc.) is an extended
  1522. form of "tar"s, "tar" might be the more useful program to
  1523. standardize.
  1524.  
  1525. Volume-Number: Volume 9, Number 34
  1526.  
  1527. From jsq  Thu Jan 29 17:09:44 1987
  1528. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1529. Newsgroups: mod.std.unix
  1530. Subject: Re: tail in 1003.2 Commands
  1531. Message-Id: <7001@ut-sally.UUCP>
  1532. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6882@ut-sally.UUCP> <6966@ut-sally.UUCP>
  1533. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1534. Date: 29 Jan 87 23:09:35 GMT
  1535. Draft-9: 1003.2.tail
  1536.  
  1537. From: guy%gorodish@Sun.COM (Guy Harris)
  1538. Date: 29 Jan 87 07:20:35 GMT
  1539. Reply-To: guy@sun.UUCP (Guy Harris)
  1540. Organization: Sun Microsystems, Mountain View
  1541.  
  1542. >>From: colonel@sunybcs.UUCP (Col. G. L. Sicherman)
  1543. >>I'd like to see a program that does what tail does, except that if
  1544. >>you say "tail +n" it skips the first n units.
  1545.  
  1546.     sed -n '<n>,$p'
  1547.  
  1548. will do the job quite nicely.
  1549.  
  1550. >>And how about a "head" with the same syntax as tail/trail?
  1551. >>("head xx file; tail xx file" = "cat file")
  1552. >
  1553. >Try 'dd bs=n skip=1' - actually, what you need is a 'line' modifier to
  1554. >dd, in addition to chars, blocks and k.
  1555.  
  1556. Well, 4BSD has such a "head" command, and writing one for systems
  1557. lacking it would probably take less work than adding a "line"
  1558. modifier to "dd" (which would be totally inappropriate for "dd", just
  1559. as "-v" is inappropriate for "cat").  On the other hand,
  1560.  
  1561.     sed -n '1,<n>p'
  1562.  
  1563. will do the job quite nicely here, too.  (I suspect it may still read
  1564. the rest of the file, but sticking in optimizations to avoid this are
  1565. left as an exercise to the reader.)
  1566.  
  1567. Let's not use 1003.2 as a chance to add every feature we want to some
  1568. UNIX command, or to tweak their behavior to fit something that seemed
  1569. convenient one day last month, or to add our favorite command.  The
  1570. commands standardized in 1003.2 should be *tools* - such as, to pick
  1571. a random example, "sed".
  1572.  
  1573. Volume-Number: Volume 9, Number 35
  1574.  
  1575. From jsq  Thu Jan 29 17:18:13 1987
  1576. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1577. Newsgroups: mod.std.unix
  1578. Subject: Re: 1003.2 Command Groups
  1579. Message-Id: <7002@ut-sally.UUCP>
  1580. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP> <6978@ut-sally.UUCP>
  1581. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1582. Date: 29 Jan 87 23:18:05 GMT
  1583. Draft-9: 1003.2.Command.Groups
  1584.  
  1585. From: guy%gorodish@Sun.COM (Guy Harris)
  1586. Date: 29 Jan 87 07:01:22 GMT
  1587. Reply-To: guy@sun.UUCP (Guy Harris)
  1588. Organization: Sun Microsystems, Mountain View
  1589.  
  1590. >It would be nice if the standard actually *documented* the 'g' protocol,
  1591.  
  1592. It can't do that until it is clear that the specification of this
  1593. protocol can be published without violating the trade secret of UNIX.
  1594. It may be that this is the case, considering Lauren Weinstein has
  1595. built an independent UUCP implementation by watching the packets fly
  1596. by, but I'd want to check first.
  1597.  
  1598. (Obviously, if the standard *didn't* document the 'g' protocol,
  1599. putting UUCP in the standard would be of little use - it'd be like
  1600. requiring that a system support creating AF_INET sockets with the
  1601. "socket" call, but neglecting to require that these sockets use TCP,
  1602. UDP, etc.)
  1603.  
  1604. Don't forget, though, that there's more to UUCP than just the "g"
  1605. protocol; you'd also have to document its file-transfer protocol that
  1606. sits on top of "g", etc.  Fortunately, this is fairly simple-minded,
  1607. but it would have to be included.  You'd also have to document the
  1608. format of "X." files, since UUCP without "uux" has limited use.
  1609.  
  1610. >and required vendors to support it (with the rising popularity of X.25,
  1611. >perhaps 'f' protocol should be added as well).
  1612.  
  1613. And perhaps 't' or 'e', for use over 8-bit-transparent
  1614. flow-controlled and reliable data paths.
  1615.  
  1616. >It will take quite some time for the Unix community at large to adopt
  1617. >a replacement for UUCP. If we simply drop UUCP from the standard, we
  1618. >are inviting absolute anarchy!
  1619.  
  1620. Do you have a practical alternative?  It's not enough to predict dire
  1621. consequences if something isn't standardized; you have to demonstrate
  1622. that it is practical to standardize it.
  1623.  
  1624. Volume-Number: Volume 9, Number 36
  1625.  
  1626. From jsq  Thu Jan 29 17:21:55 1987
  1627. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1628. Newsgroups: mod.std.unix
  1629. Subject: Re: node name
  1630. Message-Id: <7003@ut-sally.UUCP>
  1631. References: <6788@ut-sally.UUCP> <6977@ut-sally.UUCP>
  1632. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1633. Date: 29 Jan 87 23:21:44 GMT
  1634. Draft-9: 4.4
  1635.  
  1636. From: guy%gorodish@Sun.COM (Guy Harris)
  1637. Date: 29 Jan 87 06:53:29 GMT
  1638. Reply-To: guy@sun.UUCP (Guy Harris)
  1639. Organization: Sun Microsystems, Mountain View
  1640.  
  1641. >Increasing the length can still cause binary compatibility problems, but
  1642. >there are (ugly) ways of dealing with binary compatibility.
  1643.  
  1644. Not even that ugly; yes, they leave loose bits of crud floating
  1645. around in your kernel, but most UNIX distributions these days have
  1646. lots of this sort of loose crud.  It's aesthetically unpleasant, but
  1647. it beats the hell out of supporting aesthetically- and
  1648. technically-unpleasant interfaces because you can't declare a flag day and
  1649. nuking those interfaces.
  1650.  
  1651. Most, if not all, implementations based on UNIX could just assign a
  1652. new system call number to a new improved "uname" and leave the old
  1653. one around with its old number for binary compatibility.  You can
  1654. write a library that contains a "uname" that uses the old call, or
  1655. uses the new call and throws away the extra characters.
  1656.  
  1657. Volume-Number: Volume 9, Number 37
  1658.  
  1659. From jsq  Thu Jan 29 17:26:41 1987
  1660. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1661. Newsgroups: mod.std.unix
  1662. Subject: Re: Counting from 0
  1663. Message-Id: <7004@ut-sally.UUCP>
  1664. References: <6882@ut-sally.UUCP> <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6965@ut-sally.UUCP>
  1665. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1666. Date: 29 Jan 87 23:26:32 GMT
  1667. Draft-9: 1003.2
  1668.  
  1669. From: guy%gorodish@Sun.COM (Guy Harris)
  1670. Date: 29 Jan 87 07:12:50 GMT
  1671. Reply-To: guy@sun.UUCP (Guy Harris)
  1672. Organization: Sun Microsystems, Mountain View
  1673.  
  1674. >    While we're it, make "cmp" call the first character in a file 0.
  1675. >At least on my 4.2BSD system, cmp says the first character in a file is 1.
  1676.  
  1677. "cmp" hasn't changed a lot, so all the other AT&T-derived "cmp"s do
  1678. this.
  1679.  
  1680. >I would imagine most people only use cmp to test for equality of files, but
  1681. >I had reason to use the output of "cmp -l" the other day in a shell script
  1682. >and got burned my this.  Most likely, somebody needs to carefully go
  1683. >through every command in the book and ferret out count from 0/1 problems.
  1684.  
  1685. If people actually use the output of "cmp" in shell scripts, you
  1686. can't just "make 'cmp' call the first character in a file 0", since
  1687. this may break shell scripts.  You do, however, have to document
  1688. whether it calls that byte 0 or 1, and you also have to document
  1689. precisely the format of its output, so you *can* use it in shell
  1690. scripts.
  1691.  
  1692. >    Along those lines, what does it mean when some processor says
  1693. >"error in line 0, file foo"?  On the one hand, it makes computer sense to
  1694. >call the "first" line/character/block/whatever of a file 0.
  1695.  
  1696. For characters and blocks, maybe.  For lines, it may make computer
  1697. sense, but not a lot of sense otherwise.  Text editors currently call
  1698. the first line line 1, and even people exposed to C for prolonged
  1699. periods of time do so as well (probably because their text editor
  1700. does...).
  1701.  
  1702. >On the other hand, it is very convienent to reserve "error in line 0" to
  1703. >mean "something went wrong before I even got a chance to start reading the
  1704. >file."
  1705.  
  1706. Convenient for the programmer writing the code printing the error
  1707. message, maybe, but that doesn't count.  What counts in this case is
  1708. convenience to the *user*, and an error message that leaves the line
  1709. number out entirely - and even the file name, if the error doesn't
  1710. pertain to the file - is far more convenient there.
  1711.  
  1712. When some program says "error in line 0, file foo", it generally
  1713. means the programmer who wrote that code was too lazy to get the
  1714. error message right.
  1715.  
  1716. Volume-Number: Volume 9, Number 38
  1717.  
  1718. From jsq  Sat Jan 31 11:58:08 1987
  1719. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1720. Newsgroups: mod.std.unix
  1721. Subject: Re: Request for 'head' & 'trail Commands
  1722. Message-Id: <7018@ut-sally.UUCP>
  1723. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1724. Date: 31 Jan 87 17:57:58 GMT
  1725. Draft-9: 1003.2.head
  1726.  
  1727. From: ihnp4!ulysses!rv@sally.utexas.edu (Russel Vernon)
  1728. Date: Wed, 28 Jan 87 13:18:22 est
  1729.  
  1730. Are
  1731.     sed nq <file>    # For 'head -n'
  1732. and
  1733.     sed 1,nd <file>    # For 'trail +n'
  1734.  
  1735. so complicated that we should clutter things up with TWO new standard
  1736. UNIX commands? (I'm pretty sure #1 appears in K&P somewhere; #2 is an
  1737. obvious variant.)
  1738.  
  1739. Let's keep in mind what UNIX is supposed to be about, and KISS!
  1740.  
  1741.                     -Russ-
  1742.  
  1743. Volume-Number: Volume 9, Number 39
  1744.  
  1745. From jsq  Sat Jan 31 13:29:24 1987
  1746. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  1747. Newsgroups: mod.std.unix
  1748. Subject: Canonical diff V.? 4.?
  1749. Message-Id: <7019@ut-sally.UUCP>
  1750. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1751. Date: 31 Jan 87 19:29:14 GMT
  1752. Draft-9: BSD SVID
  1753.  
  1754. From: ames!ucbcad!ucbvax!unisoft!john (John Sovereign)
  1755. Date: Fri, 30 Jan 87 09:46:52 PST
  1756.  
  1757. Can someone point me in the direction of material discussing the
  1758. differences between System V and BSD, especially beyond comparisons
  1759. of the manual table of contents?
  1760.  
  1761. Thanks in advance for your help,
  1762.  
  1763. John Sovereign        lll-lcc!unisoft!john        415/644-1230
  1764.  
  1765. Volume-Number: Volume 9, Number 40
  1766.  
  1767. From jsq  Sat Jan 31 16:24:56 1987
  1768. From: std-unix@sally.utexas.edu (Moderator, John Quarterman)
  1769. Newsgroups: mod.std.unix
  1770. Subject: article headers
  1771. Message-Id: <7020@ut-sally.UUCP>
  1772. Sender: std-unix@ut-sally.UUCP
  1773. Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
  1774. Date: 31 Jan 87 22:24:42 GMT
  1775. Draft-9: mod.std.unix
  1776.  
  1777. There has long been a controversy over what should appear in the From:
  1778. header line of articles in a moderated newsgroup.  There is of late
  1779. a larger group wanting that line to contain an address of the original
  1780. submittor, rather than of the moderator.  There has even been some
  1781. discussion of the pros and cons in the moderators' mailing list.
  1782.  
  1783. So, I'm going to try it and see what happens.  Reactions are solicited.
  1784.  
  1785. I'll point out one implication at the outset:
  1786.  
  1787. There is no single address format that will be acceptable everywhere
  1788. these articles are received.  This is partly because the newsgroup
  1789. mostly goes to places where host!user makes sense while the mailing
  1790. list mostly goes to places where user@domain makes sense.  What I
  1791. will put in the From: line will be whatever the submittor supplied.
  1792. Don't be surprised if an attempt at replying directly fails.
  1793.  
  1794. John S. Quarterman
  1795. moderator, mod.std.unix
  1796. Submissions to:     std-unix@sally.utexas.edu        ut-sally!std-unix
  1797. Comments to:  std-unix-request@sally.utexas.edu ut-sally!std-unix-request
  1798.  
  1799. Volume-Number: Volume 9, Number 41
  1800.  
  1801. From jsq  Sun Feb  1 15:45:30 1987
  1802. From: Mark Horton <cbosgd!mark@seismo.css.gov>
  1803. Newsgroups: mod.std.unix
  1804. Subject: Re: node name
  1805. Message-Id: <7036@ut-sally.UUCP>
  1806. References: <6788@ut-sally.UUCP> <6977@ut-sally.UUCP>
  1807. Sender: std-unix@ut-sally.UUCP
  1808. Date: 31 Jan 87 22:07:15 GMT
  1809. Draft-9: 4.4
  1810.  
  1811. >From: seismo!gatech!hpcnof!hpfcla!hpfcdc!rml (Bob Lenk)
  1812. >
  1813. >> From: cbosgd!mark@seismo.css.gov (Mark Horton)
  1814. >> 
  1815. >> While P.1003 does not restrict implementations to SYS_NMLN=9 (including
  1816. >> the null) it requires that all 5 fields support the full length.
  1817. >> I don't know of any way to increase SYS_NMLN while maintaining binary
  1818. >> compatibility with older programs, which is a typical requirement.
  1819. >
  1820. >Since the publication of the trial use standard, the working group has
  1821. >agreed to drop the constant SYS_NMLN and any requirement that all
  1822. >five fields be the same length.  All fields are now specified simply
  1823. >as null-terminated character arrays.
  1824.  
  1825. Does the new standard still allow an implementation whose nodename field
  1826. holds only 9 characters?  If so, I predict that the binary compatibility
  1827. issue will be so overwhelming that vendors will not increase this size,
  1828. and systems will continue to be unable to handle networks properly.
  1829.  
  1830. > Increasing the length can still cause binary compatibility problems, but
  1831. > there are (ugly) ways of dealing with binary compatibility.
  1832.  
  1833. > From: guy%gorodish@Sun.COM (Guy Harris)
  1834.  
  1835. > Most, if not all, implementations based on UNIX could just assign a
  1836. > new system call number to a new improved "uname" and leave the old
  1837. > one around with its old number for binary compatibility.  You can
  1838. > write a library that contains a "uname" that uses the old call, or
  1839. > uses the new call and throws away the extra characters.
  1840.  
  1841. Generally, you have to be upward compatible in three ways:
  1842. (1) source code compatible: easy, just fix <utsname.h>
  1843. (2) binary a.out compatible: ugly but easy, change the system call number
  1844. (3) binary .o compatible: oops - how do you handle this one?
  1845.     An existing library libfoo.a can call uname.  You relink the
  1846.     old library with the new libc, getting the new system call
  1847.     number with the old include file.  I don't see any way to tell
  1848.     old .o's from new .o's, since uname does not pass the size
  1849.     of the structure or any other distinguishing information.
  1850.     (You could change the .o format/version, and teach the linker to know
  1851.     about uname and which .o format/version gets which version of uname,
  1852.     but that's a pretty horrible thought.)
  1853.  
  1854. >From: seismo!gatech!hpcnof!hpfcla!hpfcdc!rml (Bob Lenk)
  1855.  
  1856. >If we use such an approach, we still need to specify a symbolic constant
  1857. >(in <limits.h>) for the maximum length of a hostname on an
  1858. >implementation, so that applications don't need to deal with having
  1859. >truncated names returned to them.
  1860.  
  1861. Of course - like any array, you should specify a minimum maximum,
  1862. and put the size in <limits.h>.  (Although Bob Lenk's note sounds like
  1863. the new version of uname doesn't have sizes for the 5 arrays, I hope
  1864. I just misunderstand what it really says.)  One nice thing about
  1865. gethostbyname, however, is that, since it passes the size at runtime,
  1866. it doesn't really matter what the minimum maximum is, except that if
  1867. system or user specifies a small number like 8, you'll lose information.
  1868.  
  1869. >Uname handles this by the inclusion
  1870. >of the string within a structure.  Given that, the only difference from
  1871. >uname is the existence of other fields.  For binary compatibilty, I
  1872. >don't see much difference between an implementation having two calls
  1873. >both called "uname" or one called "uname" and the other called
  1874. >"gethostname", which return names of different lengths.
  1875.  
  1876. There are several differences:
  1877.  
  1878. (1) uname has 4 other fields, of marginal use for inclusion in POSIX.
  1879.     I doubt any implementation would provide a call called "uname"
  1880.     that supports only one field, even if POSIX allowed it.
  1881.  
  1882. (2) uname does not pass the size of the structure as another parameter.
  1883.  
  1884. (3) the traditional (and easily compatible) implementation of uname
  1885.     only allows 8 chars in the node name.  Since SYS_NMLN is new to
  1886.     POSIX, there is a lot of code out there that has the number 8
  1887.     hardwired into it, especially in buffers used to store the name.
  1888.     My SVr3 manual still tells me that the fields are 9 bytes long,
  1889.     and I'll bet lots of programmers believe that instead of checking
  1890.     the SVID and POSIX standards.
  1891.  
  1892. (4) Because of (1) and (2), there is no easy way to grow the length
  1893.     of any one field without superhuman binary compatibility efforts.
  1894.     Ditto for adding new fields.  Any multi-field table lookup system
  1895.     call ought to be extensible, which means it ought to pass info at
  1896.     runtime about which items it wants, and the sizes of the buffers
  1897.     provided to copy these items into.
  1898.  
  1899. I as a user would be satisfied if you were to require that the uname
  1900. call support at least 256 characters of node name (and, of course, that
  1901. the actual size be in <limits.h>.)  I almost said 64 characters, but
  1902. then I thought of OSI and wanted to be safe. I could immediately write
  1903. code to implement gethostname in terms of uname.  But the result would
  1904. be awfully unclean for the users (having to declare a structure and copy,
  1905. having to fix existing code not to know the number 8) and would be an
  1906. incredible mess for the people stuck supporting binary compatibility.  (Let's
  1907. see now, the C compiler is unbundled from the kernel, so we have to make
  1908. sure we put out a new ld in the right places, and have to ensure that
  1909. <utsname.h> is the new version if you have the new loader and the new
  1910. kernel, and ...  Do we want to require this in a standard without someone
  1911. implementing it first to find the gotchas?)
  1912.  
  1913. The current uname is inadequate for modern networks.  There is no way
  1914. to make it adequate without requiring that nodename be made bigger.
  1915. There is no way to make the nodename bigger without considerable
  1916. uglyness and kludging, some of which will be visible to the users.
  1917.  
  1918. It would be far cleaner and simpler, with far less upheaval among
  1919. implementors and users, to put in gethostname, which does exactly
  1920. what is needed, and is already present in 4.2BSD and AT&T's WIN/3B
  1921. TCP/IP package.  uname could continue to exist, in its old form, for
  1922. upward compatibility, but it would return a truncated host name
  1923. (or else the above superhuman efforts could be undertaken by the
  1924. system developers to return a full host name.)  I see no reason to
  1925. require these superhuman efforts with ugly results in POSIX.
  1926.  
  1927.     Mark Horton
  1928.  
  1929. Volume-Number: Volume 9, Number 42
  1930.  
  1931. From jsq  Sun Feb  1 16:03:29 1987
  1932. From: Rick Adams <rick@seismo.css.gov>
  1933. Newsgroups: mod.std.unix
  1934. Subject: Re: 1003.2 Command Groups
  1935. Summary: documenting uucp protocols
  1936. Message-Id: <7037@ut-sally.UUCP>
  1937. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP> <7002@ut-sally.UUCP>
  1938. Sender: std-unix@ut-sally.UUCP
  1939. Organization: Center for Seismic Studies, Arlington, VA
  1940. Date: 1 Feb 87 21:27:02 GMT
  1941. Draft-9: 1003.2.Command.Groups
  1942.  
  1943. Lack of documention of the uucp protocols should not be enough to
  1944. keep it out of the standard.
  1945.  
  1946. I could document all of the necessary uucp protocols, file formats, etc
  1947. WITHOUT violating ATT trade secrets or looking at the source.
  1948. (The debugging output, a line monitor and cating the files in the spool
  1949. directory provide all of the information necessary)
  1950.  
  1951. Documenting the 't' and 'f' protocols is trivial because it's not att
  1952. code.
  1953.  
  1954. However, documenting the 'g' protocol would be a royal bitch without looking
  1955. at the source code.
  1956.  
  1957. It seems that it would be in ATT's interest to have uucp part of the standard,
  1958. so it seems reasonable that they would be willing to give permission to
  1959. document the 'g' protocol by looking at the source. I can't conceive of
  1960. any competitive loss to them by documenting the 'g' protocol.
  1961.  
  1962. If IEEE can get ATT's permission and would want to add the uucp programs
  1963. to the standard, I'll document the protocols.
  1964.  
  1965. ---rick
  1966.  
  1967. Volume-Number: Volume 9, Number 43
  1968.  
  1969. From jsq  Mon Feb  2 10:15:39 1987
  1970. From: Mark Horton <mark%cbosgd.UUCP@sally.utexas.edu>
  1971. Newsgroups: mod.std.unix
  1972. Subject: Re: 1003.2 Command Groups
  1973. Message-Id: <7044@ut-sally.UUCP>
  1974. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP> <6978@ut-sally.UUCP> <7002@ut-sally.UUCP>
  1975. Sender: std-unix@ut-sally.UUCP
  1976. Organization: AT&T Medical Information Systems, Columbus
  1977. Date: 1 Feb 87 21:32:16 GMT
  1978. Draft-9: 1003.2.Command.Groups
  1979.  
  1980. As far as I am aware, the details of the UUCP protocol are not
  1981. considered a trade secret by AT&T, although the UNIX software
  1982. that implements that protocol certainly is.  I think it's more
  1983. a matter of nobody taking the time to write it down.
  1984.  
  1985. I saw a detailed description of the UUCP protocol go by on the
  1986. comp.mail.uucp newsgroup the other day.  It appeared to be
  1987. deduced from "black box" treatment, except that the "g" protocol
  1988. document was written by its author: Greg Chesson.  (I don't know
  1989. the release status of that document, only that it seems to be
  1990. generally available, since it was posted to Usenet by someone who
  1991. is not associated with AT&T.)
  1992.  
  1993. In any case, the protocol evidently IS documented, and this documentation
  1994. is generally available.  If there is interest in standardizing UUCP,
  1995. I doubt AT&T will object, and their representatives on the POSIX
  1996. committee will have every opportunity to do so if I'm wrong.
  1997.  
  1998. Personally, I feel that UUCP ought to be standardized, but not as
  1999. part of the base system, but as an optional extension.  I think that
  2000. market demands will be sufficient to require most vendors to support
  2001. it, but they will be unable to without an appropriate standard unless
  2002. they use AT&T derived code.  We may feel that UUCP will be dead in a
  2003. few years, but I seem to recall that Mike Lesk described UUCP as a
  2004. quick kludge to get us by until we all had real networks (and he said this
  2005. in 1978.)
  2006.  
  2007.     Mark
  2008.  
  2009. Volume-Number: Volume 9, Number 44
  2010.  
  2011. From jsq  Tue Feb  3 23:11:48 1987
  2012. From: arnold@emory.arpa (Arnold, D., Robbins, {EUCC},)
  2013. Newsgroups: mod.std.unix
  2014. Subject: Re: 1003.2 Command Groups (Really UUCP protocol)
  2015. Message-Id: <7062@ut-sally.UUCP>
  2016. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP> <7002@ut-sally.UUCP> <7037@ut-sally.UUCP>
  2017. Sender: std-unix@ut-sally.UUCP
  2018. Reply-To: "Arnold, D., Robbins, {EUCC}", <arnold@emory.arpa>
  2019. Organization: Math & Computer Science, Emory University, Atlanta
  2020. Date: 3 Feb 87 22:42:28 GMT
  2021. Draft-9: 1003.2.Command.Groups.UUCP
  2022.  
  2023. In article <7037@ut-sally.UUCP> rick@seismo.css.gov (Rick Adams) writes:
  2024. >Lack of documention of the uucp protocols should not be enough to
  2025. >keep it out of the standard.
  2026. >
  2027. >I could document all of the necessary uucp protocols, file formats, etc
  2028. >WITHOUT violating ATT trade secrets or looking at the source.
  2029. >(The debugging output, a line monitor and cating the files in the spool
  2030. >directory provide all of the information necessary)
  2031. >
  2032. >Documenting the 't' and 'f' protocols is trivial because it's not att
  2033. >code.
  2034. >
  2035. >However, documenting the 'g' protocol would be a royal bitch without looking
  2036. >at the source code.
  2037.  
  2038. Maybe I'm missing something here. What is wrong with the following scenario:
  2039.  
  2040. 1) Rick Adams (or someone else) documents all the protocols, even if he has
  2041.    to look at the source.
  2042. 2) He publishes said protocol definitions, without publishing a single line of
  2043.    source.
  2044. 3) Rick does NOT write any new code to implement the protocols.
  2045. 4) I (or someone else) take Rick's publication and using just that document,
  2046.    write brand new code to implement the protocol.
  2047.  
  2048. In other words, what is wrong with person A reading the code and publishing
  2049. just the protocol, person B using JUST the protocol to write code, and person A
  2050. not writing any code? After all, it seems everyone agrees that the protocols
  2051. themselves are not copyrighted by AT&T, just the code that implements them.
  2052. -- 
  2053. Arnold Robbins
  2054. CSNET:    arnold@emory    BITNET:    arnold@emoryu1
  2055. ARPA:    arnold%emory.csnet@csnet-relay.arpa
  2056. UUCP:    { akgua, decvax, gatech, sb1, sb6, sunatl }!emory!arnold
  2057.  
  2058. Volume-Number: Volume 9, Number 45
  2059.  
  2060. From jsq  Tue Feb  3 23:24:41 1987
  2061. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  2062. Newsgroups: mod.std.unix
  2063. Subject: Re: excludes vi in standard
  2064. Message-Id: <7063@ut-sally.UUCP>
  2065. References: <6973@ut-sally.UUCP>
  2066. Reply-To: linus!axiom!adelie!cdx39!jc@decvax.UUCP (John M. Chambers)
  2067. Date: 3 Feb 87 19:11:57 GMT
  2068. Draft-9: 1003.2.vi
  2069.  
  2070. Actually, every Unix has four editors.  You forgot 'sed'.
  2071.  
  2072. ---
  2073.     John M Chambers            Phone: 617/364-2000x7304
  2074. Email: ...{adelie,bu-cs,harvax,inmet,mcsbos,mit-eddie,mot[bos]}!cdx39!{jc,news,root,usenet,uucp}
  2075. Smail: Codex Corporation; Mailstop C1-30; 20 Cabot Blvd; Mansfield MA 02048-1193
  2076.  
  2077. Volume-Number: Volume 9, Number 46
  2078.  
  2079. From jsq  Wed Feb  4 09:27:22 1987
  2080. From: <colonel%sunybcs%math.waterloo.edu@relay.cs.net>
  2081. Newsgroups: mod.std.unix
  2082. Subject: ditroff escapes
  2083. Keywords: iso latin
  2084. Message-Id: <7067@ut-sally.UUCP>
  2085. Sender: std-unix@ut-sally.UUCP
  2086. Reply-To: colonel%sunybcs%math.waterloo.edu@relay.cs.net
  2087. Organization: Jack of Clubs Precision Instruments
  2088. Date: 3 Feb 87 15:04:49 GMT
  2089. Draft-9: internat.ditroff
  2090.  
  2091. >From: colonel@sunybcs.UUCP (Col. G. L. Sicherman)
  2092.  
  2093. [ I'm not sure whether this is the right newsgroup for this,
  2094. but let's see what sort of response it gets.  -mod ]
  2095.  
  2096. To forestall bash-paren madness, why don't we agree on some ditroff
  2097. escape sequences for the ISO Latin 8-bit set?
  2098.  
  2099. One issue was discussed in net.internat a while ago... People seem
  2100. to prefer to read top-to-bottom, so for example
  2101.                     ,
  2102.     \('o    for o
  2103. but    \(c,    for c
  2104.             '
  2105. What about the non-alphabetics?  And how do people feel about \(ss
  2106. vs. \(sz?
  2107. -- 
  2108. Col. G. L. Sicherman
  2109. UU: ...{rocksvax|decvax}!sunybcs!colonel
  2110. CS: colonel@buffalo-cs
  2111. BI: colonel@sunybcs, csdsiche@ubvms
  2112.  
  2113. Volume-Number: Volume 9, Number 47
  2114.  
  2115. From jsq  Thu Feb  5 00:31:36 1987
  2116. From: Donn Terry <donn@hpfcdc.uucp>
  2117. Newsgroups: mod.std.unix
  2118. Subject: Re:  Weirdnix
  2119. Message-Id: <7081@ut-sally.UUCP>
  2120. Sender: std-unix@ut-sally.UUCP
  2121. Reply-To: hpscda!hpccc!hpfcla!hpfcdc!donn@seismo.UUCP (Donn Terry)
  2122. Date: 3 Feb 87 21:36:57 GMT
  2123. Draft-9: Weirdnix
  2124.  
  2125. [ The results of the Weirdnix contest (to find legal misinterpretations
  2126. of the POSIX Trial Use Standard) were announced at the USENIX Conference
  2127. a couple of weeks ago in Washington, D.C., by me and Jim McGinness.
  2128. Unfortunately, we did not have the full text of the winning entries
  2129. at the time.  However, I promised to post them here.  Donn Terry,
  2130. the P1003 co-chair and an originator of the contest, has supplied
  2131. them in this posting.  -mod ]
  2132.  
  2133. The Weirdnix winners' proposals appear below. 
  2134.  
  2135. The winner in the most serious category was Paul Gootherts of HP.
  2136.  
  2137. Problem:
  2138.     The definition of sleep() is inconsistent.
  2139.  
  2140. Explanation:
  2141.     "The value returned by the sleep() function shall be the unslept
  2142.     amount (the requested time minus the time actually slept)."
  2143.     [Para 3.4.3.3]
  2144.  
  2145.     "The suspension time may be longer than requested by an
  2146.     arbitrary amount due to the scheduling of other activity in the
  2147.     system."
  2148.     [Para 3.4.3.2]
  2149.  
  2150.     Since the time actually slept can be greater than the time
  2151.     requested, the value returned could be negative.  However,
  2152.     sleep() returns an unsigned int.
  2153.     [Para 3.4.3.1]
  2154.  
  2155. Proposal:
  2156.     Sleep() could be changed to return a signed int.  This is nice
  2157.     because the process that called it could get some idea of how
  2158.     "late" the alarm came.
  2159.  
  2160.     Alternatively, the routine could be documented to return zero if
  2161.     the actual time was greater than the requested time.
  2162.  
  2163. Paul Gootherts
  2164. Hewlett Packard, ITG/ISO/HP-UX, hpda!pdg
  2165.  
  2166. ------------------------------------------------------------------------
  2167. In the most demented category:
  2168.  
  2169. >From Michael Gersten.  (michael@stb from what I can determine from the
  2170. mixed address I have; as I write this I havn't succeeded in contacting
  2171. him yet.)  (Michael: please write me at hplabs!hpfcla!donn.)
  2172.  
  2173.  
  2174. Ok, let's look at read() and write().
  2175. 1. There is no requirement that anything written will be available for a
  2176. read().
  2177. 2. There is no requirement that read/write return everything that they can.
  2178.  
  2179. In general, you can't require this. The terminal lines are a good example; 
  2180. writing to a terminal will not result in it being readable; the terminal
  2181. drivers only return a line at a time no matter how much is requested. Or
  2182. at least, that's what the docs say (I've never actually tested it, but it
  2183. seems that if it were false, then type-ahead would not work as well.)
  2184.  
  2185. In general, it is probably safe to require that anything written to a file
  2186. should be available to a subsequent read provided that the read is done on
  2187. a file descriptor corresponding to the same name, or a link to the same
  2188. named file that was written to, all providing that it is a regular file.
  2189. Certainly not for device or special files.
  2190.  
  2191. Incidently, don't think that 2 is obvious; my first unix programs assumed
  2192. that the O/S would return a number of bytes so that the reads would be
  2193. re-aligned on a 512 byte boundary, and that I had to call read() multiple
  2194. times until I had gotten everything. I was quite suprised to find that
  2195. other people had written stuff that did not do this, and even more
  2196. suprised to find that it actually worked. No :-)
  2197.  
  2198.         Michael Gersten
  2199.  
  2200. Volume-Number: Volume 9, Number 48
  2201.  
  2202. From jsq  Fri Feb  6 10:19:58 1987
  2203. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  2204. Newsgroups: mod.std.unix,comp.unix.questions
  2205. Subject: Access to UNIX-Related Standards
  2206. Message-Id: <7091@ut-sally.UUCP>
  2207. Reply-To: std-unix@sally.utexas.edu
  2208. Date: 6 Feb 87 16:19:35 GMT
  2209. Draft-9: Access.Standards
  2210.  
  2211. This is the latest in a series of similar mod.std.unix articles.
  2212. I'm copying it to comp.unix.questions this time, as an experiment.
  2213. Notice that several addresses have changed, including Jim Isaak's,
  2214. those for SVID and X/OPEN, and /usr/group's ZIP code.
  2215. Corrections and additions to this article are solicited.
  2216.  
  2217.  
  2218. Access information is given in this article for the following standards:
  2219. IEEE 1003.1 (POSIX), 1003.2 (shell/tools), 1003.3 (verification)
  2220. /usr/group working groups on distributed file system, network interface,
  2221.     graphics/windows, database, internationalization,
  2222.     performance measurements, realtime, and security
  2223. X3H3.6 (display committee)
  2224. X3J11 (C language)
  2225. /usr/group Standard
  2226. System V Interface Definition (SVID, or The Purple Book)
  2227. X/OPEN PORTABILITY GUIDE (The Green Book)
  2228.  
  2229.  
  2230. UNIX is a Registered Trademark of AT&T.
  2231. POSIX is a trademark of the Institute of Electrical and Electronic
  2232.     Engineers, Inc.
  2233. X/OPEN is a licensed trademark of the X/OPEN Group Members.
  2234.  
  2235.  
  2236. The IEEE P1003 Portable Operating System for Computer Environments Committee
  2237. is sometimes known colloquially as the UNIX Standards Committee.
  2238. They have published the 1003.1 "POSIX" Trial Use Standard in April 1986.
  2239. According to its Foreword:
  2240.  
  2241.     The purpose of this document is to define a standard
  2242.     operating system interface and environment based on the
  2243.     UNIX Operating System documentation to support application
  2244.     portability at the source level.  This is intended for
  2245.     systems implementors and applications software developers.
  2246.  
  2247. Published copies are available at $19.95,
  2248. with bulk purchasing discounts available.
  2249. Call the IEEE Computer Society in Los Angeles
  2250.  
  2251.         714-821-8380
  2252.  
  2253. and ask for Book #967.  Or contact:
  2254.  
  2255.         IEEE Service Center
  2256.         445 Hoes Ln.
  2257.         Piscataway, NJ 08854
  2258.  
  2259. and ask for "IEEE 1003.1 Trial Use Standard" - stock number SH10546.
  2260.  
  2261. The Trial Use Standard will be available for comments for a period
  2262. such as a year.  The current target for a Full Use Standard is Fall 1987.
  2263. IEEE has initiated the process to have the 1003.1 effort brought into
  2264. the International Organization for Standardization (ISO) arena.
  2265.  
  2266. Machine readable copies of the Trial Use Standard are not and will 
  2267. not be available.  A machine-readable "representation" of a draft
  2268. between the Trial Use and Full Use Standards may be available when
  2269. it is ready (probably in 1987).
  2270.  
  2271. There is a paper mailing list by which interested parties may get
  2272. copies of drafts of the standard.  To get on it, or to submit comments
  2273. directly to the committee, mail to:
  2274.  
  2275.         James Isaak
  2276.         Chairperson, IEEE/CS P1003
  2277.         Digital Equipment    MK02-2/B05
  2278.         Continental Blvd.
  2279.         Merrimack, NH      03054-0403
  2280.         decvax!jim
  2281.         603-884-3692
  2282.  
  2283. Sufficiently interested parties may join the working group.
  2284.  
  2285. Related working groups are
  2286.     group    subject        co-chairs
  2287.     1003.2    shell and tools    Hal Jespersen (Amdahl), Don Cragun (Sun)
  2288.     1003.3    verification    Roger Martin (NBS), Carol Raye (AT&T)
  2289.  
  2290. Inquiries regarding 1003.2 and 1003.3 should go to the same address
  2291. as for 1003.1.
  2292.  
  2293.  
  2294. The next scheduled meetings of the P1003 working groups are, in 1987:
  2295.  
  2296. April    20-21  1003.[23]  King Edward Hotel, Toronto    Host:  IBM
  2297. April    22-24  1003.1     "
  2298.         (Just before the Canadian UNIX Conference)
  2299.     
  2300. June    22-23  1003.1  Seattle (changed from USENIX week in Phoenix to
  2301.          give us better 'working' attendance)    No Host yet
  2302. June    24-26  1003.[23]
  2303.  
  2304. Aug/Sept 31-4   East Coast Probably Washington DC area    No Host yet
  2305.  OR Sept 14-18    Boston (Same Time/loc as X3J11)
  2306. (Sept 7th is Labor day, and that week is ISO TC97 SC22 meeting in Wash DC)
  2307.  
  2308. There is also a balloting group (which intersects with the working group).
  2309. This is more difficult.  Contact the committee chair for details.
  2310. I will repost them in this newsgroup if there is sufficient interest.
  2311.  
  2312. Here are some details from Hal Jespersen regarding P1003.2:
  2313.  
  2314. The IEEE P1003.2 "Shell and Utilities" Working Group is developing a
  2315. proposed standard to complement the 1003.1 POSIX standard.  It will
  2316. consist of
  2317.  
  2318.     a shell command language (currently planned to be based on the
  2319.     Bourne Shell),
  2320.  
  2321.     groups of utility programs, or commands,
  2322.  
  2323.     programmatic interfaces to the shell (system(), popen()) and
  2324.     related facilities (regular expressions, file name expansion,
  2325.     etc.)
  2326.  
  2327.     defined environments (variables, file hierarchies, etc) that
  2328.     applications may rely upon
  2329.  
  2330. which will allow application programs to be developed out of existing
  2331. pieces, in the UNIX tradition.  The scope of the standard emphasizes
  2332. commands and features that are more typically used by shell scripts or
  2333. C language programs than those that are oriented to the terminal user
  2334. with windows, mice, visual shells, and so forth.
  2335.  
  2336. The group is currently seeking proposals for groupings of commands that
  2337. may be offered by implementors.  As groups are identified, command
  2338. descriptions will be solicited.  There is no requirement that the commands
  2339. be in System V or BSD today, but they should realistically be commands 
  2340. that are commonly found in most existing implementations.
  2341.  
  2342. Meetings are normally held in conjunction with the 1003.1 group and
  2343. have a large membership overlap.  Future meetings will generally be held
  2344. on the day or two preceding 1003.1.
  2345.  
  2346.  
  2347. There are three Institutional Representatives to P1003:  John Quarterman
  2348. from USENIX, Heinz Lycklama from /usr/group, and John Loman from X/OPEN.
  2349.  
  2350. As the one from USENIX, one of my functions is to get comments from the
  2351. USENIX membership and the general public to the committee.  One of the
  2352. ways I try to do that is by moderating this newsgroup (currently known
  2353. as mod.std.unix, eventually as comp.std.unix).  An article related to
  2354. this one appeared in the September/October 1986 ;login: (The USENIX
  2355. Association Newsletter).  I'm also currently on the USENIX Board of
  2356. Directors.  Comments, suggestions, etc., may be sent to
  2357.  
  2358.         John S. Quarterman
  2359.         TIC
  2360.         P.O. Box 14621
  2361.         Austin TX 78761
  2362.         512-837-7233
  2363.         usenix!jsq
  2364. For mod.std.unix:
  2365. Comments:    ut-sally!std-unix-request std-unix-request@sally.utexas.edu
  2366. Submissions:    ut-sally!std-unix        std-unix@sally.utexas.edu
  2367.  
  2368. The January/February 1987 issue of CommUNIXations (the /usr/group newsletter)
  2369. contains a report by Heinz Lycklama on the /usr/group Technical Committee
  2370. working groups which met in September 1986.
  2371.  
  2372. If you are interested in starting another working group, contact
  2373. Heinz Lycklama:
  2374.  
  2375.         Heinz Lycklama
  2376.         Interactive Systems Corp.
  2377.         2401 Colorado Ave., 3rd Floor
  2378.         Santa Monica, CA 90404
  2379.         (213)453-8649
  2380.         decvax!cca!ima!heinz
  2381.  
  2382.  
  2383. Here is contact information for /usr/group working groups as taken from
  2384. the CommUNIXations article mentioned above.
  2385.  
  2386. /usr/group Working Group on Distributed File System:
  2387.     Dave Buck
  2388.     D.L. Buck & Associates, Inc.
  2389.     6920 Santa Teresa Bldg, #108
  2390.     San Jose, CA 95119
  2391.     (408)972-2825
  2392.  
  2393. /usr/group Working Group on Network Interface:
  2394.     Gil McGrath
  2395.     AT&T Information Systems
  2396.     (201)522-6182
  2397.  
  2398. /usr/group Working Group on Internationalization:
  2399.     Karen Barnes
  2400.     Hewlett-Packard Co.
  2401.     19447 Pruneridge Ave.
  2402.     M/S 47U2
  2403.     Cupertino, CA 95014
  2404.     (408) 725-8111, ext 2438
  2405.  
  2406. /usr/group Working Group on Graphics/Windows:
  2407.     Tom Greene
  2408.     Apollo Computer, Inc.
  2409.     (617)256-6600
  2410.  
  2411. /usr/group Working Group on Realtime:
  2412.     Bill Corwin
  2413.     Intel Corp.
  2414.     5200 Elam Young Pkwy
  2415.     Hillsboro, OR 97123
  2416.     (503)681-2248
  2417.  
  2418. /usr/group Working Group on Database:
  2419.     Val Skalabrin
  2420.     Unify Corp.
  2421.     1111 Howe Ave.
  2422.     Sacramento, CA 95825
  2423.     (916)920-9092
  2424.  
  2425. /usr/group Working Group on Performance Measurements:
  2426.     Ram Celluri            Dave Hinant
  2427.     AT&T Computer Systems        SCI Systems, Inc.
  2428.     Room E15B            Ste 325, Pamlico Bldg
  2429.     4513 Western Ave.        Research Triangle Pk, NC 27709
  2430.     Lisle, IL 60532            (919)549-8334
  2431.     (312)810-6223
  2432.  
  2433. /usr/group Working Group on Security:
  2434.     Steve Sutton
  2435.     Computer Systems Div.
  2436.     Gould Inc.
  2437.     1101 East University
  2438.     Urbana, IL 61801
  2439.     (217)359-0700
  2440.  
  2441.  
  2442. The X3H3.6 display management committee has recently formed to develop
  2443. a model to support current and future window management systems, yet
  2444. is not based directly on any existing system.  The chair solicits
  2445. help and participation:
  2446.  
  2447.         Georges Grinstein
  2448.         wanginst!ulowell!grinstein
  2449.  
  2450.  
  2451. The Abstract of the 1003.1 Trial Use Standard adds:
  2452.  
  2453.     This interface is a complement to the C Programming Language
  2454.     in the C Information Bulletin prepared by Technical Committee X3J11
  2455.     of the Accredited Standards Committee X3, Information Processing
  2456.     Systems, further specifying an environment for portable application
  2457.     software.
  2458.  
  2459. X3J11 is sometimes known as the C Standards Committee.  Their liaison to
  2460. P1003 is
  2461.  
  2462.         Don Kretsch
  2463.         AT&T
  2464.         190 River Road
  2465.         Summit, NJ 07901
  2466.  
  2467. A contact for information regarding publications and working groups is
  2468.  
  2469.         Thomas Plum
  2470.         Vice Chair, X3J11 Committee
  2471.         Plum Hall Inc.
  2472.         1 Spruce Avenue
  2473.         Cardiff, New Jersey 08232
  2474.  
  2475. The current document may be ordered from
  2476.  
  2477.         Global Press
  2478.         2625 Hickory St.
  2479.         P.O. Box 2504
  2480.         Santa Anna, CA 92707-3783
  2481.         U.S.A.
  2482.         800-854-7179
  2483.         +1-714-540-9870 (from outside the U.S., ask for extension 245.)
  2484.         TELEX 692 373
  2485.  
  2486. who know X3J11 as X3.159.  The price is $65.
  2487.  
  2488.  
  2489. The /usr/group Standard is a principal ancestor of P1003.1, X/OPEN,
  2490. and possibly even X3J11:
  2491.  
  2492.         /usr/group Standards Committee
  2493.         4655 Old Ironsides Drive, Suite 200
  2494.         Santa Clara, California 95054
  2495.         (408)986-8840
  2496.  
  2497. The price is still $15.00.
  2498.  
  2499.  
  2500. The System V Interface Definition (The Purple Book, or SVID).
  2501. This is the AT&T standard and is one of the most frequently-used
  2502. references of the IEEE 1003 committee.
  2503.  
  2504.         AT&T Customer Information Center
  2505.         Attn:  Customer Service Representative
  2506.         P.O. Box 19901
  2507.         Indianapolis, IN 46219
  2508.         U.S.A.
  2509.  
  2510.         800-432-6600 (Inside U.S.A.)
  2511.         800-255-1242 (Inside Canada)
  2512.         317-352-8557 (Outside U.S.A. and Canada)
  2513.  
  2514.     System V Interface Definition, Issue 2
  2515.     should be ordered by the following select codes:
  2516.  
  2517.     Select Code:    Volume:        Topics:
  2518.     320-011        Volume I    Base System
  2519.                     Kernel Extension
  2520.     320-012        Volume II    Basic Utilities Extension
  2521.                     Advanced Utilities Extension
  2522.                     Software Development Extension
  2523.                     Administered System Extension
  2524.                     Terminal Volume Interface Extension
  2525.     320-013        Volume III    Base System Addendum
  2526.                     Terminal Interface Extension
  2527.                     Network Services Extension
  2528.     307-131        I, II, III    (all three volumes)
  2529.  
  2530. The price is about 37 U.S. dollars for each volume or $84 for all three.
  2531. Major credit cards are accepted for telephone orders:  mail orders
  2532. should include a check or money order, payable to AT&T.
  2533.  
  2534.  
  2535. The X/OPEN PORTABILITY GUIDE (The Green Book)
  2536. is another reference frequently used by IEEE 1003.
  2537.  
  2538. The X/OPEN Group is "Ten of the world's major information system
  2539. suppliers" (currently Bull, DEC, Ericsson, Hewlett-Packard, ICL,
  2540. NIXDORF, Olivetti, Philips, Siemens, Unisys, and AT&T) who have
  2541. produced a document intended to promote the writing of portable
  2542. facilities.  They closely follow both SVID and POSIX, and cite
  2543. the /usr/group standard as contributing, but X/OPEN's books
  2544. cover a wider area than any of those.
  2545.  
  2546. The book is published by
  2547.  
  2548.         Elsevier Science Publishers B.V.
  2549.         Book Order Department
  2550.         P.O. Box 1991
  2551.         1000 BZ Amsterdam
  2552.         The Netherlands
  2553.  
  2554. and distributed in the U.S.A. and Canada by:
  2555.  
  2556.         Elsevier Science Publishing Company, Inc.
  2557.         52 Vanderbilt Avenue
  2558.         New York, NY 10017
  2559.         U.S.A.
  2560.  
  2561. There are currently five volumes:
  2562.     1) System V Specification Commands and Utilities
  2563.     2) System V Specification System Calls and Libraries
  2564.     3) System V Specification Supplementary Definitions
  2565.     4) Programming Languages
  2566.     5) Data Management
  2567.  
  2568. They take a large number of credit cards and other forms of payment.
  2569.  
  2570.  
  2571. Volume-Number: Volume 9, Number 49
  2572.  
  2573. From jsq  Fri Feb  6 16:03:55 1987
  2574. From: John Chambers <jc%cdx39.UUCP@sally.utexas.edu>
  2575. Newsgroups: mod.std.unix
  2576. Subject: Re: 1003.2 Command Groups && Are we standardizing Unix or not?
  2577. Message-Id: <7096@ut-sally.UUCP>
  2578. References: <6881@ut-sally.UUCP> <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6975@ut-sally.UUCP>
  2579. Sender: std-unix@ut-sally.UUCP
  2580. Reply-To: jc@cdx39.UUCP (John Chambers)
  2581. Organization: Codex Corp, a division of Motorola; Canton, MA, USA
  2582. Date: 3 Feb 87 17:11:30 GMT
  2583. Draft-9: 1003.2.Command.Groups.UUCP
  2584.  
  2585. Hey, has anyone ever asked the nice folks at AT&T whether they'd be willing 
  2586. to publish specs for UUCP's protocol?  It seems likely that they just might 
  2587. do it, at least for the 'g' and 'f' protocols.  If they are really serious 
  2588. about wanting us to consider Sys/V "the Standard", it seems that it would be
  2589. in their interests to make it in fact the standard.  Maybe they would even
  2590. be willing to let the IEEE (1003.7?) publish the specs. 
  2591.  
  2592. It seems like it oughta be worth at least an inquiry or three.
  2593.  
  2594. -- 
  2595.     John M Chambers            Phone: 617/364-2000x7304
  2596. Email: ...{adelie,bu-cs,harvax,inmet,mcsbos,mit-eddie,mot[bos]}!cdx39!{jc,news,root,usenet,uucp}
  2597. Smail: Codex Corporation; Mailstop C1-30; 20 Cabot Blvd; Mansfield MA 02048-1193
  2598.  
  2599. Volume-Number: Volume 9, Number 50
  2600.  
  2601. From jsq  Sat Feb  7 13:22:26 1987
  2602. From: std-unix%ut-sally.UUCP@sally.utexas.edu (Moderator, John Quarterman)
  2603. Newsgroups: mod.std.unix,comp.org.usenix
  2604. Subject: Access to UNIX User Groups and Publications
  2605. Message-Id: <7106@ut-sally.UUCP>
  2606. Date: 7 Feb 87 19:22:16 GMT
  2607. Draft-9: Access.User.Groups
  2608.  
  2609. This is the latest in a series of similar mod.std.unix articles.
  2610. This time, I'm cross-posting it to comp.org.usenix to see what happens.
  2611. Corrections and additions to this article are solicited.
  2612.  
  2613.  
  2614. Access information is given in this article for the following:
  2615. user groups:    USENIX, /usr/group, EUUG, AUUG, DECUS
  2616. newsletters:    ;login:, CommUNIXations, EUUG, AUUGN
  2617. magazines:    UNIX REVIEW, UNIX/WORLD
  2618.  
  2619. UNIX is a Registered Trademark of AT&T.
  2620.  
  2621.  
  2622. USENIX is "The Professional and Technical UNIX(R) Association."
  2623.  
  2624.         USENIX Association
  2625.         P.O. Box 7
  2626.         El Cerrito, CA 94530
  2627.         415-528-8649
  2628.         {ucbvax,decvax}!usenix!office
  2629.  
  2630. USENIX sponsors two USENIX Conferences a year, featuring technical papers,
  2631. as well as tutorials, and with vendor exhibits at the summer conferences:
  2632.  
  2633.     Jun  8-12 1987 Hyatt Regency, Phoenix, AZ
  2634.     Feb 10-12 1988 Registry Hotel, Dallas, TX, concurrent with Uniforum
  2635.     Jun 21-24 1988 Hilton Hotel, San Francisco, CA
  2636.     Feb  1- 3 1989 Town and Country Hotel, San Diego, CA
  2637.     Jun 13-16 1989 Hyatt Regency, Baltimore, MD
  2638.     Jun 11-15 1990 Marriott Hotel, Anaheim, CA
  2639.  
  2640. They also sponsor workshops, such as
  2641.     Apr  9-10 1987 Palace Hotel, Philadelphia, PA
  2642.         Large Installation System Administrator's Workshop
  2643.     Oct  8- 9 1987 Cambridge Marriott, Cambridge, MA
  2644.         4th USENIX Computer Graphics Workshop
  2645.  
  2646. Proceedings for all conferences and workshops are available at
  2647. the door and by mail later.
  2648.  
  2649. USENIX publishes ";login:  The USENIX Association Newsletter"
  2650. bimonthly.  It is sent free of charge to all their members and
  2651. includes technical papers.  There is a USENET newsgroup,
  2652. comp.org.usenix, for discussion of USENIX-related matters.
  2653.  
  2654. They also publish an edition of the 4.3BSD manuals, and they
  2655. occasionally sponsor experiments, such as methods of improving
  2656. the USENET and UUCP networks, that are of interest and use to
  2657. the membership.  They also distribute tapes of contributed software
  2658. and are pursuing expanding that activity.
  2659.  
  2660. There is a USENIX Institutional Representative on the IEEE P1003
  2661. Portable Operating System for Computer Environments Committee.
  2662. That representative also moderates the USENET newsgroup mod.std.unix,
  2663. which is for discussion of UNIX-related standards, especially P1003.
  2664. For more details, see the posting in mod.std.unix about Access
  2665. to UNIX-Related Standards.
  2666.  
  2667.  
  2668. /usr/group is "the commercially oriented UNIX system users organization."
  2669.  
  2670.         /usr/group
  2671.         4655 Old Ironsides Drive, Suite 200
  2672.         Santa Clara, California 95054
  2673.         408-986-8840
  2674.  
  2675. The annual UniForum Conferences are sponsored by /usr/group and feature
  2676. a large trade show, as well as tutorials and technical sessions.
  2677.  
  2678.     Feb 10-12 1988 Infomart, Dallas, TX, concurrent with USENIX
  2679.     March      1989 San Francisco
  2680.     Winter      1990 Washington, D.C.
  2681.  
  2682. They have also started a regional show:
  2683.  
  2684.     August      1988 Washington, D.C.
  2685.  
  2686. /usr/group publishes a bimonthly newsletter called CommUNIXations,
  2687. which includes much current industry news.
  2688.  
  2689. They also publish the UNIX Products Directory, which offers
  2690. information on UNIX-related products.
  2691.  
  2692. /usr/group has long been deeply involved in UNIX standardization,
  2693. having sponsored the /usr/group Standard, providing an Institutional
  2694. Representative to the IEEE P1003 Portable Operating System for Computer
  2695. Environments Committee, and sponsoring the /usr/group Working Groups
  2696. on areas that P1003 has not yet addressed.  For more details, see the
  2697. posting about Access to UNIX-Related Standards.
  2698.  
  2699.  
  2700. EUUG is the European UNIX systems Users Group.
  2701.  
  2702.         EUUG secretariat
  2703.         Owles Hall
  2704.         Buntingford
  2705.         Herts SG9 9PL
  2706.         England
  2707.         seismo!mcvax!euug
  2708.  
  2709. They have a newsletter and hold two conferences a year.
  2710.  
  2711.  
  2712. AUUG is the Australian UNIX systems users Group.
  2713.  
  2714.         AUUG
  2715.         P.O. Box 366
  2716.         Kensington
  2717.         N.S.W.    2033
  2718.         Australia
  2719.  
  2720.         seismo!munnari!auug
  2721.         auug@munnari.oz.au
  2722.  
  2723. Phone contact can occasionally be made at +61 3 344 5225
  2724.  
  2725. AUUG holds biennial conferences, usually of 2 days each:
  2726. the next one will probably be in late February 1986.
  2727. They publish a newsletter (AUUGN) at a frequency defined
  2728. to be every 2 months.
  2729.  
  2730.  
  2731. There are similar groups in other parts of the world, such as Japan and
  2732. Korea.  If such a group wishes to be included in later versions of this
  2733. access list, they should please send me information.
  2734.  
  2735.  
  2736. Also, DECUS, the Digital Equipment Computer Users Society,
  2737. has a UNIX SIG (Special Interest Group) which participates
  2738. in its meetings, which are held twice a year.  The next
  2739. one will be in Nashville, Tennessee, 27 April - 1 May 1987.
  2740.  
  2741.         DECUS U.S. Chapter
  2742.         219 Boston Post Road, BP02
  2743.         Marlboro, Massachusetts  01752-1850
  2744.         617-480-3418
  2745.  
  2746. See also the USENET newsgroup comp.org.decus.
  2747.  
  2748.  
  2749. The two main general circulation magazines about the UNIX system are
  2750.  
  2751.     UNIX REVIEW            UNIX/WORLD
  2752.     Miller Freeman Publications Co.    Tech Valley Publishing
  2753.     500 Howard Street        444 Castro St.
  2754.     San Francisco, CA 94105        Mountain View, CA 94041
  2755.     415-397-1881            415-940-1500
  2756.  
  2757.  
  2758. Volume-Number: Volume 9, Number 51
  2759.  
  2760. From jsq  Sun Feb  8 10:35:59 1987
  2761. From: Mike Tilson <mike%hcr.UUCP@sally.utexas.edu>
  2762. Newsgroups: mod.std.unix
  2763. Subject: Re: 1003.2 Command Groups (Really UUCP protocol)
  2764. Message-Id: <7110@ut-sally.UUCP>
  2765. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP> <7002@ut-sally.UUCP> <7037@ut-sally.UUCP> <7062@ut-sally.UUCP>
  2766. Sender: std-unix@ut-sally.UUCP
  2767. Reply-To: mike@hcr.UUCP (Mike Tilson)
  2768. Date: 7 Feb 87 07:57:31 GMT
  2769. Draft-9: 1003.2.Command.Groups.UUCP
  2770.  
  2771. It was suggested that someone could read the UNIX source code and then
  2772. publish a document on the uucp protocols without violation of copyright.
  2773. That would let the rest of the world freely implement uucp-compatible
  2774. systems.
  2775.  
  2776. It may be true that copyright wouldn't be violated (although in this
  2777. scenario you might be walking a thin line), but this would certainly
  2778. violate the UNIX source code license agreement.  The license is a contract
  2779. between AT&T and the person receiving the source code.  Among other
  2780. things, it calls for the protection of the source code as a trade
  2781. secret.  As a trade secret, the methods used as well as the actual
  2782. code are both protected.  You can reverse engineer by looking at the
  2783. behavior of a binary system or by reading the published documents, but
  2784. you can't reverse engineer by reading the source code without violating
  2785. the license agreement.
  2786.  
  2787. /Michael Tilson, HCR Corporation
  2788. /{utzoo,...}!hcr!mike
  2789.  
  2790. Volume-Number: Volume 9, Number 52
  2791.  
  2792. From jsq  Sun Feb  8 10:39:46 1987
  2793. From: Doug Gwyn <gwyn@brl.arpa>
  2794. Newsgroups: mod.std.unix
  2795. Subject: Re: 1003.2 Command Groups
  2796. Message-Id: <7111@ut-sally.UUCP>
  2797. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP> <6978@ut-sally.UUCP>
  2798. Sender: std-unix@ut-sally.UUCP
  2799. Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) <gwyn@brl.arpa>)
  2800. Organization: Ballistic Research Lab (BRL), APG, MD.
  2801. Date: 1 Feb 87 06:20:19 GMT
  2802. Draft-9: 1003.2.Command.Groups
  2803.  
  2804. >Everyone who participates in this newsgroup influences (to some
  2805. >degree) the thoughts of the committee. We do this via USENET, which
  2806. >is brought to you through the (dubious) miracle of UUCP. Doesn't it
  2807. >seem a bit silly to "unstandardize" the software that helped us
  2808. >develop the standard... :-)
  2809.  
  2810. Perhaps you use UUCP, but I use DOD Internet protocols and
  2811. don't wish to have UUCP forced on my environment.
  2812.  
  2813. Network standards are a whole nother ball game and do NOT
  2814. belong in the POSIX standard.
  2815.  
  2816. Certainly a real-world computer system will benefit from
  2817. standards other than POSIX, for example, graphics standards.
  2818. That doesn't mean that POSIX needs to include such standards.
  2819.  
  2820. Volume-Number: Volume 9, Number 53
  2821.  
  2822. From jsq  Thu Feb 12 10:14:00 1987
  2823. From: John Chambers <jc%cdx39.UUCP@sally.utexas.edu>
  2824. Newsgroups: mod.std.unix
  2825. Subject: Re: 1003.2 Command Groups
  2826. Message-Id: <7134@ut-sally.UUCP>
  2827. References: <6710@ut-sally.UUCP> <6783@ut-sally.UUCP> <6818@ut-sally.UUCP> <7091@ut-sally.UUCP> <7111@ut-sally.UUCP>
  2828. Sender: LOGNAME@ut-sally.UUCP
  2829. Reply-To: jc@cdx39.UUCP (John Chambers)
  2830. Organization: Codex Corp, a division of Motorola; Canton, MA, USA
  2831. Date: 11 Feb 87 20:05:55 GMT
  2832. Draft-9: 1003.2.Command.Groups
  2833.  
  2834. In article <7111@ut-sally.UUCP>, gwyn@brl.arpa (Doug Gwyn) writes:
  2835.  
  2836. > Perhaps you use UUCP, but I use DOD Internet protocols and
  2837. > don't wish to have UUCP forced on my environment.
  2838. > Network standards are a whole nother ball game and do NOT
  2839. > belong in the POSIX standard.
  2840.  
  2841. This is exactly why we need "optional standards".  True, not
  2842. everyone wants UUCP or TCP, but it would help greatly if the
  2843. standards said something like: "You don't have to implement
  2844. the UUCP or TCP packages, but if you choose to do so, they
  2845. should behave as follows...."
  2846.  
  2847. [ There already are standards for the TCP/IP suite. -mod ]
  2848.  
  2849. For another example, we wouldn't expect everyone to support
  2850. the C-shell, but if they have something called "/bin/csh",
  2851. then it really should be a C-shell, and not some other sort
  2852. of program with an unrelated function.
  2853.  
  2854. [ That is probably within the scope of 1003.2.  It is not
  2855. within the scope of 1003.1, i.e., POSIX, nor are network
  2856. standards within the scope of either.  There is a /usr/group
  2857. Working Group on that subject, as reported in mod.std.unix
  2858. Volume 9, Number 49 Message-Id: <7091@ut-sally.UUCP>:
  2859.  
  2860. /usr/group Working Group on Network Interface:
  2861.     Gil McGrath
  2862.     AT&T Information Systems
  2863.     (201)522-6182
  2864.  
  2865. -mod ]
  2866.  
  2867. Despite UUCP's problems, it is in fact a useful off-the-shelf
  2868. file-transfer package.  I'd like to see it part of a standard
  2869. package, though if "rcp" were available, I'd certainly use it
  2870. rather than "uucp".  Now, as for kermit....
  2871.  
  2872. [ Rcp is not part of the standard TCP/IP suite.  It may never be,
  2873. as many people hope it will vanish entirely in favor of distributed
  2874. file system standards.  See also
  2875.  
  2876. /usr/group Working Group on Distributed File System:
  2877.     Dave Buck
  2878.     D.L. Buck & Associates, Inc.
  2879.     6920 Santa Teresa Bldg, #108
  2880.     San Jose, CA 95119
  2881.     (408)972-2825
  2882.  
  2883. -mod ]
  2884.  
  2885. -- 
  2886.     John M Chambers            Phone: 617/364-2000x7304
  2887. Email: ...{adelie,bu-cs,harvax,inmet,mcsbos,mit-eddie,mot[bos]}!cdx39!{jc,news,root,usenet,uucp}
  2888. Smail: Codex Corporation; Mailstop C1-30; 20 Cabot Blvd; Mansfield MA 02048-1193
  2889.  
  2890. Volume-Number: Volume 9, Number 54
  2891.  
  2892. From jsq  Thu Feb 12 10:41:43 1987
  2893. From: Greg Chesson <greg@sgi.uucp>
  2894. Newsgroups: mod.std.unix
  2895. Subject: Packet Driver Protocol
  2896. Message-Id: <7136@ut-sally.UUCP>
  2897. References: <7134@ut-sally.UUCP>
  2898. Sender: LOGNAME@ut-sally.UUCP
  2899. Reply-To: greg@sgi.uucp (Greg Chesson)
  2900. Date: 11 Feb 87 23:44:09 GMT
  2901. Draft-9: 1003.2.Command.Groups.UUCP
  2902.  
  2903. [ This message contains a copy of ``Packet Driver Protocol,''
  2904. written by G. L. Chesson while he was at Bell Laboratories.
  2905. He remarks that it was approved for public distribution, and that
  2906.  
  2907.     The version of the note that you probably have omits the
  2908.     detail that the transmitted checksum is really 0125252
  2909.     - the block checksum function.
  2910.  
  2911. This actually appears to have been corrected in this version,
  2912. found in <1700@hoptoad.uucp> in comp.mail.uucp by John Gilmore
  2913. >From: gnu@hoptoad.uucp (John Gilmore)
  2914. The paper was found in comp.mail.uucp by Jeff Lee
  2915. >From: jeff@gatech.uucp (Jeff Lee)
  2916. and recommended for posting by Arnold Robbins.
  2917. >From: arnold@emory.uucp (Arnold Robbins)
  2918. There was other associated information which I can also post if
  2919. there is interest, but it is convenient to post the Chesson article
  2920. separately.  To format it, use *roff -ms.
  2921.  
  2922. -mod ]
  2923.  
  2924. .ce
  2925. .B
  2926. Packet Driver Protocol
  2927. .R
  2928. .sp 1
  2929. .ce
  2930. G. L. Chesson
  2931. .br
  2932. .ce
  2933. Bell Laboratories
  2934. .SH
  2935. Abstract
  2936. .in +.5i
  2937. .PP
  2938. These notes describe the packet driver link
  2939. protocol that was supplied
  2940. with the
  2941. Seventh Edition of
  2942. .UX
  2943. and is used by the UUCP program.
  2944. .in -.5i
  2945. .SH
  2946. General
  2947. .PP
  2948. Information flow between a pair of machines
  2949. may be regulated by
  2950. first
  2951. representing the data 
  2952. as sequence-numbered 
  2953. .I
  2954. packets
  2955. .R
  2956. of data 
  2957. and then establishing conventions that
  2958. govern the use of sequence numbers.
  2959. The
  2960. .I
  2961. PK,
  2962. .R
  2963. or
  2964. .I
  2965. packet driver,
  2966. .R
  2967. protocol
  2968. is a particular instance of this type of
  2969. flow-control discipline.
  2970. The technique depends on the notion of a transmission
  2971. .I
  2972. window
  2973. .R
  2974. to determine upper and lower bounds for valid
  2975. sequence numbers.
  2976. The transmitter is allowed to retransmit packets
  2977. having sequence numbers
  2978. within the window until the receiver indicates that
  2979. packets have been correctly received.
  2980. Positive acknowledgement from the receiver moves the
  2981. window;
  2982. negative acknowledgement or no acknowledgement
  2983. causes retransmission.
  2984. The receiver must ignore duplicate transmission, detect
  2985. the various errors that may occur,
  2986. and inform the transmitter when packets are 
  2987. correctly or incorrectly received.
  2988. .PP
  2989. The following paragraphs describe the packet formats,
  2990. message exchanges,
  2991. and framing
  2992. used by the protocol as coded
  2993. in the UUCP program and the
  2994. .UX
  2995. kernel.
  2996. Although no attempt will be made here to present
  2997. internal details of the algorithms that were used,
  2998. the checksum routine is supplied
  2999. for the benefit of other implementors.
  3000. .SH
  3001. Packet Formats
  3002. .PP
  3003. The protocol is defined in terms of message
  3004. transmissions of 8-bit bytes.
  3005. Each message includes one
  3006. .I
  3007. control
  3008. .R
  3009. byte plus a
  3010. .I
  3011. data segment
  3012. .R
  3013. of zero or more information bytes.
  3014. The allowed data segment sizes range
  3015. between 32 and 4096 as determined by the formula
  3016. 32(2\uk\d) where
  3017. k is a 3-bit number.
  3018. The packet sequence numbers are likewise constrained
  3019. to 3-bits; i.e. counting proceeds modulo-8.
  3020. .PP
  3021. The control byte is partitioned into three fields as
  3022. depicted below.
  3023. .bp
  3024. .nf
  3025. .sp 
  3026. .in 1i
  3027. .ls 1
  3028. bit    7    6    5    4    3    2    1    0
  3029.     t    t    x    x    x    y    y    y
  3030. .ls 1
  3031. .in -1i
  3032. .fi
  3033. .sp
  3034. The
  3035. .I
  3036. t
  3037. .R
  3038. bits indicate a packet type and
  3039. determine the interpretation to be placed on
  3040. the
  3041. .I
  3042. xxx
  3043. .R
  3044. and
  3045. .I
  3046. yyy
  3047. .R
  3048. fields.
  3049. The various interpretations are as follows:
  3050. .in +1i
  3051. .sp
  3052. .nf
  3053. .ls 1
  3054. .I
  3055. tt    interpretation
  3056. .sp
  3057. .R
  3058. 00    control packet
  3059. 10    data packet
  3060. 11    `short' data packet
  3061. 01    alternate channel
  3062. .ls 1
  3063. .fi
  3064. .sp
  3065. .in -1i
  3066. A data segment accompanies all non-control packets.
  3067. Each transmitter is constrained to observe the maximum
  3068. data segment size
  3069. established during initial synchronization by the
  3070. receiver that it sends to.
  3071. Type 10 packets have maximal size data segments.
  3072. Type 11, or `short', packets have zero or more data
  3073. bytes but less than the maximum.
  3074. The first one or two bytes of the data segment of a
  3075. short packet are `count' bytes that
  3076. indicate the difference between the
  3077. maximum size and the number of bytes in the short
  3078. segment.
  3079. If the difference is less than 127, one count
  3080. byte is used.
  3081. If the difference exceeds 127,
  3082. then the low-order seven bits of the difference
  3083. are put in the first data byte and the high-order
  3084. bit is set as an indicator that the remaining
  3085. bits of the difference are in the second byte.
  3086. Type 01 packets are never used by UUCP
  3087. and need not be discussed in detail here.
  3088. .PP
  3089. The sequence number of a non-control packet is
  3090. given by the
  3091. .I
  3092. xxx
  3093. .R
  3094. field.
  3095. Control packets are not sequenced.
  3096. The newest sequence number,
  3097. excluding duplicate transmissions,
  3098. accepted by a receiver is placed in the
  3099. .I
  3100. yyy
  3101. .R
  3102. field of non-control packets sent to the
  3103. `other' receiver.
  3104. .PP
  3105. There are no data bytes associated with a control packet,
  3106. the
  3107. .I
  3108. xxx
  3109. .R
  3110. field is interpreted as a control message,
  3111. and the
  3112. .I
  3113. yyy
  3114. .R
  3115. field is a value accompanying the control message.
  3116. The control messages are listed below in decreasing priority.
  3117. That is, if several control messages are to be sent,
  3118. the lower-numbered ones are sent first.
  3119. .in +1i
  3120. .nf
  3121. .ls 1
  3122. .sp
  3123. .I
  3124. xxx    name        yyy
  3125. .R
  3126.  
  3127. 1    CLOSE    n/a
  3128. 2    RJ        last correctly received sequence number
  3129. 3    SRJ        sequence number to retransmit
  3130. 4    RR        last correctly received sequence number
  3131. 5    INITC    window size
  3132. 6    INITB    data segment size
  3133. 7    INITA    window size
  3134. .in -i
  3135. .ls 1
  3136. .fi
  3137. .sp
  3138. .PP
  3139. The CLOSE message indicates that the communications channel
  3140. is to be shut down.
  3141. The RJ, or
  3142. .I
  3143. reject,
  3144. .R
  3145. message indicates that the receiver has detected an error
  3146. and the sender should retransmit after using the 
  3147. .I
  3148. yyy
  3149. .R
  3150. field to update the window.
  3151. This mode of retransmission is usually
  3152. referred to as a
  3153. `go-back-N' procedure.
  3154. The SRJ, or
  3155. .I
  3156. selective reject,
  3157. .R
  3158. message carries with it the sequence number of
  3159. a particular packet to be retransmitted.
  3160. The RR, or
  3161. .I
  3162. receiver ready,
  3163. .R
  3164. message indicates that the receiver has detected
  3165. no errors; the
  3166. .I
  3167. yyy
  3168. .R
  3169. field updates the sender's window.
  3170. The INITA/B/C messages are used
  3171. to set window and data segment sizes.
  3172. Segment sizes are calculated by the formula
  3173. 32(2\uyyy\d)
  3174. as mentioned above,
  3175. and window sizes may range between 1 and 7.
  3176. .PP
  3177. Measurements of the protocol running on communication
  3178. links at rates up to 9600 baud showed that
  3179. a window size of 2 is optimal
  3180. given a packet size greater than 32 bytes.
  3181. This means that the link bandwidth can be fully utilized
  3182. by the software.
  3183. For this reason the SRJ message is not as important as it
  3184. might otherwise be.
  3185. Therefore the
  3186. .UX
  3187. implementations no longer generate or respond to SRJ
  3188. messages.
  3189. It is mentioned here for historical accuracy only,
  3190. and one may assume that SRJ is no longer part of the protocol.
  3191. .SH
  3192. Message Exchanges
  3193. .SH
  3194.     Initialization
  3195. .PP
  3196. Messages are exchanged between four cooperating
  3197. entities: two senders and two receivers.
  3198. This means that the communication channel is thought of
  3199. as two independent half-duplex data paths.
  3200. For example the window and segment sizes need not
  3201. be the same in each direction.
  3202. .PP
  3203. Initial synchronization is accomplished
  3204. with two 3-way handshakes: two each of
  3205. INITA/INITB/INITC.
  3206. Each sender transmits INITA messages repeatedly.
  3207. When an INITA message is received, INITB is
  3208. sent in return.
  3209. When an INITB message is received
  3210. .I
  3211. and
  3212. .R
  3213. an INITB message has been sent,
  3214. an INITC message is sent.
  3215. The INITA and INITB messages carry 
  3216. with them the packet and window size that
  3217. each receiver wants to use,
  3218. and the senders are supposed to comply.
  3219. When a receiver has seen all three
  3220. INIT messages, the channel is 
  3221. considered to be open.
  3222. .PP
  3223. It is possible to design a protocol that starts up using
  3224. fewer messages than the interlocked handshakes described above.
  3225. The advantage of the more complicated design lies in its use as
  3226. a research vehicle:
  3227. the initial handshake sequence is completely symmetric,
  3228. a handshake
  3229. can be initiated by one side of the link while the
  3230. connection is in use, and the software to do this can
  3231. utilize code that would ordinarily be used only once
  3232. at connection setup time.
  3233. These properties were used in experiments with dynamically
  3234. adjusted parameters.
  3235. That is attempts were made to adapt the window and segment
  3236. sizes to changes observed in traffic while a link was in use.
  3237. Other experiments used the initial
  3238. handshake  in a different way
  3239. for restarting the protocol without data loss
  3240. after machine crashes.
  3241. These experiments never worked well in the packet driver and
  3242. basically provided the impetus for other protocol designs.
  3243. The result 
  3244. as far as UUCP is concerned is that initial synchronization
  3245. uses the two 3-way handshakes, and the INIT
  3246. messages are ignored elsewhere.
  3247. .SH
  3248.     Data Transport
  3249. .PP
  3250. After initial synchronization each receiver
  3251. sets a modulo-8 incrementing counter R to 0;
  3252. each sender sets a similar counter S to 1.
  3253. The value of R is always the number of the most recent
  3254. correctly received packet.
  3255. The value of S is always the first sequence number in
  3256. the output window.
  3257. Let W denote window size.
  3258. Note that the value of W may be different for each sender.
  3259. .PP
  3260. A sender may transmit packets with sequence numbers
  3261. in the range S to (S+W-1)\ mod-8.
  3262. At any particular time a receiver expects
  3263. arriving packets to have numbers in the range
  3264. (R+1)\ mod-8 to (R+W)\ mod-8.
  3265. Packets must arrive in sequence number order
  3266. are are only acknowledged in order.
  3267. That is,
  3268. the `next' packet a receiver
  3269. will acknowledge must have
  3270. sequence number (R+1)\ mod-8.
  3271. .PP
  3272. A receiver acknowledges receipt of data packets
  3273. by arranging for the value of its R counter to be
  3274. sent across the channel
  3275. where it will be used to update an S counter.
  3276. This is done in two ways.
  3277. If data is flowing in both directions across a
  3278. channel then each receiver's current R value is
  3279. carried in the
  3280. .I
  3281. yyy
  3282. .R
  3283. field of non-control packets.
  3284. Otherwise when there is no bidirectional
  3285. data flow,
  3286. each receiver's R value is transmitted across the link
  3287. as the
  3288. .I
  3289. yyy
  3290. .R
  3291. field of an RR control packet.
  3292. .PP
  3293. Error handling is up to the discretion
  3294. of the receiver.
  3295. It can ignore all errors in which case
  3296. transmitter timeouts must provide for
  3297. retransmission.
  3298. The receiver may also generate RJ 
  3299. error control packets.
  3300. The
  3301. .I
  3302. yyy
  3303. .R
  3304. field of an incoming RJ message replaces
  3305. the S value of the local sender and
  3306. constitutes a request for retransmission to start
  3307. at that sequence number.
  3308. The
  3309. .I
  3310. yyy
  3311. .R
  3312. field of an incoming SRJ message selects a particular
  3313. packet for retransmission.
  3314. .PP
  3315. The resemblance between the flow control procedure in the
  3316. packet driver and that defined for X.25 is no accident.
  3317. The packet driver protocol began life as an attempt at
  3318. cleaning up X.25.
  3319. That is why, for example,
  3320. control information is uniform in length (one byte),
  3321. there is no RNR message (not needed),
  3322. and there is but one timeout defined
  3323. in the sender.
  3324. .SH
  3325.     Termination
  3326. .PP
  3327. The CLOSE message is used to terminate communications.
  3328. Software on either or both ends of the communication
  3329. channel may initiate termination.
  3330. In any case when one end wants to terminate it sends
  3331. CLOSE messages until one is received from the other end
  3332. or until a programmable limit on the number of CLOSE
  3333. messages is reached.
  3334. Receipt of a CLOSE message causes a CLOSE message to be sent.
  3335. In the 
  3336. .UX
  3337. environment
  3338. it also causes the SIGPIPE or
  3339. `broken pipe' signal to be sent to
  3340. the local process using the communication channel.
  3341. .SH
  3342.     Framing
  3343. .PP
  3344. The term
  3345. .I
  3346. framing
  3347. .R
  3348. is used to denote the technique by which the
  3349. beginning and end of a message is detected
  3350. in a byte stream;
  3351. .I
  3352. error control
  3353. .R
  3354. denotes the method by which transmission
  3355. errors are detected.
  3356. Strategies for framing and error control depend
  3357. upon
  3358. additional information being transmitted along
  3359. with the control byte and data segment,
  3360. and the choice of a particular strategy usually
  3361. depends on characteristics of input/output
  3362. devices and transmission media.
  3363. .PP
  3364. Several framing techniques are in used in support
  3365. of PK protocol implementations,
  3366. not all of which can be described in detail here.
  3367. The technique used on asynchronous serial lines
  3368. will be described.
  3369. .PP
  3370. A six byte
  3371. framing
  3372. .I
  3373. envelope
  3374. .R
  3375. is constructed using the control byte
  3376. C of a packet and five other bytes as
  3377. depicted below.
  3378. .in +1i
  3379. <DLE><k><c0><c1><C><x>
  3380. .in -1i
  3381. The <DLE> symbol denotes the ASCII ctrl/P character.
  3382. If the envelope is to be followed by a data segment,
  3383. <k> has the value
  3384. log\d2\u(size)-4;
  3385. i.e. 1 \(<= k \(<= 8.
  3386. If k is 9, then the envelope represents a control packet.
  3387. The <c0> and <c1> bytes are the low-order and high-order
  3388. bytes respectively of a 16-bit checksum of the data segment,
  3389. if there is one.
  3390. For control packets <c1> is zero and <c0> is the same
  3391. as the control byte C.
  3392. The <x> byte is the exclusive-or of <k><c0><c1><C>.
  3393. Error control is accomplished by checking 
  3394. a received framing envelope for compliance with the definition,
  3395. and comparing a checksum function of the data segment
  3396. with <c0><c1>.
  3397. .PP
  3398. This particular framing strategy assumes data segments
  3399. are constant-sized:
  3400. the `unused' bytes in a short packet are actually
  3401. transmitted.
  3402. This creates a certain amount of overhead which
  3403. can be eliminated by a more complicated framing technique.
  3404. The advantage of this strategy is that i/o
  3405. devices can be programmed to take advantage of the
  3406. constant-sized framing envelopes and data segments.
  3407. .bp
  3408. .PP
  3409. The checksum calculation is displayed below as a C function.
  3410. Note that the code is not truly portable because
  3411. the definitions of
  3412. .I short
  3413. and
  3414. .I char
  3415. are not necessarily uniform across all machines
  3416. that might support this language.
  3417. This code assumes that
  3418. .I short
  3419. and
  3420. .I char
  3421. are 16 and 8-bits respectively.
  3422. .PP
  3423. .in +.5i
  3424. .nf
  3425. .ft CW
  3426. .ls 1
  3427. /* [Original document's version corrected to actual version] */
  3428. chksum(s,n)
  3429. register char *s;
  3430. register n;
  3431. {
  3432.     register short sum;
  3433.     register unsigned short t;
  3434.     register short x;
  3435.  
  3436.     sum = -1;
  3437.     x = 0;
  3438.  
  3439.     do {
  3440.         if (sum<0) {
  3441.             sum <<= 1;
  3442.             sum++;
  3443.         } else
  3444.             sum <<= 1;
  3445.         t = sum;
  3446.         sum += (unsigned)*s++ & 0377;
  3447.         x += sum^n;
  3448.         if ((unsigned short)sum <= t) {
  3449.             sum ^= x;
  3450.         }
  3451.     } while (--n > 0);
  3452.  
  3453.     return(sum);
  3454. }
  3455. .fi
  3456. .in -.5i
  3457. .ft R
  3458.  
  3459. Volume-Number: Volume 9, Number 55
  3460.  
  3461. From jsq  Fri Feb 13 10:20:02 1987
  3462. From: Andy Gadsby <gadsby@decvax.dec.com>
  3463. Newsgroups: mod.std.unix
  3464. Subject: Errata in X/OPEN Portability Guide.
  3465. Message-Id: <7164@ut-sally.UUCP>
  3466. Sender: LOGNAME@ut-sally.UUCP
  3467. Reply-To: gadsby@decvax.dec.com (Andy Gadsby)
  3468. Organization: Digital Equipment Corporation.
  3469. Date: 13 Feb 87 12:07:00 GMT
  3470. Draft-9: X/OPEN
  3471.  
  3472. I have been asked by the X/OPEN Internationalisation working group to
  3473. circulate on the net an errata in the X/OPEN Portability Guide (XPG),
  3474. published January 1987.
  3475.  
  3476. In Volume 3, Chapter 3 Internationalisation the manual page for
  3477. CTIME(3C) contains a typo which may confuse both implementors and
  3478. application programs. 
  3479.  
  3480. In the list of field descriptors for use in nl_cxtime() and nl_ascxtime() 
  3481. the format letter for obtaining the last two digits of the year is
  3482. incorrectly specified. It should read:
  3483.  
  3484.     y    last 2 digits of year - 00 to 99
  3485.  
  3486.     ^
  3487.     |
  3488.     | NOTE: lower case y.
  3489.  
  3490. The entry is then consistent with the example given further down the
  3491. manual page.
  3492.  
  3493. Please could you make this change to any new copies of the January 1987 
  3494. XPG which you currently have or which you obtain in the future.
  3495.  
  3496. Andy Gadsby (Digital Equipment Corporation)
  3497. for the X/OPEN Internationalisation Working Group.
  3498.  
  3499. Volume-Number: Volume 9, Number 56
  3500.  
  3501.