CNOS

El verbo CNOS (cambiar número de sesiones) establece límites de sesión de APPC LU 6.2.

En la estructura siguiente se describe el bloque de control de verbo utilizado por el verbo CNOS .

Sintaxis

  
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;   

Members

opcode
Parámetro proporcionado. Especifica el código de operación de verbo, AP_CNOS.

reserv2
Campo reservado.

primary_rc
Parámetro devuelto. Especifica el código de retorno principal que establece APPC al finalizar el verbo. Los códigos de retorno válidos varían en función del verbo APPC que se emita. Consulte la sección de códigos de retorno para obtener los códigos de error válidos para este verbo.

secondary_rc
Parámetro devuelto. Especifica el código de retorno secundario que establece APPC al finalizar el verbo. Los códigos de retorno válidos varían en función del verbo APPC que se emita. Consulte la sección de códigos de retorno para obtener los códigos de error válidos para este verbo.

key
Parámetro proporcionado. Especifica la clave maestra o de servicio en ASCII, si la característica de bloqueo de claves se ha protegido.

lu_alias
Parámetro proporcionado. Proporciona el nombre ASCII de 8 bytes usado localmente para la LU.

plu_alias
Parámetro proporcionado. Proporciona el nombre ASCII de 8 bytes que se usa localmente para la LU del asociado.

fqplu_name
Parámetro proporcionado. Proporciona el nombre de la unidad lógica de asociado (LU) en EBCDIC (tipo A) cuando no se define ningún nombre de plu_alias en el nodo local y la LU del asociado se encuentra en un nodo diferente.

mode_name
Parámetro proporcionado. Especifica el nombre del modo EBCDIC (tipo A) que se usará cuando se AP_ONE el valor de mode_name_select .

mode_name_select
Parámetro proporcionado. Especifica el nombre del modo seleccionado para el que el programa está estableciendo o restableciendo los límites de sesión y las polaridades ganadoras de contención. Los valores permitidos son AP_ALL o AP_ONE.

set_negotiable
Parámetro proporcionado. Especifica si APPC va a cambiar la configuración actual para el límite máximo de sesión negociable. Los valores permitidos son AP_YES y AP_NO.

reserv4
Campo reservado de 6 bits.

reserv5
Un campo reservado de 8 bits.

plu_mode_sess_lim
Parámetro proporcionado. Especifica el límite de sesión cuando el valor de set_negotiable es YES. Los valores permitidos son de 0 a 32767.

min_conwinners_source
Parámetro proporcionado. Especifica el número de sesiones de las que se garantiza que la LU es el ganador de la contención. Los valores permitidos son de 0 a 32767.

min_conwinners_target
Parámetro proporcionado. Especifica el número mínimo de sesiones de las que se garantiza que la LU de destino sea el ganador de contención. Los valores permitidos son de 0 a 32767.

auto_act
Parámetro proporcionado. Especifica el número de sesiones de contención de LU locales para que APPC se active automáticamente. Los valores permitidos son de 0 a 32767. Consulte la sección Comentarios de este tema antes de usar este parámetro.

drain_target
Parámetro proporcionado. Especifica si la LU de destino puede purgar sus solicitudes de asignación en espera (salientes). Los valores permitidos son AP_YES y AP_NO.

drain_source
Parámetro proporcionado. Especifica si la LU de origen puede purgar sus solicitudes de asignación en espera (salientes). Los valores permitidos son AP_YES y AP_NO.

Responsable
Parámetro proporcionado. Especifica qué LU es responsable de desactivar las sesiones como resultado de restablecer el límite de sesión para las conexiones de sesión paralelas. Los valores permitidos son AP_SOURCE y AP_TARGET.

reserv6
Campo reservado de 5 bits.

reserv7
Un campo reservado de 8 bits.

Códigos de retorno

AP_OK
Código de retorno principal; el verbo se ha ejecutado correctamente.

AP_CNOS_ACCEPTED
Código de retorno secundario; APPC acepta los límites de sesión y la responsabilidad según se especifica.

AP_CNOS_NEGOTIATED
Código de retorno secundario; APPC acepta los límites de sesión y la responsabilidad negociables por la LU del asociado. Los valores que se pueden negociar son:

plu_mode_session_limit

min_conwinners_source

min_conwinners_target

Responsable

drain_target

