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

pdcomm_gem_host_enable_alarm

함수

호스트에서 S5F3 Enable/Disable Alarm Send를 보냅니다.

PdcommStatus pdcomm_gem_host_enable_alarm(PdcommTcpEndpoint *endpoint, uint32_t id, uint8_t enabled, uint8_t reply_expected, PdcommTcpToken *out_token)

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

본문은 L[ALED, ALID]이며, ALED는 0x80(활성화) 또는 0x00(비활성화)인 Binary 바이트이고 ALID는 U4입니다. W=1이면 요청이 네이티브 대기 슬롯을 차지하며, 이후 pdcomm_gem_handle_event()가 결과 유형이 #PDCOMM_GEM_ALARM_ENABLE_ACK이고 ACKC5 값을 담은 RESPONSE 결과를 만듭니다. W=0이면 대기 슬롯을 쓰지 않고 응답도 기대하지 않습니다.

매개변수

이름설명
endpointGEM 호스트가 구성된 엔드포인트입니다.
id알람 ID(ALID)입니다.
enabled알람의 보고를 활성화하려면 1, 비활성화하려면 0입니다.
reply_expectedW=1로 보내려면 1, W=0으로 보내려면 0입니다.
out_token접수된 메시지의 전송 토큰을 받습니다. 실패하면 항상 0입니다.

반환값

메시지를 큐에 넣었으면 #PDCOMM_OK를 반환합니다(큐 접수만 뜻함). endpoint 또는 out_token이 NULL이거나, enabled 또는 reply_expected가 0이나 1이 아니면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 엔드포인트에 GEM 호스트가 없거나, 통신이 COMMUNICATING 상태가 아니거나, HSMS 세션이 선택(selected) 상태가 아니면 #PDCOMM_INVALID_STATE를 반환합니다. 준비된 TCP 이벤트(staged event)가 있거나, 대기 슬롯 32개가 모두 사용 중이거나(W=1일 때만), TCP 큐가 가득 찼거나 정지 중이면 #PDCOMM_BACKPRESSURE를 반환합니다. #PDCOMM_LIMIT_EXCEEDED 또는 #PDCOMM_ALLOCATION_FAILED를 반환할 수도 있습니다. 엔드포인트가 오염(poisoned) 상태이거나 패닉(panic)을 격리했으면 #PDCOMM_POISONED를 반환합니다. 그 밖에 pdcomm_tcp_request()와 같은 다른 TCP 제출 상태 코드를 반환할 수 있습니다.