INT 68 - APPC/PC                               

Input

Output

AX

02h       AX

BX

        BX

CX

        CX

 

        DX
DS:DX Control Block   CF
Control Block:

                       12 BYTEs reserved
                          WORD  verb (action)
                          BYTE  1 if MC_ (mapped  conversation)  form of
                                  verb
                                0 if basic verb
                        5 BYTEs 0
                          WORD  (high byte first) primary return code
                               0000h  successful
                               0001h  parameter check
                               0002h  state check
                               0003h  allocation error
                               0005h  deallocate abended
                               0006h  deallocate abended program
                               0007h  deallocate abended SVC
                               0008h  deallocate abended timer
                               0009h  deallocate normal return
                               000Ah  data posting blocked
                               000Bh  posting not active
                               000Ch  PROG_ERROR_NO_TRUNC
                               000Dh  PROG_ERROR_TRUNC
                               000Eh  PROG_ERROR_PURGING
                               000Fh  CONV_FAILURE_RETRY
                               0010h  CONV_FAILURE_NO_RETRY
                               0011h  SVC_ERROR_NO_TRUNC
                               0012h  SVC_ERROR_TRUNC
                               0013h  SVC_ERROR_PURGING
                               0014h  unsuccessful
                               0018h  CNOS partner logical unit reject
                               0019h  conversation type mixed
                               F001h  APPC disabled
                               F002h  APPC busy
                               F003h  APPC abended
                               F004h  incomplete

                          DWORD (high byte first) error code
                               0001h bad TP ID
                               0002h bad conversation ID
                               0004h allocation error, no retry
                               0005h allocation error, retry
                               0006h data area crosses segment boundary
                               0010h bad TPN length
                               0011h bad CONV length
                               0012h bad SYNC level
                               0013h bad security selection
                               0014h bad return control
                               0015h SEC_TOKENS too big
                               0016h PIP_LEN incorrect
                               0017h no use of SNASVCMG
                               0018h unknown partner mode
                               0031h confirm: SYNC_NONE
                               0032h confirm: bad state
                               0033h confirm: NOT_LL_BDY
                               0041h confirmed: bad state
                               0051h deallocate: bad type
                               0052h deallocate: flush bad state
                               0053h deallocate: confirm bad state
                               0055h deallocate: NOT_LL_BDY
                               0057h deallocate: log LL_WRONG
                               0061h flush: not send state
                               0091h post on receipt: invalid length
                               0092h post  on  receipt: not  in  receive
                                     state
                               0093h post on receipt: bad fill
                               00A1h prepare to receive:invalid type
                               00A2h prepare to receive: unfinished LL
                               00A3h prepare  to  receive: not  in  send
                                     state
                               00B1h receive and wait: bad state
                               00B2h receive and wait: NOT_LL_BDY
                               00B5h receive and wait: bad fill
                               00C1h receive immediate:  not  in receive
                                     state
                               00C4h receive immediate: bad fill
                               00E1h request  to  send: not  in  receive
                                     state
                               00F1h send data: bad LL
                               00F2h send data: not in send state
                               0102h send error: log LL wrong
                               0103h send error: bad type
                               0121h test: invalid type
                               0122h test: not in receive state
                        8 BYTEs (high byte first) TP_ID
                          DWORD (high byte first) conversation ID

       if verb=0100h (Allocate or MC_Allocate), control block continues:
               BYTE  (MC_Allocate only) 0 basic conversation
                                        1 mapped conversation
               BYTE  0 SYNC_LEVEL = none
                     1 SYNC_LEVEL = confirm
               WORD  0
               BYTE  0 RETURN_CONTROL: when session allocated
                     1 RETURN_CONTROL: immediate
                     2 RETURN_CONTROL: when session free
             8 BYTEs 0
             8 BYTEs (high byte first) partner logical unit name
             8 BYTEs (high byte first) mode name
            65 BYTEs (counted string) TP name
               BYTE  0 security: none
                     1 security: same
                     2 security: pgm
            11 BYTEs 0
            11 BYTEs (counted string) password

            11 BYTEs (counted string) user ID
               WORD  PIP_DATA length
               DWORD pointer to PIP_DATA

       if  verb=0300h  (Confirm   or  MC_Confirm),  then  control  block
       continues:
               BYTE  request to send received (0=no, 1=yes)

       if verb=0400h (Confirmed or MC_Confirmed), no additional fields

       if  verb=0500h (Deallocate or MC_Deallocate), then control  block
       continues:
               BYTE  0
               BYTE  type 0 SYNC_LEVEL
                          1 FLUSH
                          2 ABEND_PROC
                          3 ABEND_SVC
                          4 ABEND_TIMER
                          5 ABEND
               WORD  (MC_Deallocate only) length of error log data
               DWORD (MC_Deallocate only) pointer to error log data

       if verb=0600h (Flush or MC_Flush), no additional fields

       if  verb=0700h  (Get_Attributes  or  MC_Get_Attributes),  control
       block continues:
             8 BYTEs (high byte first) logical unit ID
               BYTE  0
               BYTE  SYNC_LEVEL (0=none, 1=confirm)
             8 BYTEs (high byte first) mode name
             8 BYTEs (high byte first) own net name
             8 BYTEs (high byte first) own logical unit name
             8 BYTEs (high byte first) partner logical unit name
            18 BYTEs (counted string) partner's fully qualified  logical
                     unit name
               BYTE  0
            11 BYTEs (counted string) user ID

       if verb=0800h (Get_Type), then control block continues:
               BYTE  type (0=basic conversation, 1=mapped conversation)

       if verb=0900h (Post_on_Receipt), then control block continues:
               WORD  maximum length
               BYTE  fill (0=buffer, 1=LL)

       if verb=0A00h (Prepare_to_Receive or MC_Prepare_to_Receive):
               BYTE  type (0=SYNC_LEVEL, 1=FLUSH)
               BYTE  locks (0=short, 1=long)

       if verb=0B00h (Receive_and_Wait or MC_Receive_and_Wait),  control
       block cont:
               BYTE  what received
                       0 data
                       1 data complete
                       2 data incomplete
                       3 confirm
                       4 confirm send
                       5 confirm deallocate
                       6 send
               BYTE  (MC_Receive_and_Wait only) fill (0=buffer, 1=LL)
               BYTE  Request_to_Send_Received (0=no, 1=yes)
               WORD  maximum length
               WORD  data length
               DWORD pointer to data

       if   verb=0C00h   (Receive_Immediate   or  MC_Receive_Immediate),
       control block:
               BYTE  what received
                       0 data
                       1 data complete
                       2 data incomplete
                       3 confirm
                       4 confirm send
                       5 confirm deallocate
                       6 send
               BYTE  (MC_Receive_Immediate only) fill (0=buffer, 1=LL)
               BYTE  Request_to_Send_Received (0=no, 1=yes)
               WORD  maximum length
               WORD  data length
               DWORD pointer to data

       if   verb=0E00h   (Request_to_Send   or  MC_Request_to_Send),  no
       additional fields

       if  verb=0F00h  (Send_Data  or  MC_Send_Data), then control block
       continues:
               BYTE  request to send received (0=no, 1=yes)
               BYTE  0
               WORD  data length
               DWORD pointer to data

       if verb=1000h (Send_Error or MC_Send_Error)
               BYTE  request to send received (0=no, 1=yes)
               BYTE  type (0=program, 1=SVC)
               DWORD 0
               WORD  (MC_Send_Error only) LOG_DATA length
               DWORD (MC_Send_Error only) pointer to LOG_DATA

       if verb=1200h (Test or MC_Test), then control block continues:
               BYTE  (MC_Test  only)  test  (0=posted, 1=request_to_send
                     received)
Note:   Error code has different interpretations for:
               0 posted data
               1 posted not data (primary return code = 0)
               1 bad TP_ID (primary return code = 1)

       if verb=1300h (Wait), then control block continues:
               BYTE  number of conversations to wait on

Note:   Error codes have interpretations  as  for  1200h (Test)
        above


Copyright © 1985 to 2022 Beta Systems                            Last modified: Wednesday, January 05, 2022 .