AP_ALLOCATION_ERROR
Código de retorno principal; APPC no pudo asignar una conversación. El estado de la conversación se establece en RESET.

Este código se puede devolver a través de un verbo emitido después de ALLOCATE o MC_ALLOCATE.

AP_ALLOCATION_FAILURE_NO_RETRY
Código de retorno secundario; la conversación no se puede asignar debido a una condición permanente, como un error de configuración o un error de protocolo de sesión. Para determinar el error, el administrador del sistema debe examinar el archivo de registro de errores. No vuelva a intentar la asignación hasta que se haya corregido el error.

AP_ALLOCATION_FAILURE_RETRY
Código de retorno secundario; No se pudo asignar la conversación debido a una condición temporal, como un error de vínculo. El motivo del error se registra en el registro de errores del sistema. Vuelva a intentar la asignación.

AP_CNOS_LOCAL_RACE_REJECT
Código de retorno principal; APPC está procesando actualmente un verbo CNOS emitido por una LU local.

AP_CNOS_PARTNER_LU_REJECT
Código de retorno principal; la LU del asociado rechazó una solicitud de CNOS de la LU local.

AP_CNOS_MODE_CLOSED
Código de retorno secundario; la LU local no puede negociar un límite de sesión distinto de cero porque el límite de sesión máximo local en la LU del asociado es cero.

AP_CNOS_MODE_NAME_REJECT
Código de retorno secundario; la LU del asociado no reconoce el nombre del modo especificado.

AP_CNOS_COMMAND_RACE_REJECT
Código de retorno secundario; la LU local está procesando actualmente un verbo CNOS emitido por la LU del asociado.

AP_COMM_SUBSYSTEM_ABENDED
Código de retorno principal; indica una de las condiciones siguientes:

El nodo utilizado por esta conversación encontró una anulación.

Se ha interrumpido la conexión entre el programa de transacciones (TP) y el nodo PU 2.1 (un error de red de área local).

El SnaBase en el equipo de los CSP encontró un ABEND.

El administrador del sistema debe examinar el registro de errores a fin de determinar el motivo de la anulación.

AP_COMM_SUBSYSTEM_NOT_LOADED
Código de retorno principal; no se pudo cargar o finalizar un componente necesario durante el procesamiento del verbo. Por tanto, no se pudo establecer la comunicación. Consulte al administrador del sistema para aplicar una acción correctiva.

AP_INVALID_KEY
Código de retorno principal; la clave proporcionada era incorrecta.

AP_INVALID_VERB_SEGMENT
Código de retorno principal; el bloque de control de verbo (VCB) se ha extendido más allá del final del segmento de datos.

AP_PARAMETER_CHECK
Código de retorno principal; el verbo no se ha ejecutado debido a un error en un parámetro.

AP_ALL_MODE_MUST_RESET
Código de retorno secundario; APPC no permite un límite de sesión distinto de cero cuando el parámetro mode_name_select indica AP_ALL.

AP_AUTOACT_EXCEEDS_SESSLIM
Código de retorno secundario; en el verbo CNOS , el valor de auto_act es mayor que el valor de plu_mode_sess_lim.

AP_BAD_LU_ALIAS
Código de retorno secundario; APPC no encuentra el lu_alias especificado entre los definidos.

AP_BAD_PARTNER_LU_ALIAS
Código de retorno secundario; APPC no reconoció el plu_alias proporcionado.

AP_BAD_SNASVCMG_LIMITS
Código de retorno secundario; el programa especificó una configuración no válida para plu_mode_sess_lim, min_conwinners_source o min_conwinners_target cuando se proporcionó mode_name .

AP_CHANGE_SRC_DRAINS
Código de retorno secundario; APPC no permite mode_name_select (ONE) y drain_source (SÍ) cuando drain_source (NO) está actualmente en vigor para el modo especificado.

AP_CNOS_IMPLICIT_PARALLEL
Código de retorno secundario; APPC no permite que un programa cambie el límite de sesión de un modo distinto del modo SNASVCMG para la plantilla de asociado implícita cuando la plantilla especifica sesiones paralelas. (el término "plantilla" se usa porque muchos de los valores reales todavía no se han rellenado aún).

AP_CPSVCMG_MODE_NOT_ALLOWED
Código de retorno secundario; el modo denominado CPSVCMG no se puede especificar como el mode_name en el verbo de sesión de desactivación.

