pdcomm_gem_equipment_observe_alarm
함수
아무것도 보내지 않고 알람의 현재 설정 또는 해제 상태를 기록합니다.
PdcommStatus pdcomm_gem_equipment_observe_alarm(PdcommTcpEndpoint *endpoint, uint32_t id, uint8_t active, PdcommGemAlarmChange *change)관측은 저장된 상태를 즉시 갱신하며 메모리를 할당하지 않습니다. 상태가 바뀌면 change가 전이와 구성된 설정 또는 해제 CEID를 보고합니다. 상태가 그대로이면 changed와 event_present는 0입니다. reporting_enabled는 이 알람에 대한 호스트의 현재 S5F3 설정의 스냅샷입니다.
게시는 별도로 합니다. S5F1 보고서는 pdcomm_gem_equipment_publish_alarm()으로, 반환된 CEID의 S6F11 이벤트 보고서는 pdcomm_gem_equipment_publish_event()로 보냅니다. 나중에 전송이 실패해도 관측한 상태는 되돌아가지 않습니다.
매개변수
| 이름 | 설명 |
|---|---|
endpoint | GEM 장비와 알람 저장소가 구성된 엔드포인트입니다. |
id | 알람 ID(ALID)입니다. |
active | 알람 조건이 설정되었으면 1, 해제되었으면 0입니다. |
change | 호출자 저장 공간입니다. 호출 전에 change->struct_size를 설정합니다. 성공할 때만 기록됩니다. |
반환값
관측을 기록하면 #PDCOMM_OK를 반환합니다. endpoint 또는 change가 NULL이거나, change->struct_size가 너무 작거나, active가 0이나 1이 아니면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. id가 구성된 알람이 아니면 #PDCOMM_OUT_OF_RANGE를 반환합니다. 엔드포인트에 GEM 장비가 없거나 GEM 장비에 알람 저장소가 없으면 #PDCOMM_INVALID_STATE를 반환합니다. 엔드포인트가 오염(poisoned) 상태이거나 패닉(panic)을 격리했으면 #PDCOMM_POISONED를 반환합니다.