Esta sección describo los tipos básicos de datos utilizados en los mensajes.
Un entero n en orden de bytes de red. Si i está especificado es el valor literal. P.e. Int16, Int32(42).
Un array de caracteres de exactamente n bytes interpretado como una cadena terminada en '\0'. El '\0' se omite si no existe espacio suficiente. Si s está especificado entonces es el valor literal. P.e. LimString32, LimString64("user").
Una cadena de C convencional terminada en '\0' sin limitación de longitud. Si s está especificada es el valor literal. P.e. String, String("user").
Nota: No existe límite predefinido para la longitud de una cadena que puede ser retornada por el backend. Una buena estrategia a utilizar por el frontend consiste en usar un buffer expandible para que cualquier cosa que quepa en memoria pueda ser aceptada. Si esto no es posible, se debe leer toda la cadena y deshechar los caracteres que no quepan en el buffer de longitud fija.
Exactamente n bytes. Si c está especificade es el valor literal. P.e. Byte, Byte1('\n').