Compartir a través de


SLI_OPEN

El SLI_OPEN verbo transfiere el control de la unidad lógica (LU) especificada a la aplicación de aplicación de unidad lógica (LUA) de Microsoft® Windows®. SLI_OPEN establece una sesión entre el punto de control de servicios del sistema (SSCP) y la LU especificada, así como una sesión lu-LU.

En la estructura siguiente se describe el miembro LUA_COMMON del bloque de control de verbos (VCB) usado por SLI_OPEN.

La segunda unión de sintaxis describe el miembro LUA_SPECIFIC del VCB usado por SLI_OPEN. Otros miembros de la unión se omiten para mayor claridad.

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;  
};  
  
union LUA_SPECIFIC {  
    struct union SLI_OPEN open;  
};  
  
The SLI_OPEN structure contains the following nested structures and members:  
struct LUA_EXT_ENTRY {  
    unsigned char lua_routine_type;  
    unsigned char lua_module_name[9];  
    unsigned char lua_procedure_name[33];  
} ;  
  
struct SLI_OPEN {  
    unsigned char         lua_init_type;  
    unsigned char         lua_resv65;  
    unsigned short        lua_wait;  
    struct LUA_EXT_ENTRY  lua_open_extension[3];  
    unsigned char         lua_ending_delim;  
} ;  

Members

lua_verb
Parámetro proporcionado. Contiene el código de verbo, LUA_VERB_SLI para verbos de la 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 en función del 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 en función del 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_OPEN.

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_OPEN requiere este parámetro.

Este parámetro tiene ocho bytes de longitud, rellenado a la derecha con espacios (0x20) si el nombre tiene más de ocho caracteres.

lua_extension_list_offset
Parámetro proporcionado. Especifica el desplazamiento desde el inicio del VCB a la lista de extensiones de bibliotecas de vínculos dinámicos (DLL) proporcionadas por el usuario. El valor debe ser el principio de un límite de palabra a menos que no haya ninguna lista de extensiones. En este caso, el valor debe establecerse en cero.

Si SLI_OPEN no usa esta opción, este miembro debe establecerse en cero.

lua_cobol_offset
LuA no se usa en Microsoft® Host Integration Server y debe ser cero.

lua_sid
Parámetro devuelto. Especifica el identificador de sesión.

lua_max_length
No se usa en SLI_OPEN y debe establecerse en cero.

lua_data_length
Parámetro proporcionado. Especifica la longitud real de los datos que se envían.

lua_data_ptr
Puntero al búfer proporcionado por la aplicación que contiene los datos que se van a enviar para SLI_OPEN.

Tanto los comandos SNA como los datos se colocan en este búfer y pueden estar en formato de código decimal codificado binario extendido (EBCDIC).

