Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Interrupts & Ports - Norton Guide http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]

        Appc/pc

        Entry:
          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   0
         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   0
         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    0
         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    0
         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    0
         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    0
         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   0
         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