本章介绍了与 I/O 函数网络地址 中描述的函数一起使用的最常见的 NSPR 类型、枚举和结构。其中包括用于系统访问、普通文件 I/O 和套接字 (网络) I/O 的类型。

特定函数独有的类型将在函数本身中进行描述。

有关说明基本 I/O 操作的示例代码,请参阅 NSPR 简介

目录类型

文件描述符类型

NSPR 通过类型为 PRFileDesc 的文件描述符来表示 I/O 对象,例如打开的文件和套接字。本节介绍 PRFileDesc 和相关的类型。

请注意,NSPR 文档遵循 Unix 使用术语文件来指代多种 I/O 对象的约定。为了专门指代文件系统中的文件(即磁盘文件),本文档使用术语普通文件

PRFileDesc 具有面向对象的风格。对 PRFileDesc 结构的 I/O 函数是通过调用 PRFileDesc 结构(“对象”)的 I/O 方法表(类型为 PRIOMethods 的结构)中的相应“方法”来执行的。不同类型的 I/O 对象(例如文件和套接字)具有不同的 I/O 方法表,因此在响应相同的 I/O 函数调用时实现了不同的行为。

NSPR 支持分层 I/O 的实现。每一层都由一个 PRFileDesc 结构表示,并且各层的 PRFileDesc 结构链接在一起。每个 PRFileDesc 结构都有一个字段(类型为 PRDescIdentity)来识别自己在各层中的位置。例如,Netscape 对安全套接字层 (SSL) 协议的实现是在 NSPR 的套接字层之上实现的一个 I/O 层。

文件信息类型

网络地址类型

与套接字选项函数一起使用的类型

与内存映射 I/O 一起使用的类型

Seek 函数的偏移量解释