vnop_rename 入口点
用途
重命名文件或目录。
语法
参数
| 项 | 描述 |
|---|---|
| 斯尔茨夫普 | 指向要重命名的对象的虚拟节点 (v-node)。 |
| 斯尔德夫普 | 指向 斯尔茨夫普 参数所驻留的目录的 v 节点。 旧对象的父目录和新对象的父目录可以相同。 |
| 旧名称 | 标识该对象的旧名称。 |
| 代茨夫普 | 指向新对象的 "V" 节点。 仅当新对象存在时才使用此指针。 否则,此参数为空字符。 |
| 德兹德夫普 | 指向该新对象的父目录。 新对象和旧对象的父目录可以是相同的。 |
| NewName | 指向此对象的新名称。 |
| 茨尔普 | 点至 克雷德 结构。 此结构包含应用程序可用来验证访问许可权的数据。 |
描述
vnop_rename 入口点由逻辑文件系统调用,以重命名文件或目录。 此入口点提供以下重命名操作:
- 将旧对象重命名为存在于另一个父目录中的新对象。
- 将旧对象重命名为在其他父目录中不存在的新对象。
- 将旧对象重命名为同一父目录中存在的新对象。
- 将旧对象重命名为在同一父目录中不存在的新对象。
为确保此入口点例程正确执行, 逻辑文件系统 将保证以下各项:
- 未跨文件系统重命名文件名。
- 旧对象和新对象 (如果已指定) 不相同。
- 旧父目录和新父目录具有相同类型的 v 节点。
执行环境
vnop_rename 入口点只能从 流程环境 中调用。
返回值
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 指示成功。 |
从 /usr/include/sys/errno.h 文件返回非零返回值以指示失败。