PdcommGemProgramInfo
구조체
pdcomm_gem_result_program_info()가 채우는 GEM 결과의 공정 프로그램 정보입니다.
typedef struct PdcommGemProgramInfo { ... } PdcommGemProgramInfo요청 결과(수신한 1차 메시지)는 수신한 PPID, 본문, 선언된 길이와 함께 로컬 처리 상태를 제공합니다. 응답 결과는 회선에서 확인된 사실만 제공합니다. 호스트는 이 정보로 원격 측의 적용 여부나 지속성을 추론할 수 없습니다.
멤버
acknowledgement
필드
보냈거나 받은 PPGNT(S7F2) 또는 ACKC7(S7F4, S7F18)입니다.
uint8_t acknowledgementacknowledgement_present
필드
acknowledgement가 유효하면 1입니다.
uint8_t acknowledgement_presentapplied
필드
이 요청에 응답하면서 저장소를 변경했으면 1입니다.
uint8_t appliedconfirmation_required
필드
보관된 응답이 #PDCOMM_PROGRAM_UNCONFIRMED 이후 pdcomm_gem_program_confirm_reply() 호출을 기다리고 있으면 1입니다.
uint8_t confirmation_requireddeclared_length
필드
수신한 S7F1에 선언된 LENGTH이며 단위는 PPBODY 페이로드 바이트입니다. 그 밖에는 0입니다.
uint32_t declared_lengthdurability
필드
응답하면서 수행한 반영의 지속성입니다. PDCOMM_GEM_PROGRAM_* 지속성 값 중 하나입니다.
uint32_t durabilitygrant_activated
필드
이 S7F1에 응답하여 허가가 활성화되었으면 1입니다. 최초 활성화 사실을 보고할 뿐이며, 허가가 아직 유효한지는 나타내지 않습니다.
uint8_t grant_activatedid_count
필드
#PDCOMM_GEM_PROGRAM_ID로 얻을 수 있는 PPID 개수입니다.
size_t id_countS7F1, F3, F5 요청은 1입니다. S7F17은 목록 길이입니다. S7F19는 0입니다. 알려진 프로그램을 지정한 S7F6은 1이고, 알 수 없음 센티널(unknown sentinel)이면 0입니다. S7F20은 디렉터리 길이입니다. 확인 응답 회신은 0입니다. ::PdcommGemResultInfo의 일반 필드 entry_count도 같은 값입니다.
is_request
필드
수신한 요청이면 1, 이 엔드포인트가 보낸 요청에 대한 응답이면 0입니다.
uint8_t is_requestpersistence_status
필드
#PDCOMM_OK이거나, 확인되지 않은 반영의 영구 저장 오류입니다.
int32_t persistence_statusreply_ready
필드
준비된 응답이 보관되어 있어 pdcomm_gem_program_respond()로 보낼 수 있으면 1입니다.
uint8_t reply_readyrequest_kind
필드
요청 종류입니다. #PDCOMM_GEM_PROGRAM_GRANT부터 #PDCOMM_GEM_PROGRAM_DIRECTORY까지의 값 중 하나입니다.
uint32_t request_kindresponded
필드
수신한 요청에 대한 응답이 큐에 들어간 뒤에는 1입니다.
uint8_t respondedstruct_size
필드
이 구조체의 크기(바이트)입니다. 호출 전에 sizeof(PdcommGemProgramInfo) 이상으로 설정합니다.
size_t struct_size