AP_EXCEEDS_MAX_ALLOWED
Código de retorno secundario; el programa emitió un verbo CNOS , especificando un número de plu_mode_sess_lim y set_negotiable (AP_NO).

AP_MIN_GT_TOTAL
Código de retorno secundario; la suma de min_conwinners_source y min_conwinners_target especifica un número mayor que plu_mode_sess_lim.

AP_MODE_CLOSED
Código de retorno secundario; la LU local no puede negociar un límite de sesión distinto de cero porque el límite de sesión máximo local en la LU del asociado es cero.

AP_RESET_SNA_DRAINS
Código de retorno secundario; SNASVCMG no admite los valores de parámetro de purga.

AP_SINGLE_NOT_SRC_RESP
Código de retorno secundario; para un verbo CNOS de sesión única, APPC solo permite que la LU local (de origen) sea responsable de desactivar las sesiones.

AP_STACK_TOO_SMALL
Código de retorno principal; el tamaño de la pila de la aplicación es demasiado pequeño para ejecutar el verbo. Aumente el tamaño de pila de la aplicación.

AP_STATE_CHECK
Código de retorno principal; el verbo no se ejecutó porque se emitió en un estado no válido.

AP_CANT_RAISE_LIMITS
Código de retorno secundario; APPC no permite establecer límites de sesión en un valor distinto de cero a menos que los límites actualmente sean cero.

AP_LU_DETACHED
Código de retorno secundario; Un comando ha restablecido la definición de la LU local antes de que CNOS intentara especificar la LU.

AP_SNASVCMG_RESET_NOT_ALLOWED
Código de retorno secundario; el programa local intentó emitir el verbo CNOS para el modo denominado SNASVCMG, especificando un límite de sesión de cero.

AP_UNEXPECTED_DOS_ERROR
Código de retorno principal; el sistema operativo ha devuelto un error a APPC al procesar un verbo APPC desde el TP local. El código de retorno del sistema operativo se devuelve a través de secondary_rc. Aparece en el orden de intercambio de bytes de Intel. Si el problema persiste, consulte con el administrador del sistema.

Comentarios

CNOS identifica solo una LU por alias. Si el mismo alias de LU local se usa varias veces en un dominio (con fines de copia de seguridad u otros fines) y ese alias de LU se especifica a través de CNOS, el verbo puede fluir a una LU diferente de la prevista.

Si CNOS no se emite para establecer el límite de sesión en modo antes de que un programa emita su primera asignación de APPC, MC_ALLOCATE, SEND_CONVERSATION o MC_SEND_CONVERSATION, o interfaz de programación común para comunicaciones (CPI-C) Asigne una llamada para una LU y modo de asociado determinado, APPC generará internamente un límite de sesión con el valor de la definición del modo.

Al establecer los límites de una conexión de sesión paralela, las dos LU negocian los límites de sesión de modo, la configuración de purga y los valores de responsabilidad. APPC actualiza estos parámetros en CNOS para reflejar la configuración acordada por ambas LU durante la negociación. El programa puede emitir DISPLAY para obtener los valores negociados para el límite de sesión de modo.

No se produce ninguna negociación de CNOS al establecer los límites de una sola sesión (es decir, las dos LU no negocian la configuración de purga ni los valores de responsabilidad). Por lo tanto, coordine la configuración del parámetro de definición de modo entre las LU de asociado mediante una conexión de sesión única mediante la definición de un modo de sesión único en cada nodo.

Como parte de la configuración de los límites iniciales, CNOS también establece el número garantizado (es decir, el mínimo) de sesiones ganadoras de contención y de pérdida de contención y establece el recuento de activación automática para las sesiones de contención de las LU de origen. La acción de CNOS normalmente afecta solo al grupo de sesiones con el nombre de modo especificado entre la LU de origen y la LU de destino. Como alternativa, un CNOS puede restablecer los límites de sesión de todos los modos para una LU de asociado.

APPC aplica el nuevo límite de sesión de modo y las polaridades ganadoras de contención hasta que un lado o el otro los cambia emitiendo un verbo CNOS posterior. La transacción de CNOS es invisible en la API de LU de destino, independientemente de qué LU sea el destino. Los resultados de la transacción CNOS se pueden obtener mediante DISPLAY.