PdcommGemResultInfo
구조체
::PdcommGemResult의 고정 필드입니다. pdcomm_gem_result_info()로 읽습니다.
typedef struct PdcommGemResultInfo { ... } PdcommGemResultInfo멤버
acknowledgement
필드
교환의 확인 응답 코드(COMMACK, OFLACK, ONLACK 등)입니다. acknowledgement_present가 0이 아닐 때만 유효합니다.
uint8_t acknowledgementacknowledgement_present
필드
acknowledgement에 값이 있으면 0이 아닙니다.
uint8_t acknowledgement_presentcode
필드
실패 또는 오류의 세부 정보입니다. 없으면 0입니다.
uint32_t code#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_countkind
필드
결과 종류입니다. #PDCOMM_GEM_IGNORED, #PDCOMM_GEM_PRIMARY, #PDCOMM_GEM_RESPONSE, #PDCOMM_GEM_FAILED, #PDCOMM_GEM_INVALID_RESPONSE, #PDCOMM_GEM_UNHANDLED 중 하나입니다.
uint32_t kindoutcome
필드
메시지가 일으킨 일을 나타내는 PDCOMM_GEM_* 결과 유형(outcome) 값입니다.
uint32_t outcome0부터 13까지의 값은 이 헤더에 정의되어 있고, 다른 GEM 헤더가 추가 결과 유형을 정의합니다. 결과 유형이 없으면 #PDCOMM_GEM_OUTCOME_NONE입니다.
reply_sent
필드
이쪽이 이 결과의 1차 메시지에 응답을 보냈으면 0이 아닙니다.
uint8_t reply_sent라이브러리가 수신한 1차 메시지에 자동으로 응답하면 pdcomm_gem_handle_event()가 설정하고, 다른 GEM 헤더의 응답 함수가 1차 메시지 결과에 명시적으로 응답하면 해당 함수가 설정합니다. 이쪽이 보낸 요청에 대한 응답인 #PDCOMM_GEM_RESPONSE 결과에서는 0으로 유지됩니다.
request_kind
필드
응답, 실패, 잘못된 응답 결과에서는 일치한 대기 요청의 요청 종류이며, 그 밖에는 0입니다.
uint32_t request_kindstate
필드
이벤트를 처리한 뒤의 엔드포인트 GEM 상태입니다.
PdcommGemState statestruct_size
필드
구조체 크기(바이트)입니다.
size_t struct_size호출 전에 sizeof(PdcommGemResultInfo) 이상으로 설정합니다. 성공하면 라이브러리는 자신이 기록한 레이아웃의 크기를 저장하며, 그 크기를 넘는 바이트는 변경하지 않습니다.
token
필드
트랜잭션 토큰입니다.
PdcommTcpToken token1차 메시지이면 수신한 메시지의 엔드포인트, 세대, 시스템 바이트(system bytes)입니다. 응답, 실패, 잘못된 응답 결과이면 요청을 제출할 때 반환된 토큰입니다. 트랜잭션이 없는 무시된 이벤트에서는 0입니다.