Barry Clarkson <cheekyscamp@xxxxxxxxxxx> writes: > We are porting come code to Linux using gcc... > > gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-49) > > Some of our code includes <sys/msg.h> for the > definition of 'msgbuf' but it doesn't compile unless > you use D_GNU_SOURCE. > > I thought that this was SVID functionality? > Should we be using <linux/msg.h>? > When should you use <linux/...h> as opposed to > <sys/...h>? This is not a gcc question, as gcc does not provide the header files or library code. This is a glibc or GNU/Linux question. You need to ask somewhere else. My general understanding is that you should not use <linux/...h> unless you are writing kernel code. My general understanding is although that msgbuf is not in SVID, although message queues are. But I am not an expert, and I am quite likely wrong. Ian