CNOS

Le verbe CNOs (modifier le nombre de sessions) établit les limites de session appc lu 6,2.

La structure suivante décrit le bloc de contrôle de verbe utilisé par le verbe CNOs .

Syntaxe

  
typedef struct cnos {  
    unsigned short  opcode;  
    unsigned char   reserv2[2];  
    unsigned short  primary_rc;  
    unsigned long   secondary_rc;  
    unsigned char   key[8];  
    unsigned char   lu_alias[8];  
    unsigned char   plu_alias[8];  
    unsigned char   fqplu_name[17];  
    unsigned char   reserv3;  
    unsigned char   mode_name[8];  
    unsigned int    mode_name_select:1;  
    unsigned int    set_negotiable:1;  
    unsigned int    reserv4:6;  
    unsigned int    reserv5:8;  
    unsigned short  plu_mode_sess_lim;  
    unsigned short  min_conwinners_source;  
    unsigned short  min_conwinners_target;  
    unsigned short  auto_act;  
    unsigned int    drain_target:1;  
    unsigned int    drain_source:1;  
    unsigned int    responsible:1;  
    unsigned int    reserv6:5;  
    unsigned int    reserv7:8;  
} CNOS;   

Membres

opcode
Paramètre fourni. Spécifie le code d’opération de verbe, AP_CNOS.

reserv2
Champ réservé.

primary_rc
Paramètre retourné. Spécifie le code de retour principal défini par APPC à l’achèvement du verbe. Les codes de retour valides dépendent du verbe APPC émis. Pour connaître les codes d’erreur valides de ce verbe, consultez Codes de retour.

secondary_rc
Paramètre retourné. Spécifie le code de retour secondaire défini par APPC à l’achèvement du verbe. Les codes de retour valides dépendent du verbe APPC émis. Pour connaître les codes d’erreur valides de ce verbe, consultez Codes de retour.

key
Paramètre fourni. Spécifie la clé principale ou de service en ASCII, si la fonctionnalité de verrouillage a été sécurisée.

lu_alias
Paramètre fourni. Fournit le nom ASCII de 8 octets utilisé localement pour le LU.

plu_alias
Paramètre fourni. Fournit le nom ASCII de 8 octets utilisé localement pour l’unité logique du partenaire.

fqplu_name
Paramètre fourni. Fournit le nom de l’unité logique partenaire (LU) en EBCDIC (type A) quand aucun nom de plu_alias n’est défini sur le nœud local et que l’unité logique du partenaire se trouve sur un autre nœud.

mode_name
Paramètre fourni. Spécifie le nom du mode EBCDIC (type A) à utiliser lorsque la valeur de mode_name_select est AP_ONE.

mode_name_select
Paramètre fourni. Spécifie le nom du mode sélectionné pour lequel votre programme définit ou réinitialisation les limites de session et les polarités du vainqueur. Les valeurs autorisées sont AP_ALL ou AP_ONE.

set_negotiable
Paramètre fourni. Spécifie si APPC doit modifier le paramètre actuel de la limite maximale de sessions négociables. Les valeurs autorisées sont AP_YES et AP_NO.

reserv4
Champ réservé 6 bits.

reserv5
Champ réservé 8 bits.

plu_mode_sess_lim
Paramètre fourni. Spécifie la limite de session lorsque la valeur de set_negotiable est oui. Les valeurs autorisées sont comprises entre 0 et 32767.

min_conwinners_source
Paramètre fourni. Spécifie le nombre de sessions dont la valeur du LU est garantie pour le vainqueur du conflit. Les valeurs autorisées sont comprises entre 0 et 32767.

min_conwinners_target
Paramètre fourni. Spécifie le nombre minimal de sessions dont la valeur LU cible est garantie pour le vainqueur du conflit. Les valeurs autorisées sont comprises entre 0 et 32767.

auto_act
Paramètre fourni. Spécifie le nombre de sessions du vainqueur de contention de lu locales pour qu’APPC s’active automatiquement. Les valeurs autorisées sont comprises entre 0 et 32767. Consultez la section Notes de cette rubrique avant d’utiliser ce paramètre.

drain_target
Paramètre fourni. Spécifie si le LU cible peut vider ses demandes d’allocation (sortantes) en attente. Les valeurs autorisées sont AP_YES et AP_NO.

drain_source
Paramètre fourni. Spécifie si le LU source peut vider ses demandes d’allocation (sortantes) en attente. Les valeurs autorisées sont AP_YES et AP_NO.

