public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Should struct inode be made available to userspace?
@ 2003-12-29 19:40 Mariusz Mazur
  2003-12-29 19:57 ` viro
  0 siblings, 1 reply; 7+ messages in thread
From: Mariusz Mazur @ 2003-12-29 19:40 UTC (permalink / raw)
  To: linux-kernel

Inside __KERNEL__ block in linux/fs.h there is a definition (looks rather 
kernel specific) of struct inode. This structure is used all over the 
headers, specificaly in ${fsname}_fs_i.h files containing 
${fsname}_inode_info structures. The problem is ${fsname}_fs_i.h files are  
included in ${fsname}_fs.h files which in turn are often used by various 
programs. This results in compile time errors since normal programs don't 
define __KERNEL__ (they shouldn't) and thus while parsing 
${fsname}_inode_info structures do not have access to the inode structure 
("error: field `vfs_inode' has incomplete type").
What is the complete, politicaly correct solution? (workarounds are of no use 
to me)
Is it (a) struct inode should be made available to userspace (yuck), (b) no 
!kernel code should use struct inode (linux/${fsname}_fs_i.h files shouldn't 
be included anywhere... hell... maybe all linux/${fsname}* files shouldn't be 
available outside kernel!) or (c) this kind of structures should come with 
apps using it and not be a part of any kernel derived userspace headers.



-- 
Każdy człowiek, który naprawdę żyje, nie ma charakteru, nie może go mieć.
Charakter jest zawsze martwy, otacza cię zgniła struktura przeniesiona z 
przeszłości. Jeżeli działasz zgodnie z charakterem wtedy nie działasz w ogóle
- jedynie mechanicznie reagujesz.                 { Osho }

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-01-04  6:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-29 19:40 Should struct inode be made available to userspace? Mariusz Mazur
2003-12-29 19:57 ` viro
2004-01-03 18:39   ` Bill Davidsen
2004-01-03 18:57     ` viro
2004-01-04  5:43       ` Bill Davidsen
2004-01-04  5:45       ` Jeff Woods
2004-01-04  6:28         ` viro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox