다음을 통해 공유


FMI 메시지 형식

이 섹션에서는 FMI(함수 관리 인터페이스)의 메시지 형식에 대해 설명합니다. 메시지 형식은 언어 독립적 표기법으로 표시됩니다. 메시지 형식 표기법의 세부 정보 및 메시지 형식의 내용에 대한 주요 가정은 다음과 같습니다.

  • 예약됨은 메시지 보낸 사람의 필드가 0(숫자 필드의 경우) 또는 모든 null(이름)으로 설정되어 있음을 나타냅니다.

  • 정의되지 않음은 필드 값이 확정되지 않음을 나타냅니다. 필드는 보낸 사람에서 설정되지 않으며 메시지 수신자가 검사해서는 안 됩니다.

  • Open(PLU) 요청opresid와 같이 2바이트를 차지하는 필드는 소프트웨어가 실행되는 프로세서에서 사용하는 일반 방향에 관계없이 가장 낮은 바이트 주소에서 가장 산술적으로 중요한 바이트로 표시됩니다. 즉, 2-바이트 값 0x1234 바이트 0x12 가장 낮은 바이트 주소에 있습니다. 그러나 다음 필드는 예외입니다.

    • 버퍼 헤더 의 srcidesti 필드는 할당하는 애플리케이션만 이러한 값을 해석해야 하므로 할당하는 애플리케이션의 로컬 형식으로 저장됩니다.

    • 요소의 시작 필드는 항상 낮은 바이트, 높은 바이트 방향(Intel 프로세서의 일반 방향)에 저장됩니다.

  • 메시지는 버퍼 헤더와 0개 이상의 버퍼 요소로 구성된 버퍼로 구성됩니다. 버퍼 형식에 대한 자세한 내용은 메시지를 참조 하세요.

  • 애플리케이션은 노드 내의 모든 활성 LPI 연결에 대해 고유 인덱스(I) 값을 할당해야 합니다. 특히 Open(SSCP) 요청Open(PLU)에 대한 응답으로 보내는 원본 인덱스와 달라야 합니다. 또한 0을 I 값으로 사용하면 안 됩니다. I 값이 0이면 메시지 보낸 사람이 메시지의 받는 사람을 초대하여 I 값을 할당합니다.

  • 각 요소의 시작 필드는 trpad 필드 뒤의 요소에 있는 데이터의 첫 번째 바이트 오프셋을 제공합니다.

    LUA(비논리 단위 애플리케이션) 애플리케이션의 경우 시작 은 1( trpad 필드 이후 바이트에서 데이터 시작), 10개(9바이트의 패딩이 trpad 필드와 데이터 시작 사이에 포함됨) 또는 13( trpad 필드와 데이터 시작 사이에 12바이트 패딩 포함)입니다.

    LUA 애플리케이션의 경우 시작 은 메시지의 첫 번째 요소에서 4( trpad 필드와 데이터 시작 사이에 3바이트 패딩)이고 후속 요소의 경우 13(패딩 12바이트)입니다.

    로컬 노드는 추가 헤더 정보에 추가 바이트를 사용합니다. 이렇게 하면 이 정보를 추가할 때 새 버퍼에 데이터를 복사할 필요가 없습니다.

  • startd는 0이 아닌 1부터 시작하는 dataru로의 인덱스이므로 유효한 데이터의 첫 번째 바이트는 항상 dataru[startd–1]에 있습니다.

  • startdendd보다 크면 메시지에 유효한 데이터가 없습니다.

  • dataru 내의 모든 필드는 주의가 달리 표시되는 경우를 제외하고 CHAR 형식입니다.

  • 버퍼 요소의 시작 이 1, 10 또는 13인 경우 요소 체인의 초기 요소에만 적용되며 체인의 후속 요소는 1로 시작됩니다 . 메시지 형식에 연결된 두 개의 연결된 요소 체인이 있는 메시지(예: Open(PLU) Request and Open(PLU) OK Response)는 체인의 시작 부분에 있는 요소의 시작 필드를 메시지 형식으로 지정된 값(1, 10 또는 13)으로, 다른 모든 요소의 시작 필드를 1로 지정합니다.

섹션 내용