Hi Adrian, > > in the file "efi.h" located in /fs/partitions in the kernel tree I found > > this structure definition: > > > > 87. typedef struct _gpt_entry_attributes { > > 88. u64 required_to_function:1; > > 89. u64 reserved:47; > > 90. u64 type_guid_specific:16; > > 91. } __attribute__ ((packed)) gpt_entry_attributes; > > > > > > Unfortunatelly, my compiler (perhaps?) can't handle this: > > > > In file included from check.c:36: > > efi.h:91: Illegal bitfield width > > make[4]: *** [check.o] Error 1 > > > > I've never seen a variable definition like this before (and google > doesn't > > work...): > > > > required_to_function:1; > > > > What does the collon after the variable name mean? What does the number > > after the collon mean? > > > > In the same file there are few other typedefs of the same form and they > use > > the datatype u64 (which is defined as unsigned long long in asm/types.h) > and > > the attribute packed too. But with them there are no compile problems. > So I > > guess, the problem is the collon and the number after the collon. > > As your compiler is telling you they are bitfields. > > What compiler are you using that has a problem with this code? > I am using a tricore-gcc crosscompiler in Cygwin under Windows 2000 Professional: gcc version 2.95.3 20010315 (release 2.4.0) 20030318 built for CYGWIN_NT-5.0 I asked one of our postdoctoral researchers (I am a student) about the error message I get and he said to me, that ANSI C only permits bitfields which max length is 32 bits. He also said, that the error message has perhaps something with cygwin to do. Do you have any idea, how I could modify the code without breaking anything? Regards, Paul -- Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko! Satte Provisionen für GMX Partner: http://www.gmx.net/de/go/partner -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/