From 40431b158a2fd6a840c51b840f7132195854d799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gwenol=C3=A9=20Beauchesne?= Date: Wed, 15 Dec 2004 16:03:40 +0000 Subject: fix on big endian platforms (ppc, ppc64) --- tools/ddcprobe/vbe.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tools/ddcprobe/vbe.h b/tools/ddcprobe/vbe.h index 4dd7e70c5..ac555c011 100644 --- a/tools/ddcprobe/vbe.h +++ b/tools/ddcprobe/vbe.h @@ -120,11 +120,18 @@ struct vbe_edid1_info { unsigned char header[8]; union { u_int16_t p; - struct { + struct __attribute__ ((packed)) { +#if __BYTE_ORDER == __LITTLE_ENDIAN u_int16_t char3: 5; u_int16_t char2: 5; u_int16_t char1: 5; u_int16_t zero: 1; +#else /* __BIG_ENDIAN */ + u_int16_t zero: 1; + u_int16_t char1: 5; + u_int16_t char2: 5; + u_int16_t char3: 5; +#endif } u; } manufacturer_name; u_int16_t product_code; @@ -176,9 +183,15 @@ struct vbe_edid1_info { unsigned char reserved: 7; } manufacturer_timings __attribute__ ((packed)); struct { +#if __BYTE_ORDER == __LITTLE_ENDIAN u_int16_t xresolution: 8; u_int16_t vfreq: 6; u_int16_t aspect: 2; +#else /* __BIG_ENDIAN */ + u_int16_t aspect: 2; + u_int16_t vfreq: 6; + u_int16_t xresolution: 8; +#endif } standard_timing[8] __attribute__ ((packed)); union { struct vbe_edid_detailed_timing detailed_timing[4]; -- cgit v1.2.1