Structure commune des blocs de contrôle de verbe LUA
La structure de données suivante montre les paramètres communs à tous les verbes d’application d’unité logique (LUA) Microsoft® Windows®.
Syntaxe
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;
Notes
Membres
lua_verb
Paramètre fourni. Contient le code du verbe, LUA_VERB_RUI pour les verbes RUI (Request Unit Interface) ou LUA_VERB_SLI pour les verbes SLI. Pour ces deux macros, la valeur est 0x5200.
lua_verb_length
Paramètre fourni. Spécifie la longueur en octets du VCB LUA. Il doit contenir la longueur de l’enregistrement de verbe émis.
lua_prim_rc
Code de retour principal défini par LUA à la fin du verbe. Les codes de retour valides varient en fonction du verbe LUA émis.
lua_sec_rc
Code de retour secondaire défini par LUA à la fin du verbe. Les codes de retour valides varient en fonction du verbe LUA émis.
lua_opcode
Paramètre fourni. Contient le code de commande LUA (code d’opération de verbe) pour l’émission du verbe, par exemple, LUA_OPCODE_RUI_BID pour le verbe RUI_BID . Les valeurs valides sont les suivantes :
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
Paramètre fourni. Contient une valeur fournie par l’utilisateur qui lie le verbe à d’autres informations fournies par l’utilisateur. LUA n’utilise ni ne modifie ces informations. Ce paramètre est facultatif.
lua_luname
Paramètre fourni. Spécifie le nom ASCII de la lu locale utilisée par la session Windows LUA.
SLI_OPEN et RUI_INIT nécessitent ce paramètre. D’autres verbes Windows LUA nécessitent uniquement ce paramètre si lua_sid est égal à zéro.
Ce paramètre a une longueur de huit octets, rembourré à droite avec des espaces (0x20) si le nom est inférieur à huit caractères.
lua_extension_list_offset
Spécifie le décalage entre le début du VCB et la liste d’extensions des bibliothèques de liens dynamiques (DLL) fournies par l’utilisateur. Ce paramètre n’est pas utilisé par RUI dans Microsoft® Host Integration Server et doit être défini sur zéro. La valeur doit être le début d’une limite de mots, sauf s’il n’existe aucune liste d’extensions.
lua_cobol_offset
Décalage de l’extension COBOL. Non utilisé par LUA dans Host Integration Server et doit être égal à zéro.
lua_sid
Paramètre fourni et retourné. Spécifie l’identificateur de session et est retourné par SLI_OPEN et RUI_INIT. D’autres verbes utilisent ce paramètre pour identifier la session utilisée pour la commande. Si d’autres verbes utilisent le paramètre lua_luname pour identifier les sessions, définissez le paramètre lua_sid sur zéro.
lua_max_length
Spécifie la longueur de la mémoire tampon reçue pour RUI_READet SLI_RECEIVE. Pour les autres verbes RUI et SLI, il n’est pas utilisé et doit être défini sur zéro.
lua_data_length
Spécifie la longueur des données envoyées ou reçues. Il spécifie la longueur des données retournées dans lua_peek_data pour le verbe RUI_BID .
lua_data_ptr
Pointeur vers une mémoire tampon fournie par l’application.
Quand SLI_RECEIVE ou RUI_READ est émis, ce paramètre pointe vers l’emplacement où recevoir les données de l’hôte.
Lorsque SLI_SEND ou RUI_WRITE est émis, ce paramètre pointe vers l’emplacement des données de l’application à envoyer à l’hôte.
Quand SLI_PURGE ou RUI_PURGE est émis, ce paramètre pointe vers l’emplacement du SLI_RECEIVE ou RUI_READ verbe VCB qui doit être annulé.
Lorsque SLI_OPEN est émis, ce paramètre peut être l’un des suivants :
Message d’ouverture de session pour le flux normal SSCP lorsque le type d’initialisation est secondaire avec un message d’ouverture de session non mis en forme.
Unité de requête/réponse (RU) pour INITSELF. Lorsque le type d’initialisation est secondaire avec INITSELF, les données nécessaires pour l’application sont fournies.
Pour tous les autres types ouverts, ce champ doit être défini sur zéro.
Pour les autres verbes RUI et SLI (Session Level Interface), ce paramètre n’est pas utilisé et doit être défini sur zéro. Les commandes SNA et les données sont placées dans cette mémoire tampon, et elles peuvent être dans un format EBCDIC.
Ces informations sont fournies par l’application Windows LUA.
lua_post_handle
Paramètre fourni. Utilisé sous Windows si la notification asynchrone doit être effectuée par des événements. Cette variable contient le handle de l’événement à signaler ou un handle de fenêtre.lua_th
Paramètre retourné. Contient l’en-tête de transmission SNA (TH) du message envoyé ou reçu. Différents sous-paramètres sont définis pour les fonctions d’écriture et retournés pour les fonctions de lecture et d’enchère. Les sous-paramètres sont les suivants :lua_th.flags_fid
Format d’identification type 2, quatre bits.
lua_th.flags_mpf
Champ de mappage de segmentage, deux bits. Définit le type de segment de données. Les valeurs suivantes sont valides :
0x00 segment Moyen
0x01 Dernier segment
0x02 Premier segment
segment 0x03 uniquement
lua_th.flags_odai
Indicateur de l’assigneur champ d’adresse d’origine-champ d’adresse de destination (OAF-DAF), un bit.
lua_th.flags_efi
Indicateur de flux accéléré, un bit.
lua_th.daf
Champ d’adresse de destination (DAF), un caractère non signé.
lua_th.oaf
Champ d’adresse d’origine (OAF), char non signé.
lua_th.snf
Champ de numéro de séquence, un caractère non signé[2].
lua_rh
Paramètre retourné. Contient l’en-tête de requête/réponse SNA (RH) du message envoyé ou reçu. Il est défini pour la fonction d’écriture et retourné par les fonctions de lecture et d’enchère. Ses sous-paramètres sont les suivants :
lua_rh.rri
Indicateur de requête-réponse, un bit.
lua_rh.ruc
Catégorie RU, deux bits. Les valeurs suivantes sont valides :
LUA_RH_FMD (0x00) segment de données FMLUA_RH_NC (0x20) Contrôle réseauLUA_RH_DFC (0x40) Contrôlede flux de données LUA_RH_SC (0x60) Contrôle de session
lua_rh.fi
Indicateur de format, un bit.
lua_rh.sdi
Détecter l’indicateur de données incluses, un bit.
lua_rh.bci
Indicateur de chaîne de début, un bit.
lua_rh.eci
Indicateur de chaîne de fin, un bit.
lua_rh.dr1i
Réponse définie 1 indicateur, un bit.
lua_rh.dr2i
Réponse définie 2 indicateur, un bit.
lua_rh.ri
Indicateur de réponse d’exception (pour une demande) ou indicateur de type de réponse (pour une réponse), un bit.
lua_rh.qri
Indicateur de réponse mis en file d’attente, un bit.
lua_rh.pi
Indicateur de rythme, un bit.
lua_rh.bbi
Commencez l’indicateur de crochets, un bit.
lua_rh.ebi
Indicateur de crochet de fin, un bit.
lua_rh.cdi
Changer l’indicateur de direction, un bit.
lua_rh.csi
Indicateur de sélection de code, un bit.
lua_rh.edi
Indicateur de données enchiffré, un bit.
lua_rh.pdi
Indicateur de données rembourrées, un bit.
lua_flag1
Paramètre fourni. Contient une structure de données contenant des indicateurs pour les messages fournis par l’application. Ce paramètre est utilisé par RUI_BID, RUI_READ, RUI_WRITE, SLI_BID, SLI_RECEIVE et SLI_SEND. Pour les autres verbes LUA, ce paramètre n’est pas utilisé et doit être défini sur zéro. Ses sous-paramètres sont les suivants :
lua_flag1.bid_enable
Indicateur d’activation de l’enchère, un bit.
lua_flag1.close_abend
Fermez l’indicateur immédiat, un bit.
lua_flag1.nowait
Pas d’attente pour l’indicateur de données, un bit.
lua_flag1.sscp_exp
Flux accéléré SSCP, un bit.
lua_flag1.sscp_norm
Flux normal SSCP, un bit.
lua_flag1.lu_exp
Flux accéléré lu, un bit.
lua_flag1.lu_norm
Flux normal lu, un bit.
lua_message_type
Spécifie le type des commandes et données SNA entrantes ou sortantes. Il s’agit d’un paramètre retourné pour RUI_INIT et SLI_OPEN et d’un paramètre fourni pour SLI_SEND. Pour les autres verbes LUA, cette variable n’est pas utilisée et doit être définie sur zéro.
Les valeurs possibles sont les suivantes :
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
Le SLI reçoit et répond aux requêtes BIND, CRV et STSN via les routines d’extension d’interface LUA.
LU_DATA, LUSTAT_LU, LUSTAT_SSCP et SSCP_DATA ne sont pas des commandes SNA.
lua_flag2
Paramètre retourné. Contient des indicateurs pour les messages retournés par LUA. Ce paramètre est retourné par RUI_BID, RUI_READ, RUI_WRITE, SLI_BID, SLI_RECEIVE et SLI_SEND. Pour les autres verbes LUA, ce paramètre n’est pas utilisé et doit être défini sur zéro. Ses sous-paramètres sont les suivants :
lua_flag2.bid_enable
Indique que RUI_BID a été correctement réactivée si la valeur est 1.
lua_flag2.async
Indique que le verbe d’interface LUA s’est terminé de manière asynchrone s’il est défini sur 1.
lua_flag2.sscp_exp
Indique le flux accéléré SSCP s’il est défini sur 1.
lua_flag2.sscp_norm
Indique le flux normal SSCP s’il est défini sur 1.
lua_flag2.lu_exp
Indique le flux accéléré de lu si la valeur est 1.
lua_flag2.lu_norm
Indique le flux normal de l’unité logique s’il est défini sur 1.
lua_resv56
Ce paramètre fourni est un champ réservé utilisé par SLI_OPEN et RUI_INIT. Pour tous les autres verbes LUA, ce paramètre est réservé et doit être défini sur zéro.
lua_encr_decr_option
Ce paramètre est un champ pour les options de chiffrement. Sur RUI_INIT, seuls les éléments suivants sont pris en charge :
lua_encr_decr_option = 0
lua_encr_decr_option = 128
Pour tous les autres verbes LUA, ce paramètre est réservé et doit être défini sur zéro.