SLI_RECEIVE
El verbo SLI_RECEIVE recibe respuestas, comandos SNA y datos en un búfer de aplicaciones de aplicación de unidad lógica (LUA) de Microsoft® Windows®. SLI_RECEIVE también proporciona el estado actual de la sesión a la aplicación LUA de Windows.
En la estructura siguiente se describe el LUA_COMMON miembro del bloque de control de verbos (VCB) usado por SLI_RECEIVE.
Sintaxis
struct LUA_COMMON {
unsigned short lua_verb;
unsigned short lua_verb_length;
unsigned short lua_prim_rc;
unsigned long lua_sec_rc;
unsigned short lua_opcode;
unsigned long lua_correlator;
unsigned char lua_luname[8];
unsigned short lua_extension_list_offset;
unsigned short lua_cobol_offset;
unsigned long lua_sid;
unsigned short lua_max_length;
unsigned short lua_data_length;
char FAR * lua_data_ptr;
unsigned long lua_post_handle;
struct LUA_TH lua_th;
struct LUA_RH lua_rh;
struct LUA_FLAG1 lua_flag1;
unsigned char lua_message_type;
struct LUA_FLAG2 lua_flag2;
unsigned char lua_resv56[7];
unsigned char lua_encr_decr_option;
};
Members
lua_verb
Parámetro proporcionado. Contiene el código de verbo, LUA_VERB_SLI para verbos de interfaz de nivel de sesión (SLI).
lua_verb_length
Parámetro proporcionado. Especifica la longitud en bytes del VCB lua. Debe contener la longitud del registro de verbo que se va a emitir.
lua_prim_rc
Código de retorno principal establecido por LUA al finalizar el verbo. Los códigos de retorno válidos varían según el verbo LUA emitido.
lua_sec_rc
Código de retorno secundario establecido por LUA al finalizar el verbo. Los códigos de retorno válidos varían según el verbo LUA emitido.
lua_opcode
Parámetro proporcionado. Contiene el código de comando LUA (código de operación de verbo) para el verbo que se va a emitir, LUA_OPCODE_SLI_RECEIVE.
lua_correlator
Parámetro proporcionado. Contiene un valor proporcionado por el usuario que vincula el verbo con otra información proporcionada por el usuario. LUA no usa ni cambia esta información. Este parámetro es opcional.
lua_luname
Parámetro proporcionado. Especifica el nombre ASCII de la LU local usada por la sesión de LUA de Windows.
SLI_RECEIVE solo requiere este parámetro si lua_sid es cero.
Este parámetro tiene ocho bytes de longitud, rellenado a la derecha con espacios (0x20) si el nombre tiene menos de ocho caracteres.
lua_extension_list_offset
No se usa en SLI_RECEIVE y debe establecerse en cero.
lua_cobol_offset
LuA no se usa en Microsoft® Host Integration Server o SNA Server y debe ser cero.
lua_sid
Parámetro proporcionado y devuelto. Especifica el identificador de sesión y lo devuelven SLI_OPEN y RUI_INIT. Otros verbos usan este parámetro para identificar la sesión usada para el comando. Si otros verbos usan el parámetro lua_luname para identificar sesiones, establezca el parámetro lua_sid en cero.
lua_max_length
Especifica la longitud del búfer recibido para RUI_READy SLI_RECEIVE.
lua_data_length
Parámetro devuelto. Especifica la longitud de los datos devueltos en el búfer de recepción.
lua_data_ptr
Puntero al búfer proporcionado por la aplicación que va a recibir los datos de un verbo SLI_RECEIVE . Tanto los comandos SNA como los datos se colocan en este búfer y pueden tener un formato de código de intercambio decimal codificado binario extendido (EBCDIC).
Cuando se emite SLI_RECEIVE, este parámetro apunta a la ubicación para recibir los datos del host.
lua_post_handle
Parámetro proporcionado. Se usa en Microsoft® Windows Server si los eventos deben realizar notificaciones asincrónicas. Esta variable contiene el identificador del evento que se va a indicar o un identificador de ventana.
lua_th
Parámetro devuelto. Contiene el encabezado de transmisión SNA (TH) del mensaje recibido. Se devuelven varios subparámetros para las funciones de lectura y puja. Sus subparámetros son los siguientes:
lua_th.flags_fid
Formato tipo de identificación 2, cuatro bits.
lua_th.flags_mpf
Campo de asignación de segmentación, dos bits. Define el tipo de segmento de datos. Valores válidos son:
0x0 segmento medio0x04 último segmento0x08 primer segmento0x0C solo segmento
lua_th.flags_odai
Indicador del asignador de campo de dirección de origen:campo de destino (OAF–DAF), un bit.
lua_th.flags_efi
Indicador de flujo acelerado, un bit.
lua_th.daf
Campo de dirección de destino (DAF), un carácter sin signo.
lua_th.oaf
Campo de dirección de origen (OAF), un carácter sin signo.
lua_th.snf
Campo número de secuencia, un carácter sin signo[2].
lua_rh
Parámetro devuelto. Contiene el encabezado de solicitud/respuesta de SNA (RH) del mensaje enviado o recibido. Sus subparámetros son los siguientes:
lua_rh.rri
Indicador de solicitud-respuesta, un bit.
lua_rh.ruc
Categoría de unidad de solicitud/respuesta (RU), dos bits. Valores válidos son:
LUA_RH_FMD (0x00) control de flujo de datos fmLUA_RH_NC (0x20) Control de red LUA_RH_DFC (0x40) Control de flujo de datosLUA_RH_SC (0x60) Control de sesión
lua_rh.fi
Indicador de formato, un bit.
lua_rh.sdi
Los datos de detección incluyen un indicador, un bit.
lua_rh.bci
Indicador de cadena inicial, un bit.
lua_rh.eci
Indicador de cadena final, un bit.
lua_rh.dr1i
Indicador de respuesta definitiva 1, un bit.
lua_rh.dr2i
Indicador de respuesta 2 definitiva, un bit.
lua_rh.ri
Indicador de respuesta de excepción (para una solicitud) o indicador de tipo de respuesta (para una respuesta), un bit.
lua_rh.qri
Indicador de respuesta en cola, un bit.
lua_rh.pi
Indicador de velocidad, un poco.
lua_rh.bbi
Indicador de corchete inicial, un bit.
lua_rh.ebi
Indicador de corchete final, un bit.
lua_rh.cdi
Indicador de dirección de cambio, un bit.
lua_rh.csi
Indicador de selección de código, un bit.
lua_rh.edi
Indicador de datos cifrado, un bit.
lua_rh.pdi
Indicador de datos rellenado, un bit.
lua_flag1
Parámetro proporcionado. Contiene una estructura de datos que contiene marcas para los mensajes proporcionados por la aplicación. Este parámetro lo usan RUI_BID, RUI_READ, RUI_WRITE, SLI_BID, SLI_RECEIVE y SLI_SEND. Sus subparámetros son los siguientes:
lua_flag1.bid_enable
Indicador de habilitación de puja, un bit.
lua_flag1.close_abend
Cierre el indicador inmediato, un bit.
lua_flag1.nowait
No hay ninguna marca de datos de espera, un bit.
lua_flag1.sscp_exp
Flujo acelerado del punto de control de servicios del sistema (SSCP), un bit.
lua_flag1.sscp_norm
Flujo normal de SSCP, un bit.
lua_flag1.lu_exp
Flujo acelerado de LU, un bit.
lua_flag1.lu_norm
Flujo normal de LU, un poco.
Establezca lua_flag1.bid_enable en 1 para volver a habilitar el SLI_BID más reciente (equivalente a emitir SLI_BID de nuevo con exactamente los mismos parámetros que antes) o establézcalo en cero si no desea volver a habilitar SLI_BID. Tenga en cuenta que volver a habilitar el SLI_BID anterior reutiliza el VCB asignado originalmente para él, por lo que este VCB no se debe haber liberado ni modificado.
Establezca lua_flag1.nowait en 1 para indicar que desea que SLI_RECEIVE devuelva inmediatamente si los datos están disponibles para ser leídos o no, o si desea que el verbo espere datos antes de devolverlos.
Establezca una o varias de las marcas siguientes en 1 para indicar desde qué flujo de mensajes se van a leer los datos:
lua_flag1.sscp_exp
lua_flag1.lu_exp
lua_flag1.sscp_norm
lua_flag1.lu_norm
Si se establece más de una marca, se devuelven los datos de prioridad más alta disponibles. El orden de las prioridades (primero más alto) es: SSCP acelerado, LU acelerado, SSCP normal, LU normal. La marca equivalente del grupo lua_flag2 se establece para indicar desde qué flujo se leyeron los datos.
lua_message_type
Especifica el tipo de los comandos y datos de SNA entrantes o salientes. Parámetro devuelto. Especifica el tipo de mensaje SNA indicado para SLI_RECEIVE. Los valores posibles son:
LUA_MESSAGE_TYPE_LU_DATA
LUA_MESSAGE_TYPE_SSCP_DATA
LUA_MESSAGE_TYPE_RSP
LUA_MESSAGE_TYPE_BID
LUA_MESSAGE_TYPE_BIND
LUA_MESSAGE_TYPE_BIS
LUA_MESSAGE_TYPE_CANCEL
LUA_MESSAGE_TYPE_CHASE
LUA_MESSAGE_TYPE_LUSTAT_LU
LUA_MESSAGE_TYPE_LUSTAT_SSCP
LUA_MESSAGE_TYPE_QC
LUA_MESSAGE_TYPE_QEC
LUA_MESSAGE_TYPE_RELQ
LUA_MESSAGE_TYPE_RTR
LUA_MESSAGE_TYPE_SBI
LUA_MESSAGE_TYPE_SIGNAL
LUA_MESSAGE_TYPE_STSN
El SLI recibe y responde a las solicitudes BIND y STSN a través de las rutinas de extensión de interfaz LUA.
LU-DATA, LUSTAT_LU, LUSTAT_SSCP y SSCP_DATA no son comandos SNA.
lua_flag2
Parámetro devuelto. Contiene marcas para los mensajes devueltos por LUA. Devuelto por RUI_BID, RUI_READ, RUI_WRITE, SLI_BID, SLI_RECEIVE y SLI_SEND. Sus subparámetros son los siguientes:
lua_flag2.bid_enable
Indica que RUI_BID se ha vuelto a habilitar correctamente si se ha establecido en 1.
lua_flag2.async
Indica que el verbo de la interfaz LUA se completó de forma asincrónica si se establece en 1.
lua_flag2.sscp_exp
Indica el flujo acelerado de SSCP si se establece en 1.
lua_flag2.sscp_norm
Indica el flujo normal de SSCP si se establece en 1.
lua_flag2.lu_exp
Indica el flujo acelerado de LU si se establece en 1.
lua_flag2.lu_norm
Indica el flujo normal de LU si se establece en 1.
lua_resv56
No se usa en SLI_RECEIVE y debe establecerse en cero.
lua_encr_decr_option
No se usa en SLI_RECEIVE y debe establecerse en cero.
Códigos de retorno
LUA_OK
Código de retorno principal; el verbo se ha ejecutado correctamente.
LUA_SEC_OK
Código de retorno secundario; no existe información adicional para LUA_OK.
LUA_PARAMETER_CHECK
Código de retorno principal; el verbo no se ha ejecutado debido a un error en un parámetro.
LUA_INVALID_LUNAME
Código de retorno secundario; se especificó un lua_luname no válido.
LUA_BAD_SESSION_ID
Código de retorno secundario; se especificó un valor no válido para lua_sid en el VCB.
LUA_BAD_DATA_PTR
Código de retorno secundario; El parámetro lua_data_ptr no contiene un puntero válido o no apunta a un segmento de lectura y escritura y se requieren datos proporcionados.
LUA_RESERVED_FIELD_NOT_ZERO
Código de retorno secundario; Un parámetro reservado para el verbo que acaba de emitir no se establece en cero.
LUA_INVALID_POST_HANDLE
Código de retorno secundario; para un sistema operativo Microsoft Windows que usa eventos como método de contabilización asincrónica, el VCB de LUA de Windows no contiene un identificador de eventos válido.
LUA_BID_VERB_SEGMENT_ERROR
Código de retorno secundario; el búfer con la SLI_BID VCB se liberó antes de que se emitiera el SLI_RECEIVE con lua_flag1.bid_enable establecido en 1.
LUA_NO_PREVIOUS_BID_ENABLED
Código de retorno secundario; SLI_BID no se emitió antes de emitir SLI_RECEIVE con lua_flag1.bid_enable.
LUA_BID_ALREADY_ENABLED
Código de retorno secundario; SLI_RECEIVE se emitió con lua_flag1.bid_enable cuando SLI_BID ya estaba activo.
LUA_INVALID_FLOW
Código de retorno secundario; las marcas de flujo de lua_flag1 se establecieron incorrectamente cuando se emitió un verbo:
Al emitir SLI_SEND para enviar una respuesta de SNA, establezca solo una marca de flujo lua_flag1 .
Al emitir SLI_RECEIVE, establezca al menos una marca de flujo de lua_flag1.
LUA_VERB_LENGTH_INVALID
Código de retorno secundario; Un verbo LUA se emitió con un valor para lua_verb_length inesperado por LUA.
LUA_STATE_CHECK
Código de retorno principal; el verbo no se ejecutó porque se emitió en un estado no válido.LUA_NO_SLI_SESSION
Código de retorno secundario; una sesión no estaba abierta o estaba inactiva debido a un error de SLI_CLOSE o sesión cuando se emitió un comando.
LUA_RECEIVE_ON_FLOW_PENDING
Código de retorno secundario; un SLI_RECEIVE todavía estaba pendiente cuando esta aplicación emitió otro SLI_RECEIVE para un flujo de SNA.
LUA_SESSION_FAILURE
Código de retorno principal; una condición de error, especificada en el código de retorno secundario, provocó un error en la sesión.LUA_RUI_WRITE_FAILURE
Código de retorno secundario; RUI_WRITE publicó un error inesperado en el SLI.
LUA_RECEIVED_UNBIND
Código de retorno secundario; la unidad lógica principal (PLU) envió un comando UNBIND de SNA a la interfaz LUA cuando una sesión estaba activa. Como resultado, la sesión se detuvo.
LUA_SLI_LOGIC_ERROR
Código de retorno secundario; La interfaz LUA encontró un error interno en la lógica.
LUA_NO_RUI_SESSION
Código de retorno secundario; no se ha inicializado ninguna sesión para el verbo LUA emitido o algún verbo distinto de SLI_OPEN se emitió antes de que se inicializara la sesión.
LUA_MODE_INCONSISTENCY
Código de retorno secundario; El estado actual no permite realizar esta función. La solicitud enviada al componente de mitad de sesión no se ejecutó aunque se entendiera y admita. Este código de sentido de SNA también es un código de sentido de solicitud de excepción.
LUA_RECEIVER_IN_TRANSMIT_MODE
Código de retorno secundario; los recursos necesarios para controlar los datos de flujo normal no estaban disponibles o el estado de la contención dúplex medio no se recibió cuando se recibió una solicitud de flujo normal. El resultado es una condición de carrera. Este código de sentido de SNA también es un código de sentido de solicitud de excepción.
LUA_LU_COMPONENT_DISCONNECTED
Código de retorno secundario; Un componente de LU no está disponible porque no está conectado correctamente. Asegúrese de que la alimentación está activada.
LUA_FUNCTION_NOT_SUPPORTED
Código de retorno secundario; LUA no admite la función solicitada. Un carácter de control, un parámetro ru o un código de solicitud con formato puede haber especificado la función. La información específica del código de sentido está en bytes 2 y 3.
LUA_CHAINING_ERROR
Código de retorno secundario; La secuencia de la configuración del indicador de cadena está en error. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual de los receptores o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.
LUA_BRACKET
Código de retorno secundario; el remitente no pudo aplicar las reglas de corchete de sesión. Tenga en cuenta que la contención y las condiciones de carrera están exentas de este error. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual de los receptores o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.
LUA_DIRECTION
Código de retorno secundario; mientras que se NOT_RECEIVE el estado de volteo dúplex medio, se recibió una solicitud de flujo normal. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual de los receptores o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.
LUA_DATA_TRAFFIC_QUIESCED
Código de retorno secundario; Se recibió una solicitud de control de flujo de datos (DFC) o datos de administración de funciones (FMD) de una sesión media que envió un comando SHUTC o un comando QC, y la solicitud DFC o FMD no ha respondido a un comando RELQ. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual de los receptores o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.
LUA_NO_BEGIN_BRACKET
Código de retorno secundario; el receptor ya ha enviado una respuesta positiva a un comando BIS cuando se recibió una solicitud BID o FMD que especificaba BBI=BB. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.
LUA_IMMEDIATE_REQUEST_MODE_ERROR
Código de retorno secundario; la solicitud infringía el protocolo de modo de solicitud inmediata. Se encontró una solicitud de encabezado o unidad de solicitud no válida para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.
LUA_QUEUED_RESPONSE_ERROR
Código de retorno secundario; la solicitud infringía el protocolo de respuesta en cola. Se encontró una solicitud de encabezado o unidad de solicitud no válida para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.
LUA_ERP_SYNC_EVENT_ERROR
Código de retorno secundario; se produjo una infracción del protocolo de eventos sincrónico erp. Se encontró una solicitud de encabezado o unidad de solicitud no válida para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.
LUA_RSP_CORRELATION_ERROR
Código de retorno secundario; se envió una respuesta que no corresponde a una solicitud recibida previamente o se recibió una respuesta que no corresponde a una solicitud enviada anteriormente.
LUA_RSP_PROTOCOL_ERROR
Código de retorno secundario; Se encontró una infracción del protocolo de respuesta en la respuesta recibida de la mitad de sesión principal.
LUA_BB_NOT_ALLOWED
Código de retorno secundario; el indicador de corchete inicial se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_EB_NOT PERMITIDO
Código de retorno secundario; el indicador de corchete final se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_EXCEPTION_RSP_NOT_ALLOWED
Código de retorno secundario; cuando no se permitió una respuesta de excepción, se solicitó una. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_DEFINITE_RSP_NOT_ALLOWED
Código de retorno secundario; cuando no se permitió una respuesta definitiva, se solicitó una. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_CD_NOT_ALLOWED
Código de retorno secundario; el indicador de dirección de cambio se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_NO_RESPONSE_NOT_ALLOWED
Código de retorno secundario; una solicitud distinta de una EXR contenía un VALOR NO RESPONSE. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_CHAINING_NOT_SUPPORTED
Código de retorno secundario; los indicadores de encadenamiento se especificaron incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_BRACKETS_NOT_SUPPORTED
Código de retorno secundario; los indicadores de corchete se especificaron incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_CD_NOT_SUPPORTED
Código de retorno secundario; se estableció el indicador de dirección de cambio, pero LUA no admite la dirección de cambio para esta situación. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_INCORRECT_USE_OF_FI
Código de retorno secundario; el indicador de formato se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_ALTERNATE_CODE_NOT_SUPPORTED
Código de retorno secundario; se estableció el indicador de selección de código, pero LUA no admite la selección de código para esta sesión. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_INCORRECT_RU_CATEGORY
Código de retorno secundario; el indicador de categoría de unidad de solicitud se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_INCORRECT_REQUEST_CODE
Código de retorno secundario; el código de solicitud se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_INCORRECT_SPEC_OF_SDI_RTI
Código de retorno secundario; el SDI y el RTI no se especificaron correctamente en una respuesta. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_INCORRECT_DR1I_DR2I_ERI
Código de retorno secundario; dr1I, dr2I y la ERI se especificaron incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_INCORRECT_USE_OF_QRI
Código de retorno secundario; el indicador de respuesta en cola se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_INCORRECT_USE_OF_EDI
Código de retorno secundario; el EDI se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_INCORRECT_USE_OF_PDI
Código de retorno secundario; la PDI se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.
LUA_UNSUCCESSFUL
Código de retorno principal; el registro de verbo proporcionado era válido, pero el verbo no se completó correctamente.LUA_DATA_TRUNCATED
Código de retorno secundario; los datos se truncaron porque los datos recibidos eran más largos que la longitud del búfer especificada en lua_max_length.
LUA_DATA_SEGMENT_LENGTH_ERROR
Código de retorno secundario; se ha producido una de las siguientes acciones:
El segmento de datos proporcionado para SLI_RECEIVE o SLI_SEND no es un segmento de datos de lectura y escritura según sea necesario.
El segmento de datos proporcionado para SLI_RECEIVE no es siempre que se proporcione en lua_max_length.
El segmento de datos proporcionado para SLI_SEND no es siempre que se proporcione en lua_data_length.
LUA_NO_DATA
Código de retorno secundario; no había datos disponibles para leer cuando SLI_RECEIVE que contiene un parámetro de espera no se emitió.
LUA_VERB_RECORD_SPANS_SEGMENTS
Código de retorno secundario; el parámetro de longitud VCB lua más el desplazamiento del segmento está más allá del final del segmento.
LUA_NOT_ACTIVE
Código de retorno secundario; LUA no estaba activo en Microsoft Host Integration Server o SNA Server cuando se emitió un verbo LUA.
LUA_NOT_READY
Código de retorno secundario; Uno de los siguientes ha provocado que la sesión de SLI se suspenda temporalmente:
Se recibió un tipo UNBIND de SNA 0x02 comando, lo que indica que viene un nuevo BIND. Si el tipo UNBIND 0x02 se recibe después de que se complete el SLI_OPEN inicial, la sesión se suspende hasta que se reciba un ENLACE, un CRV opcional y un STSN y flujos SDT. Estas rutinas son re-entran porque tienen que llamarse de nuevo. La sesión se reanuda después de que el SLI procese el comando SDT. Si se recibe el tipo UNBIND 0x02 mientras el SLI_OPEN sigue procesando, el código de retorno principal se LUA_SESSION_FAILURE, no LUA_STATUS.
La recepción de una SNA CLEAR provocó la suspensión. La recepción de un SDT de SNA hará que la sesión se reanude.
LUA_SLI_LOGIC_ERROR
Código de retorno secundario; La interfaz LUA encontró un error interno en la lógica.
LUA_INVALID_PROCESS
Código de retorno secundario; la sesión para la que se emitió un verbo LUA no está disponible porque otro proceso de sistema operativo/2 posee la sesión.
LUA_LU_INOPERATIVE
Código de retorno secundario; se produjo un error grave mientras el LUA intentaba detener la sesión. Esta LU no está disponible para las solicitudes LUA hasta que se recibe una unidad lógica de activación (ACTLU) del host.
LUA_RECEIVE_CORRELATION_TABLE_FULL
Código de retorno secundario; la tabla de correlación de recepción de sesión para el flujo solicitado alcanzó su capacidad.
LUA_NEGATIVE_RESPONSE
Código de retorno principal; LUA envió una respuesta negativa a un mensaje recibido de la unidad lógica principal (PLU) porque se encontró un error en el mensaje o la aplicación respondió negativamente a una cadena para la que ha llegado el final de la cadena.LUA_MODE_INCONSISTENCY
Código de retorno secundario; El estado actual no permite realizar esta función. La solicitud enviada al componente de mitad de sesión no se ejecutó aunque se entendiera y admita. Este código de sentido de SNA también es un código de sentido de solicitud de excepción.
LUA_FUNCTION_NOT_SUPPORTED
Código de retorno secundario; el LUA no admite la función solicitada. Un carácter de control, un parámetro RU o un código de solicitud con formato puede haber especificado la función . La información del código de sentido específico está en bytes 2 y 3.
LUA_DATA_TRAFFIC_RESET
Código de retorno secundario; una sesión media de una sesión activa, pero con tráfico de datos inactivos recibió una solicitud DFC o FMD de flujo normal. Se encontró un encabezado de solicitud o una unidad de solicitud no válidas para el control de sesión actual o el estado de control de flujo de datos. Se ha evitado la entrega al componente de mitad de sesión.
LUA_DATA_TRAFFIC_NOT_RESET
Código de retorno secundario; mientras no se restablece el estado del tráfico de datos, se recibió la solicitud de control de sesión. Se encontró un encabezado de solicitud o una unidad de solicitud no válidas para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha evitado la entrega al componente de mitad de sesión.
LUA_SC_PROTOCOL_VIOLATION
Código de retorno secundario; se ha producido una infracción del protocolo SC. Se recibió una solicitud (que solo se permite después de que una solicitud SC y una respuesta positiva a esa solicitud se haya intercambiado correctamente) antes del intercambio necesario. El byte 4 de los datos de sentido contiene el código de solicitud. No existe ningún dato de usuario para este código de sentido. Se encontró una solicitud de encabezado o unidad de solicitud no válida para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha evitado la entrega al componente de mitad de sesión.
LUA_INVALID_SC_OR_NC_RH
Código de retorno secundario; la rh de una solicitud SC o NC no era válida.
LUA_PACING_NOT_SUPPORTED
Código de retorno secundario; La solicitud contenía un indicador de velocidad cuando no existe compatibilidad con el ritmo de esta sesión para la mitad de sesión o la función de límite receptora. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro del encabezado de solicitud. Se ha evitado la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen las reglas de sesión hayan provocado los errores.
LUA_NAU_INOPERATIVE
Código de retorno secundario; la unidad direccionable de red no puede procesar respuestas o solicitudes. No se pudo realizar la entrega al receptor por uno de los siguientes motivos:
Error de unidad de información de ruta de acceso
Interrupción de la ruta de acceso
Secuencia de solicitudes de activación no válidas
Si se recibe un error de ruta de acceso durante una sesión activa, normalmente significa que ya no hay una ruta de acceso válida al asociado de sesión.
LUA_CANCELED
Código de retorno principal; el código de retorno secundario proporciona el motivo para cancelar el comando.LUA_PURGED
Código de retorno secundario; SLI_PURGE se emitió y canceló SLI_RECEIVE.
LUA_NO_SLI_SESSION
Código de retorno secundario; una sesión no estaba abierta o estaba inactiva debido a un error de SLI_CLOSE o sesión cuando se emitió un comando.
LUA_CANCEL_COMMAND_RECEIVED
Código de retorno secundario; el host envió un comando CANCEL de SNA para cancelar la cadena de datos que recibe actualmente SLI_RECEIVE.
LUA_TERMINATED
Código de retorno secundario; la sesión se finalizó cuando un verbo estaba pendiente. Se ha cancelado el proceso de verbo.
LUA_IN_PROGRESS
Código de retorno principal; Se recibió un comando asincrónico, pero no se completó.LUA_STATUS
Código de retorno principal; el código de retorno secundario contiene información de estado de SLI para la aplicación.LUA_READY
Código de retorno secundario; después de un estado NOT READY, este estado se emite para notificarle que SLI está listo para procesar comandos.
LUA_NOT_READY
Código de retorno secundario; La sesión de SLI se suspende temporalmente por el motivo siguiente:
Se recibió un tipo UNBIND de SNA 0x02 comando, lo que significa que viene un nuevo BIND. Si el tipo UNBIND 0x02 se recibe después de que se complete el SLI_OPEN inicial, la sesión se suspende hasta que se reciba un ENLACE, un CRV opcional y un STSN y flujos SDT. Estas rutinas son re-entran porque tienen que llamarse de nuevo. La sesión se reanuda después de que el SLI procese el comando SDT. Si se recibe el tipo UNBIND 0x02 mientras el SLI_OPEN sigue procesando, el código de retorno principal es session-failure, no status.
La recepción de una SNA CLEAR provocó la suspensión. La recepción de un SDT de SNA hará que la sesión se reanude.
LUA_INIT_COMPLETE
Código de retorno secundario; la interfaz LUA inicializó la sesión mientras SLI_OPEN estaba procesando. Las aplicaciones LUA que emiten SLI_OPEN con lua_open_type_prim_sscp reciben este estado en SLI_RECEIVE o SLI_BID.
LUA_SESSION_END_REQUESTED
Código de retorno secundario; la interfaz LUA recibió un SNA SHUTD del host, lo que significa que el host está listo para apagar la sesión.
LUA_COMM_SUBSYSTEM_ABENDED
Código de retorno principal; indica una de las condiciones siguientes:El nodo utilizado por esta conversación encontró una anulación.
Se ha interrumpido la conexión entre el programa de transacciones (TP) y el nodo 2.1 de la unidad física (PU).
El SnaBase en el equipo de los CSP encontró un ABEND.
LUA_COMM_SUBSYSTEM_NOT_LOADED
Código de retorno principal; no se pudo cargar o finalizar un componente necesario durante el procesamiento del verbo. Por tanto, no se pudo establecer la comunicación. Consulte al administrador del sistema para aplicar una acción correctiva.LUA_INVALID_VERB_SEGMENT
Código de retorno principal; el bloque de control de verbo (VCB) se extendía más allá del final del segmento de datos.LUA_UNEXPECTED_DOS_ERROR
Código de retorno principal; después de emitir una llamada al sistema operativo, se recibió un código de retorno inesperado del sistema operativo y se especifica en el código de retorno secundario.LUA_STACK_TOO_SMALL
Código de retorno principal; el tamaño de la pila de la aplicación es demasiado pequeño para ejecutar el verbo. Aumente el tamaño de pila de la aplicación.LUA_INVALID_VERB
Código de retorno principal; El código de verbo o el código de operación, o ambos, no son válidos. El verbo no se ejecutó.
Comentarios
SLI_RECEIVE recibe respuestas, comandos SNA y datos de unidad de solicitud del host. SLI_RECEIVE también proporciona el estado de la sesión a la aplicación LUA de Windows. Una solicitud de SLI_OPEN debe completarse antes de que se pueda emitir SLI_RECEIVE . Sin embargo, si SLI_OPEN se emite con lua_init_type establecido en LUA_INIT_TYPE_PRIM_SSCP, se puede emitir un SLI_RECEIVE sobre el flujo normal de SSCP en cuanto SLI_OPEN devuelve un IN_PROGRESS.
La aplicación recibe los datos en uno de los cuatro flujos de sesión. Los cuatro flujos de sesión, de mayor a menor prioridad son:
SSCP acelerado
LU acelerada
SSCP normal
LU normal
El tipo de flujo de datos que SLI_RECEIVE procesará se especifica en lua_flag1. La aplicación también puede especificar si quiere examinar más de un tipo de flujo de datos. Cuando se establecen varios bits de flujo, primero se recibe la prioridad más alta. Cuando SLI_RECEIVE completa el procesamiento, lua_flag2 indica el tipo específico de flujo para el que la aplicación LUA de Windows ha recibido los datos.
Si SLI_BID se completa correctamente antes de que se emita SLI_RECEIVE, se puede indicar a la interfaz LUA de Windows que reutilice los últimos verbos de SLI_BID VCB. Para ello, emita SLI_RECEIVE con lua_flag1.bid_enable establecido en 1.
Al usar lua_flag1.bid_enable, no se debe liberar el almacenamiento de SLI_BID porque se usa el último SLI_BID verbos VCB. Además, al usar lua_flag1.bid_enable, se publicará la finalización correcta de SLI_BID.
Si SLI_RECEIVE se emite con lua_flag1.nowait cuando no hay datos disponibles para recibir, LUA_NO_DATA será el código de retorno secundario establecido por la interfaz LUA de Windows.
Valores devueltos de estado de sesión
Si LUA_STATUS es el código de retorno principal, el código de retorno secundario puede ser uno de los siguientes:
LUA_READY
LUA_NOT_READY
LUA_SESSION_END_REQUESTED
LUA_INIT_COMPLETE
Además, si LUA_STATUS es el código de retorno principal, se usan los parámetros siguientes:
lua_sec_rc
lua_sid
LUA_READY se devuelve después de un estado de LUA_NOT_READY e indica que SLI vuelve a estar listo para realizar todos los comandos.
LUA_NOT_READY indica que la sesión de SLI se suspende porque SLI ha recibido un comando SNA CLEAR o un comando UNBIND de SNA con un tipo UNBIND 0x02 (UNBIND con BIND próximamente). En función de lo que haya causado la suspensión, la sesión se puede reactivar de la siguiente manera:
Cuando la suspensión es causada por un SNA CLEAR, la recepción de un SDT de SNA reactiva la sesión.
Cuando el tipo UNBIND de SNA BIND provoca la suspensión de la sesión y el SLI_OPEN que abrió la sesión se completa, la sesión se suspende hasta que el SLI recibe un comando BIND y SDT. La sesión también puede recibir opcionalmente un comando STSN. Como resultado, las rutinas proporcionadas por el usuario emitidas con el SLI_OPEN inicial deben volver a escribirse porque se recuperarán.
La aplicación puede enviar datos SSCP después de que llegue un tipo CLEAR o UNBIND BIND y antes de leer el estado de NOT_READY. La aplicación puede enviar y recibir datos de SSCP después de leer un NOT_READY.
Cuando llegue un tipo UNBIND de SNA BIND antes de completar el SLI_OPEN que abrió la sesión, LUA_SESSION_FAILURE (no LUA_STATUS) es el código de retorno principal.
LUA_SESSION_END_REQUESTED indica que la aplicación recibió un SNA SHUTD del host. La aplicación LUA de Windows debe emitir SLI_CLOSE cerrar la sesión cuando sea conveniente.
LUA_INIT_COMPLETE solo se devuelve cuando se LUA_INIT_TYPE_PRIM_SSCP lua_init_type para SLI_OPEN . El estado significa que el SLI_OPEN se ha procesado lo suficiente para permitir que los datos de SSCP se envíen o reciban ahora.
Solicitudes de excepción
Si una unidad de solicitud de aplicación host se convierte en un EXR, se devolverán los datos de detección. Cuando SLI_BID se completa con los parámetros de verbo devueltos establecidos como se muestra, se produce una conversión EXR.
Miembro | Establecer en |
---|---|
lua_prim_rc | Aceptar (0x0000) |
lua_sec_rc | Aceptar (0x00000000) |
lua_rh.rri | bit off (unidad de solicitud) |
lua_rh.sdi | bit on (incluye datos de sentido) |
De los siete bytes de datos de lua_peek_data, los bytes 0 a 3 definen el error detectado. En la tabla siguiente se indican los datos de detección posibles y los valores de bytes entre 0 y 3.
Sense data (Datos de detección) | Valor de bytes de 0 a 3 |
---|---|
LUA_MODE_INCONSISTENCY | 0x08090000 |
LUA_BRACKET_RACE_ERROR | 0x080B0000 |
LUA_BB_REJECT_NO_RTR | 0x08130000 |
LUA_RECEIVER_IN_TRANSMIT_MODE | 0x081B0000 |
LUA_CRYPTOGRAPHY_FUNCTION_INOP | 0x08480000 |
LUA_SYNC_EVENT_RESPONSE | 0x10010000 |
LUA_RU_DATA_ERROR | 0x10020000 |
LUA_RU_LENGTH_ERROR | 0x10020000 |
LUA_INCORRECT_SEQUENCE_NUMBER | 0x20010000 |
La información devuelta a bytes de 3 a 6 en lua_peek_data viene determinada por los tres primeros bytes de la unidad de solicitud inicial que provocó el error.
Consulte también
RUI_INIT
RUI_PURGE
RUI_READ
RUI_WRITE
SLI_BID
SLI_CLOSE
SLI_OPEN
SLI_PURGE
SLI_SEND