Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Aug 2006 10:14:11 +0700 (ICT)
From:      Olivier Nicole <on@cs.ait.ac.th>
To:        freebsd@hub.org
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Stand up and be counted - BSDStats Project
Message-ID:  <200608040314.k743EBK6050609@banyan.cs.ait.ac.th>
In-Reply-To: <20060803180553.B6529@ganymede.hub.org> (message from User Freebsd on Thu, 3 Aug 2006 18:30:08 -0300 (ADT))
References:  <20060803180553.B6529@ganymede.hub.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> pciconf -lv needs to be parsed, this being the hard step, into a string 
> that can be sent via HTTP ... this is the hard part because it has to be 
> done as/in a shell script ... anyone out there *really* good at shell 
> programming?

Why not doing the parsing on the server?

Is there a limit on the size of an HTTP GET request? If not, the
output of pciconf -v can fit in one single request, done.

And limiting the number of requests, you also limit the amount of data
xfered.

I'd also go for:

pciconf -l | sed s/\ /+/g | sed s/\   /%09/g| sed s/@/%40/g | sed s/:/%3a/g| sed s/=/%3d/g

and you get lines like:

hostb0%40pci0%3a0%3a0%3a%09class%3d0x060000+card%3d0x341a8086+chip%3d0x254c8086+rev%3d0x01+hdr%3d0x00
none0%40pci0%3a0%3a1%3a%09class%3d0xff0000+card%3d0x341a8086+chip%3d0x25418086+rev%3d0x01+hdr%3d0x00

That are almost completely URL encoded. Remains to replace the newline
into %0d, and you are done. Result is one line that is around 2000
characters.

olivier



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200608040314.k743EBK6050609>