SLI_OPEN

Le verbe SLI_OPEN transfère le contrôle de l’unité logique (LU) spécifiée vers l’application LUA (Application d’unité logique Microsoft® Windows®). SLI_OPEN établit une session entre le point de contrôle des services système (SSCP) et la lu spécifiée, ainsi qu’une session LU-LU.

La structure suivante décrit le membre LUA_COMMON du bloc de contrôle de verbe (VCB) utilisé par SLI_OPEN.

La deuxième union de syntaxe décrit le membre LUA_SPECIFIC du VCB utilisé par SLI_OPEN. Les autres membres du syndicat sont omis pour des motifs de clarté.

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

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_OPEN.

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 nécessite ce paramètre.

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
Paramètre fourni. 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. La valeur doit être le début d’une limite de mots, sauf s’il n’existe aucune liste d’extensions. Dans ce cas, la valeur doit être définie sur zéro.

Si cette option n’est pas utilisée par SLI_OPEN, ce membre doit être défini sur zéro.

lua_cobol_offset
Non utilisé par LUA dans Microsoft® Host Integration Server et doit être égal à zéro.

lua_sid
Paramètre retourné. Spécifie l’identificateur de session.

lua_max_length
Non utilisé par SLI_OPEN et doit être défini sur zéro.

lua_data_length
Paramètre fourni. Spécifie la longueur réelle des données envoyées.

