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

PdcommGemState

구조체

엔드포인트의 GEM 상태입니다. pdcomm_gem_state()가 채우며 ::PdcommGemResultInfo에도 포함됩니다.

typedef struct PdcommGemState { ... } PdcommGemState

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

멤버

communication

필드

통신 상태입니다. #PDCOMM_GEM_DISCONNECTED부터 #PDCOMM_GEM_COMMUNICATING까지의 값 중 하나입니다.

uint32_t communication

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

control

필드

장비 제어 상태(#PDCOMM_GEM_EQUIPMENT_OFFLINE부터 #PDCOMM_GEM_ONLINE_REMOTE까지)입니다. 호스트에서는 #PDCOMM_GEM_CONTROL_UNAVAILABLE입니다.

uint32_t control

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

endpoint_id

필드

TCP 엔드포인트의 식별자이며, ::PdcommTcpToken에 담기는 값과 같습니다.

uint64_t endpoint_id

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

generation

필드

TCP 엔드포인트의 현재 연결 세대입니다.

uint64_t generation

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

online_mode

필드

장비 온라인 모드(#PDCOMM_GEM_LOCAL 또는 #PDCOMM_GEM_REMOTE)입니다. 호스트에서는 #PDCOMM_GEM_CONTROL_UNAVAILABLE입니다.

uint32_t online_mode

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

pending_count

필드

사용 중인 대기 요청 슬롯의 개수이며 최대 32입니다.

size_t pending_count

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

연결 해제로 종료되었지만 최종 #PDCOMM_GEM_FAILED 결과가 아직 처리되지 않은 요청도 포함합니다.

pending_ids

필드

대기 중인 요청이 보관한 식별자 개수입니다. 호스트에서는 max_pending_ids에 포함해 셉니다.

size_t pending_ids

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

role

필드

구성된 역할입니다. #PDCOMM_GEM_HOST 또는 #PDCOMM_GEM_EQUIPMENT입니다.

uint32_t role

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

struct_size

필드

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

size_t struct_size

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

호출 전에 sizeof(PdcommGemState) 이상으로 설정합니다. 성공하면 라이브러리는 자신이 기록한 레이아웃의 크기를 저장합니다.

variable_count

필드

등록된 상태 변수 개수입니다. 호스트에서는 0입니다.

size_t variable_count

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