Formato de elemento de búfer

En la tabla siguiente se enumeran los campos comunes que siempre se producen al principio de un elemento de búfer. El campo dataru contiene información específica del mensaje determinado. Para obtener más información sobre los formatos de mensaje individuales, consulte Formatos de mensaje fmi.

Campo Tipo Descripción
hdreptr-elteptr> PTRBFELT Puntero al siguiente elemento de búfer de la cadena. NULL si este elemento es el último o solo elemento de la cadena.
hdreptr-startd> INTEGER Inicio de datos válidos en este elemento. Índice en dataru del primer byte de datos válidos.
hdreptr-endd> INTEGER Fin de datos válidos en este elemento. Índice en dataru del último byte de datos válidos.
hdreptr-trpad> CHAR Pad byte (reservado).
hdreptr-dataru> CHAR[268] Matriz de caracteres que contiene los datos de este elemento. Tenga en cuenta que los datos válidos podrían no ocupar todo el elemento. Los campos iniciales y finales proporcionan los índices a esta matriz del inicio y el final de los datos válidos.

Use la siguiente información para ayudarle a interpretar los formatos de mensaje:

  • Algunos mensajes se muestran como tener dos elementos en los formatos de mensaje. Por ejemplo, la solicitud Open(PLU) tiene el campo CICB en el primer elemento y la RU BIND en el segundo elemento. Esto indica que el mensaje consta de dos cadenas de elementos vinculados distintos. El campo elteptr del primer elemento apunta al segundo elemento.

  • Los campos que ocupan dos bytes se representan con el byte más significativo de forma aritmética en la dirección de bytes más baja, independientemente de la orientación normal utilizada por el procesador en el que se ejecuta el software. Es decir, el valor de 2 bytes 0x1234 tiene el 0x12 de bytes en la dirección de bytes más baja. Las excepciones a esto son los campos iniciales y finales de los elementos, que siempre se almacenan en orientación de bajo byte y de alto byte (la orientación normal de un procesador Intel).

  • Los desplazamientos indicados por los campos inicial y final se expresan en términos del primer byte de dataru que se va a desplazar 1. El primer byte de datos válidos está en dataru[startd–1]. Por ejemplo, si startd es 11 y endd es 18, dataru comienza con 10 bytes que no son datos válidos, seguidos de 8 bytes de datos válidos.

  • Es posible que un elemento llegue con un valor mayor que endd. Esto indica que no hay datos válidos en dataru.

    En el formato de mensaje de ejemplo que se muestra en Información general de formatos de mensaje, cada elemento tiene un inicio de 13, que indica 12 bytes de relleno antes del inicio de los datos válidos. Esto deja espacio para 256 bytes de datos, por lo que los datos del elemento (300 bytes de longitud en este ejemplo) requieren dos elementos.