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/.
7.69. V4L2 mở()¶
7.69.1. Tên¶
v4l2-open - Mở thiết bị V4L2
7.69.2. Tóm tắt¶
#include <fcntl.h>
-
int open(const char *device_name, int flags)¶
7.69.3. Đối số¶
- ZZ0000ZZ
Thiết bị cần mở.
- ZZ0000ZZ
Mở cờ. Chế độ truy cập phải là ZZ0001ZZ. Đây chỉ là một Về mặt kỹ thuật, thiết bị đầu vào vẫn chỉ hỗ trợ đọc và xuất thiết bị chỉ ghi.
- Khi cờ ZZ0002ZZ được đưa ra, ZZ0000ZZ
chức năng và ZZ0001ZZ ioctl sẽ trả về mã lỗi ZZ0003ZZ khi không có dữ liệu hoặc không có bộ đệm nằm trong hàng đợi gửi đi của trình điều khiển, nếu không thì các chức năng này chặn cho đến khi có dữ liệu. Tất cả các trình điều khiển V4L2 trao đổi dữ liệu với các ứng dụng phải hỗ trợ cờ ZZ0004ZZ.
Các cờ khác không có hiệu lực.
7.69.4. Sự miêu tả¶
Để mở ứng dụng thiết bị V4L2, hãy gọi ZZ0000ZZ bằng tên thiết bị mong muốn. Chức năng này không có tác dụng phụ; tất cả các định dạng dữ liệu tham số, đầu vào hoặc đầu ra hiện tại, giá trị điều khiển hoặc các thuộc tính khác vẫn không thay đổi. Ở cuộc gọi ZZ0001ZZ đầu tiên sau khi tải trình điều khiển, chúng sẽ được đặt lại về giá trị mặc định, trình điều khiển không bao giờ ở trạng thái trạng thái không xác định.
7.69.5. Giá trị trả về¶
Khi thành công, ZZ0000ZZ trả về bộ mô tả tệp mới. Bị 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à:
- EACCES
Người gọi không có quyền truy cập vào thiết bị.
- EBUSY
Trình điều khiển không hỗ trợ mở nhiều lần và thiết bị đã sẵn sàng đang sử dụng.
- ENODEV
Không tìm thấy thiết bị hoặc đã bị xóa.
- ENOMEM
Không có đủ bộ nhớ kernel để hoàn thành yêu cầu.
- EMFILE
Quá trình này đã mở được số lượng tệp tối đa.
- ENFILE
Giới hạn về tổng số tập tin được mở trên hệ thống đã được đạt tới.