요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
.. c:namespace:: DTV.fe
.. _FE_GET_EVENT:
************
FE_GET_EVENT
************
Name
====
FE_GET_EVENT
.. attention:: This ioctl is deprecated.
Synopsis
========
.. c:macro:: FE_GET_EVENT
``int ioctl(int fd, FE_GET_EVENT, struct dvb_frontend_event *ev)``
Arguments
=========
``fd``
File descriptor returned by :c:func:`open()`.
``ev``
Points to the location where the event, if any, is to be stored.
Description
===========
This ioctl call returns a frontend event if available. If an event is
not available, the behavior depends on whether the device is in blocking
or non-blocking mode. In the latter case, the call fails immediately
with errno set to ``EWOULDBLOCK``. In the former case, the call blocks until
an event becomes available.
Return Value
============
On success 0 is returned.
On error -1 is returned, and the ``errno`` variable is set
appropriately.
.. flat-table::
:header-rows: 0
:stub-columns: 0
- .. row 1
- ``EWOULDBLOCK``
- There is no event pending, and the device is in non-blocking mode.
- .. row 2
- ``EOVERFLOW``
- Overflow in event queue - one or more events were lost.
Generic error codes are described at the
:ref:`Generic Error Codes <gen-errors>` chapter.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
Deprecated event 조회 선언과 인수
1-32`FE_GET_EVENT`는 deprecated된 ioctl입니다. 호출 형식은 `int ioctl(int fd, FE_GET_EVENT, struct dvb_frontend_event *ev)`입니다.
Frontend event를 저장할 위치를 전달합니다.
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
.. c:namespace:: DTV.fe
.. _FE_GET_EVENT:
************
FE_GET_EVENT
************
Name
====
FE_GET_EVENT
.. attention:: This ioctl is deprecated.
Synopsis
========
.. c:macro:: FE_GET_EVENT
``int ioctl(int fd, FE_GET_EVENT, struct dvb_frontend_event *ev)``
Arguments
=========
``fd``
File descriptor returned by :c:func:`open()`.
``ev``
Points to the location where the event, if any, is to be stored.
Blocking mode와 event queue 오류
33-67사용 가능한 frontend event가 있으면 이 ioctl이 반환합니다. event가 없을 때 동작은 장치의 blocking mode에 따라 달라집니다.
Non-blocking mode에서는 즉시 실패하고 `errno`를 `EWOULDBLOCK`으로 설정합니다. Blocking mode에서는 event가 생길 때까지 호출이 대기합니다.
성공하면 0을 반환합니다. 오류가 발생하면 -1을 반환하고 `errno`를 적절히 설정합니다.
원문 flat-table의 오류 code와 조건입니다.
장치 mode에 따라 event 부재 처리 방식이 갈립니다.
그 밖의 일반 오류는 `Generic Error Codes <gen-errors>` 절을 따릅니다.
Description
===========
This ioctl call returns a frontend event if available. If an event is
not available, the behavior depends on whether the device is in blocking
or non-blocking mode. In the latter case, the call fails immediately
with errno set to ``EWOULDBLOCK``. In the former case, the call blocks until
an event becomes available.
Return Value
============
On success 0 is returned.
On error -1 is returned, and the ``errno`` variable is set
appropriately.
.. flat-table::
:header-rows: 0
:stub-columns: 0
- .. row 1
- ``EWOULDBLOCK``
- There is no event pending, and the device is in non-blocking mode.
- .. row 2
- ``EOVERFLOW``
- Overflow in event queue - one or more events were lost.
Generic error codes are described at the
:ref:`Generic Error Codes <gen-errors>` chapter.
요약·해설
fe-get-event.rst:1-67Deprecated event queue ioctl입니다. Non-blocking으로 동작할 때 event가 없는 경우와 queue overflow를 별도 errno로 구분합니다.