버퍼 요소 형식
다음 표에서는 버퍼 요소의 시작 부분에 항상 발생하는 공통 필드를 나열합니다. 데이터루 필드에는 특정 메시지와 관련된 정보가 포함됩니다. 개별 메시지 형식에 대한 자세한 내용은 FMI 메시지 형식을 참조하세요.
필드 | 형식 | Description |
---|---|---|
hdreptr-elteptr> | PTRBFELT | 체인의 다음 버퍼 요소에 대한 포인터입니다. 이 요소가 체인의 마지막 또는 유일한 요소인 경우 NULL입니다. |
hdreptr-startd> | INTEGER | 이 요소에서 유효한 데이터의 시작입니다. 유효한 데이터의 첫 번째 바이트의 데이터로 인덱스입니다. |
hdreptr-endd> | INTEGER | 이 요소의 유효한 데이터의 끝입니다. 유효한 데이터의 마지막 바이트의 데이터로 인덱스입니다. |
hdreptr-trpad> | CHAR | Pad 바이트(예약됨). |
hdreptr-dataru> | CHAR[268] | 이 요소에 대한 데이터를 포함하는 문자의 배열입니다. 유효한 데이터가 요소 전체를 차지하지 않을 수 있습니다. 시작 및 종료된 필드는 유효한 데이터의 시작 및 끝의 이 배열에 인덱스를 제공합니다. |
다음 정보를 사용하여 메시지 형식을 해석할 수 있습니다.
특정 메시지는 메시지 형식에 두 개의 요소가 있는 것으로 표시됩니다. 예를 들어 Open(PLU) Request 에는 첫 번째 요소의 CICB 필드와 두 번째 요소의 BIND RU 가 있습니다. 이는 메시지가 두 개의 고유한 연결된 요소 체인으로 구성됨을 나타냅니다. 첫 번째 요소의 elteptr 필드는 두 번째 요소를 가리킵니다.
2바이트를 차지하는 필드는 소프트웨어가 실행되는 프로세서에서 사용하는 일반 방향에 관계없이 가장 낮은 바이트 주소에서 산술적으로 가장 중요한 바이트로 표시됩니다. 즉, 0x1234 2 바이트 값에는 가장 낮은 바이트 주소의 바이트 0x12 있습니다. 이에 대한 예외는 요소의 시작 및 끝 필드로, 항상 낮은 바이트, 높은 바이트 방향(Intel 프로세서의 일반 방향)에 저장됩니다.
시작 및 끝 필드로 표시되는 오프셋은 오프셋 1이 되는 dataru의 첫 번째 바이트 측면에서 표현됩니다. 유효한 데이터의 첫 번째 바이트는 dataru[startd–1]에 있습니다. 예를 들어 startd 가 11이고 endd 가 18이면 dataru 는 유효한 데이터가 아닌 10바이트로 시작하고 8바이트의 유효한 데이터로 시작합니다.
종료보다 큰startd를 사용하여 요소가 도착할 수 있습니다. 이는 dataru에 유효한 데이터가 없음을 나타냅니다.
메시지 형식 개요에 표시된 샘플 메시지 형식에서 각 요소의 시작은 13으로, 유효한 데이터가 시작되기 전에 12바이트의 패딩을 나타냅니다. 이렇게 하면 256바이트의 데이터에 대한 공간이 남게 되므로 요소 데이터(이 예제에서는 300바이트 길이)에 두 개의 요소가 필요합니다.