lua_data_ptr
Pointeur vers la mémoire tampon fournie par l’application qui contient les données à envoyer pour SLI_OPEN.

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_OPEN est émis, ce paramètre peut être l’un des suivants :

  • Message LOGON pour le flux normal SSCP lorsque le type d’initialisation est secondaire avec un message LOGON 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.

    Ces informations sont fournies par l’application Windows LUA.

    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
    Non utilisé par SLI_OPEN et doit être défini sur zéro.

    lua_rh
    Non utilisé par SLI_OPEN et doit être défini sur zéro.

    lua_flag1
    Non utilisé par SLI_OPEN et doit être défini sur zéro.

    lua_message_type
    Non utilisé par SLI_OPEN et doit être défini sur zéro.

    lua_flag2
    Paramètre retourné. Contient des indicateurs pour les messages retournés par LUA. Ses sous-paramètres sont les suivants :

    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_resv56
    Paramètre fourni. Champ réservé utilisé par SLI_OPEN et RUI_INIT. Pour plus d'informations, consultez la section Notes.

    lua_resv56[1]

    Paramètre fourni. Ce paramètre doit être défini sur zéro.

    lua_resv56[2]

    Paramètre fourni. Indique si une application SLI peut accéder aux unités LU configurées en tant que 3270 unités de référence, en plus des unités LUA. Si ce paramètre est défini sur 1, 3270 unités de référence sont accessibles.

    lua_resv56[3]

    Paramètre fourni. Indique si les lectures incomplètes sont prises en charge. Si ce paramètre a la valeur 1, les lectures incomplètes ou tronquées sont prises en charge. Pour plus d’informations, consultez les remarques relatives à RUI_READ.

    lua_encr_decr_option
    Non utilisé par SLI_OPEN et doit être défini sur zéro.

    open
    Membre de l’union de LUA_SPECIFIC utilisé par SLI_OPEN. Ensemble fourni de paramètres contenus dans une structure de SLI_OPEN requis avec SLI_OPEN.

    open.lua_init_type

    Paramètre fourni. Définit la façon dont la session LU-LU est initialisée par l’interface Windows LUA.

    Les valeurs valides sont les suivantes :

    LUA_INIT_TYPE_SEC_IS

    LUA_INIT_TYPE_SEC_LOG

    LUA_INIT_TYPE_PRIM

    LUA_INIT_TYPE_PRIM_SSCP

    open.lua_resv65

    Champ réservé.

    open.lua_wait

    Paramètre fourni. Représente un temps d’attente de nouvelle tentative secondaire indiquant le nombre de secondes d’attente de l’interface Windows LUA avant de réessayer la transmission du message INITSELF ou LOGON après que l’hôte a envoyé l’un de ces messages :

  • Une réponse négative et le code de retour secondaire sont l’un des éléments suivants :

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

    Notez que SLI_OPEN se termine par une erreur si lua_wait est défini sur zéro et que l’un des éléments précédents se produit.

  • Message d’erreur de procédure des services réseau (NSPE).

  • Commande NOTIFY, qui indique une erreur de procédure.

    open.lua_open_extension

    Paramètre fourni. Contient une liste de DLL d’extension fournies par l’application pour traiter les commandes BIND, STSN et CRV.

    open.open_extension.lua_routine_type

    Type de routine d’extension. Les valeurs légales sont les suivantes :

    LUA_ROUTINE_TYPE_BIND

    LUA_ROUTINE_TYPE_CRV

    LUA_ROUTINE_TYPE_END (indique la fin de la liste d’extensions)

    LUA_ROUTINE_TYPE_STSN

    open.open_extension.lua_module_name

    Paramètre fourni. Fournit le nom du module ASCII pour la DLL d’extension fournie par l’utilisateur. Le nom du module peut avoir jusqu’à huit caractères, les octets restants étant définis sur 0x00.

    open.open_extension.lua_procedure_name

    Paramètre fourni. Fournit le nom de la procédure en ASCII pour la DLL d’extension fournie par l’utilisateur. Le nom de la procédure peut avoir jusqu’à 32 caractères, les octets restants étant définis sur 0x00.

    open.lua_ending_delim

    Délimiteur de liste d’extensions.

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 ; un nom de lua_luname non valide a été spécifié.

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 en lecture/écriture et les données fournies sont requises.

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_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 LUA Windows ne contient pas de handle d’événement valide.

    LUA_VERB_LENGTH_INVALID

    Code de retour secondaire ; un verbe LUA a été émis avec une valeur pour lua_verb_length inattendue par LUA.

    LUA_INVALID_OPEN_INIT_TYPE

    Code de retour secondaire ; La valeur dans le lua_init_type contenue dans SLI_OPEN n’est pas valide.

    LUA_INVALID_OPEN_DATA

    Code de retour secondaire ; le lua_init_type pour le SLI_OPEN émis est défini sur LUA_INIT_TYPE_SEC_IS lorsque la mémoire tampon pour les données n’a pas de commande INITSELF valide.

    LUA_INVALID_OPEN_ROUTINE_TYPE

    Code de retour secondaire ; le lua_open_routine_type de la liste SLI_OPEN des routines d’extension n’est pas valide.

    LUA_DATA_LENGTH_ERROR

    Code de retour secondaire ; l’application n’a pas fourni les données fournies par l’utilisateur requises par le verbe émis. Notez que lorsque SLI_SEND est émis pour une commande SNA LUSTAT, status (en quatre octets) est obligatoire et que lorsque SLI_OPEN est émis avec l’initialisation secondaire, des données sont requises.

    LUA_INVALID_SLI_ENCR_OPTION

    Code de retour secondaire ; le paramètre lua_encr_decr_option a été défini sur 128 dans SLI_OPEN, ce qui n’est pas pris en charge pour l’option de traitement de chiffrement/déchiffrement.

    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_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_UNEXPECTED_SNA_SEQUENCE

    Code de retour secondaire ; des données ou des commandes inattendues ont été reçues de l’hôte pendant le traitement de SLI_OPEN .

    LUA_NEG_RSP_FROM_BIND_ROUTINE

    Code de retour secondaire ; la routine de SLI_BIND fournie par l’utilisateur a répondu négativement à l’objet BIND. SLI_OPEN s’est terminé sans succès.

    LUA_NEG_RSP_FROM_STSN_ROUTINE

    Code de retour secondaire ; la routine STSN SLI fournie par l’utilisateur a répondu négativement au STSN. SLI_OPEN s’est terminé sans succès.

    LUA_PROCEDURE_ERROR

    Code de retour secondaire ; Une erreur de procédure hôte est indiquée par la réception d’un message NSPE ou NOTIFY. Le code de retour est publié sur SLI_OPEN lorsque l’option de nouvelle tentative n’est pas utilisée. Pour utiliser l’option de réinitialisation, définissez lua_wait sur une valeur autre que zéro. La commande LOGON ou INITSELF sera retentée jusqu’à ce que l’hôte soit prêt ou que vous émettez SLI_CLOSE.

    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 trouvé 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_RESOURCE_NOT_AVAILABLE

    Code de retour secondaire ; l’unité logique, l’unité physique, le lien ou la station de liaison spécifiés dans l’unité de requête n’est pas disponible. Ce code de retour est publié sur SLI_OPEN lorsqu’une ressource n’est pas disponible, sauf si vous utilisez l’option de nouvelle tentative.

    Pour utiliser l’option de nouvelle tentative, définissez lua_wait sur une valeur autre que zéro. La commande LOGON ou INITSELF sera retentée jusqu’à ce que l’hôte soit prêt ou jusqu’à ce que vous émettez SLI_CLOSE.

    LUA_SESSION_LIMIT_EXCEEDED

    Code de retour secondaire ; la session demandée n’a pas été activée, car un NAU est à sa limite de session. Ce code de détection SNA s’applique aux requêtes suivantes : BID, CINIT, INIT et ACTDRM.

    Le code est publié sur SLI_OPEN lorsqu’un NAU est à sa limite, sauf si vous utilisez l’option RÉESSAYER.

    Pour utiliser l’option de réinitialisation, définissez lua_wait sur une valeur autre que zéro. La commande LOGON ou INITSELF sera retentée jusqu’à ce que l’hôte soit prêt ou jusqu’à ce que vous émettez SLI_CLOSE.

    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_NEGOTIABLE_BIND_ERROR

    Code de retour secondaire ; un bind négociable a été reçu, ce qui n’est autorisé par le SLI que lorsqu’une routine de SLI_BIND fournie par l’utilisateur est fournie avec SLI_OPEN.

    LUA_BIND_FM_PROFILE_ERROR

    Code de retour secondaire ; seuls les profils d’en-tête de gestion de fichiers 3 et 4 sont pris en charge par l’interface LUA. Un profil de gestion de fichiers autre que 3 ou 4 a été trouvé sur le bind.

    LUA_BIND_TS_PROFILE_ERROR

    Code de retour secondaire ; seuls les profils TS (Transmission Service) 3 et 4 sont pris en charge par l’interface LUA. Un profil TS autre que 3 ou 4 a été trouvé sur le bind.

    LUA_BIND_LU_TYPE_ERROR

    Code de retour secondaire ; seuls LU 0, LU 1, LU 2 et LU 3 sont pris en charge par LUA. Un lu autre que 0, 1, 2 ou 3 a été trouvé.

    LUA_SSCP_LU_SESSION_NOT_ACTIVE

    Code de retour secondaire ; le SSCP-LU requis est inactif. Les informations de code de sens spécifique sont en octets 2 et 3. Les paramètres valides sont 0x0000, 0x0001, 0x0002, 0x0003 et 0x0004.

    LUA_SESSION_SERVICES_PATH_ERROR

    Code de retour secondaire ; Une demande de services de session ne peut pas être redirigée vers un chemin de session SSCP-SSCP. Les informations de code de sens spécifiques en octets 2 et 3 donnent plus d’informations sur la raison pour laquelle la demande ne peut pas être redirigée.

    LUA_UNSUCCESSFUL
    Code de retour principal ; l’enregistrement du verbe fourni était valide, mais le verbe ne s’est pas terminé correctement.

    LUA_VERB_RECORD_SPANS_SEGMENTS

    Code de retour secondaire ; le paramètre de longueur VCB LUA plus le décalage de segment est au-delà de l’extrémité du segment.

    LUA_SESSION_ALREADY_OPEN

    Code de retour secondaire ; une session est déjà ouverte pour le nom lu spécifié dans SLI_OPEN.

    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 est propriétaire de la session.

    LUA_LINK_NOT_STARTED

    Code de retour secondaire ; le LUA n’a pas pu activer la liaison de données pendant l’initialisation de la session.

    LUA_INVALID_ADAPTER

    Code de retour secondaire ; la configuration du contrôle de liaison de données (DLC) est en erreur ou le fichier de configuration est endommagé.

    LUA_ENCR_DECR_LOAD_ERROR

    Code de retour secondaire ; un code de retour inattendu a été reçu à partir de la fonction DosLoadModule du système d’exploitation/2 lors de la tentative de chargement du module de liaison dynamique de chiffrement ou de déchiffrement fourni par l’utilisateur.

    LUA_ENCR_DECR_PROC_ERROR

    Code de retour secondaire ; un code de retour inattendu a été reçu à partir de la fonction DosGetProcAddr os/2 lors de la tentative d’obtention de l’adresse de procédure dans le module de liaison dynamique de chiffrement ou de déchiffrement fourni par l’utilisateur.

    LUA_NEG_NOTIFY_RSP

    Code de retour secondaire ; le SSCP a répondu négativement à une demande NOTIFY émise indiquant que la lu secondaire était capable d’une session. Le composant demi-session qui a reçu la demande a compris et pris en charge la demande, mais n’a pas pu l’exécuter.

    LUA_LU_INOPERATIVE

    Code de retour secondaire ; une erreur grave s’est produite alors que le SLI tentait d’arrêter la session. Cette lu n’est pas disponible pour toutes les requêtes LUA jusqu’à ce qu’une unité logique d’activation (ACTLU) soit reçue de l’hôte.

    LUA_CANCELED
    Code de retour principal ; le code de retour secondaire indique la raison de l’annulation de la commande.

    LUA_TERMINATED

    Code de retour secondaire ; la session a été arrêtée lorsqu’un verbe était en attente. Le processus de 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_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é rompue (erreur LAN).

  • Le SnaBase sur l’ordinateur des fournisseurs de services 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 du verbe ou le code d’opération, ou les deux, n’est pas valide. Le verbe n’a pas été exécuté.

Remarques

Pour chaque SLI_OPEN, l’interface Windows LUA :

Voir aussi

RUI_INIT
SLI_RECEIVE
SLI_SEND