Estructura común de VCB de LUA
En la siguiente estructura de datos se muestran los parámetros comunes a todos los verbos de la aplicación de unidad lógica (LUA) de Microsoft® Windows®.
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;
} LUA_COMMON;
Comentarios
Miembros
lua_verb
Parámetro proporcionado. Contiene el código de verbo, LUA_VERB_RUI para verbos de interfaz de unidad de solicitud (RUI) o LUA_VERB_SLI para verbos SLI. Para ambas macros, el valor es 0x5200.
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, por ejemplo, LUA_OPCODE_RUI_BID para el verbo RUI_BID . Los valores válidos son los siguientes:
LUA_OPCODE_SLI_OPEN
LUA_OPCODE_SLI_CLOSE
LUA_OPCODE_SLI_RECEIVE
LUA_OPCODE_SLI_SEND
LUA_OPCODE_SLI_PURGE
LUA_OPCODE_SLI_BID
LUA_OPCODE_SLI_BIND_ROUTINE
LUA_OPCODE_SLI_STSN_ROUTINE
LUA_OPCODE_SLI_CRV_ROUTINE
LUA_OPCODE_RUI_INIT
LUA_OPCODE_RUI_TERM
LUA_OPCODE_RUI_READ
LUA_OPCODE_RUI_WRITE
LUA_OPCODE_RUI_PURGE
LUA_OPCODE_RUI_BID
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 y RUI_INIT requieren este parámetro. Otros verbos LUA de Windows solo requieren 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
Especifica el desplazamiento desde el principio del VCB a la lista de extensiones de bibliotecas de vínculos dinámicos (DLL) proporcionadas por el usuario. RuI no usa este parámetro en Microsoft® Host Integration Server y debe establecerse en cero. El valor debe ser el principio de un límite de palabra a menos que no haya ninguna lista de extensiones.
lua_cobol_offset
Desplazamiento de la extensión COBOL. LuA no se usa en Host Integration 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. Para otros verbos RUI y SLI, no se usa y se debe establecer en cero.
lua_data_length
Especifica la longitud de los datos que se envían o reciben. Especifica la longitud de los datos devueltos en lua_peek_data para el verbo RUI_BID .
lua_data_ptr
Puntero a un búfer proporcionado por la aplicación.
Cuando se emite SLI_RECEIVE o RUI_READ , este parámetro apunta a la ubicación para recibir los datos del host.
Cuando se emite SLI_SEND o RUI_WRITE , este parámetro apunta a la ubicación de los datos de la aplicación que se enviarán al host.
Cuando se emite SLI_PURGE o RUI_PURGE , este parámetro apunta a la ubicación del SLI_RECEIVE o RUI_READ VCB del verbo que se va a cancelar.
Cuando se emite SLI_OPEN , este parámetro puede ser uno de los siguientes:
Mensaje de inicio de sesión para el flujo normal de SSCP cuando el tipo de inicialización es secundario con un mensaje de inicio de sesión 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.
Para otros verbos rui e interfaz de nivel de sesión (SLI), este parámetro no se usa y debe establecerse en cero. Tanto los comandos SNA como los datos se colocan en este búfer y pueden estar en formato EBCDIC.
Esta información la proporciona la aplicación LUA de Windows.
lua_post_handle
Parámetro proporcionado. Se usa en Windows 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 enviado o recibido. Se establecen varios subparámetros para las funciones de escritura y se devuelven para las funciones de lectura y puja. Los 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:
0x00 segmento medio
0x01 último segmento
0x02 primer segmento
segmento solo 0x03
lua_th.flags_odai
Indicador de asignador de campo de dirección de origen:campo de dirección 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 char sin signo[2].
lua_rh
Parámetro devuelto. Contiene el encabezado de solicitud/respuesta de SNA (RH) del mensaje enviado o recibido. Se establece para la función de escritura y la devuelven las funciones de lectura y puja. Sus subparámetres son los siguientes:
lua_rh.rri
Indicador de solicitud-respuesta, un bit.
lua_rh.ruc
Categoría ru, dos bits. Valores válidos son:
LUA_RH_FMD (0x00) segmento 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 de inicio, 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 definitiva 2, 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. Para otros verbos LUA, este parámetro no se usa y debe establecerse en cero. 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 espere a la marca de datos, un bit.
lua_flag1.sscp_exp
Flujo acelerado de 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 bit.
lua_message_type
Especifica el tipo de los comandos y datos de SNA entrantes o salientes. Se trata de un parámetro devuelto para RUI_INIT y SLI_OPEN y un parámetro proporcionado para SLI_SEND. Para otros verbos LUA, esta variable no se usa y debe establecerse en cero.
Los valores posibles son:
LUA_MESSAGE_TYPE_LU_DATA
LUA_MESSAGE_TYPE_SSCP_DATA
LUA_MESSAGE_TYPE_BID
LUA_MESSAGE_TYPE_BIND
LUA_MESSAGE_TYPE_BIS
LUA_MESSAGE_TYPE_CANCEL
LUA_MESSAGE_TYPE_CHASE
LUA_MESSAGE_TYPE_CLEAR
LUA_MESSAGE_TYPE_CRV
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_RQR
LUA_MESSAGE_TYPE_RTR
LUA_MESSAGE_TYPE_SBI
LUA_MESSAGE_TYPE_SHUTD
LUA_MESSAGE_TYPE_SIGNAL
LUA_MESSAGE_TYPE_SDT
LUA_MESSAGE_TYPE_STSN
LUA_MESSAGE_TYPE_UNBIND
El SLI recibe y responde a las solicitudes BIND, CRV 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. Este parámetro lo devuelven RUI_BID, RUI_READ, RUI_WRITE, SLI_BID, SLI_RECEIVE y SLI_SEND. Para otros verbos LUA, este parámetro no se usa y debe establecerse en cero. 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
Este parámetro proporcionado es un campo reservado utilizado por SLI_OPEN y RUI_INIT. Para todos los demás verbos LUA, este parámetro está reservado y debe establecerse en cero.
lua_encr_decr_option
Este parámetro es un campo para las opciones de criptografía. En RUI_INIT, solo se admiten los siguientes elementos:
lua_encr_decr_option = 0
lua_encr_decr_option = 128
Para todos los demás verbos LUA, este parámetro está reservado y debe establecerse en cero.