昇腾社区首页
中文
注册

HDC_SESSION

功能

一个void *类型的指针,指针指向的地方包含了建链之后的session信息。

定义原型

typedef void *HDC_SESSION;

成员介绍

  • client端,指向的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 */
    };
  • server端,指向的session信息如下:
    struct hdcServerSession {
        struct hdcSession session; /* server 端 session 信息 */
        UINT32 deviceId; /*  */
        struct sockaddr_in clientAddr; /* socket模式下使用,记录client地址 */
        struct hdcServerHead *server; /* server信息,请参见HDC_SERVER */
    };
  • 上面两个结构体中,公共的hdcSession类型定义如下所示:
    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 号 */
    };