Consistency
[people/xl0/gpxe.git] / src / drivers / bus / isa_ids.c
1 #include "etherboot.h"
2 #include "isa_ids.h"
3
4 /* 
5  * EISA and ISAPnP IDs are actually mildly human readable, though in a
6  * somewhat brain-damaged way.
7  *
8  */
9 char * isa_id_string ( uint16_t vendor, uint16_t product ) {
10         static unsigned char buf[7];
11         int i;
12
13         /* Vendor ID is a compressed ASCII string */
14         vendor = __bswap_16 ( vendor );
15         for ( i = 2 ; i >= 0 ; i-- ) {
16                 buf[i] = ( 'A' - 1 + ( vendor & 0x1f ) );
17                 vendor >>= 5;
18         }
19         
20         /* Product ID is a 4-digit hex string */
21         sprintf ( &buf[3], "%hx", __bswap_16 ( product ) );
22
23         return buf;
24 }