incomb
Paramètre fourni. Spécifie le LU qui est responsable de la désactivation des sessions suite à la réinitialisation de la limite de session pour les connexions de session parallèle. Les valeurs autorisées sont AP_SOURCE et AP_TARGET.

reserv6
Champ réservé 5 bits.

reserv7
Champ réservé 8 bits.

Codes de retour

AP_OK
Code de retour principal ; indique que le verbe s’est exécuté correctement.

AP_CNOS_ACCEPTED
Code de retour secondaire ; APPC accepte les limites et la responsabilité de session spécifiées.

AP_CNOS_NEGOTIATED
Code de retour secondaire ; APPC accepte les limites de session et les responsabilités négociables par l’unité logique du partenaire. Les valeurs qui peuvent être négociées sont les suivantes :

plu_mode_session_limit

min_conwinners_source

min_conwinners_target

incomb

drain_target

AP_ALLOCATION_ERROR
Code de retour principal ; APPC n’a pas pu allouer une conversation. L’état de la conversation est défini sur RESET.

Ce code peut être retourné via un verbe émis après l' allocation ou la MC_ALLOCATE.

AP_ALLOCATION_FAILURE_NO_RETRY
Code de retour secondaire ; la conversation ne peut pas être allouée en raison d’une condition permanente, telle qu’une erreur de configuration ou une erreur de protocole de session. Pour déterminer l’erreur, l’administrateur système doit examiner le fichier journal des erreurs. Ne réessayez pas l’allocation tant que l’erreur n’a pas été corrigée.

AP_ALLOCATION_FAILURE_RETRY
Code de retour secondaire ; la conversation n’a pas pu être allouée en raison d’une condition temporaire, telle qu’un échec de liaison. La raison de l’échec est consignée dans le journal des erreurs système. Réessayez l’allocation.

AP_CNOS_LOCAL_RACE_REJECT
Code de retour principal ; APPC traite actuellement un verbe CNOs émis par un lu local.

AP_CNOS_PARTNER_LU_REJECT
Code de retour principal ; le LU du partenaire a rejeté une demande CNOs à partir de l’unité logique locale.

AP_CNOS_MODE_CLOSED
Code de retour secondaire ; l’unité logique locale ne peut pas négocier une limite de session différente de zéro, car la limite de session maximale locale au niveau de la LU du partenaire est égale à zéro.

AP_CNOS_MODE_NAME_REJECT
Code de retour secondaire ; le LU partenaire ne reconnaît pas le nom du mode spécifié.

AP_CNOS_COMMAND_RACE_REJECT
Code de retour secondaire ; l’unité logique locale traite actuellement un verbe CNOs émis par l’unité logique du partenaire.

AP_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 2,1 de a été rompue (une erreur de réseau local).

Le SnaBase sur l’ordinateur TPs a rencontré un ABEND.

L’administrateur système doit examiner le journal des erreurs pour déterminer la raison de l’abandon.

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

AP_INVALID_KEY
Code de retour principal ; la clé fournie était incorrecte.

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

AP_PARAMETER_CHECK
Code de retour principal ; le verbe n’a pas été exécuté en raison d’une erreur de paramètre.

AP_ALL_MODE_MUST_RESET
Code de retour secondaire ; APPC n’autorise pas une limite de session différente de zéro lorsque le paramètre mode_name_select indique AP_ALL.

AP_AUTOACT_EXCEEDS_SESSLIM
Code de retour secondaire ; sur le verbe CNOs , la valeur de auto_act est supérieure à la valeur de plu_mode_sess_lim.

AP_BAD_LU_ALIAS
Code de retour secondaire ; APPC ne peut pas trouver le lu_alias spécifié parmi ceux définis.

AP_BAD_PARTNER_LU_ALIAS
Code de retour secondaire ; APPC n’a pas reconnu le plu_aliasfourni.

AP_BAD_SNASVCMG_LIMITS
Code de retour secondaire ; votre programme a spécifié des paramètres non valides pour plu_mode_sess_lim, min_conwinners_sourceou min_conwinners_target lorsque MODE_NAME a été fourni.

AP_CHANGE_SRC_DRAINS
Code de retour secondaire ; APPC n’autorise pas mode_name_select (un) et drain_source (oui) lorsque drain_source (non) est actuellement en vigueur pour le mode spécifié.

AP_CNOS_IMPLICIT_PARALLEL
Code de retour secondaire ; APPC ne permet pas à un programme de modifier la limite de session pour un mode autre que le mode SNASVCMG n’pour le modèle de partenaire implicite lorsque le modèle spécifie des sessions parallèles. (Le terme « modèle » est utilisé, car la plupart des valeurs réelles ne sont pas encore remplies.)

