一个 void * 的指针,指针指向的地方包含了建链之后的 session 信息。
typedef void *HDC_SESSION;
struct hdcClientSession {
struct hdcSession session; /* client 端 session 信息 */
bool alloc; /* client 端 session 是否已经在使用中;true 表示被使用中,false 表示没有被使用中 */
INT32 node; /* 当前设备所在的节点数;目前只支持一个设备,默认传 0 */
INT32 devid; /* host侧看到的device侧的设备ID号 */
UINT32 portno; /* 目前未使用 */
UINT32 servaddr; /* 目前未使用 */
struct hdcClientHead *client; /* client信息,请参见HDC_CLIENT */
};struct hdcServerSession {
struct hdcSession session; /* server 端 session 信息 */
UINT32 deviceId; /* */
struct sockaddr_in clientAddr; /* socket模式下使用,记录client地址 */
struct hdcServerHead *server; /* server信息,请参见HDC_SERVER */
};struct hdcSession {
UINT32 magic; /* hdc 魔术字,防止被踩 */
UINT32 device_id; /* 当前设备的 device id 号 */
INT32 sockfd; /* 当前 session 通道的 fd 号 */
UINT32 type; /* 当前 session 通道是 client 还是 server;0 是 server,1 是 client */
mmProcess bind_fd; /* 当前进程绑定的底层字符设备的 fd 号 */
};