linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: spamtrap@use.reply-to (Erik Hensema)
To: linux-kernel@vger.kernel.org
Subject: Re: PROPOSAL: /proc standards (was dot-proc interface [was: /proc
Date: 6 Nov 2001 20:12:32 GMT	[thread overview]
Message-ID: <slrn9ugh1g.dld.spamtrap@dexter.hensema.xs4all.nl> (raw)
In-Reply-To: <20011105144112.Q11619@pasky.ji.cz> <4.3.2.7.2.20011106093248.00bea990@10.1.1.42>

Stephen Satchell (satch@concentric.net) wrote:
>The RIGHT tool to fix the problem is the pen, not the coding pad.  I
>hereby pick up that pen and put forth version 0.0.0.0.0.0.0.0.1 of the
>Rules of /Proc:

Agreed.

>1)  IT SHOULD NOT BE PRETTY.  No tabs to line up columns.  No "progress 
>bars."  No labels except as "proc comments" (see later).  No in-line labelling.

It should not be pretty TO HUMANS. Slight difference. It should be pretty
to shellscripts and other applications though.

Yes, that means we won't be able to do a 'cat /proc/cpuinfo' anymore in the
future. Bummer.

>2)  All signed decimal values shall be preceded by the "+" or "-" character 
>-- no exceptions.  Implementers:  this is available with *printf formats 
>with the + modifier, so the cost of this rule is one character per signed 
>value.

Why?

>3)  All integral decimal values shall be assumed by both programs and 
>humans to consist of any number of bits.  [C'mon, people, dealing with 
>64-bit or 128-bit numbers is NOT HARD.  If you don't know how, 
>LEARN.  bc(1) can provide hints on how to do this -- use the Source, 
>Luke.]  Numbers shall contain decimal digits [0-9] only.  Zero-padding is 
>allowed.

Ack.

>4)  All floating-point values shall contain a leading sign ("+" or "-") and 
>a decimal point (US) or comma (Europe).  This rule assumes that the locale 
>for the kernel can be set; if this isn't true, then a period shall be used 
>to separate the integral part and the fractional part.  Floating point 
>values may also contain exponents (using the *printf format %E or %G, NOT 
>%e -- the exponent must be preceded by the letter "e" or "E").  The 
>specification of a zero precision (which suppresses the output of the 
>decimal point or comma) is prohibited.

As long as I can parse it easily, it's fine by me. Easily parsable -> not
localised! Localisation is for userspace, not for the kernel.

[...]

>7)  The /proc data may include comments.  Comments start when an  unescaped 
>hash character "#" is seen, and end at the next newline \n.  Comments may 
>appear on a line of data, and the unescaped # shall be treated as end of 
>data for that line.

Please don't do this. I want to be able to do 'read JIFFIES <
/proc/$jiffiesfile'. Make the name of the file speak for itself. One field
per file in a clearly defined format.

>8)  The regular expression ^#!([A-Za-z0-9_.-]+ )*[A-Za-z0-9_.-]$ defines a 
>special form of comment, which may be used to introduce header labels to an 
>application.  As shown in the regular expression, each label is defined by 
>the regular subexpression [A-Za-z0-9_.-]+ and are separated by a single 
>space.  The final (or only) label is terminated by a newline \n.  No data 
>may appear on the header comment line.  This line may only appear at the 
>beginning of the /proc pseudo file, and appears only ONCE.
>
>9) The regular expression ^#=[0-9]+$ shall be used to output a optional 
>"version number" comment line  If this appears in the /proc output, it 
>precedes the header comment line, and appears only ONCE.

You don't need 8) and 9) when using single fields in a file. Multiple
fields are pretty to a human but not to a simple script.

Optionally doing a 
while read MOUNTPOINT DIR OPTS ; do
	# blah
done < /proc/$mountfile

Would be acceptable.

>10)  Network addresses are defined as strings, either in their name form, 
>in dot quad notation for IPV4 numeric addresses, or in the numeric 
>equivalent for IPV6.  Parsers can recognize the difference between a 
>dot-quad IP address and a floating-point number by the presence of the 
>second dot in the number.  Network information output on /proc shall not 
>use the base/mask notation (123.456.789.012/255.255.255.0) and instead use 
>the bit-length notation (123.456.789.012/24).

You should already know you're going to read an IP address to begin with.

