MC_FLUSH

Le verbe MC_FLUSH envoie le contenu de la mémoire tampon d’envoi de l’unité logique locale (lu) au programme de transactions et aux lu partenaires. Si la mémoire tampon d’envoi est vide, aucune action n’a lieu.

La structure suivante décrit le bloc de contrôle de verbe (VCB) utilisé par le verbe MC_FLUSH .

Syntaxe

  
struct mc_flush {  
    unsigned short  opcode;  
    unsigned char   opext;  
    unsigned char   reserv2;  
    unsigned short  primary_rc;  
    unsigned long   secondary_rc;  
    unsigned char   tp_id[8];  
    unsigned long   conv_id;  
};   

Membres

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

opext
Paramètre fourni. Spécifie l’extension de l’opération de verbe, AP_MAPPED_CONVERSATION.

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.

tp_id
Paramètre fourni. Identifie le TP local. La valeur de ce paramètre est retournée par TP_STARTED dans le TP appelant ou par RECEIVE_ALLOCATE dans le TP appelé.

conv_id
Paramètre fourni. Fournit l’identificateur de conversation. La valeur de ce paramètre est retournée par MC_ALLOCATE dans le TP appelant ou par RECEIVE_ALLOCATE dans le TP appelé.

Codes de retour

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

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

AP_BAD_CONV_ID

Code de retour secondaire ; la valeur de conv_id ne correspond pas à un identificateur de conversation assigné par APPC.

AP_BAD_TP_ID

Code de retour secondaire ; la valeur de tp_ID ne correspond pas à un identificateur TP assigné par APPC.

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_FLUSH_NOT_SEND_STATE

Code de retour secondaire ; la conversation n’était pas à l’état d’envoi.

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 a été interrompue entre le programme transactionnel et le nœud PU 2.1 (erreur LAN).

  • Le processus SnaBase qui se déroule sur l’ordinateur du programme transactionnel a rencontré un abandon (ABEND).

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

    AP_CONVERSATION_TYPE_MIXED
    Code de retour principal ; le TP a émis des verbes de conversation de base et mappés. Un seul type peut être émis dans une conversation unique.

    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_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_CONV_BUSY
    Code de retour principal ; il ne peut y avoir qu’un seul verbe de conversation en attente à la fois dans une conversation. Cela peut se produire si le TP local a plusieurs threads, et que plusieurs threads émettent des appels APPC en utilisant le même conv_id.

    AP_UNEXPECTED_DOS_ERROR
    Code de retour principal ; indique que le système d’exploitation a retourné une erreur à APPC lors du traitement d’un appel APPC à partir du programme transactionnel 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

Les données traitées par MC_SEND_DATA s’accumulent dans la mémoire tampon d’envoi de l’unité logique locale, jusqu’à ce que l’un des événements suivants se produise :

  • Le TP local émet MC_FLUSH (ou un autre verbe qui vide la mémoire tampon d’envoi de l’unité logique d’envoi).

  • La mémoire tampon est saturée.

    La requête générée par MC_ALLOCATE est également mise en mémoire tampon.

    La conversation doit être à l’état d’envoi lorsque le TP émet ce verbe.

    Il n’y a aucun changement d’État.