请教个关于socket的问题

1
qnx里面如果一个app要调用socket接口socket(…)
需要编译时候链接libsocket,这个libsocket是什么概念
2
如果我想在qnx里面实现一个socket,比如
#define MY_SOCK 8
利用资源管理器申请一个"dev/socket/8"
这个过程是不是和libsocekt无关,仅仅是如果该socket族希望别人应用时候,由调用者来链接libsocket, MY_SOCK对应进程需要和libsocket做什么特殊操作么?

iofunc_attr_init(&attr, S_IFSOCK | 0666, 0, 0);

/* attach our device name /
id = resmgr_attach(
dpp, /
dispatch handle /
&resmgr_attr, /
resource manager attrs /
“/dev/socket/8”, /
device name /
_FTYPE_SOCKET, /
open type /
0, /
flags /
&connect_funcs, /
connect routines /
&io_funcs, /
I/O routines */

libsocket 就是一个程序库。就好象你要用open(), write(), printf()就得连接libc一样。只不过libc是默认自动连接的,不需要你手动说明而已。

MY_SOCKET不需要对libsocket做什么操作(或者说,一般情况下,MY_SOCKET不需要连接libsocket)。但是,如果你希望将来客户程序要用 socket(8, …) 来同你的资源管理器连接的话,你的MY_SOCKET管理器需要对应 socket() 所传进来的数据(消息)。

再进一步,如果你希望客户端将来可以bind()/connect()/listen()/… 的话,你的MY_SCOKET管理器一样要对相应的message有所处理。

程序库是不是可以看成一些现成的函数集?它们没有自己的任务、进程。