| delorie.com/archives/browse.cgi | search |
| Message-ID: | <354AB827.8EE19C9D@mailexcite.com> |
| Date: | Fri, 01 May 1998 23:07:35 -0700 |
| From: | WT <gnatwt AT mailexcite DOT com> |
| MIME-Version: | 1.0 |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Problem with integer declaration? |
| NNTP-Posting-Host: | 203.116.121.44 |
| Lines: | 33 |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
I am trying to write a short program to detect VESA VBE and output
information about the video card. I declared a struct of 512 bytes to be
used as a buffer for vbe_info_block. The strange thing is that when I
printed sizeof(vbe_info_block) it gave me 516 bytes instead of 512. I am
sure my struct is correct because I've checked it many times. This is
how the struct is declared :
typedef
struct {
unsigned int vbe_signature; /* VBE Signature */
unsigned short vbe_version; /* VBE Version */
unsigned int oem_string_ptr; /* Pointer to OEM info */
unsigned int capabilities; /* Capabilities of graphics controller */
unsigned int video_mode_ptr; /* Pointer to VideoModeList */
unsigned short total_memory; /* Number of 64kb memory blocks */
/* Added for VBE 2.0 */
unsigned short oem_software_rev; /* VBE implementation Software
revision */
unsigned int oem_vendor_name_ptr; /* Pointer to Vendor Name String
*/
unsigned int oem_product_name_ptr; /* Pointer to Product Name String
*/
unsigned int oem_product_rev_ptr; /* Pointer to Product Revision
String */
unsigned char reserved[222]; /* Reserved for VBE implementation
scratch area */
unsigned char oem_data[256]; /* Data Area for OEM Strings */
} vbe_info_block;
Could it be something wrong with the int declaration? Please help!
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |