2.2.3.设置文件属性
strUCtsattrargs{
fhandlefile;
sattrattributes;
};
attrstatNFSPROC_SETATTR(sattrargs)=2;
"attributes"值参数包含着一些字段,这些字段要么是-1,要么是"file"的文件属性的一个新值 。假如响应状态是NFS_OK,那么响应属性在"SETATTR"操作完成之后具有文件的属性 。
注重:-1指示在"attributes"中一个没有使用的字段,在协议的下一版本将修改 。
2.2.4获得文件系统的根
voidNFSPROC_ROOT(void)=3;
已经过时 。这个过程不再使用,因为找到一个文件系统的根文件句柄需要在客户端和服务器之间移动路径名 。为了正确的做到这一点,我们必须定义一个路径名网络标准描述 。查询根文件句柄已经由MNTPROC_MNT过程来实现 。(具体情况请参见附录A,“安装协议定义”)
2.2.5.查询文件名
diropresNFSPROC_LOOKUP(diropargs)=4;
假如响应"status"是NFS_OK,响应"file"和响应"attributes"是参数"dir"给定的目录中的文件名的文件句柄和属性 。
2.2.6从符号链接读
unionreadlinkresswitch(statstatus){
caseNFS_OK:
pathdata;
default:
void;
};
readlinkresNFSPROC_READLINK(fhandle)=5;
假如"status"的值是NFS_OK,响应"data"是fhandle参数引用的文件的符号链接中的数据 。
注重:因为NFS总是在客户端解析路径名,假如在不同的客户端或者服务器上使用不同的语义,那么在一个符号链接中的路径名可能有不同的含义(或者无意义) 。
2.2.7从文件中读
structreadargs{
fhandlefile;
unsignedoffset;
unsignedcount;
unsignedtotalcount;
};
unionreadresswitch(statstatus){
caseNFS_OK:
fattrattributes;
nfsdatadata;
default:
void;
};
readresNFSPROC_READ(readargs)=6;
在由"file"给出的文件中,从“offset”字节偏移开始返回"count"个字节的"data" 。这个文件的第一个字节是偏移量0 。在读操作发生后,文件属性从"attributes"中返回 。
注重:参数"totalcount"没有使用,在协议的下一修订版中将删除 。
2.2.8写到缓冲区
voidNFSPROC_WRITECACHE(void)=7;
将在协议的下一修订版中使用 。
2.2.9写到文件
structwriteargs{
fhandlefile;
unsignedbeginoffset;
unsignedoffset;
unsignedtotalcount;
nfsdatadata;
};
attrstatNFSPROC_WRITE(writeargs)=8;
从"file"开头偏移的"offset"字节处开始写数据"data" 。文件的第一个字节是在偏移0的位置 。假如响应状态"status"是NFS_OK,那么在写操作完成后响应属性"attributes"中包含着文件的属性 。写操作是原子的,从这次"WRITE"中写入的数据不会与客户端的另一次"WRITE"写入的数据混合在一起 。
注重:参数"beginoffset"和"totalcount"被忽略,在协议的下一修订版中将被删除 。
2.2.10创建文件
structcreateargs{
diropargswhere;
sattrattributes;
};
diropresNFSPROC_CREATE(createargs)=9;
文件"name"创建在由"dir"指定的目录中 。新文件的初始属性由"attributes"决定 。NFS_OK的响应状态表明这个文件被创建 。响应"file"和响应"attributes"是这个文件的文件句柄和属性 。任何其它的响应状态"status"都意味着此操作失败,没有文件被创建 。
注重:这个例程可以传递一个排它的创建标志,意味着“仅在文件不存在的时候创建这个文件” 。
2.2.11删除文件
statNFSPROC_REMOVE(diropargs)=10;
文件"name"从"dir"确定的目录中删除 。NFS_OK的响应意味着这个目录项被删除 。
注重:可能不是幂等地操作 。
2.2.12重命名文件
structrenameargs{
diropargsfrom;
diropargsto;
};
statNFSPROC_RENAME(renameargs)=11;
推荐阅读
- Win10忘记网络密码具体解决步骤
- 在NetBIOS网络上传输IP数据报的标准
- vivox23幻彩版连接电脑传文件
- 荣耀9x怎么在桌面新建文件夹
- py是什么梗
- 随e行登录后WLAN网络会被断开
- 如何清理PSP缓存
- 随e行WLAN网络哪些是中国移动
- GameCIH2如何进入隐藏模式
- vivoy91怎么在桌面创建文件夹
