raw_usrreq 内核服务
用途
实现原始协议的用户请求。
语法
参数
| 项 | 描述 |
|---|---|
| so | 标识原始套接字的地址。 |
| 必填 | 指定请求命令。 |
| m | 指定包含数据的 姆布夫 结构的地址。 |
| 南 | 指定 姆布夫 结构的地址,该结构包含 索卡德尔 结构。 |
| control | 应该将此参数设置为空值。 |
描述
raw_usrreq 内核服务实现用户对原始协议的请求。
raw_usrreq 服务可支持以下命令:
| 命令 | 描述 |
|---|---|
| PRU_ABORT | 异常终止 (快速断开连接,拆离)。 |
| PRU_ACCEPT | 接受来自同级的连接。 |
| PRU_ATTACH | 将协议附加到启动。 |
| PRU_BIND | 将套接字绑定到地址。 |
| PRU_CONNECT | 建立与同级的连接。 |
| PRU_CONNECT2 | 连接两个套接字。 |
| PRU_CONTROL | 控制协议上的操作。 |
| PRU_DETACH | 从上断开协议。 |
| PRU_DISCONNECT | 与同级断开连接。 |
| PRU_LISTEN | 侦听连接。 |
| PRU_PEERADDR | 访存同级的地址。 |
| PRU_RCVD | 已接收数据,有更多空间。 |
| Pru_rcvoob | 检索频带外数据。 |
| Pru_send | 发送此数据。 |
| Pru_sendoob | 发送频带外数据。 |
| Pru_sense | 将状态返回到 m。 |
| PRU_SOCKADDR | 访存套接字的地址。 |
| Pru_SHUTDOWN | 不发送任何数据。 |
任何无法识别的命令都会导致调用 恐慌 内核服务。
执行环境
返回值
| 项 | 描述 |
|---|---|
| EOPNOTSUPP | 指示不受支持的命令。 |
| EINVAL | 指示参数错误。 |
| EACCES | 指示权限不足,无法支持 Pru_ATTACH 命令。 |
| ENOTCONN | 指示在未连接时尝试拆离。 |
| EISCONN | 指示调用者尝试在已连接的情况下进行连接。 |