|
|
1.1 root 1: #include <stdint.h>
2: #include <stdio.h>
3: #include <byteswap.h>
4: #include <ipxe/isa_ids.h>
5:
6: /*
7: * EISA and ISAPnP IDs are actually mildly human readable, though in a
8: * somewhat brain-damaged way.
9: *
10: */
11: char * isa_id_string ( unsigned int vendor, unsigned int product ) {
12: static char buf[7];
13: int i;
14:
15: /* Vendor ID is a compressed ASCII string */
16: vendor = bswap_16 ( vendor );
17: for ( i = 2 ; i >= 0 ; i-- ) {
18: buf[i] = ( 'A' - 1 + ( vendor & 0x1f ) );
19: vendor >>= 5;
20: }
21:
22: /* Product ID is a 4-digit hex string */
23: sprintf ( &buf[3], "%04x", bswap_16 ( product ) );
24:
25: return buf;
26: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.