깊숙한(?) 필드 접근
글쓴이: gilddong / 작성시간: 토, 2005/06/04 - 7:46오후
안녕하세요.
디바이스 드라이버 레벨에서 패킷 헤더의 특정 필드(tos)를 접근하려고 하는데요.
struct sk_buff {
union {
struct iphdr *iph;
..
}nh;
...
}
struct iphdr {
__u8 tos;
...
}
이런식으로 되어있습니다.
그래서 socket buffer 타입인 tx_skbuff를 이용하여 저기에 접근하려고 하는데요
tx_skbuff[num]->nh.iph->tos
이런식으로 직접 접근이 안되는 것인가요?
이건.. 커널 프로그래밍 q/a 보다는 c 문법 질문 이네요;;
tx_skbuff는 이미 현재 있는 디바이스 드라이버에서 사용하고 있고, 저는 거기에 tos 필드가 무엇으로 셋팅되어있나만 검사하려고 하는 것입니다.
그럼 조언 부탁드립니다.
Forums:
가능합니다..
단순한 문법에 대한 질문이신가요?
그렇다면 당연히 가능합니다.
가능합니다.다만 skb->nh.iph는 위치에 따라서
가능합니다.
다만 skb->nh.iph는 위치에 따라서
IP header를 가리키는 포인터 일수도 있지만
그냥 쓰레기 값이 들어있을수도 있습니다.
따라서 맞을수도 틀릴수도 있겠습니다. :D
^^*
댓글 달기