pdcomm_gem_result_alarm_at
함수
검증을 마친 호스트 알람 결과의 알람 튜플 하나를 읽고 그 텍스트를 복사합니다.
PdcommStatus pdcomm_gem_result_alarm_at(const PdcommGemResult *result, size_t index, PdcommGemAlarmValue *value, uint8_t *text, size_t capacity, size_t *required)보고서에서는 인덱스 0이 유일한 엔트리이며, 목록 엔트리는 전송 순서를 유지합니다. 텍스트 복사는 pdcomm_gem_equipment_alarm_at()의 규칙을 따릅니다. 먼저 value의 알려진 필드를 지우고 *required를 0으로 설정하며, 버퍼가 짧으면 버퍼에는 아무것도 쓰지 않고 value와 *required만 기록합니다.
매개변수
| 이름 | 설명 |
|---|---|
result | 알람 보고서 또는 알람 목록 결과입니다. |
index | 0부터 시작하는 엔트리 인덱스입니다. |
value | 호출자 저장 공간입니다. 호출 전에 value->struct_size를 설정합니다. |
text | ALTX 바이트를 받을 대상 버퍼입니다. capacity가 0일 때만 NULL일 수 있습니다. |
capacity | text의 크기(바이트)입니다. |
required | 텍스트 길이를 받습니다. NULL이 아니어야 합니다. |
반환값
엔트리와 그 텍스트를 복사하면 #PDCOMM_OK를 반환합니다. capacity가 텍스트보다 작으면 #PDCOMM_BUFFER_TOO_SMALL을 반환합니다. result, value 또는 required가 NULL이거나, capacity가 0이 아닌데 text가 NULL이거나, 출력이 겹치거나, value->struct_size가 너무 작으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. index가 엔트리 개수보다 작지 않으면 #PDCOMM_OUT_OF_RANGE를 반환합니다. result가 알람 결과가 아니면 #PDCOMM_INVALID_STATE를 반환합니다. 패닉(panic)을 격리했으면 #PDCOMM_INTERNAL_ERROR를 반환합니다.
참고
value,text,required는 서로 겹치면 안 됩니다.