>11)  IPX network addresses are a problem.  In their normal form, they are 
>indistinguishable from a %F-format floating-point number with leading zeros 
>(which is allowed).  Therefore the dot that usually appears in an IPX 
>network number must be replaced with the hyphen or dash "-" 
>character.  Parsers can then differentiate an IPX network address from a 
>floating point number by noticing the embedded dash without the leading "e" 
>or "E" character.  Flex handles this just fine.

See 10).


As you can see, I don't really care about the user reading /proc. We should
provide a backwards compatible /proc to avoid major backage, so users would
be able to read from this interface. Please keep the new interface to the
applications, as it should have been from the start.

And yes, coding a cpuinfo.sh would be very, very easy, so we (the users)
don't need the old interface anyway.

-- 
Erik Hensema (erik@hensema.net)                             ICQ# 8280101
Registered Linux user #38371 -- http://counter.li.org
--S279844AbRKFT36=_/vger.kernel.org--


  parent reply	other threads:[~2001-11-06 20:12 UTC|newest]

Thread overview: 264+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-01 10:32 [PATCH] 2.5 PROPOSAL: Replacement for current /proc of shit Rusty Russell
2001-11-01 10:42 ` Jeff Garzik
2001-11-01 16:49   ` Martin Dalecki
2001-11-01 17:06   ` Gábor Lénárt
2001-11-01 12:06 ` Tim Jansen
2001-11-01 18:34   ` James Simmons
2001-11-02  1:42 ` Rusty Russell
2001-11-02  1:56   ` Erik Andersen
2001-11-02 11:44     ` Padraig Brady
2001-11-02  9:11   ` Alexander Viro
2001-11-02 12:39     ` Martin Dalecki
2001-11-02 11:57       ` Alexander Viro
2001-11-02 13:55       ` Keith Owens
2001-11-02 15:08         ` Martin Dalecki
2001-11-04  5:36       ` Albert D. Cahalan
2001-11-02 12:46     ` Miquel van Smoorenburg
2001-11-02  2:20 ` Rusty Russell
2001-11-02 13:59   ` Tim Jansen
     [not found]     ` <20011103103106.7eb6098b.rusty@rustcorp.com.au>