Cuando se emite SLI_OPEN, este parámetro puede ser uno de los siguientes:

  • Mensaje LOGON para el flujo normal de SSCP cuando el tipo de inicialización es secundario con un mensaje LOGON sin formato.

  • Unidad de solicitud/respuesta (RU) para INITSELF. Cuando el tipo de inicialización es secundario con INITSELF, se proporcionan los datos necesarios para la aplicación.

  • Para todos los demás tipos abiertos, este campo debe establecerse en cero.

    Esta información la proporciona la aplicación LUA de Windows.

    lua_post_handle
    Parámetro proporcionado. Se usa en Microsoft Windows Server si los eventos van a realizar notificaciones asincrónicas. Esta variable contiene el identificador del evento que se va a indicar o un identificador de ventana.

    lua_th
    No se usa en SLI_OPEN y debe establecerse en cero.

    lua_rh
    No se usa en SLI_OPEN y debe establecerse en cero.

    lua_flag1
    No se usa en SLI_OPEN y debe establecerse en cero.

    lua_message_type
    No se usa en SLI_OPEN y debe establecerse en cero.

    lua_flag2
    Parámetro devuelto. Contiene marcas para los mensajes devueltos por LUA. Sus subparámetros son los siguientes:

    lua_flag2.async

    Indica que el verbo de interfaz LUA se completó de forma asincrónica si se establece en 1.

    lua_resv56
    Parámetro proporcionado. Campo reservado usado por SLI_OPEN y RUI_INIT. Para obtener más información, vea la sección Comentarios.

    lua_resv56[1]

    Parámetro proporcionado. Este parámetro debe establecerse en cero.

    lua_resv56[2]

    Parámetro proporcionado. Indica si una aplicación SLI puede acceder a las LU configuradas como 3270 LU, además de las LUA. Si este parámetro se establece en 1, se puede acceder a 3270 RU.

    lua_resv56[3]

    Parámetro proporcionado. Indica si se admiten lecturas incompletas. Si este parámetro se establece en 1, se admiten lecturas incompletas o truncadas. Para obtener más información, consulte los comentarios de RUI_READ.

    lua_encr_decr_option
    No se usa en SLI_OPEN y debe establecerse en cero.

    open
    Miembro de unión de LUA_SPECIFIC utilizado por SLI_OPEN. Conjunto proporcionado de parámetros contenidos en una estructura de SLI_OPEN necesaria con SLI_OPEN.

    open.lua_init_type

    Parámetro proporcionado. Define cómo se inicializa la sesión lu-LU mediante la interfaz lua de Windows.

    Los valores válidos son los siguientes:

    LUA_INIT_TYPE_SEC_IS

    LUA_INIT_TYPE_SEC_LOG

    LUA_INIT_TYPE_PRIM

    LUA_INIT_TYPE_PRIM_SSCP

    open.lua_resv65

    Campo reservado.

    open.lua_wait

    Parámetro proporcionado. Representa un tiempo de espera de reintento secundario que indica el número de segundos que la interfaz LUA de Windows debe esperar antes de volver a intentar la transmisión del INITSELF o del mensaje LOGON después de que el host envíe cualquiera de estos mensajes:

  • Una respuesta negativa y el código de retorno secundario es una de las siguientes:

    RESOURCE_NOT_AVAILABLE (0x08010000)SESSION_LIMIT_EXCEEDED (0x08050000) SESSION_SERVICE_PATH_ERROR (0x087D0000)

    Tenga en cuenta que SLI_OPEN finaliza con un error si lua_wait está establecido en cero y se produce uno de los anteriores.

  • Mensaje de error de procedimiento de servicios de red (NSPE).

  • Un comando NOTIFY, que indica un error de procedimiento.

    open.lua_open_extension

    Parámetro proporcionado. Contiene una lista de archivos DLL de extensión proporcionados por la aplicación para procesar los comandos BIND, STSN y CRV.

    open.open_extension.lua_routine_type

    Tipo de rutina de extensión. Los valores legales son:

    LUA_ROUTINE_TYPE_BIND

    LUA_ROUTINE_TYPE_CRV

    LUA_ROUTINE_TYPE_END (indica el final de la lista de extensiones)

    LUA_ROUTINE_TYPE_STSN

    open.open_extension.lua_module_name

    Parámetro proporcionado. Proporciona el nombre del módulo ASCII para el archivo DLL de extensión proporcionado por el usuario. El nombre del módulo puede tener hasta ocho caracteres, con los bytes restantes establecidos en 0x00.

    open.open_extension.lua_procedure_name

    Parámetro proporcionado. Proporciona el nombre del procedimiento en ASCII para el archivo DLL de extensión proporcionado por el usuario. El nombre del procedimiento puede tener hasta 32 caracteres, con los bytes restantes establecidos en 0x00.

    open.lua_ending_delim

    Delimitador de lista de extensiones.

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 nombre de 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_DATA_SEGMENT_LENGTH_ERROR

