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

pdcomm_gem_equipment_status_register

함수

장비 상태 변수(status variable, SV)를 등록합니다.

PdcommStatus pdcomm_gem_equipment_status_register(PdcommTcpEndpoint *endpoint, uint32_t id, const char *name, size_t name_length, const char *units, size_t units_length, const PdcommSecsItem *value)

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

장비는 이 레지스트리를 바탕으로 S1F3과 S1F11에 응답합니다. 값 항목은 복제될 뿐 소비되지 않으며, 최상위 형식이 변수의 선언 형식이 됩니다. 오류가 나면 레지스트리는 바뀌지 않습니다.

매개변수

이름설명
endpoint장비 역할을 가지고 #PDCOMM_TCP_STOPPED 상태인 유효한 TCP 엔드포인트입니다.
id상태 변수 ID(SVID)입니다. 아직 등록되지 않은 값이어야 합니다.
name종료 문자 없는 ASCII 바이트로 된 SV 이름(SVNAME)입니다. name_length가 0이면 NULL일 수 있습니다.
name_lengthname의 바이트 수입니다.
units종료 문자 없는 ASCII 바이트로 된 단위(UNITS)입니다. units_length가 0이면 NULL일 수 있습니다.
units_lengthunits의 바이트 수입니다.
value초깃값입니다. NULL이 아니어야 합니다.

반환값

변수를 등록했으면 #PDCOMM_OK를 반환합니다. endpoint 또는 value가 NULL이거나, 길이가 0이 아닌데 텍스트 포인터가 NULL이거나, 이름 또는 단위가 ASCII가 아니거나, id가 이미 등록되어 있으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 엔드포인트가 정지 상태가 아니거나 장비 역할이 없으면 #PDCOMM_INVALID_STATE를 반환합니다. max_variables, max_metadata_bytes, max_value_bytes 또는 항목 한도를 넘게 되면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 준비된 TCP 이벤트(staged event)가 있으면 #PDCOMM_BACKPRESSURE를 반환합니다. 그 밖에 #PDCOMM_ALLOCATION_FAILED 또는 #PDCOMM_POISONED를 반환합니다.

참고

  • 등록 순서는 모든 변수에 대한 S1F3 및 S1F11 요청과 pdcomm_gem_equipment_status_id_at()이 사용하는 순서입니다.