uwritec 커널 서비스
용도
설명된 버퍼에서 문자를 검색합니다. uio 구조 .
구문
#include <sys/types.h>
#include <sys/errno.h>
#include <sys/uio.h> int uwritec ( uiop)
struct uio *uiop;
struct uio *uiop;
매개변수
| 항목 | 설명 |
|---|---|
| 윽 | 다음을 가리킨다 uio 문자를 읽을 버퍼를 설명하는 구조입니다. |
설명
그만큼 uwritec 커널 서비스는 다음과 같이 설명된 버퍼에서 문자를 읽습니다. uio 구조 . 장치 드라이버 상위 절반 루틴, 특히 문자 장치 드라이버는 자주 사용합니다. uwritec 사용자 영역 외부로 데이터를 전송하는 커널 서비스입니다. 그만큼uio_resid 및 uio_iovcnt의 필드 uio 구조체는 0보다 커야 합니다. 그렇지 않으면 오류가 반환됩니다.
그만큼uio_segflg필드 uio 구조는 데이터가 사용자 데이터 영역 또는 커널 데이터 영역에서 판독되는지 여부를 나타냅니다. 이 필드는 호출자에게 메모리 간 작업이 필요한지, 필요한 메모리 간 설명자를 제공했는지 여부도 나타냅니다. 이 플래그의 값은/usr/include/sys/uio.h 파일.
데이터가 성공적으로 읽혀지면 다음 필드가 uio 구조가 업데이트되었습니다.
| 필드 | 설명 |
|---|---|
| uio_iov | 현재 주소를 지정합니다.iovec사용할 요소입니다. |
| uio_xmem | 현재 주소를 지정합니다.xmem사용할 요소입니다(교차 메모리 복사에 사용됨). |
| uio_iovcnt | 남은 수를 지정합니다iovec강요. |
| uio_iovdcnt | 수를 지정합니다iovec요소가 이미 처리되었습니다. |
| uio_offset | 데이터가 기록되는 장치의 문자 오프셋을 지정합니다. |
| uio_resid | 설명된 데이터 영역에 남아 있는 총 문자 수를 지정합니다. uio 구조. |
| iov_base | 현재 설명된 데이터 영역에서 사용 가능한 다음 문자의 주소를 지정합니다.iovec요소. |
| iov_len | 현재 설명된 버퍼에 남아 있는 데이터의 길이를 지정합니다.iovec요소. |
실행 환경
그만큼 uwritec 커널 서비스는 다음에서 호출될 수 있습니다. 프로세스 환경 오직.
리턴 값
성공적으로 완료되면, uwritec 서비스는 검색을 위해 전송된 문자를 반환합니다.
| 항목 | 설명 |
|---|---|
| -1 | 다음 세 가지 이유 중 하나로 인해 버퍼가 비어 있거나 사용자 위치가 유효하지 않음을 나타냅니다.
|