Código de retorno secundario; se produjo 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_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_VERB_LENGTH_INVALID

    Código de retorno secundario; Un verbo LUA se emitió con un valor para lua_verb_length inesperado por LUA.

    LUA_INVALID_OPEN_INIT_TYPE

    Código de retorno secundario; el valor del lua_init_type contenido en SLI_OPEN no es válido.

    LUA_INVALID_OPEN_DATA

    Código de retorno secundario; el lua_init_type del SLI_OPEN emitido se establece en LUA_INIT_TYPE_SEC_IS cuando el búfer de datos no tiene un comando INITSELF válido.

    LUA_INVALID_OPEN_ROUTINE_TYPE

    Código de retorno secundario; el lua_open_routine_type de la lista SLI_OPEN de rutinas de extensión no es válido.

    LUA_DATA_LENGTH_ERROR

    Código de retorno secundario; la aplicación no proporcionó los datos proporcionados por el usuario requeridos por el verbo emitido. Tenga en cuenta que cuando se emite SLI_SEND para un comando LUSTAT de SNA, se requiere el estado (en cuatro bytes) y que cuando se emite SLI_OPEN con inicialización secundaria, se requieren datos.

    LUA_INVALID_SLI_ENCR_OPTION

    Código de retorno secundario; El parámetro lua_encr_decr_option se estableció en 128 en SLI_OPEN, que no se admite para la opción de procesamiento de cifrado y descifrado.

    LUA_STATE_CHECK
    Código de retorno principal; el verbo no se ejecutó porque se emitió en un estado no válido.

    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_UNEXPECTED_SNA_SEQUENCE

    Código de retorno secundario; se recibieron datos o comandos inesperados del host mientras SLI_OPEN estaba procesando.

    LUA_NEG_RSP_FROM_BIND_ROUTINE

    Código de retorno secundario; la rutina de SLI_BIND proporcionada por el usuario respondió negativamente a BIND. SLI_OPEN finalizó sin éxito.

    LUA_NEG_RSP_FROM_STSN_ROUTINE

    Código de retorno secundario; la rutina SLI STSN proporcionada por el usuario respondió negativamente al STSN. SLI_OPEN finalizó sin éxito.

    LUA_PROCEDURE_ERROR

    Código de retorno secundario; Un error de procedimiento host se indica mediante la recepción de un mensaje NSPE o NOTIFY. El código de retorno se publica en SLI_OPEN cuando no se usa la opción de reintento. Para usar la opción de restablecimiento, establezca lua_wait en un valor distinto de cero. El comando LOGON o INITSELF se reintentará hasta que el host esté listo o hasta que emita SLI_CLOSE.

    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_RESOURCE_NOT_AVAILABLE

    Código de retorno secundario; la unidad lógica, unidad física, vínculo o estación de vínculo especificada en la unidad de solicitud no está disponible. Este código de retorno se publica en SLI_OPEN cuando un recurso no está disponible a menos que use la opción de reintento.

    Para usar la opción de reintento, establezca lua_wait en un valor distinto de cero. El comando LOGON o INITSELF se reintentará hasta que el host esté listo o hasta que emita SLI_CLOSE.

    LUA_SESSION_LIMIT_EXCEEDED

    Código de retorno secundario; la sesión solicitada no se activó porque una NAU está en su límite de sesión. Este código de sentido de SNA se aplica a las siguientes solicitudes: BID, CINIT, INIT y ACTDRM.

    El código se publicará en SLI_OPEN cuando una NAU esté en su límite, a menos que use la opción RETRY.

    Para usar la opción de restablecimiento, establezca lua_wait en un valor distinto de cero. El comando LOGON o INITSELF se reintentará hasta que el host esté listo o hasta que emita SLI_CLOSE.

    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_NEGOTIABLE_BIND_ERROR

    Código de retorno secundario; se recibió un BIND negociable, que solo permite el SLI cuando se proporciona una rutina de SLI_BIND proporcionada por el usuario con SLI_OPEN.

    LUA_BIND_FM_PROFILE_ERROR

    Código de retorno secundario; solo los perfiles de encabezado de administración de archivos 3 y 4 son compatibles con la interfaz LUA. Se encontró un perfil de administración de archivos distinto de 3 o 4 en bind.

    LUA_BIND_TS_PROFILE_ERROR

    Código de retorno secundario; Solo los perfiles del Servicio de transmisión (TS) 3 y 4 son compatibles con la interfaz LUA. Se encontró un perfil de TS distinto de 3 o 4 en bind.

    LUA_BIND_LU_TYPE_ERROR

    Código de retorno secundario; Solo LU 0, LU 1, LU 2 y LU 3 son compatibles con LUA. Se encontró una LU distinta de 0, 1, 2 o 3.

    LUA_SSCP_LU_SESSION_NOT_ACTIVE

    Código de retorno secundario; el SSCP-LU necesario está inactivo. La información específica del código de sentido está en bytes 2 y 3. La configuración válida es 0x0000, 0x0001, 0x0002, 0x0003 y 0x0004.

    LUA_SESSION_SERVICES_PATH_ERROR

    Código de retorno secundario; Una solicitud de servicios de sesión no se puede redirigir a una ruta de acceso de sesión SSCP-SSCP. La información específica del código de sentido en bytes 2 y 3 proporciona más información sobre por qué no se puede redirigir la solicitud.

    LUA_UNSUCCESSFUL
    Código de retorno principal; el registro de verbo proporcionado era válido, pero el verbo no se completó correctamente.

    LUA_VERB_RECORD_SPANS_SEGMENTS

    Código de retorno secundario; el parámetro de longitud VCB de LUA más el desplazamiento del segmento está más allá del final del segmento.

    LUA_SESSION_ALREADY_OPEN

    Código de retorno secundario; ya hay una sesión abierta para el nombre de LU especificado en SLI_OPEN.

    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 posee la sesión.

    LUA_LINK_NOT_STARTED

    Código de retorno secundario; el LUA no pudo activar el vínculo de datos durante la inicialización de la sesión.

    LUA_INVALID_ADAPTER

    Código de retorno secundario; La configuración del control de vínculo de datos (DLC) está en error o el archivo de configuración está dañado.

    LUA_ENCR_DECR_LOAD_ERROR

    Código de retorno secundario; Se recibió un código de retorno inesperado de la función OS/2 DosLoadModule al intentar cargar el módulo de vínculo dinámico de cifrado o descifrado proporcionado por el usuario.

    LUA_ENCR_DECR_PROC_ERROR

    Código de retorno secundario; Se recibió un código de retorno inesperado de la función OS/2 DosGetProcAddr al intentar obtener la dirección del procedimiento dentro del módulo de vínculo dinámico de cifrado o descifrado proporcionado por el usuario.

    LUA_NEG_NOTIFY_RSP

    Código de retorno secundario; el SSCP respondió negativamente a una solicitud NOTIFY emitida que indica que la LU secundaria era capaz de una sesión. El componente de mitad de sesión que recibió la solicitud entendió y admitía la solicitud, pero no pudo ejecutarla.

    LUA_LU_INOPERATIVE

    Código de retorno secundario; se produjo un error grave mientras el SLI 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_CANCELED
    Código de retorno principal; el código de retorno secundario proporciona el motivo para cancelar el comando.

    LUA_TERMINATED

    Código de retorno secundario; la sesión se terminó cuando un verbo estaba pendiente. Se canceló el proceso de verbo.

    LUA_IN_PROGRESS
    Código de retorno principal; Se recibió un comando asincrónico, pero no se completó.

    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.

  • La conexión entre el programa de transacción (TP) y el nodo 2.1 de la unidad física (PU) se ha interrumpido (un error laN).

  • SnaBase en el equipo TPs 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 del 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

Para cada SLI_OPEN, la interfaz LUA de Windows:

Consulte también

RUI_INIT
SLI_RECEIVE
SLI_SEND