AP_CPSVCMG_MODE_NOT_ALLOWED
Code de retour secondaire ; le mode nommé CPSVCMG ne peut pas être spécifié en tant que MODE_NAME sur le verbe de session de désactivation.

AP_EXCEEDS_MAX_ALLOWED
Code de retour secondaire ; votre programme a émis un verbe CNOs , en spécifiant un numéro de plu_mode_sess_lim et set_negotiable (AP_NO).

AP_MIN_GT_TOTAL
Code de retour secondaire ; la somme de min_conwinners_source et min_conwinners_target spécifie un nombre supérieur à plu_mode_sess_lim.

AP_MODE_CLOSED
Code de retour secondaire ; l’unité logique locale ne peut pas négocier une limite de session différente de zéro, car la limite de session maximale locale au niveau de la LU du partenaire est égale à zéro.

AP_RESET_SNA_DRAINS
Code de retour secondaire ; SNASVCMG n’ne prend pas en charge les valeurs de paramètre drain.

AP_SINGLE_NOT_SRC_RESP
Code de retour secondaire ; dans le cas d’un verbe CNOs à session unique, APPC autorise uniquement l’unité logique locale (source) à être responsable de la désactivation des sessions.

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

AP_STATE_CHECK
Code de retour principal ; le verbe n’a pas été exécuté, car il a été émis dans un état non valide.

AP_CANT_RAISE_LIMITS
Code de retour secondaire ; APPC n’autorise pas la définition de limites de session sur une valeur différente de zéro, sauf si les limites sont actuellement égales à zéro.

AP_LU_DETACHED
Code de retour secondaire ; une commande a réinitialisé la définition de l’unité logique locale avant que CNOs ait essayé de spécifier le lu.

AP_SNASVCMG_RESET_NOT_ALLOWED
Code de retour secondaire ; votre programme local a tenté d’émettre le verbe CNOs pour le mode nommé snasvcmg n', en spécifiant une limite de session de zéro.

AP_UNEXPECTED_DOS_ERROR
Code de retour principal ; le système d’exploitation a retourné une erreur à APPC lors du traitement d’un verbe APPC à partir du TP local. Le code de retour du système d’exploitation a été retourné via secondary_rc. Il apparaît dans l’ordre Intel avec permutation d’octets. Si le problème persiste, consultez l’administrateur système.

Notes

CNOs identifie une unité logique par alias seul. Si le même alias d’unité logique locale est utilisé plusieurs fois dans un domaine (à des fins de sauvegarde ou à d’autres fins) et que l’alias LU est spécifié via CNOs, le verbe peut circuler vers une autre lu que celle prévue.

Si CNOS n’est pas émis pour définir la limite de session en mode avant qu’un programme n’émette sa première allocationAPPC, MC_ALLOCATE, SEND_CONVERSATIONou MC_SEND_CONVERSATION, ou l’appel d’une interface de programmation commune for Communications (CPI-C) pour l' allocation d’un appel de partenaire donné, APPC génère en interne une limite de session à l’aide de la valeur de la définition de mode.

Lors de la définition des limites pour une connexion de session parallèle, les deux lu négocient les limites de session en mode, les paramètres de drainage et les valeurs de responsabilité. APPC met à jour ces paramètres dans CNOs pour refléter les paramètres convenus par les deux lu lors de la négociation. Votre programme peut émettre un affichage pour obtenir les valeurs négociées pour la limite de session en mode.

Aucune négociation CNOs ne se produit lors de la définition des limites pour une seule session (autrement dit, les deux lu ne négocient pas les paramètres de drainage ou les valeurs de responsabilité). Par conséquent, coordonnez les paramètres de définition de mode entre les lu de partenaire à l’aide d’une connexion de session unique en définissant un mode de session unique sur chaque nœud.

Dans le cadre de la configuration des limites initiales, CNOs définit également le nombre de sessions garanties (autrement dit, le nombre minimal) de sessions de contention-vainqueur et contention-perdant et définit le nombre d’activations automatiques pour les sessions de contention du jeu de données source. L’action de CNOs affecte normalement uniquement le groupe de sessions avec le nom de mode spécifié entre le lu source et le lu cible. Un CNOs peut également réinitialiser les limites de session de tous les modes pour un lu partenaire.

APPC applique la limite de session en mode nouveau et les polarités du vainqueur de contention jusqu’à un côté, ou l’autre les modifie en émettant un verbe CNOs suivant. La transaction CNOs est invisible à l’API du lu cible, quel que soit le lu qui est la cible. Les résultats de la transaction CNOs peuvent être obtenus à l’aide de l' affichage.