pdcomm_gem_equipment_status_metadata
함수
등록된 상태 변수의 이름과 단위를 복사합니다.
PdcommStatus pdcomm_gem_equipment_status_metadata(PdcommTcpEndpoint *endpoint, uint32_t id, uint8_t *name, size_t name_capacity, size_t *name_required, uint8_t *units, size_t units_capacity, size_t *units_required)두 길이를 모두 보고합니다. 어느 한 버퍼라도 너무 작으면 두 버퍼 모두 변경하지 않습니다. 바이트는 종료 문자가 추가되지 않은 ASCII입니다.
매개변수
| 이름 | 설명 |
|---|---|
endpoint | 장비 역할을 가진 유효한 TCP 엔드포인트입니다. |
id | 등록된 상태 변수 ID입니다. |
name | 이름을 받을 대상 버퍼입니다. name_capacity가 0일 때만 NULL일 수 있습니다. |
name_capacity | name의 크기(바이트)입니다. |
name_required | 이름 길이를 받습니다(NULL이 아니면 먼저 0으로 설정됩니다). NULL이 아니어야 합니다. |
units | 단위를 받을 대상 버퍼입니다. units_capacity가 0일 때만 NULL일 수 있습니다. |
units_capacity | units의 크기(바이트)입니다. |
units_required | 단위 길이를 받습니다(NULL이 아니면 먼저 0으로 설정됩니다). NULL이 아니어야 합니다. |
반환값
두 문자열을 모두 복사했으면 #PDCOMM_OK를 반환합니다. 어느 한 용량이라도 너무 작으면 #PDCOMM_BUFFER_TOO_SMALL을 반환합니다(두 길이는 설정되고 버퍼는 변경되지 않습니다). endpoint, name_required 또는 units_required가 NULL이거나, 용량이 0이 아닌데 버퍼가 NULL이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. id가 등록되어 있지 않으면 #PDCOMM_OUT_OF_RANGE를 반환합니다. 엔드포인트에 장비 역할이 없으면 #PDCOMM_INVALID_STATE를 반환합니다. 준비된 TCP 이벤트(staged event)가 있으면 #PDCOMM_BACKPRESSURE를 반환합니다. 엔드포인트가 오염(poisoned) 상태이면 #PDCOMM_POISONED를 반환합니다.
참고
- 모든 출력은 쓸 수 있어야 하며 서로 겹치면 안 됩니다.