2001-11-03 11:47       ` Tim Jansen
2001-11-03 23:44       ` Rusty Russell
2001-11-04  1:40   ` Daniel Phillips
2001-11-04  2:08     ` Jakob Østergaard
2001-11-04 12:30       ` Tim Jansen
2001-11-04 13:36         ` Daniel Kobras
2001-11-04 14:13           ` Tim Jansen
2001-11-04 15:33             ` PROPOSAL: dot-proc interface [was: /proc stuff] Jakob Østergaard
2001-11-04 16:05               ` Gábor Lénárt
2001-11-04 16:31               ` Daniel Phillips
2001-11-04 17:30                 ` Jakob Østergaard
2001-11-04 16:45               ` Tim Jansen
2001-11-04 17:28                 ` Daniel Phillips
2001-11-04 17:41                   ` Jakob Østergaard
2001-11-04 17:54                     ` SpaceWalker
2001-11-04 20:45                       ` Albert D. Cahalan
2001-11-04 17:59                     ` John Levon
2001-11-04 18:31                       ` Jakob Østergaard
2001-11-04 18:40                         ` Alexander Viro
2001-11-04 19:04                           ` Jakob Østergaard
2001-11-04 19:24                             ` Alex Bligh - linux-kernel
2001-11-04 19:45                               ` Jakob Østergaard
2001-11-04 19:52                                 ` Alexander Viro
2001-11-04 20:06                                   ` Jakob Østergaard
2001-11-04 22:01                                   ` Daniel Phillips
2001-11-04 21:12                                 ` Albert D. Cahalan
2001-11-04 21:20                                   ` Jakob Østergaard
2001-11-04 21:42                                     ` Tim Jansen
2001-11-04 22:13                                     ` Albert D. Cahalan
2001-11-05 11:23                                       ` Martin Dalecki
2001-11-05 15:58                                         ` Alexander Viro
2001-11-05 18:30                                           ` Martin Dalecki
2001-11-05 23:00                                             ` Albert D. Cahalan
2001-11-06 13:47                                               ` Martin Dalecki
2001-11-06 17:13                                               ` Gerhard Mack
2001-11-05 16:38                                       ` Stephen Satchell
2001-11-05 18:39                                         ` Martin Dalecki
2001-11-05 18:28                                           ` Ben Greear
2001-11-05 18:40                                             ` Rik van Riel
2001-11-05 21:03                                               ` Tim Jansen
2001-11-05 21:58                                                 ` Ben Greear
2001-11-05 22:51                                                   ` Tim Jansen
2001-11-05 22:59                                                     ` Erik Andersen
2001-11-05 23:35                                                       ` Tim Jansen
2001-11-05 23:41                                                         ` Alexander Viro
2001-11-06 13:49                                                           ` Martin Dalecki
2001-11-06 19:49                                                       ` dank
2001-11-06 22:22                                                         ` Erik Andersen
2001-11-06 22:47                                                           ` dank
2001-11-06 23:11                                                             ` Erik Andersen
2001-11-06 23:39                                                             ` Ricky Beam
2001-11-07 12:45                                                           ` Remco Post
2001-11-07  1:06                                                         ` George Greer
2001-11-05 19:58                                       ` Jonathan Lundell
2001-11-05 21:43                                       ` Stephen Satchell
2001-11-06  5:22                                         ` Ragnar Hojland Espinosa
2001-11-04 21:22                                   ` Alex Bligh - linux-kernel
2001-11-05  4:03                                 ` Stuart Young
2001-11-05  4:05                                   ` Alexander Viro
2001-11-05  4:55                                   ` Stuart Young
2001-11-05 16:32                                     ` SpaceWalker
2001-11-06  6:46                                       ` Jakob Østergaard
2001-11-04 19:29                             ` Alexander Viro
2001-11-04 19:50                               ` Jakob Østergaard
2001-11-04 20:01                                 ` Alexander Viro
2001-11-04 20:09                                   ` Jakob Østergaard
2001-11-06  7:23                                 ` Kai Henningsen
2001-11-06 14:00                                   ` Jakob Østergaard
2001-11-04 18:27                     ` Tim Jansen
2001-11-04 18:35                       ` Alexander Viro
2001-11-04 18:39                       ` Jakob Østergaard
2001-11-07  1:20                       ` Pavel Machek
2001-11-07 21:14                         ` Rik van Riel
2000-01-01  0:13                           ` Pavel Machek
2001-11-04 18:20                   ` Tim Jansen
2001-11-04 18:30                     ` Alexander Viro
2001-11-04 18:52                       ` Jakob Østergaard
2001-11-04 19:18                         ` Daniel Phillips
2001-11-04 21:41                       ` Albert D. Cahalan
2001-11-05 11:06                       ` Martin Dalecki
2001-11-05 10:28                         ` Daniel Phillips
2001-11-05 22:46                           ` Albert D. Cahalan
2001-11-06  0:54                             ` Daniel Phillips
2001-11-06  1:11                             ` Stephen Satchell
2001-11-04 18:46                     ` Jakob Østergaard
2001-11-04 19:07                   ` Linus Torvalds
2001-11-04 19:20                     ` Jakob Østergaard
2001-11-04 19:32                       ` Dave Jones
2001-11-04 19:52                         ` Jakob Østergaard
2001-11-04 20:06                           ` Alexander Viro
2001-11-04 20:11                             ` Jakob Østergaard
2001-11-11 10:06                           ` Kai Henningsen
2001-11-11 19:43                             ` Jakob Østergaard
2001-11-12 13:43                               ` Pascal Schmidt
2001-11-13 12:09                                 ` Jakob Østergaard
2001-11-13 14:41                               ` Riley Williams
2001-11-04 22:09                     ` Luigi Genoni
2001-11-04 17:48                 ` Jakob Østergaard
2001-11-04 18:02                   ` John Levon
2001-11-04 18:34                   ` Tim Jansen
2001-11-04 18:59                     ` Jakob Østergaard
2001-11-04 19:19                       ` Tim Jansen
2001-11-04 19:24                         ` Jakob Østergaard
2001-11-04 19:41                           ` Tim Jansen
2001-11-04 19:55                             ` Jakob Østergaard
2001-11-04 20:13                               ` Tim Jansen
2001-11-04 20:11                                 ` Jakob Østergaard
2001-11-04 20:47                                   ` Alex Bligh - linux-kernel
2001-11-04 21:02                                     ` Jakob Østergaard
2001-11-04 22:53                               ` Stephen Satchell
2001-11-05 11:04               ` zmwillow
2001-11-05 13:41               ` Petr Baudis
2001-11-05 20:49                 ` Tim Jansen
2001-11-05 22:01                   ` Ben Greear
     [not found]                   ` <20011105223413.U11619@pasky.ji.cz>
     [not found]                     ` <160rly-1tl3XUC@fmrl05.sul.t-online.com>
