Chapter Contents

Previous

Next
APPC/VM Functions

APPC/VM Parameter Lists and External Interrupt Data Formats

The header file for the APPC/VM functions is <cmsappc.h> . Four types of functions are defined in <cmsappc.h> that cover all APPC/VM parameter lists and external interrupt data formats. The types are ident_parms, struct appc_conn_plist, struct appc_send_plist, and appc_conn_data . These types are defined on the following pages.

As indicated by the comments, <cmsappc.h> parameter list fields correspond to fields in the parameter lists for each individual APPC/VM function. For more information on these fields, see the IBM documentation mentioned in Introduction.


ident_parms

The ident_parms structure defines the user data field when connecting to *IDENT .

typedef struct ident_parms {
   char   name[8];                  /* name of resource or gateway    */
   char   fcode;                    /* function code                  */
 #define MANAGE_RESOURCE 0x01       /* Identify a resource/gateway.   */
 #define REVOKE_RESOURCE 0x02       /* Revoke a resource/gateway.     */
   char   flag;                     /* various flags                  */
 #define GLOBAL_RESOURCE 0x80       /* Resource should be global.     */
 #define ALLOW_SECURITY_NONE 0x40   /* Allow SECURITY(NONE) connects. */
 #define REVOKE_GLOBAL   0x80       /* Revoke global/gateway resource.*/
   char   rcode;                    /* return code from IUCV SEVER    */
   char   ntype;                    /* resource/gateway flag          */
 #define RESOURCE_ID     0x00       /* Name is resource id.           */
 #define GATEWAY_ID      0x01       /* Name is gateway id.            */
   int    UNUSED;                   /* unused                         */
} ident_parms;


appc_conn_plist

The appc_conn_plist structure defines the input and output parameter lists for the APPC CONNECT function data for the APPC connection complete external interrupt.

struct appc_conn_plist {
   short pathid;                    /* IPPATHID                       */
   char flags1;                     /* IPFLAGS1                       */
   union {
      char rcode;                   /* IPRCODE                        */
      char type;                    /* IPTYPE                         */
   } ip1;
   short code;                      /* IPCODE                         */
   union {
      char whatrc;                  /* IPWHATRC                       */
      char flags2;                  /* IPFLAGS2                       */
   } ip2;
   char sendop;                     /* IPSENDOP                       */
   char vmid[8];                    /* IPVMID                         */
   char resid[8];                   /* IPRESID                        */
   int UNUSED_1;
   struct _adlen bf2;               /* IPBFADR2/IPBFLN2F              */
   int UNUSED_2;
   double _d;                       /* not used - forces alignment    */
};


appc_conn_data

The appc_conn_data structure describes external interrupt data for the IUCV connection complete external interrupt. The appc_conn_data type is declared as follows:

typedef struct appc_conn_plist appc_conn_data;


appc_send_plist

The appc_send_plist structure defines the input and output parameter lists for the APPC SENDCNF, SENCFND, SENDDATA, SENDREQ, RECEIVE, and SEVER functions.

struct appc_send_plist {
   short pathid;                    /* IPPATHID                       */
   char flags1;                     /* IPFLAGS1                       */
   union {
      char rcode;                   /* IPRCODE                        */
      char type;                    /* IPTYPE                         */
   } ip1;
   short code;                      /* IPCODE                         */
   union {
      char whatrc;                  /* IPWHATRC                       */
      char flags2;                  /* IPFLAGS2                       */
   } ip2;
   char sendop;                     /* IPSENDOP                       */
   unsigned audit;                  /* IPAUDIT (byte 4 not meaningful)*/
   struct _adlen bf1;               /* IPBFADR1/IPBFLN1F              */
   int UNUSED_1[2];
   struct _adlen bf2;               /* IPBFADR2/IPBFLN2F              */
   int UNUSED_2;
   double _d;                       /* (not used - forces alignment)  */
};

The values for the interrupt subtypes, as defined for the structure variable ip.type , are shown in the following table.

APPC/VM Interrupt Values
Subtype Value
APPC_CONNECTION_PENDING 0x81
APPC_CONNECTION_COMPLETE 0x82
APPC_SEVER_INTERRUPT 0x83
APPC_FUNCTION_COMPLETE 0x87
APPC_SENDREQ_INTERRUPT 0x88
APPC_INCOMING_MSG 0x89


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.