[aiocbp 구조체]
이외에도 int aio_reqprio //priority offset요청 필드가 있지만 생략했다.
[aio_sigevent] 구조체
aio_sigevent.sigev_notify // 2가지 옵션을 갖는데 이 옵션에 따라 I/O 처리 후 시그널 여부가 결정된다.
SIGEV_NONE -> 운영체제가 I/O 완료시 시그널을 발생시키지 않음.
SIGEV_SIGNAL -> 운영체제는 aio_sigevent.sigev_signo에서 지정한 시그널을 생성함.
<int aio_read>
Interface | int aio_read(struct aiocb *aiocbp) |
Parameter | aiocb 구조체 포인터변수 |
Function |
입력된 구조체에 지정된 파일로부터 aio_bytes만큼 aio_buf에서 읽어온다. |
Return |
0: 성공적으로 읽기 요청이 큐에 들어감 -1 , 에러코드 : 요청이 큐에 들어가기 실패 |
<int aio_write>
Interface | int aio_write(struct aiocb *aiocbp) |
Parameter | aiocb 구조체 포인터변수 |
Function |
입력된 구조체에 지정된 파일로부터 aio_bytes만큼 aio_buf에서 정해진 filedes에 쓴다. |
Return |
0: 성공적으로 쓰기 요청이 큐에 들어감 -1 , 에러코드 : 요청이 큐에 들어가기 실패 |
<size_t aio_return>
Interface | size_t aio_return(struct aiocb *aiocbp) |
Parameter | aiocb 구조체 포인터변수 |
Function |
입력된 구조체에 지정된 파일로부터 aio_bytes만큼 aio_buf에서 정해진 filedes에 쓴다. |
Return |
0: 실제로 읽거나 쓴 byte 수 -1 , 에러코드 : |
<int aio_error>
Interface | size_t aio_error(struct aiocb *aiocbp) |
Parameter | aiocb 구조체 포인터변수 |
Function |
입력된 구조체에 지정된 파일로부터 aio_bytes만큼 aio_buf에서 정해진 filedes에 쓴다. |
Return |
0: I/O 명령을 성공적으로 수행한 경우 EINPROGRESS : I/O 명령이 여전히 수행중인 경우 에러코드 : 실패와 관련된 에러코드 |
'LINUX > Linux' 카테고리의 다른 글
Root 계정 비밀번호 변경하기. (0) | 2019.11.27 |
---|---|
GCC, G++ (C, C++ Compiler) (0) | 2019.11.10 |
sigsuspend 함수 (0) | 2019.06.16 |
Signal mask, set 함수 (0) | 2019.06.15 |
Signal 생성 함수, 예제 (0) | 2019.06.15 |