Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Ralf Brown's Interrupt List (Part 1,2) - int 68 - appc/pc http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 68 - APPC/PC
        AH = 02h
        DS:DX -> control block

Format of control block:
Offset  Size    Description
 00h 12 BYTEs   reserved
 0Ch    WORD    verb (action)
 0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
                0 if basic verb
 0Fh  5 BYTEs   reserved (0)
 14h    WORD    (high byte first) primary return code (see below)
 16h    DWORD   (high byte first) error code (see below)
 1Ah  8 BYTEs   (high byte first) TP_ID
 22h    DWORD   (high byte first) conversation ID
---if verb=0100h (Allocate or MC_Allocate)---
 26h    BYTE    (MC_Allocate only) 0 basic conversation
                                   1 mapped conversation
 27h    BYTE    00h SYNC_LEVEL = none
                01h SYNC_LEVEL = confirm
 28h    WORD    0000h
 2Ah    BYTE    00h RETURN_CONTROL: when session allocated
                01h RETURN_CONTROL: immediate
                02h RETURN_CONTROL: when session free
 2Bh  8 BYTEs   00h
 33h  8 BYTEs   (high byte first) partner logical unit name
 3Bh  8 BYTEs   (high byte first) mode name
 43h 65 BYTEs   (counted string) TP name
 84h    BYTE    00h security: none
                01h security: same
                02h security: pgm
 85h 11 BYTEs   00h
 90h 11 BYTEs   (counted string) password
 9Bh 11 BYTEs   (counted string) user ID
 A6h    WORD    PIP_DATA length
 A8h    DWORD   pointer to PIP_DATA
---if verb=0300h (Confirm or MC_Confirm)---
 26h    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)---
 26h    BYTE    00h
 27h    BYTE    type 0 SYNC_LEVEL
                     1 FLUSH
                     2 ABEND_PROC
                     3 ABEND_SVC
                     4 ABEND_TIMER
                     5 ABEND
 28h    WORD    (MC_Deallocate only) length of error log data
 2Ah    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)---
 26h  8 BYTEs   (high byte first) logical unit ID
 2Eh    BYTE    00h
 2Fh    BYTE    SYNC_LEVEL (0=none, 1=confirm)
 30h  8 BYTEs   (high byte first) mode name
 38h  8 BYTEs   (high byte first) own net name
 40h  8 BYTEs   (high byte first) own logical unit name
 48h  8 BYTEs   (high byte first) partner logical unit name
 50h 18 BYTEs   (counted string) partner's fully qualified logical unit name
 62h    BYTE    00h
 63h 11 BYTEs   (counted string) user ID
---if verb=0800h (Get_Type)---
 26h    BYTE    type (0=basic conversation, 1=mapped conversation)
---if verb=0900h (Post_on_Receipt)---
 26h    WORD    maximum length
 28h    BYTE    fill (0=buffer, 1=LL)
---if verb=0A00h (Prepare_to_Receive or MC_Prepare_to_Receive)---
 26h    BYTE    type (0=SYNC_LEVEL, 1=FLUSH)
 27h    BYTE    locks (0=short, 1=long)
---if verb=0B00h (Receive_and_Wait or MC_Receive_and_Wait)---
 26h    BYTE    what received
                00h data
                01h data complete
                02h data incomplete
                03h confirm
                04h confirm send
                05h confirm deallocate
                06h send
 27h    BYTE    (MC_Receive_and_Wait only) fill (0=buffer, 1=LL)
 28h    BYTE    Request_to_Send_Received (0=no, 1=yes)
 29h    WORD    maximum length
 2Bh    WORD    data length
 2Dh    DWORD   pointer to data
---if verb=0C00h (Receive_Immediate or MC_Receive_Immediate)---
 26h    BYTE    what received
                00h data
                01h data complete
                02h data incomplete
                03h confirm
                04h confirm send
                05h confirm deallocate
                06h send
 27h    BYTE    (MC_Receive_Immediate only) fill (0=buffer, 1=LL)
 28h    BYTE    Request_to_Send_Received (0=no, 1=yes)
 29h    WORD    maximum length
 2Bh    WORD    data length
 2Dh    DWORD   pointer to data
---if verb=0E00h (Request_to_Send or MC_Request_to_Send), no other fields---
---if verb=0F00h (Send_Data or MC_Send_Data)---
 26h    BYTE    request to send received (0=no, 1=yes)
 27h    BYTE    00h
 28h    WORD    data length
 2Ah    DWORD   pointer to data
---if verb=1000h (Send_Error or MC_Send_Error)---
 26h    BYTE    request to send received (0=no, 1=yes)
 27h    BYTE    type (0=program, 1=SVC)
 28h    DWORD   00h
 2Ch    WORD    (MC_Send_Error only) LOG_DATA length
 2Eh    DWORD   (MC_Send_Error only) pointer to LOG_DATA
---if verb=1200h (Test or MC_Test)---
 26h    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)---
 26h    BYTE    number of conversations to wait on
                Note: error codes have interpretations as for 1200h above

Values for 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

Values for 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

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson