SLI_RECEIVE
Le verbe SLI_RECEIVE reçoit des réponses, des commandes SNA et des données dans une mémoire tampon d’applications d’unité logique (LUA) Microsoft® Windows®. SLI_RECEIVE fournit également la status actuelle de la session à l’application Windows LUA.
La structure suivante décrit le membre LUA_COMMON du bloc de contrôle verbe (VCB) utilisé par SLI_RECEIVE.
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;
};
Membres
lua_verb
Paramètre fourni. Contient le code verbe, LUA_VERB_SLI pour les verbes SLI (Session Level Interface).
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 le verbe à émettre, LUA_OPCODE_SLI_RECEIVE.
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_RECEIVE nécessite ce paramètre uniquement 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
Non utilisé par SLI_RECEIVE et doit être défini sur zéro.
lua_cobol_offset
Non utilisé par LUA dans Microsoft® Host Integration Server ou SNA 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.
lua_data_length
Paramètre retourné. Spécifie la longueur des données retournées dans la mémoire tampon de réception.
lua_data_ptr
Pointeur vers la mémoire tampon fournie par l’application qui doit recevoir les données d’un verbe SLI_RECEIVE . Les commandes et les données SNA sont placées dans cette mémoire tampon, et elles peuvent être au format EBCDIC (Extended Binary Coded Decimal Interchange Code).
Lorsque SLI_RECEIVE est émis, ce paramètre pointe vers l’emplacement où recevoir les données de l’hôte.
lua_post_handle
Paramètre fourni. Utilisé sous Microsoft® Windows Server 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 reçu. Différents sous-paramètres sont retournés pour les fonctions de lecture et d’enchère. Ses 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 :
0x0 Segment moyen0x04 Dernier segment0x08 Premier segment0x0C segment 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. Ses sous-paramètres sont les suivants :
lua_rh.rri
Indicateur de requête-réponse, un bit.
lua_rh.ruc
Catégorie d’unité de demande/réponse (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
Début de l’indicateur de crochet, 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 chiffrés, un bit.
lua_rh.pdi
Indicateur de données remplies, 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. 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é du point de contrôle des services système (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 de l’unité logique, un bit.
Définissez lua_flag1.bid_enable sur 1 pour réactiver le SLI_BID le plus récent (ce qui revient à émettre SLI_BID à nouveau avec exactement les mêmes paramètres qu’auparavant), ou définissez-le sur zéro si vous ne souhaitez pas réactiver SLI_BID. Notez que la réactivation de l’SLI_BID précédente réutilise le VCB initialement alloué pour lui, de sorte que ce VCB ne doit pas avoir été libéré ou modifié.
Définissez lua_flag1.nowait sur 1 pour indiquer que vous souhaitez que SLI_RECEIVE retourne immédiatement si les données peuvent être lues ou non, ou définissez-les sur zéro si vous souhaitez que le verbe attende les données avant de revenir.
Définissez un ou plusieurs des indicateurs suivants sur 1 pour indiquer à partir de quel flux de messages lire les données :
lua_flag1.sscp_exp
lua_flag1.lu_exp
lua_flag1.sscp_norm
lua_flag1.lu_norm
Si plusieurs indicateurs sont définis, les données de priorité la plus élevée disponibles sont retournées. L’ordre des priorités (le plus élevé en premier) est le suivant : SSCP accéléré, LU accéléré, SSCP normal, LU normal. L’indicateur équivalent dans le groupe lua_flag2 est défini pour indiquer à partir du flux à partir duquel les données ont été lues.
lua_message_type
Spécifie le type des commandes et des données SNA entrantes ou sortantes. Paramètre retourné. Spécifie le type de message SNA indiqué à SLI_RECEIVE. Les valeurs possibles sont les suivantes :
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
Le SLI reçoit et répond aux requêtes BIND 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. Retourné par RUI_BID, RUI_READ, RUI_WRITE, SLI_BID, SLI_RECEIVE et SLI_SEND. 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
Non utilisé par SLI_RECEIVE et doit être défini sur zéro.
lua_encr_decr_option
Non utilisé par SLI_RECEIVE et doit être défini sur zéro.
Codes de retour
LUA_OK
Code de retour principal ; indique que le verbe s’est exécuté correctement.
LUA_SEC_OK
Code de retour secondaire ; Aucune information supplémentaire n’existe pour LUA_OK.
LUA_PARAMETER_CHECK
Code de retour principal ; le verbe n’a pas été exécuté en raison d’une erreur de paramètre.
LUA_INVALID_LUNAME
Code de retour secondaire ; une lua_luname non valide a été spécifiée.
LUA_BAD_SESSION_ID
Code de retour secondaire ; une valeur non valide pour lua_sid a été spécifiée dans le VCB.
LUA_BAD_DATA_PTR
Code de retour secondaire ; le paramètre lua_data_ptr ne contient pas de pointeur valide ou ne pointe pas vers un segment de lecture/écriture et les données fournies sont requises.
LUA_RESERVED_FIELD_NOT_ZERO
Code de retour secondaire ; un paramètre réservé pour le verbe qui vient d’être émis n’est pas défini sur zéro.
LUA_INVALID_POST_HANDLE
Code de retour secondaire ; pour un système d’exploitation Microsoft Windows utilisant des événements comme méthode de publication asynchrone, le VCB Windows LUA ne contient pas de handle d’événement valide.
LUA_BID_VERB_SEGMENT_ERROR
Code de retour secondaire ; la mémoire tampon avec le VCB SLI_BID a été libéré avant l’émission du SLI_RECEIVE avec lua_flag1.bid_enable défini sur 1.
LUA_NO_PREVIOUS_BID_ENABLED
Code de retour secondaire ; SLI_BID n’a pas été émis avant l’émission de SLI_RECEIVE avec lua_flag1.bid_enable.
LUA_BID_ALREADY_ENABLED
Code de retour secondaire ; SLI_RECEIVE a été émis avec lua_flag1.bid_enable lorsque SLI_BID était déjà actif.
LUA_INVALID_FLOW
Code de retour secondaire ; les indicateurs de flux lua_flag1 ont été définis de manière incorrecte lorsqu’un verbe a été émis :
Lorsque vous émettez SLI_SEND d’envoyer une réponse SNA, définissez un seul indicateur de flux lua_flag1 .
Lors de l’émission de SLI_RECEIVE, définissez au moins un indicateur de flux de lua_flag1.
LUA_VERB_LENGTH_INVALID
Code de retour secondaire ; un verbe LUA a été émis avec une valeur pour lua_verb_length inattendu par LUA.
LUA_STATE_CHECK
Code de retour principal ; le verbe n’a pas été exécuté, car il a été émis dans un état non valide.LUA_NO_SLI_SESSION
Code de retour secondaire ; une session n’était pas ouverte ou était arrêtée en raison d’un SLI_CLOSE ou d’un échec de session lors de l’émission d’une commande.
LUA_RECEIVE_ON_FLOW_PENDING
Code de retour secondaire ; une SLI_RECEIVE était toujours en suspens lorsque cette application a émis un autre SLI_RECEIVE pour un flux SNA.
LUA_SESSION_FAILURE
Code de retour principal ; une condition d’erreur, spécifiée dans le code de retour secondaire, a provoqué l’échec de la session.LUA_RUI_WRITE_FAILURE
Code de retour secondaire ; une erreur inattendue a été publiée dans le SLI par RUI_WRITE.
LUA_RECEIVED_UNBIND
Code de retour secondaire ; l’unité logique primaire (PLU) a envoyé une commande SNA UNBIND à l’interface LUA lorsqu’une session était active. Par conséquent, la session a été arrêtée.
LUA_SLI_LOGIC_ERROR
Code de retour secondaire ; L’interface LUA a détecté une erreur interne dans la logique.
LUA_NO_RUI_SESSION
Code de retour secondaire ; aucune session n’a été initialisée pour le verbe LUA émis ou un verbe autre que SLI_OPEN a été émis avant l’initialisation de la session.
LUA_MODE_INCONSISTENCY
Code de retour secondaire ; l’exécution de cette fonction n’est pas autorisée par le status actuel. La demande envoyée au composant demi-session n’a pas été exécutée même si elle a été comprise et prise en charge. Ce code de sens SNA est également un code de sens de demande d’exception.
LUA_RECEIVER_IN_TRANSMIT_MODE
Code de retour secondaire ; les ressources nécessaires pour gérer les données de flux normaux n’étaient pas disponibles ou l’état de la contention semi-duplex n’a pas été reçu lorsqu’une demande de flux normal a été reçue. Le résultat est une condition de course. Ce code de sens SNA est également un code de sens de demande d’exception.
LUA_LU_COMPONENT_DISCONNECTED
Code de retour secondaire ; un composant LU n’est pas disponible, car il n’est pas correctement connecté. Assurez-vous que l’alimentation est activée.
LUA_FUNCTION_NOT_SUPPORTED
Code de retour secondaire ; LUA ne prend pas en charge la fonction demandée. Un caractère de contrôle, un paramètre RU ou un code de requête mis en forme peut avoir spécifié la fonction. Les informations de code de sens spécifique sont en octets 2 et 3.
LUA_CHAINING_ERROR
Code de retour secondaire ; la séquence des paramètres de l’indicateur de chaîne est en erreur. Un en-tête ou une unité de requête non valide pour le contrôle de session actuel ou l’état de contrôle du flux de données des récepteurs a été trouvé. La remise au composant demi-session a été empêchée.
LUA_BRACKET
Code de retour secondaire ; l’expéditeur n’a pas pu appliquer les règles de crochet de session. Notez que les conditions de contention et de race sont exemptées de cette erreur. Un en-tête ou une unité de requête non valide pour le contrôle de session actuel ou l’état de contrôle du flux de données des récepteurs a été trouvé. La remise au composant demi-session a été empêchée.
LUA_DIRECTION
Code de retour secondaire ; alors que l’état de retournement demi-duplex était NOT_RECEIVE, une demande de flux normal a été reçue. Un en-tête ou une unité de requête non valide pour le contrôle de session actuel ou l’état de contrôle du flux de données des récepteurs a été trouvé. La remise au composant demi-session a été empêchée.
LUA_DATA_TRAFFIC_QUIESCED
Code de retour secondaire ; une demande de contrôle de flux de données (DFC) ou de données de gestion des fonctions (FMD) a été reçue d’une demi-session qui a envoyé une commande SHUTC ou QC, et la demande DFC ou FMD n’a pas répondu à une commande RELQ. Un en-tête ou une unité de requête non valide pour le contrôle de session actuel ou l’état de contrôle du flux de données des récepteurs a été trouvé. La remise au composant demi-session a été empêchée.
LUA_NO_BEGIN_BRACKET
Code de retour secondaire ; le destinataire a déjà envoyé une réponse positive à une commande BIS lorsqu’une demande BID ou fmD spécifiant BBI=BB a été reçue. Un en-tête de requête ou une unité de requête non valide pour le contrôle de session actuel ou l’état de contrôle du flux de données reçu a été trouvé. La remise au composant demi-session a été empêchée.
LUA_IMMEDIATE_REQUEST_MODE_ERROR
Code de retour secondaire ; la requête a violé le protocole de mode de requête immédiate. Une demande d’en-tête ou une unité de requête non valide pour le contrôle de session actuel ou l’état de contrôle du flux de données reçu a été trouvée. La remise au composant demi-session a été empêchée.
LUA_QUEUED_RESPONSE_ERROR
Code de retour secondaire ; la requête a violé le protocole de réponse mis en file d’attente. Une demande d’en-tête ou une unité de requête non valide pour le contrôle de session actuel ou l’état de contrôle du flux de données reçu a été trouvée. La remise au composant demi-session a été empêchée.
LUA_ERP_SYNC_EVENT_ERROR
Code de retour secondaire ; une violation du protocole d’événements synchrones ERP s’est produite. Une demande d’en-tête ou une unité de requête non valide pour le contrôle de session actuel ou l’état de contrôle du flux de données reçu a été trouvée. La remise au composant demi-session a été empêchée.
LUA_RSP_CORRELATION_ERROR
Code de retour secondaire ; une réponse a été envoyée qui ne correspond pas à une demande reçue précédemment ou une réponse qui ne correspond pas à une demande précédemment envoyée.
LUA_RSP_PROTOCOL_ERROR
Code de retour secondaire ; une violation du protocole de réponse a été trouvée dans la réponse reçue de la demi-session principale.
LUA_BB_NOT_ALLOWED
Code de retour secondaire ; l’indicateur de crochet de début n’a pas été spécifié de manière incorrecte. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état de session actuel. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_EB_NOT AUTORISÉ
Code de retour secondaire ; l’indicateur de crochet de fin n’a pas été spécifié de manière incorrecte. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_EXCEPTION_RSP_NOT_ALLOWED
Code de retour secondaire ; lorsqu’une réponse d’exception n’était pas autorisée, une réponse a été demandée. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_DEFINITE_RSP_NOT_ALLOWED
Code de retour secondaire ; lorsqu’une réponse définitive n’était pas autorisée, on en demandait une. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_CD_NOT_ALLOWED
Code de retour secondaire ; l’indicateur de direction du changement a été spécifié de manière incorrecte. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_NO_RESPONSE_NOT_ALLOWED
Code de retour secondaire ; une requête autre qu’un EXR contenait une RÉPONSE NON. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_CHAINING_NOT_SUPPORTED
Code de retour secondaire ; les indicateurs de chaînage n’ont pas été spécifiés de manière incorrecte. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_BRACKETS_NOT_SUPPORTED
Code de retour secondaire ; les indicateurs de crochet ont été spécifiés de manière incorrecte. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_CD_NOT_SUPPORTED
Code de retour secondaire ; L’indicateur de direction du changement a été défini, mais LUA ne prend pas en charge la direction du changement pour cette situation. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_INCORRECT_USE_OF_FI
Code de retour secondaire ; l’indicateur de format a été spécifié de manière incorrecte. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_ALTERNATE_CODE_NOT_SUPPORTED
Code de retour secondaire ; L’indicateur de sélection de code a été défini, mais LUA ne prend pas en charge la sélection de code pour cette session. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_INCORRECT_RU_CATEGORY
Code de retour secondaire ; l’indicateur de catégorie d’unité de requête a été spécifié de manière incorrecte. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_INCORRECT_REQUEST_CODE
Code de retour secondaire ; le code de la demande a été spécifié de manière incorrecte. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_INCORRECT_SPEC_OF_SDI_RTI
Code de retour secondaire ; L’ID SDI et le RTI n’ont pas été spécifiés correctement sur une réponse. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_INCORRECT_DR1I_DR2I_ERI
Code de retour secondaire ; le DR1I, le DR2I et l’ERI ont été spécifiés de manière incorrecte. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_INCORRECT_USE_OF_QRI
Code de retour secondaire ; l’indicateur de réponse mis en file d’attente a été spécifié de manière incorrecte. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_INCORRECT_USE_OF_EDI
Code de retour secondaire ; l’EDI a été incorrectement spécifié. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_INCORRECT_USE_OF_PDI
Code de retour secondaire ; la PDI a été incorrectement spécifiée. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_UNSUCCESSFUL
Code de retour principal ; l’enregistrement de verbe fourni était valide, mais le verbe ne s’est pas terminé correctement.LUA_DATA_TRUNCATED
Code de retour secondaire ; les données ont été tronquées, car les données reçues étaient plus longues que la longueur de mémoire tampon spécifiée dans lua_max_length.
LUA_DATA_SEGMENT_LENGTH_ERROR
Code de retour secondaire ; l’une des opérations suivantes s’est produite :
Le segment de données fourni pour SLI_RECEIVE ou SLI_SEND n’est pas un segment de données en lecture/écriture, comme nécessaire.
Le segment de données fourni pour SLI_RECEIVE n’est pas aussi long que celui fourni dans lua_max_length.
Le segment de données fourni pour SLI_SEND n’est pas aussi long que celui fourni dans lua_data_length.
LUA_NO_DATA
Code de retour secondaire ; aucune donnée n’était disponible pour la lecture lorsque SLI_RECEIVE contenant un paramètre no wait a été émis.
LUA_VERB_RECORD_SPANS_SEGMENTS
Code de retour secondaire ; Le paramètre de longueur VCB LUA et le décalage du segment sont au-delà de la fin du segment.
LUA_NOT_ACTIVE
Code de retour secondaire ; LUA n’était pas actif dans Microsoft Host Integration Server ou SNA Server lorsqu’un verbe LUA a été émis.
LUA_NOT_READY
Code de retour secondaire ; l’une des opérations suivantes a entraîné la suspension temporaire de la session SLI :
Un type UNBIND SNA 0x02 commande a été reçue, ce qui indique qu’un nouveau BIND est en cours. Si le type UNBIND 0x02 est reçu une fois la SLI_OPEN de début terminée, la session est suspendue jusqu’à ce qu’un flux BIND, CRV et STSN facultatifs et SDT soient reçus. Ces routines sont réinscrites, car elles doivent être rappelées. La session reprend après que le SLI a traite la commande SDT. Si le type UNBIND 0x02 est reçu pendant le traitement de l’SLI_OPEN , le code de retour principal est LUA_SESSION_FAILURE, et non LUA_STATUS.
La réception d’une SNA CLEAR a provoqué la suspension. La réception d’un SNA SDT entraîne la reprise de la session.
LUA_SLI_LOGIC_ERROR
Code de retour secondaire ; L’interface LUA a trouvé une erreur interne dans la logique.
LUA_INVALID_PROCESS
Code de retour secondaire ; la session pour laquelle un verbe LUA a été émis n’est pas disponible, car un autre processus OS/2 est propriétaire de la session.
LUA_LU_INOPERATIVE
Code de retour secondaire ; une erreur grave s’est produite alors que le LUA tentait d’arrêter la session. Cette lu n’est pas disponible pour toutes les demandes LUA tant qu’une unité logique d’activation (ACTLU) n’est pas reçue de l’hôte.
LUA_RECEIVE_CORRELATION_TABLE_FULL
Code de retour secondaire ; la table de corrélation de réception de la session pour le flux demandé a atteint sa capacité.
LUA_NEGATIVE_RESPONSE
Code de retour principal ; L’unité LUA a envoyé une réponse négative à un message reçu de l’unité logique primaire (PLU) car une erreur a été trouvée dans le message, ou l’application a répondu négativement à une chaîne pour laquelle la fin de la chaîne est arrivée.LUA_MODE_INCONSISTENCY
Code de retour secondaire ; L’exécution de cette fonction n’est pas autorisée par le status actuel. La requête envoyée au composant demi-session n’a pas été exécutée, même si elle a été comprise et prise en charge. Ce code de sens SNA est également un code d’sens de requête d’exception.
LUA_FUNCTION_NOT_SUPPORTED
Code de retour secondaire ; LUA ne prend pas en charge la fonction demandée. Un caractère de contrôle, un paramètre RU ou un code de demande mis en forme peut avoir spécifié la fonction. Les informations de code de sens spécifique sont en octets 2 et 3.
LUA_DATA_TRAFFIC_RESET
Code de retour secondaire ; une demi-session d’une session active mais avec un trafic de données inactif a reçu une requête DFC ou FMD de flux normal. Un en-tête de requête ou une unité de requête non valide pour le contrôle de session actuel ou l’état de contrôle de flux de données des récepteurs a été trouvé. La remise au composant demi-session a été empêchée.
LUA_DATA_TRAFFIC_NOT_RESET
Code de retour secondaire ; alors que l’état du trafic de données n’a pas été réinitialisé, la demande de contrôle de session a été reçue. Un en-tête ou une unité de requête non valide pour le contrôle de session actuel ou l’état de contrôle de flux de données reçu a été trouvé. La remise au composant demi-session a été empêchée.
LUA_SC_PROTOCOL_VIOLATION
Code de retour secondaire ; une violation du protocole SC s’est produite. Une demande (qui n’est autorisée qu’après qu’une demande SC et une réponse positive à cette demande ont été correctement échangées) a été reçue avant l’échange requis. L’octet 4 des données sense contient le code de la demande. Il n’existe aucune donnée utilisateur pour ce code de sens. Une demande d’en-tête ou une unité de requête non valide pour le contrôle de session actuel reçu ou l’état du contrôle de flux de données a été trouvé. La remise au composant demi-session a été empêchée.
LUA_INVALID_SC_OR_NC_RH
Code de retour secondaire ; l’unité d’activité d’une requête SC ou NC n’était pas valide.
LUA_PACING_NOT_SUPPORTED
Code de retour secondaire ; la demande contenait un indicateur de rythme lorsque la prise en charge du rythme pour cette session n’existe pas pour la demi-session de réception ou la demi-session de la fonction de limite. Les options BIND choisies précédemment ou les règles architecturales ont été violées par les valeurs de paramètre d’en-tête de la demande. La remise au composant demi-session a été empêchée. Les erreurs ne dépendent pas de l’état actuel de la session. L’échec de l’application des règles de session par les expéditeurs peut avoir provoqué les erreurs.
LUA_NAU_INOPERATIVE
Code de retour secondaire ; l’unité adressable réseau n’est pas en mesure de traiter les réponses ou les demandes. La remise au destinataire n’a pas pu avoir lieu pour l’une des raisons suivantes :
Erreur d’unité d’informations sur le chemin d’accès
Une panne de chemin d’accès
Séquence non valide de demandes d’activation
Si une erreur de chemin d’accès est reçue pendant une session active, cela signifie généralement qu’il n’existe plus de chemin d’accès valide au partenaire de session.
LUA_CANCELED
Code de retour principal ; Le code de retour secondaire donne la raison de l’annulation de la commande.LUA_PURGED
Code de retour secondaire ; SLI_PURGE a été émis et annulé SLI_RECEIVE.
LUA_NO_SLI_SESSION
Code de retour secondaire ; une session n’était pas ouverte ou s’est arrêtée en raison d’un SLI_CLOSE ou d’un échec de session lors de l’émission d’une commande.
LUA_CANCEL_COMMAND_RECEIVED
Code de retour secondaire ; l’hôte a envoyé une commande SNA CANCEL pour annuler la chaîne de données actuellement reçue par SLI_RECEIVE.
LUA_TERMINATED
Code de retour secondaire ; la session a été arrêtée lorsqu’un verbe était en attente. Le processus verbe a été annulé.
LUA_IN_PROGRESS
Code de retour principal ; Une commande asynchrone a été reçue, mais n’est pas terminée.LUA_STATUS
Code de retour principal ; le code de retour secondaire contient des informations de status SLI pour l’application.LUA_READY
Code de retour secondaire ; à la suite d’une status NOT READY, cette status est émise pour vous informer que le SLI est prêt à traiter les commandes.
LUA_NOT_READY
Code de retour secondaire ; La session SLI est temporairement suspendue pour la raison suivante :
Un type UNBIND SNA 0x02 commande a été reçu, ce qui signifie qu’un nouveau BIND est à venir. Si le type UNBIND 0x02 est reçu une fois la SLI_OPEN de début terminée, la session est suspendue jusqu’à ce qu’un flux BIND, CRV et STSN facultatifs et SDT soient reçus. Ces routines sont réinscrites, car elles doivent être rappelées. La session reprend après que le SLI a traite la commande SDT. Si le type UNBIND 0x02 est reçu pendant le traitement du SLI_OPEN, le code de retour principal est un échec de session, et non status.
La réception d’une SNA CLEAR a provoqué la suspension. La réception d’un SNA SDT entraîne la reprise de la session.
LUA_INIT_COMPLETE
Code de retour secondaire ; L’interface LUA a initialisé la session pendant le traitement de SLI_OPEN . Les applications LUA qui émettent des SLI_OPEN avec lua_open_type_prim_sscp reçoivent cette status sur SLI_RECEIVE ou SLI_BID.
LUA_SESSION_END_REQUESTED
Code de retour secondaire ; L’interface LUA a reçu un SNA SHUTD de l’hôte, ce qui signifie que l’hôte est prêt à arrêter la session.
LUA_COMM_SUBSYSTEM_ABENDED
Code de retour principal ; indique l’une des situations suivantes :Le nœud utilisé par cette conversation a rencontré un abandon (ABEND).
La connexion entre le programme de transaction (TP) et le nœud d’unité physique (PU) 2.1 a été interrompue (erreur LAN).
Le SnaBase sur l’ordinateur TPs a rencontré un ABEND.
LUA_COMM_SUBSYSTEM_NOT_LOADED
Code de retour principal ; indique qu’il n’a pas été possible de charger un composant requis ou d’y mettre fin lors du traitement du verbe. Par conséquent, la communication n’a pas pu être établie. Contactez l’administrateur système pour mettre en place une action corrective.LUA_INVALID_VERB_SEGMENT
Code de retour principal ; indique que le bloc de contrôle de verbe s’étend au-delà de la fin du segment de données.LUA_UNEXPECTED_DOS_ERROR
Code de retour principal ; après l’émission d’un appel de système d’exploitation, un code de retour inattendu du système d’exploitation a été reçu et est spécifié dans le code de retour secondaire.LUA_STACK_TOO_SMALL
Code de retour principal ; indique que la taille de la pile de l’application est trop petite pour exécuter le verbe. Augmentez la taille de pile de votre application.LUA_INVALID_VERB
Code de retour principal ; le code verbe ou le code d’opération, ou les deux, n’est pas valide. Le verbe n’a pas été exécuté.
Remarques
SLI_RECEIVE reçoit des réponses, des commandes SNA et des données d’unité de requête de l’hôte. SLI_RECEIVE fournit également la status de la session à l’application Windows LUA. Une demande de SLI_OPEN doit être effectuée avant que SLI_RECEIVE puisse être émis. Toutefois, si SLI_OPEN est émis avec lua_init_type défini sur LUA_INIT_TYPE_PRIM_SSCP, une SLI_RECEIVE sur le flux normal SSCP peut être émise dès que SLI_OPEN retourne un IN_PROGRESS.
Les données sont reçues par l’application dans l’un des quatre flux de session. Les quatre flux de session, de la priorité la plus élevée à la priorité la plus faible sont les suivants :
SSCP accéléré
LU accélérée
SSCP normal
NORMALE DE LU
Le type de flux de données que SLI_RECEIVE traitera est spécifié dans lua_flag1. L’application peut également spécifier si elle souhaite examiner plusieurs types de flux de données. Lorsque plusieurs bits de flux sont définis, la priorité la plus élevée est reçue en premier. Une fois SLI_RECEIVE traitement terminé, lua_flag2 indique le type spécifique de flux pour lequel les données ont été reçues par l’application Windows LUA.
Si SLI_BID se termine correctement avant l’émission de SLI_RECEIVE, l’interface Windows LUA peut être chargée de réutiliser les derniers verbes SLI_BID VCB. Pour ce faire, le problème SLI_RECEIVE avec lua_flag1.bid_enable défini sur 1.
Lorsque vous utilisez lua_flag1.bid_enable, le stockage SLI_BID ne doit pas être libéré, car le dernier SLI_BID verbes VCB est utilisé. En outre, lors de l’utilisation de lua_flag1.bid_enable, la réussite de SLI_BID est publiée.
Si SLI_RECEIVE est émis avec lua_flag1.nowait quand aucune donnée n’est disponible à recevoir, LUA_NO_DATA sera le code de retour secondaire défini par l’interface Windows LUA.
Valeurs de retour de l’état de la session
Si LUA_STATUS est le code de retour principal, le code de retour secondaire peut être l’un des suivants :
LUA_READY
LUA_NOT_READY
LUA_SESSION_END_REQUESTED
LUA_INIT_COMPLETE
En outre, si LUA_STATUS est le code de retour principal, les paramètres suivants sont utilisés :
lua_sec_rc
lua_sid
LUA_READY est retourné après une LUA_NOT_READY status et indique que le SLI est à nouveau prêt à exécuter toutes les commandes.
LUA_NOT_READY indique que la session SLI est suspendue, car le SLI a reçu une commande SNA CLEAR ou une commande SNA UNBIND avec un type UNBIND 0x02 (UNBIND avec BIND à venir). Selon la cause de la suspension, la session peut être réactivée comme suit :
Lorsque la suspension est due à un SNA CLEAR, la réception d’un SNA SDT réactive la session.
Lorsqu’un bind de type UNBIND SNA entraîne la suspension de la session et que le SLI_OPEN qui a ouvert la session est terminé, la session est suspendue jusqu’à ce que le SLI reçoive une commande BIND et SDT. La session peut également recevoir éventuellement une commande STSN. Par conséquent, les routines fournies par l’utilisateur émises avec le SLI_OPEN initial doivent être entrées de nouveau, car elles seront rappelées.
L’application peut envoyer des données SSCP après l’arrivée prochaine d’une liaison de type CLEAR ou UNBIND et avant la lecture du NOT_READY status. L’application peut envoyer et recevoir des données SSCP après avoir lu un NOT_READY.
Lorsqu’un bind de type UNBIND SNA arrive avant l’achèvement de la SLI_OPEN qui a ouvert la session, LUA_SESSION_FAILURE (et non LUA_STATUS) est le code de retour principal.
LUA_SESSION_END_REQUESTED indique que l’application a reçu un SNA SHUTD de l’hôte. L’application Windows LUA doit émettre des SLI_CLOSE pour fermer la session lorsque cela est pratique.
LUA_INIT_COMPLETE est retourné uniquement lorsque lua_init_type pour SLI_OPEN est LUA_INIT_TYPE_PRIM_SSCP. La status signifie que le SLI_OPEN a été suffisamment traité pour permettre l’envoi ou la réception de données SSCP.
Demandes d’exception
Si une unité de requête d’application hôte est convertie en exr, les données de sens sont retournées. Lorsque SLI_BID se termine avec les paramètres de verbe retournés définis comme indiqué, une conversion EXR se produit.
Membre | Définir sur |
---|---|
lua_prim_rc | OK (0x0000) |
lua_sec_rc | OK (0x00000000) |
lua_rh.rri | bit off (unité de requête) |
lua_rh.sdi | bit on (inclut les données de sens) |
Sur les sept octets de données dans lua_peek_data, les octets 0 à 3 définissent l’erreur détectée. Le tableau suivant indique les données de sens possibles et les valeurs des octets 0 à 3.
Détecter les données | Valeur des octets 0 à 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 |
Les informations retournées aux octets 3 à 6 dans lua_peek_data sont déterminées par les trois premiers octets de l’unité de requête initiale à l’origine de l’erreur.
Voir aussi
RUI_INIT
RUI_PURGE
RUI_READ
RUI_WRITE
SLI_BID
SLI_CLOSE
SLI_OPEN
SLI_PURGE
SLI_SEND