2016-10-19 2 views
0

Linux/Android C 앱을 macOS/iOS로 마이그레이션하려고합니다.macOS 및 iOS에서 libnl

#include <linux/netlink.h> 
#include <linux/rtnetlink.h> 
#include <linux/if_tun.h> 

이 파일은 libnl 라이브러리에서, 당신이 여기이 라이브러리에 대한 정보를 찾을 수 있습니다 :이 문제가

,이 응용 프로그램은 같은 포함 볼 수있는 소스 코드에서, 몇 번 libnl 라이브러리를 사용합니다 :

https://www.infradead.org/~tgr/libnl/doc/core.html#_introduction

나는 맥 OS 및 iOS에 해당하는 어떤 건지하지 않습니다. 어쩌면 똑같지 만 다른 길에 있습니까?

또한 나는 libnl 라이브러리를 다운로드하고 /하지만 다른 종속성이,이

... 내가 잘못된 길에있어 생각하는 것이 왜 내가 찾은 포함/usr/local의에 추가하려 이 안내서 https://developer.apple.com/library/content/documentation/Darwin/Conceptual/NKEConceptual/intro/intro.html#//apple_ref/doc/uid/TP40001858-CH225-SW1

그러나 이것은 libnl을 사용하는 코드의 모든 부분을 다시 작성해야한다는 것을 의미합니까?

아이디어가 있으십니까?

미리 감사드립니다.

답변

1

코드를 변경해야 할 수도 있습니다. libnl 문서를 보면 GDAsyncSocket을 사용할 수 있다는 것을 알 수 있습니다.

https://github.com/robbiehanson/CocoaAsyncSocket

하지만 당신의 코드를 보지 않고

, 그것은 확신 할 수 없습니다.

+0

답변 해 주셔서 감사합니다. 코드의 어느 부분이 필요합니까? 때문에 .. 많은 파일을 가진 큰 응용 프로그램 이며이 라이브러리는 대부분에서 사용됩니다. 예를 들어, 다음은 라이브러리를 사용하는 부분입니다. –

+0

'if (new_ifaces == TRUE) { set_rlocs (ctrl); request_route_table (RT_TABLE_MAIN, AF_INET); request_route_table (RT_TABLE_MAIN, AF_INET6); } ' –

+0

나는 GDAsycSocket 외부에 있다고 말할 것입니다. 관련 라이브러리 (lib-route)에있는 것 같습니다. 포팅 작업에 직면했을 수 있습니다. –