Lưu ý
Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.
- Bản gốc:
- Người dịch:
Google Translate (machine translation)
- Phiên bản gốc:
8541d8f725c6
Cảnh báo
Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.
2.4.1. Giao diện TV kỹ thuật số mở()¶
2.4.1.1. Tên¶
fe-open - Mở thiết bị giao diện người dùng
2.4.1.2. Tóm tắt¶
#include <fcntl.h>
-
int open(const char *device_name, int flags)¶
2.4.1.3. Đối số¶
- ZZ0000ZZ
Thiết bị cần mở.
- ZZ0000ZZ
Mở cờ. Quyền truy cập có thể là ZZ0001ZZ hoặc ZZ0002ZZ.
- Được phép mở nhiều lần với ZZ0000ZZ. Ở chế độ này, chỉ
truy vấn và đọc ioctls được cho phép.
- Chỉ cho phép mở một lần trong ZZ0000ZZ. Trong chế độ này, tất cả ioctls đều
được phép.
- Khi cờ ZZ0000ZZ được đưa ra, các cuộc gọi hệ thống có thể quay trở lại
Mã lỗi ZZ0001ZZ khi không có dữ liệu hoặc khi thiết bị tài xế tạm thời bận.
Các cờ khác không có hiệu lực.
2.4.1.4. Sự miêu tả¶
Cuộc gọi hệ thống này sẽ mở một thiết bị giao diện người dùng có tên (ZZ0001ZZ) cho lần sử dụng tiếp theo. Thông thường lần đầu tiên điều cần làm sau khi mở thành công là tìm ra loại giao diện người dùng với ZZ0000ZZ.
Máy có thể mở ở chế độ chỉ đọc, chỉ cho phép theo dõi trạng thái và số liệu thống kê của thiết bị hoặc chế độ đọc/ghi, cho phép mọi loại sử dụng (ví dụ: thực hiện các thao tác điều chỉnh.)
Trong một hệ thống có nhiều giao diện người dùng, thường xảy ra trường hợp
nhiều thiết bị không thể mở đồng thời ở chế độ đọc/ghi. Như
miễn là thiết bị ngoại vi được mở ở chế độ đọc/ghi, open() khác
các cuộc gọi ở chế độ đọc/ghi sẽ không thành công hoặc bị chặn, tùy thuộc vào việc liệu
chế độ không chặn hoặc chặn đã được chỉ định. Một thiết bị ngoại vi đã mở
ở chế độ chặn sau này có thể được chuyển sang chế độ không chặn (và ngược lại
ngược lại) bằng cách sử dụng lệnh F_SETFL của lệnh gọi hệ thống fcntl. Đây là một
cuộc gọi hệ thống tiêu chuẩn, được ghi lại trong trang hướng dẫn Linux cho fcntl.
Khi cuộc gọi open() thành công, thiết bị sẽ sẵn sàng để sử dụng
chế độ đã chỉ định. Điều này ngụ ý rằng phần cứng tương ứng là
được cấp nguồn và các giao diện người dùng khác có thể đã bị tắt nguồn để thực hiện
điều đó có thể.
2.4.1.5. Giá trị trả về¶
Khi thành công, ZZ0000ZZ trả về bộ mô tả tệp mới. Nếu có lỗi, -1 được trả về và biến ZZ0001ZZ được đặt thích hợp.
Các mã lỗi có thể xảy ra là:
Khi thành công, 0 được trả về và ZZ0000ZZ được điền.
Khi có lỗi -1 được trả về và biến ZZ0000ZZ được đặt một cách thích hợp.
|
The caller has no permission to access the device. |
|
The device driver is already in use. |
|
The process already has the maximum number of files open. |
|
The limit on the total number of files open on the system has been reached. |
Các mã lỗi chung được mô tả tại Chương ZZ0000ZZ.