登录 注册
当前位置:主页 > 资源下载 > 49 > 直接转换方法:从fcntl函数到模块结构图的数据流图

直接转换方法:从fcntl函数到模块结构图的数据流图

  • 更新:2024-11-05 15:49:45
  • 大小:5.82MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:Unix - 操作系统
  • 格式:PDF

资源介绍

3.13 fcntl函数 f c n t l函数可以改变已经打开文件的性质。 #include #include #include int fcntl(int f i l e d e s, int c m d,.../* int a rg * / ) ; 返回:若成功则依赖于 c m d(见下),若出错为- 1 在本节的各实例中,第三个参数总是一个整数,与上面所示函数原型中的注释部分相对应。但 是1 2 . 3节说明记录锁时,第三个参数则是指向一个结构的指针。 f c n t l函数有五种功能: • 复制一个现存的描述符(c m d=F _ D U P F D)。 • 获得/设置文件描述符标记(c m d = F _ G E T F D或F _ S E T F D)。 • 获得/设置文件状态标志(c m d = F _ G E T F L或F _ S E T F L)。 • 获得/设置异步I / O有权(c m d = F _ G E TO W N或F _ S E TO W N)。 • 获得/设置记录锁(c m d = F _ G E T L K , F _ S E T L K或F _ S E T L K W)。 我们先说明这十种命令值中的前七种 ( 1 2 . 3节说明后三种,它们都与记录锁有关 )我们将涉 及与进程表项中各文件描述符相关联的文件描述符标志,以及每个文件表项中的文件状态标志, 见图3 - 1。 • F_DUPFD 复制文件描述符 f i l e d e s,新文件描述符作为函数值返回。它是尚未打开的各 描述符中大于或等于第三个参数值(取为整型值)中各值的最小值。新描述符与 filedes 共享同 一文件表项(见图 3 - 3)。但是,新描述符有它自己的一套文件描述符标志,其 F D _ C L O E X E C 文件描述符标志则被清除(这表示该描述符在 exec 时仍保持开放,我们将在第 8章对此进行 讨论)。 第 3章 文 件 I/O 4 7