2001-11-05 22:07                       ` Petr Baudis
2001-11-06  7:25                 ` Jakob Østergaard
2001-11-06  8:21                   ` Petr Baudis
2001-11-06  8:34                     ` Alexander Viro
2001-11-06 13:43                       ` Jakob Østergaard
2001-11-06 17:01                       ` Petr Baudis
2001-11-05 19:55               ` PROPOSAL: kernfs (was: Re: PROPOSAL: dot-proc interface [was: /proc st Kai Henningsen
2001-11-06 18:56               ` PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff]) Stephen Satchell
2001-11-06 19:38                 ` Ben Greear
2001-11-06 20:12                 ` Erik Hensema [this message]
2001-11-06 20:58                   ` PROPOSAL: /proc standards (was dot-proc interface [was: /proc Roy Sigurd Karlsbakk
2001-11-06 21:43                     ` Ricky Beam
2001-11-06 22:14                       ` Alexander Viro
2001-11-07  0:33                         ` Alex Bligh - linux-kernel
2001-11-07  7:20                           ` Albert D. Cahalan
2001-11-07  8:07                             ` Alexander Viro
2001-11-07 17:24                             ` Alex Bligh - linux-kernel
2001-11-07 17:22                               ` Blue Lang
2001-11-07 19:21                                 ` Ricky Beam
2001-11-11 10:27                                 ` Kai Henningsen
2001-11-08  0:47                               ` Albert D. Cahalan
2001-11-08 18:53                                 ` Alex Bligh - linux-kernel
2001-11-08 21:28                                   ` Ricky Beam
2001-11-09  5:15                                   ` Albert D. Cahalan
2001-11-19 19:22                                   ` bill davidsen
2001-11-07  0:13                       ` Martin Dalecki
2001-11-07  0:40                         ` Alex Bligh - linux-kernel
2001-11-07  1:10                         ` Ricky Beam
     [not found]                           ` <Pine.GSO.4.33.0111061947540.17287-100000@sweetums.bluetronic.ne t>
2001-11-07  1:17                             ` Alex Bligh - linux-kernel
2001-11-07 11:32                           ` Martin Dalecki
2001-11-07 12:35                       ` Remco Post
2001-11-07 23:53                         ` Albert D. Cahalan
2001-11-07 22:24                       ` Paul P Komkoff Jr
2001-11-07 23:15                         ` Phil Howard
2001-11-06 21:24                   ` Rik van Riel
2001-11-06 21:45                     ` Erik Hensema
2001-11-06 22:06                     ` Tim Jansen
2001-11-06 22:28                     ` Erik Andersen
2001-11-06 22:33                       ` Jan-Benedict Glaw
2001-11-06 22:42                         ` Erik Andersen
2001-11-06 22:49                           ` Jan-Benedict Glaw
2001-11-06 22:53                           ` Patrick Mochel
2001-11-06 22:52                             ` Erik Andersen
2001-11-06 22:46                         ` Ben Greear
2001-11-06 22:50                           ` Jan-Benedict Glaw
2001-11-07  0:17                         ` Martin Dalecki
2001-11-06 22:53                   ` J . A . Magallon
2001-11-05 16:49     ` [PATCH] 2.5 PROPOSAL: Replacement for current /proc of shit Jonathan Lundell
2001-11-05 20:46       ` Tim Jansen
2001-11-05 23:04         ` Greg KH
2001-11-05 22:19           ` Tim Jansen
2001-11-05  0:12   ` Rusty Russell
2001-11-05  3:34     ` Daniel Phillips
2001-11-05 22:48       ` Rusty Russell
2001-11-06 10:25         ` Daniel Phillips
2001-11-06 15:46         ` Theodore Tso
2001-11-07 23:35         ` Rusty Russell
2001-11-06 21:21 PROPOSAL: /proc standards (was dot-proc interface [was: /proc William Knop
2001-11-06 21:31 ` Erik Hensema
2001-11-06 22:09   ` Ricky Beam
2001-11-07 16:08     ` Erik Hensema
2001-11-07 16:19       ` lkml user
2001-11-08  0:22       ` Albert D. Cahalan
2001-11-08  6:19         ` john slee
2001-11-08  8:14           ` Albert D. Cahalan
2001-11-08 11:49             ` john slee
2001-11-07 19:28 William Knop
2001-11-07 23:01 ` Miquel van Smoorenburg
2002-01-24 17:42 RFC: booleans and the kernel Jeff Garzik
2002-01-24 18:22 ` Anton Altaparmakov
2002-01-24 18:33   ` Arnaldo Carvalho de Melo
2002-01-24 19:28 ` H. Peter Anvin
2002-01-24 19:34   ` Arnaldo Carvalho de Melo
2002-01-24 19:43     ` H. Peter Anvin
2002-01-24 19:47       ` Arnaldo Carvalho de Melo
2002-01-24 19:46     ` Ingo Oeser
2002-01-24 19:52 ` Oliver Xymoron
2002-01-24 20:03   ` Jeff Garzik
2002-01-24 20:06     ` Oliver Xymoron
2002-01-24 20:14       ` Jeff Garzik
2002-01-24 20:23       ` Alexander Viro
2002-01-24 20:25         ` Oliver Xymoron
2002-01-24 20:35           ` John Levon
2002-01-24 20:15     ` Alexander Viro
2002-01-24 20:21   ` Richard B. Johnson
2002-01-24 20:39     ` Oliver Xymoron
2002-01-24 21:55       ` Richard B. Johnson
2002-01-24 21:57         ` Jeff Garzik
2002-01-24 22:05         ` H. Peter Anvin
2002-01-24 22:13         ` Robert Love
2002-01-24 22:33       ` Xavier Bestel
2002-01-24 22:53         ` Xavier Bestel
2002-01-24 22:59         ` Robert Love
2002-01-24 23:27           ` Xavier Bestel
2002-01-25  6:13             ` Alexander Viro
2002-01-25  8:00               ` Momchil Velikov
2002-01-25 10:51               ` Xavier Bestel
2002-01-25 16:11               ` Olivier Galibert
2002-01-26  7:22               ` Timothy Covell
2002-01-25  7:48                 ` Alexander Viro
2002-01-25 23:49                   ` J.A. Magallon
2002-01-27 11:27                 ` Kai Henningsen
2002-01-25 23:09           ` Timothy Covell
2002-01-25  1:16             ` John Levon
2002-01-25 22:47         ` Timothy Covell
2002-01-25 21:24       ` Timothy Covell
2002-01-24 21:31         ` Oliver Xymoron
2002-01-24 22:19           ` Robert Love
2002-01-24 22:38             ` Robert Love
2002-01-25 22:44               ` Timothy Covell
2002-01-25  3:52                 ` Ragnar Hojland Espinosa
2002-01-25 20:39                   ` Calin A. Culianu
2002-01-25 23:07                   ` Rick Stevens
2002-01-25 19:02                 ` Kai Henningsen
2002-01-27  1:33                   ` Timothy Covell
2002-01-26  2:56                     ` Jamie Lokier
2002-01-27 11:18                   ` Kai Henningsen
2002-01-25 22:30             ` Timothy Covell
2002-01-24 22:36               ` Alexander Viro
2002-01-25  6:36               ` Kai Henningsen
     [not found]                 ` <200201250900.g0P8xoL10082@home.ashavan.org.>
2002-01-29  6:36                   ` Nix N. Nix
2002-01-25 21:43           ` Timothy Covell
2002-01-24 21:50             ` Oliver Xymoron
2002-01-24 22:21               ` H. Peter Anvin
2002-01-25 15:07                 ` Werner Almesberger
2002-01-25 15:21                   ` Jakub Jelinek
2002-01-25 16:45                   ` H. Peter Anvin
2002-01-25 11:07         ` Helge Hafting
2002-01-24 22:33 ` Chris Wedgwood
2002-01-24 22:44   ` H. Peter Anvin
2002-01-26 10:22     ` Chris Wedgwood
2002-01-25  2:00 ` Erik Andersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=slrn9ugh1g.dld.spamtrap@dexter.hensema.xs4all.nl \
    --to=spamtrap@use.reply-to \
    --cc=erik@hensema.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).