iPXE
drivers
bus
isa_ids.c
Go to the documentation of this file.
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
}
byteswap.h
isa_ids.h
vendor
static unsigned short vendor
Definition:
davicom.c:128
sprintf
#define sprintf(buf, fmt,...)
Write a formatted string to a buffer.
Definition:
stdio.h:36
isa_id_string
char * isa_id_string(unsigned int vendor, unsigned int product)
Definition:
isa_ids.c:11
bswap_16
#define bswap_16(value)
Definition:
byteswap.h:58
stdio.h
stdint.h
product
uint8_t product
Product string.
Definition:
smbios.h:16
Generated by
1.8.15