콘텐츠로 이동
무료 평가 시작

PdcommGemResultInfo

구조체

::PdcommGemResult의 고정 필드입니다. pdcomm_gem_result_info()로 읽습니다.

typedef struct PdcommGemResultInfo { ... } PdcommGemResultInfo

선언 위치: #include <pdcomm_gem.h>

멤버

acknowledgement

필드

교환의 확인 응답 코드(COMMACK, OFLACK, ONLACK 등)입니다. acknowledgement_present가 0이 아닐 때만 유효합니다.

uint8_t acknowledgement

선언 위치: #include <pdcomm_gem.h>

acknowledgement_present

필드

acknowledgement에 값이 있으면 0이 아닙니다.

uint8_t acknowledgement_present

선언 위치: #include <pdcomm_gem.h>

code

필드

실패 또는 오류의 세부 정보입니다. 없으면 0입니다.

uint32_t code

선언 위치: #include <pdcomm_gem.h>

#PDCOMM_GEM_FAILED이면 PDCOMM_TCP_* 실패 이유 또는 #PDCOMM_GEM_ERROR_ABORTED입니다. #PDCOMM_GEM_INVALID_RESPONSE와 #PDCOMM_GEM_UNHANDLED이면 PDCOMM_GEM_ERROR_* 값입니다.

entry_count

필드

목록형 결과의 엔트리 개수입니다. 예를 들어 #PDCOMM_GEM_VALUES_RECEIVED의 값이나 #PDCOMM_GEM_NAMES_RECEIVED의 엔트리 개수이며, 그 밖에는 0입니다.

size_t entry_count

선언 위치: #include <pdcomm_gem.h>

kind

필드

결과 종류입니다. #PDCOMM_GEM_IGNORED, #PDCOMM_GEM_PRIMARY, #PDCOMM_GEM_RESPONSE, #PDCOMM_GEM_FAILED, #PDCOMM_GEM_INVALID_RESPONSE, #PDCOMM_GEM_UNHANDLED 중 하나입니다.

uint32_t kind

선언 위치: #include <pdcomm_gem.h>

outcome

필드

메시지가 일으킨 일을 나타내는 PDCOMM_GEM_* 결과 유형(outcome) 값입니다.

uint32_t outcome

선언 위치: #include <pdcomm_gem.h>

0부터 13까지의 값은 이 헤더에 정의되어 있고, 다른 GEM 헤더가 추가 결과 유형을 정의합니다. 결과 유형이 없으면 #PDCOMM_GEM_OUTCOME_NONE입니다.

reply_sent

필드

이쪽이 이 결과의 1차 메시지에 응답을 보냈으면 0이 아닙니다.

uint8_t reply_sent

선언 위치: #include <pdcomm_gem.h>

라이브러리가 수신한 1차 메시지에 자동으로 응답하면 pdcomm_gem_handle_event()가 설정하고, 다른 GEM 헤더의 응답 함수가 1차 메시지 결과에 명시적으로 응답하면 해당 함수가 설정합니다. 이쪽이 보낸 요청에 대한 응답인 #PDCOMM_GEM_RESPONSE 결과에서는 0으로 유지됩니다.

request_kind

필드

응답, 실패, 잘못된 응답 결과에서는 일치한 대기 요청의 요청 종류이며, 그 밖에는 0입니다.

uint32_t request_kind

선언 위치: #include <pdcomm_gem.h>

state

필드

이벤트를 처리한 뒤의 엔드포인트 GEM 상태입니다.

PdcommGemState state

선언 위치: #include <pdcomm_gem.h>

struct_size

필드

구조체 크기(바이트)입니다.

size_t struct_size

선언 위치: #include <pdcomm_gem.h>

호출 전에 sizeof(PdcommGemResultInfo) 이상으로 설정합니다. 성공하면 라이브러리는 자신이 기록한 레이아웃의 크기를 저장하며, 그 크기를 넘는 바이트는 변경하지 않습니다.

token

필드

트랜잭션 토큰입니다.

PdcommTcpToken token

선언 위치: #include <pdcomm_gem.h>

1차 메시지이면 수신한 메시지의 엔드포인트, 세대, 시스템 바이트(system bytes)입니다. 응답, 실패, 잘못된 응답 결과이면 요청을 제출할 때 반환된 토큰입니다. 트랜잭션이 없는 무시된 이벤트에서는 0입니다.