리눅스 소스중에 헤더 디렉토리 구조

pjh0347의 이미지

리눅스 소스에서

헤더파일을 가지고있는 include 디렉토리 구조에서

네트워크 관련 헤더파일이

linux라는 디렉토리 밑에 있는 네트워크 관련 헤더파일과

net라는 디렉토리 밑에 있는 네트워크 관련 헤더파일.

이렇게 두군대가 있더라구요.

예를 들면..

icmp.h 파일은 include/linux/icmp.h

udp.h 파일은 include/net/udp.h

이렇게 나눠놓은 이유가 궁굼합니다.

제가 보기에는 한군데로 뭉쳐 놓는것이 좋을것같은데

왜 저렇게 햇갈리게 해놨는지 통 감이 않오네여.

pastime의 이미지

네트워크에 관련된 헤더들은 다 include/net 디렉토리에 존재합니다.
include/linux 디렉토리는 리눅스에 특화된? 구현을 포함하는 것으로 보이는데

icmp.h 헤더 파일의 경우에는
<include/net/icmp.h> 내부에서 <include/linux/icmp.h> 를 포함하므로
외부에서는 일관적으로 <include/net/icmp.h> 만을 참조하면 될 듯 합니다.