我在哪里可以获得`struct file * file_open(const char * path,int flags,int rights)`的手册页

时间:2015-12-17 05:25:01

标签: c linux linux-kernel linux-device-driver kernel-module

我正在尝试编写module来读取文件(在内核模式下)。 然而,问题是内核版本2.6.30以及之后,不是导出sys_read()

我已将代码更改为

  • struct file* file_open(const char* path, int flags, int rights)&
  • int file_read(struct file* file, unsigned long long offset, unsigned char* data, unsigned int size)

读取文件。

here我在int rights中使用参数file_open()时感到困惑(与'open()'中的mode相同。)

请建议我举例或帮我获取file_open()的手册页。

1 个答案:

答案 0 :(得分:1)

是的,它们是一样的。

来自rz2 man pages for FILP_OPEN

const sampleVideoColor = videoElement => {
  const canvas = document.createElement('CANVAS')
  const ctx = canvas.getContext('2d')
  const { videoWidth, videoHeight } = videoElement
  canvas.width = videoWidth
  canvas.height = videoHeight

  ctx.drawImage(videoElement, 0, 0, videoWidth, videoHeight)
  const [r, g, b] = ctx.getImageData(1, 1, 1, 1).data ///top left corner

  return `rgb(${r},${g},${b})`
}

someBackgroundElement.style.backgroundColor = sampleVideoColor(someVideoElement)
     

ARGUMENTS

     
      
  • filename:要打开的路径。
  •   
  • flags:根据open(2)第二个参数打开标志。
  •   
  • mode:如果设置了O_CREAT,则为新文件的模式,否则将被忽略。
  •   

struct file * filp_open(const char * filename, int flags, int mode); 将第三个参数file_open作为int rights的第三个参数传递,即filp_open

int mode被您定义为底层VFS级别函数file_open的包装函数。因此,您无法在filp_open找到联机帮助页。