Partager via


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