pdcomm_tcp_event_body
함수
수신 이벤트의 메시지 본문을 복사합니다.
PdcommStatus pdcomm_tcp_event_body(const PdcommTcpEvent *event, uint8_t *output, size_t capacity, size_t *required)본문은 수신한 그대로의 인코딩된 SECS-II 항목입니다. 본문이 없는 메시지와 #PDCOMM_TCP_RECEIVED가 아닌 모든 이벤트 종류에서는 비어 있습니다. 복사는 전부 하거나 전혀 하지 않습니다.
매개변수
| 이름 | 설명 |
|---|---|
event | 유효한 이벤트입니다. |
output | 대상 버퍼입니다. 크기를 조회하려면 NULL과 capacity 0을 전달합니다. 본문이 비어 있더라도 용량이 0이 아닌데 NULL이면 거부합니다. |
capacity | output의 크기(바이트)입니다. |
required | 본문 길이를 받습니다. 먼저 0으로 설정됩니다. NULL이 아니어야 합니다. |
반환값
본문을 복사했으면(또는 본문이 비어 있고 output이 NULL이며 용량이 0이면) #PDCOMM_OK를 반환합니다. capacity가 *required보다 작으면 #PDCOMM_BUFFER_TOO_SMALL을 반환하며 출력은 변경하지 않습니다. required 또는 event가 NULL이거나, capacity가 0이 아닌데 output이 NULL이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 패닉(panic)을 격리했으면 #PDCOMM_INTERNAL_ERROR를 반환합니다.
참고
- 스레드 안전성: 같은 이벤트에 대한 읽기 호출은 동시에 실행할 수 있습니다. 해제는 이 호출들과 동기화해야 합니다.