4.2.1. 數字電視 CA open()

4.2.1.1. 名稱

數字電視 CA open()

4.2.1.2. 概要

int open(const char *name, int flags)

4.2.1.3. 引數

name

特定數字電視 CA 裝置的名稱。

flags

以下標誌的按位或

O_RDONLY

只讀訪問

O_RDWR

讀/寫訪問

O_NONBLOCK

以非阻塞模式開啟(阻塞模式是預設模式)

4.2.1.4. 描述

此係統呼叫開啟一個命名的 ca 裝置(例如 /dev/dvb/adapter?/ca?),以供後續使用。

open() 呼叫成功時,該裝置將準備好使用。阻塞或非阻塞模式的意義在文件中描述,其中存在差異。它不影響 open() 呼叫本身的語義。使用 fcntl 系統呼叫的 F_SETFL 命令,可以將以阻塞模式開啟的裝置稍後置於非阻塞模式(反之亦然)。這是一個標準系統呼叫,記錄在 fcntl 的 Linux 手冊頁中。只有一位使用者可以在 O_RDWR 模式下開啟 CA 裝置。所有其他以該模式開啟裝置的嘗試都將失敗,並且將返回一個錯誤程式碼。

4.2.1.5. 返回值

成功時返回 0。

出錯時返回 -1,並且 errno 變數將設定為適當的值。

通用錯誤程式碼在 通用錯誤程式碼 章節中描述。